mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-15 23:33:57 +00:00
Compare commits
47 Commits
v4.12.0-de
...
v4.12.1-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0e92b225e | ||
|
|
c64757f80a | ||
|
|
58b6f1fba0 | ||
|
|
630857ba16 | ||
|
|
82ae367946 | ||
|
|
95a7118dcf | ||
|
|
26449cf7c6 | ||
|
|
e4232b6c74 | ||
|
|
1cf25f9dc9 | ||
|
|
8038bd2e98 | ||
|
|
1e81d0c9f8 | ||
|
|
c48cedaddf | ||
|
|
4085d1f9dc | ||
|
|
eadbf5f459 | ||
|
|
b12b3a73a6 | ||
|
|
572a310589 | ||
|
|
2e8d5c61f8 | ||
|
|
025766bb42 | ||
|
|
e31966159a | ||
|
|
337bdc3d39 | ||
|
|
13ed4a2f39 | ||
|
|
d2afc53c2b | ||
|
|
1fab0ae59a | ||
|
|
5c8c597d19 | ||
|
|
33800801a3 | ||
|
|
62c47665e4 | ||
|
|
7acb6cdc96 | ||
|
|
a5d32c3da3 | ||
|
|
a4b0e76755 | ||
|
|
0a7b2c5ec2 | ||
|
|
eed856d64c | ||
|
|
e8d481397f | ||
|
|
d0eceb3e36 | ||
|
|
8886fc4f54 | ||
|
|
fb4256f17c | ||
|
|
98f9bba7ed | ||
|
|
8e72067dcb | ||
|
|
d87f36e7e2 | ||
|
|
4432fe65df | ||
|
|
8b0d8ee9f4 | ||
|
|
250cc7cbde | ||
|
|
1af65de1f6 | ||
|
|
6e87e3044c | ||
|
|
273af26274 | ||
|
|
2b1b081051 | ||
|
|
f2bf2da9a5 | ||
|
|
15317003b1 |
2
.github/workflows/pull_strings.yml
vendored
2
.github/workflows/pull_strings.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
||||
ref: dev
|
||||
|
||||
- name: Pull strings
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
config: crowdin.yml
|
||||
download_translations: true
|
||||
|
||||
2
.github/workflows/push_strings.yml
vendored
2
.github/workflows/push_strings.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Push strings
|
||||
uses: crowdin/github-action@v1
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
config: crowdin.yml
|
||||
upload_sources: true
|
||||
|
||||
154
CHANGELOG.md
154
CHANGELOG.md
@@ -1,3 +1,157 @@
|
||||
## [4.12.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v4.12.0...v4.12.1-dev.1) (2024-08-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - GmsCore support:** Fix notifications not working by using the correct permissions ([19ddae2](https://github.com/ReVanced/revanced-patches/commit/19ddae2d15e513e18eb1556c468cd94bd197685b))
|
||||
|
||||
# [4.12.0](https://github.com/ReVanced/revanced-patches/compare/v4.11.0...v4.12.0) (2024-08-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Google Photos - GmsCore support:** Fix by checking first if a method exists before trying to patch it ([acf38ca](https://github.com/ReVanced/revanced-patches/commit/acf38cafae5eb9896b43f3a6cbd808ac273cd081))
|
||||
* **Instagram - Hide ads:** Restore compatibility with latest version by fixing fingerprint ([#3455](https://github.com/ReVanced/revanced-patches/issues/3455)) ([4505fa4](https://github.com/ReVanced/revanced-patches/commit/4505fa4138bb55c8957790239c01b8dda63d6cdd))
|
||||
* **Messenger - Disable switching emoji to sticker:** Constrain to last working version `439.0.0.29.119` ([6207c31](https://github.com/ReVanced/revanced-patches/commit/6207c314c657a1188d1081b0a196a61e49cad83b))
|
||||
* **SoundCloud - Enable offline sync:** Stop crashing by reversing order of patching instructions from last to first to retain indices ([63b6ced](https://github.com/ReVanced/revanced-patches/commit/63b6cede5fa5bcf377ced422da4e861996a41f0d))
|
||||
* **YouTube - Bypass image region restrictions:** Move setting to `Misc` menu ([094ae59](https://github.com/ReVanced/revanced-patches/commit/094ae59fc92663fff6c5d6f5cbece41822a326f9))
|
||||
* **YouTube - Client Spoof:** Restore missing high qualities by spoofing the iOS client user agent ([#3468](https://github.com/ReVanced/revanced-patches/issues/3468)) ([0e6ae5f](https://github.com/ReVanced/revanced-patches/commit/0e6ae5fee752a76604cf9b95f9a76c0cbe5f7dae))
|
||||
* **YouTube - Hide keyword content:** Do not hide flyout menu ([687c9f7](https://github.com/ReVanced/revanced-patches/commit/687c9f7eb03cca5f7b3486f07f2e3453ebc77faf))
|
||||
* **YouTube - SponsorBlock:** Correctly show minute timestamp when creating a new segment ([d74c366](https://github.com/ReVanced/revanced-patches/commit/d74c366dbf5f25c20fbfc5a0157c3c15dda82a16))
|
||||
* **YouTube - SponsorBlock:** Improve create segment manual seek accuracy ([#3491](https://github.com/ReVanced/revanced-patches/issues/3491)) ([1544981](https://github.com/ReVanced/revanced-patches/commit/15449819ff74b636fb2fa6aacd770142c51d2e5d))
|
||||
* **YouTube - Spoof client:** Fix tracking history on brand accounts ([#3480](https://github.com/ReVanced/revanced-patches/issues/3480)) ([69c1f16](https://github.com/ReVanced/revanced-patches/commit/69c1f16f7eb0d5759a44f7f7a09b1757ce8f61dd))
|
||||
* **YouTube - Spoof client:** Restore livestream audio only playback with iOS spoofing ([#3504](https://github.com/ReVanced/revanced-patches/issues/3504)) ([90d3288](https://github.com/ReVanced/revanced-patches/commit/90d32880906787d82c4b9a7a1099b46dff3a0870))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add `Hide mock location` patch ([#3417](https://github.com/ReVanced/revanced-patches/issues/3417)) ([5f81b40](https://github.com/ReVanced/revanced-patches/commit/5f81b40e7d5567fb5689d08ccc9caeaa267c3143))
|
||||
* Add `Spoof build info` patch ([e7829b4](https://github.com/ReVanced/revanced-patches/commit/e7829b41e782c9feda23b9d6acf48bae277d24d9))
|
||||
* **Boost for Reddit:** Add `Disable ads` patch ([#3474](https://github.com/ReVanced/revanced-patches/issues/3474)) ([b292c20](https://github.com/ReVanced/revanced-patches/commit/b292c200bf4ea5b4f71d96690ac011e7843552f0))
|
||||
* **CandyLink:** Remove non-functional `Unlock pro` patch ([7ae9f8f](https://github.com/ReVanced/revanced-patches/commit/7ae9f8fa0a349b91853e9554f18e564ca6ff887c))
|
||||
* **Expense Manager:** Remove non-functional `Unlock pro` patch ([ebbcac7](https://github.com/ReVanced/revanced-patches/commit/ebbcac74fd8598daebb4be0bd7c430c41333e2d4))
|
||||
* **Google News:** Add `Enable CustomTabs` and `GmsCore support` patch ([#3111](https://github.com/ReVanced/revanced-patches/issues/3111)) ([ad59096](https://github.com/ReVanced/revanced-patches/commit/ad590962275f888b335252ad5bed0f34e959d3c7))
|
||||
* **Google Photos:** Add `GmsCore support` patch ([#3414](https://github.com/ReVanced/revanced-patches/issues/3414)) ([24528e0](https://github.com/ReVanced/revanced-patches/commit/24528e0a6eec17ce0a3c52f8862585933615ad28))
|
||||
* **Instagram:** Remove unnecessary `Hide timeline ads` patch ([5e1d001](https://github.com/ReVanced/revanced-patches/commit/5e1d001056df68e1e2b39f1365215c91bcc9e46b))
|
||||
* **SoundCloud:** Add `Enable offline sync` patch ([#3407](https://github.com/ReVanced/revanced-patches/issues/3407)) ([4de86c6](https://github.com/ReVanced/revanced-patches/commit/4de86c6407376bcd3cc0513a2f0707410b8d7ccd))
|
||||
* **SwissID:** Add `Remove Google Play Integrity Integrity check` patch ([#3478](https://github.com/ReVanced/revanced-patches/issues/3478)) ([60492ae](https://github.com/ReVanced/revanced-patches/commit/60492aea7863e07d8bf1af9380ae9295ca161f3c))
|
||||
* **YouTube - Description components:** Add `Hide 'Key concepts' section` option ([#3495](https://github.com/ReVanced/revanced-patches/issues/3495)) ([d75b645](https://github.com/ReVanced/revanced-patches/commit/d75b64595a7ac26faca4c0ae21923b22f6783975))
|
||||
* **YouTube:** Add `Bypass image region restrictions` patch ([#3442](https://github.com/ReVanced/revanced-patches/issues/3442)) ([765fab2](https://github.com/ReVanced/revanced-patches/commit/765fab2af2769349446cc0f2109343ef3bd8c621))
|
||||
|
||||
# [4.12.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.16...v4.12.0-dev.17) (2024-08-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Google Photos - GmsCore support:** Fix by checking first if a method exists before trying to patch it ([acf38ca](https://github.com/ReVanced/revanced-patches/commit/acf38cafae5eb9896b43f3a6cbd808ac273cd081))
|
||||
* **Messenger - Disable switching emoji to sticker:** Constrain to last working version `439.0.0.29.119` ([6207c31](https://github.com/ReVanced/revanced-patches/commit/6207c314c657a1188d1081b0a196a61e49cad83b))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **CandyLink:** Remove non-functional `Unlock pro` patch ([7ae9f8f](https://github.com/ReVanced/revanced-patches/commit/7ae9f8fa0a349b91853e9554f18e564ca6ff887c))
|
||||
* **Expense Manager:** Remove non-functional `Unlock pro` patch ([ebbcac7](https://github.com/ReVanced/revanced-patches/commit/ebbcac74fd8598daebb4be0bd7c430c41333e2d4))
|
||||
* **Instagram:** Remove unnecessary `Hide timeline ads` patch ([5e1d001](https://github.com/ReVanced/revanced-patches/commit/5e1d001056df68e1e2b39f1365215c91bcc9e46b))
|
||||
|
||||
# [4.12.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.15...v4.12.0-dev.16) (2024-08-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Spoof client:** Restore livestream audio only playback with iOS spoofing ([#3504](https://github.com/ReVanced/revanced-patches/issues/3504)) ([90d3288](https://github.com/ReVanced/revanced-patches/commit/90d32880906787d82c4b9a7a1099b46dff3a0870))
|
||||
|
||||
# [4.12.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.14...v4.12.0-dev.15) (2024-08-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - SponsorBlock:** Improve create segment manual seek accuracy ([#3491](https://github.com/ReVanced/revanced-patches/issues/3491)) ([1544981](https://github.com/ReVanced/revanced-patches/commit/15449819ff74b636fb2fa6aacd770142c51d2e5d))
|
||||
|
||||
# [4.12.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.13...v4.12.0-dev.14) (2024-08-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **YouTube - Description components:** Add `Hide 'Key concepts' section` option ([#3495](https://github.com/ReVanced/revanced-patches/issues/3495)) ([d75b645](https://github.com/ReVanced/revanced-patches/commit/d75b64595a7ac26faca4c0ae21923b22f6783975))
|
||||
|
||||
# [4.12.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.12...v4.12.0-dev.13) (2024-07-31)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Boost for Reddit:** Add `Disable ads` patch ([#3474](https://github.com/ReVanced/revanced-patches/issues/3474)) ([b292c20](https://github.com/ReVanced/revanced-patches/commit/b292c200bf4ea5b4f71d96690ac011e7843552f0))
|
||||
|
||||
# [4.12.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.11...v4.12.0-dev.12) (2024-07-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **SwissID:** Add `Remove Google Play Integrity Integrity check` patch ([#3478](https://github.com/ReVanced/revanced-patches/issues/3478)) ([60492ae](https://github.com/ReVanced/revanced-patches/commit/60492aea7863e07d8bf1af9380ae9295ca161f3c))
|
||||
|
||||
# [4.12.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.10...v4.12.0-dev.11) (2024-07-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Bypass image region restrictions:** Move setting to `Misc` menu ([094ae59](https://github.com/ReVanced/revanced-patches/commit/094ae59fc92663fff6c5d6f5cbece41822a326f9))
|
||||
|
||||
# [4.12.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.9...v4.12.0-dev.10) (2024-07-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Client Spoof:** Restore missing high qualities by spoofing the iOS client user agent ([#3468](https://github.com/ReVanced/revanced-patches/issues/3468)) ([0e6ae5f](https://github.com/ReVanced/revanced-patches/commit/0e6ae5fee752a76604cf9b95f9a76c0cbe5f7dae))
|
||||
|
||||
# [4.12.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.8...v4.12.0-dev.9) (2024-07-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Spoof client:** Fix tracking history on brand accounts ([#3480](https://github.com/ReVanced/revanced-patches/issues/3480)) ([69c1f16](https://github.com/ReVanced/revanced-patches/commit/69c1f16f7eb0d5759a44f7f7a09b1757ce8f61dd))
|
||||
|
||||
# [4.12.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.7...v4.12.0-dev.8) (2024-07-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - SponsorBlock:** Correctly show minute timestamp when creating a new segment ([d74c366](https://github.com/ReVanced/revanced-patches/commit/d74c366dbf5f25c20fbfc5a0157c3c15dda82a16))
|
||||
|
||||
# [4.12.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.6...v4.12.0-dev.7) (2024-07-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **SoundCloud - Enable offline sync:** Stop crashing by reversing order of patching instructions from last to first to retain indices ([63b6ced](https://github.com/ReVanced/revanced-patches/commit/63b6cede5fa5bcf377ced422da4e861996a41f0d))
|
||||
|
||||
# [4.12.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.5...v4.12.0-dev.6) (2024-07-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add `Spoof build info` patch ([e7829b4](https://github.com/ReVanced/revanced-patches/commit/e7829b41e782c9feda23b9d6acf48bae277d24d9))
|
||||
|
||||
# [4.12.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.4...v4.12.0-dev.5) (2024-07-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add `Hide mock location` patch ([#3417](https://github.com/ReVanced/revanced-patches/issues/3417)) ([5f81b40](https://github.com/ReVanced/revanced-patches/commit/5f81b40e7d5567fb5689d08ccc9caeaa267c3143))
|
||||
* **Google Photos:** Add `GmsCore support` patch ([#3414](https://github.com/ReVanced/revanced-patches/issues/3414)) ([24528e0](https://github.com/ReVanced/revanced-patches/commit/24528e0a6eec17ce0a3c52f8862585933615ad28))
|
||||
|
||||
# [4.12.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.3...v4.12.0-dev.4) (2024-07-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Google News:** Add `Enable CustomTabs` and `GmsCore support` patch ([#3111](https://github.com/ReVanced/revanced-patches/issues/3111)) ([ad59096](https://github.com/ReVanced/revanced-patches/commit/ad590962275f888b335252ad5bed0f34e959d3c7))
|
||||
|
||||
# [4.12.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.2...v4.12.0-dev.3) (2024-07-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Instagram - Hide ads:** Restore compatibility with latest version by fixing fingerprint ([#3455](https://github.com/ReVanced/revanced-patches/issues/3455)) ([4505fa4](https://github.com/ReVanced/revanced-patches/commit/4505fa4138bb55c8957790239c01b8dda63d6cdd))
|
||||
|
||||
# [4.12.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v4.12.0-dev.1...v4.12.0-dev.2) (2024-07-15)
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,50 @@ public final class app/revanced/patches/all/interaction/gestures/PredictiveBackG
|
||||
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/all/location/hide/HideMockLocationPatch : app/revanced/patches/all/misc/transformation/BaseTransformInstructionsPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/all/location/hide/HideMockLocationPatch;
|
||||
public synthetic fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Ljava/lang/Object;
|
||||
public fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Lkotlin/Pair;
|
||||
public synthetic fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/Object;)V
|
||||
public fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Lkotlin/Pair;)V
|
||||
}
|
||||
|
||||
public abstract class app/revanced/patches/all/misc/build/BaseSpoofBuildInfoPatch : app/revanced/patches/all/misc/transformation/BaseTransformInstructionsPatch {
|
||||
public fun <init> ()V
|
||||
public synthetic fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Ljava/lang/Object;
|
||||
public fun filterMap (Lcom/android/tools/smali/dexlib2/iface/ClassDef;Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/iface/instruction/Instruction;I)Lkotlin/Pair;
|
||||
protected fun getBoard ()Ljava/lang/String;
|
||||
protected fun getBootloader ()Ljava/lang/String;
|
||||
protected fun getBrand ()Ljava/lang/String;
|
||||
protected fun getCpuAbi ()Ljava/lang/String;
|
||||
protected fun getCpuAbi2 ()Ljava/lang/String;
|
||||
protected fun getDevice ()Ljava/lang/String;
|
||||
protected fun getDisplay ()Ljava/lang/String;
|
||||
protected fun getFingerprint ()Ljava/lang/String;
|
||||
protected fun getHardware ()Ljava/lang/String;
|
||||
protected fun getHost ()Ljava/lang/String;
|
||||
protected fun getId ()Ljava/lang/String;
|
||||
protected fun getManufacturer ()Ljava/lang/String;
|
||||
protected fun getModel ()Ljava/lang/String;
|
||||
protected fun getOdmSku ()Ljava/lang/String;
|
||||
protected fun getProduct ()Ljava/lang/String;
|
||||
protected fun getRadio ()Ljava/lang/String;
|
||||
protected fun getSerial ()Ljava/lang/String;
|
||||
protected fun getSku ()Ljava/lang/String;
|
||||
protected fun getSocManufacturer ()Ljava/lang/String;
|
||||
protected fun getSocModel ()Ljava/lang/String;
|
||||
protected fun getTags ()Ljava/lang/String;
|
||||
protected fun getTime ()Ljava/lang/Long;
|
||||
protected fun getType ()Ljava/lang/String;
|
||||
protected fun getUser ()Ljava/lang/String;
|
||||
public synthetic fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/Object;)V
|
||||
public fun transform (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Lkotlin/Pair;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/all/misc/build/SpoofBuildInfoPatch : app/revanced/patches/all/misc/build/BaseSpoofBuildInfoPatch {
|
||||
public fun <init> ()V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/all/misc/debugging/EnableAndroidDebuggingPatch : app/revanced/patcher/patch/ResourcePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/all/misc/debugging/EnableAndroidDebuggingPatch;
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
@@ -217,6 +261,36 @@ public final class app/revanced/patches/finanzonline/detection/root/RootDetectio
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlenews/customtabs/EnableCustomTabs : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlenews/customtabs/EnableCustomTabs;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlenews/misc/gms/GmsCoreSupportPatch : app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlenews/misc/gms/GmsCoreSupportPatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlenews/misc/gms/GmsCoreSupportResourcePatch : app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportResourcePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlenews/misc/gms/GmsCoreSupportResourcePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlenews/misc/integrations/IntegrationsPatch : app/revanced/patches/shared/misc/integrations/BaseIntegrationsPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlenews/misc/integrations/IntegrationsPatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlephotos/misc/gms/GmsCoreSupportPatch : app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlephotos/misc/gms/GmsCoreSupportPatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlephotos/misc/gms/GmsCoreSupportResourcePatch : app/revanced/patches/shared/misc/gms/BaseGmsCoreSupportResourcePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlephotos/misc/gms/GmsCoreSupportResourcePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlephotos/misc/integrations/IntegrationsPatch : app/revanced/patches/shared/misc/integrations/BaseIntegrationsPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlephotos/misc/integrations/IntegrationsPatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/googlerecorder/restrictions/RemoveDeviceRestrictions : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/googlerecorder/restrictions/RemoveDeviceRestrictions;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
@@ -349,6 +423,12 @@ public final class app/revanced/patches/music/ad/video/HideMusicVideoAds : app/r
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/music/ad/video/HideVideoAds : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/music/ad/video/HideVideoAds;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/music/ad/video/MusicVideoAdsPatch : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/music/ad/video/MusicVideoAdsPatch;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
@@ -610,6 +690,12 @@ public final class app/revanced/patches/reddit/customclients/baconreader/api/Spo
|
||||
public fun patchClientId (Ljava/util/Set;Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/boostforreddit/ads/DisableAdsPatch : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/reddit/customclients/boostforreddit/ads/DisableAdsPatch;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch : app/revanced/patches/reddit/customclients/BaseSpoofClientPatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/reddit/customclients/boostforreddit/api/SpoofClientPatch;
|
||||
public fun patchClientId (Ljava/util/Set;Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
@@ -1104,6 +1190,12 @@ public final class app/revanced/patches/strava/upselling/DisableSubscriptionSugg
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/swissid/integritycheck/RemoveGooglePlayIntegrityCheck;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/ticktick/misc/themeunlock/UnlockProPatch : app/revanced/patcher/patch/BytecodePatch {
|
||||
public static final field INSTANCE Lapp/revanced/patches/ticktick/misc/themeunlock/UnlockProPatch;
|
||||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
|
||||
@@ -2018,6 +2110,7 @@ public final class app/revanced/patches/yuka/misc/unlockpremium/UnlockPremiumPat
|
||||
}
|
||||
|
||||
public final class app/revanced/util/BytecodeUtilsKt {
|
||||
public static final fun alsoResolve (Lapp/revanced/patcher/fingerprint/MethodFingerprint;Lapp/revanced/patcher/data/BytecodeContext;Lapp/revanced/patcher/fingerprint/MethodFingerprint;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult;
|
||||
public static final fun containsWideLiteralInstructionValue (Lcom/android/tools/smali/dexlib2/iface/Method;J)Z
|
||||
public static final fun findMutableMethodOf (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;
|
||||
public static final fun findOpcodeIndicesReversed (Lcom/android/tools/smali/dexlib2/iface/Method;Lcom/android/tools/smali/dexlib2/Opcode;)Ljava/util/List;
|
||||
@@ -2033,7 +2126,11 @@ public final class app/revanced/util/BytecodeUtilsKt {
|
||||
public static final fun indexOfIdResourceOrThrow (Lcom/android/tools/smali/dexlib2/iface/Method;Ljava/lang/String;)I
|
||||
public static final fun injectHideViewCall (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;IILjava/lang/String;Ljava/lang/String;)V
|
||||
public static final fun resultOrThrow (Lapp/revanced/patcher/fingerprint/MethodFingerprint;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult;
|
||||
public static final fun returnEarly (Lapp/revanced/patcher/fingerprint/MethodFingerprint;Z)V
|
||||
public static final fun returnEarly (Ljava/lang/Iterable;Z)V
|
||||
public static final fun returnEarly (Ljava/util/List;Z)V
|
||||
public static synthetic fun returnEarly$default (Lapp/revanced/patcher/fingerprint/MethodFingerprint;ZILjava/lang/Object;)V
|
||||
public static synthetic fun returnEarly$default (Ljava/lang/Iterable;ZILjava/lang/Object;)V
|
||||
public static synthetic fun returnEarly$default (Ljava/util/List;ZILjava/lang/Object;)V
|
||||
public static final fun transformMethods (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V
|
||||
public static final fun traverseClassHierarchy (Lapp/revanced/patcher/data/BytecodeContext;Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
org.gradle.parallel = true
|
||||
org.gradle.caching = true
|
||||
kotlin.code.style = official
|
||||
version = 4.12.0-dev.2
|
||||
version = 4.12.1-dev.1
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
revanced-patcher = "19.3.1"
|
||||
#noinspection GradleDependency
|
||||
smali = "3.0.5" # 3.0.7 breaks binary compatibility. Tracking https://github.com/google/smali/issues/58.
|
||||
guava = "33.1.0-jre"
|
||||
gson = "2.10.1"
|
||||
binary-compatibility-validator = "0.14.0"
|
||||
guava = "33.2.1-jre"
|
||||
gson = "2.11.0"
|
||||
binary-compatibility-validator = "0.15.1"
|
||||
kotlin = "2.0.0"
|
||||
|
||||
[libraries]
|
||||
|
||||
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,7 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||
distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
2152
package-lock.json
generated
2152
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
"@saithodev/semantic-release-backmerge": "^4.0.1",
|
||||
"@semantic-release/changelog": "^6.0.3",
|
||||
"@semantic-release/git": "^10.0.1",
|
||||
"gradle-semantic-release-plugin": "^1.9.1",
|
||||
"semantic-release": "^23.0.8"
|
||||
"gradle-semantic-release-plugin": "^1.9.2",
|
||||
"semantic-release": "^24.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
@file:Suppress("unused")
|
||||
|
||||
package app.revanced.patches.all.location.hide
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.all.misc.transformation.BaseTransformInstructionsPatch
|
||||
import app.revanced.patches.all.misc.transformation.IMethodCall
|
||||
import app.revanced.patches.all.misc.transformation.fromMethodReference
|
||||
import app.revanced.util.getReference
|
||||
import com.android.tools.smali.dexlib2.iface.ClassDef
|
||||
import com.android.tools.smali.dexlib2.iface.Method
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.Instruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@Patch(
|
||||
name = "Hide mock location",
|
||||
description = "Prevents the app from knowing the device location is being mocked by a third party app.",
|
||||
use = false
|
||||
)
|
||||
object HideMockLocationPatch : BaseTransformInstructionsPatch<Pair<Instruction, Int>>() {
|
||||
override fun filterMap(
|
||||
classDef: ClassDef,
|
||||
method: Method,
|
||||
instruction: Instruction,
|
||||
instructionIndex: Int
|
||||
): Pair<Instruction, Int>? {
|
||||
val reference = instruction.getReference<MethodReference>() ?: return null
|
||||
if (fromMethodReference<MethodCall>(reference) == null) return null
|
||||
|
||||
return instruction to instructionIndex
|
||||
}
|
||||
|
||||
override fun transform(mutableMethod: MutableMethod, entry: Pair<Instruction, Int>) {
|
||||
val (instruction, index) = entry
|
||||
instruction as FiveRegisterInstruction
|
||||
|
||||
// Replace return value with a constant `false` boolean.
|
||||
mutableMethod.replaceInstruction(
|
||||
index + 1,
|
||||
"const/4 v${instruction.registerC}, 0x0"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private enum class MethodCall(
|
||||
override val definedClassName: String,
|
||||
override val methodName: String,
|
||||
override val methodParams: Array<String>,
|
||||
override val returnType: String
|
||||
) : IMethodCall {
|
||||
IsMock("Landroid/location/Location;", "isMock", emptyArray(), "Z"),
|
||||
IsFromMockProvider("Landroid/location/Location;", "isFromMockProvider", emptyArray(), "Z")
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
package app.revanced.patches.all.misc.build
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.all.misc.transformation.BaseTransformInstructionsPatch
|
||||
import app.revanced.util.getReference
|
||||
import com.android.tools.smali.dexlib2.iface.ClassDef
|
||||
import com.android.tools.smali.dexlib2.iface.Method
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.Instruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
|
||||
abstract class BaseSpoofBuildInfoPatch : BaseTransformInstructionsPatch<Pair<Int, Pair<String, String>>>() {
|
||||
// The build information supported32BitAbis, supported64BitAbis, and supportedAbis are not supported for now,
|
||||
// because initializing an array in transform is a bit more complex.
|
||||
|
||||
protected open val board: String? = null
|
||||
|
||||
protected open val bootloader: String? = null
|
||||
|
||||
protected open val brand: String? = null
|
||||
|
||||
protected open val cpuAbi: String? = null
|
||||
|
||||
protected open val cpuAbi2: String? = null
|
||||
|
||||
protected open val device: String? = null
|
||||
|
||||
protected open val display: String? = null
|
||||
|
||||
protected open val fingerprint: String? = null
|
||||
|
||||
protected open val hardware: String? = null
|
||||
|
||||
protected open val host: String? = null
|
||||
|
||||
protected open val id: String? = null
|
||||
|
||||
protected open val manufacturer: String? = null
|
||||
|
||||
protected open val model: String? = null
|
||||
|
||||
protected open val odmSku: String? = null
|
||||
|
||||
protected open val product: String? = null
|
||||
|
||||
protected open val radio: String? = null
|
||||
|
||||
protected open val serial: String? = null
|
||||
|
||||
protected open val sku: String? = null
|
||||
|
||||
protected open val socManufacturer: String? = null
|
||||
|
||||
protected open val socModel: String? = null
|
||||
|
||||
protected open val tags: String? = null
|
||||
|
||||
protected open val time: Long? = null
|
||||
|
||||
protected open val type: String? = null
|
||||
|
||||
protected open val user: String? = null
|
||||
|
||||
|
||||
// Lazy, so that patch options above are initialized before they are accessed.
|
||||
private val replacements: Map<String, Pair<String, String>> by lazy {
|
||||
buildMap {
|
||||
if (board != null) put("BOARD", "const-string" to "\"$board\"")
|
||||
if (bootloader != null) put("BOOTLOADER", "const-string" to "\"$bootloader\"")
|
||||
if (brand != null) put("BRAND", "const-string" to "\"$brand\"")
|
||||
if (cpuAbi != null) put("CPU_ABI", "const-string" to "\"$cpuAbi\"")
|
||||
if (cpuAbi2 != null) put("CPU_ABI2", "const-string" to "\"$cpuAbi2\"")
|
||||
if (device != null) put("DEVICE", "const-string" to "\"$device\"")
|
||||
if (display != null) put("DISPLAY", "const-string" to "\"$display\"")
|
||||
if (fingerprint != null) put("FINGERPRINT", "const-string" to "\"$fingerprint\"")
|
||||
if (hardware != null) put("HARDWARE", "const-string" to "\"$hardware\"")
|
||||
if (host != null) put("HOST", "const-string" to "\"$host\"")
|
||||
if (id != null) put("ID", "const-string" to "\"$id\"")
|
||||
if (manufacturer != null) put("MANUFACTURER", "const-string" to "\"$manufacturer\"")
|
||||
if (model != null) put("MODEL", "const-string" to "\"$model\"")
|
||||
if (odmSku != null) put("ODM_SKU", "const-string" to "\"$odmSku\"")
|
||||
if (product != null) put("PRODUCT", "const-string" to "\"$product\"")
|
||||
if (radio != null) put("RADIO", "const-string" to "\"$radio\"")
|
||||
if (serial != null) put("SERIAL", "const-string" to "\"$serial\"")
|
||||
if (sku != null) put("SKU", "const-string" to "\"$sku\"")
|
||||
if (socManufacturer != null) put("SOC_MANUFACTURER", "const-string" to "\"$socManufacturer\"")
|
||||
if (socModel != null) put("SOC_MODEL", "const-string" to "\"$socModel\"")
|
||||
if (tags != null) put("TAGS", "const-string" to "\"$tags\"")
|
||||
if (time != null) put("TIME", "const-wide" to "$time")
|
||||
if (type != null) put("TYPE", "const-string" to "\"$type\"")
|
||||
if (user != null) put("USER", "const-string" to "\"$user\"")
|
||||
}
|
||||
}
|
||||
|
||||
override fun filterMap(
|
||||
classDef: ClassDef,
|
||||
method: Method,
|
||||
instruction: Instruction,
|
||||
instructionIndex: Int
|
||||
): Pair<Int, Pair<String, String>>? {
|
||||
val reference = instruction.getReference<FieldReference>() ?: return null
|
||||
if (reference.definingClass != BUILD_CLASS_DESCRIPTOR) return null
|
||||
|
||||
return replacements[reference.name]?.let { instructionIndex to it }
|
||||
}
|
||||
|
||||
override fun transform(mutableMethod: MutableMethod, entry: Pair<Int, Pair<String, String>>) {
|
||||
val (index, replacement) = entry
|
||||
val (opcode, operand) = replacement
|
||||
val register = mutableMethod.getInstruction<OneRegisterInstruction>(index).registerA
|
||||
|
||||
mutableMethod.replaceInstruction(index, "$opcode v$register, $operand")
|
||||
}
|
||||
|
||||
private companion object {
|
||||
private const val BUILD_CLASS_DESCRIPTOR = "Landroid/os/Build;"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
package app.revanced.patches.all.misc.build
|
||||
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.longPatchOption
|
||||
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.stringPatchOption
|
||||
|
||||
@Patch(
|
||||
name = "Spoof build info",
|
||||
description = "Spoof the information about the current build.",
|
||||
use = false
|
||||
)
|
||||
@Suppress("unused")
|
||||
class SpoofBuildInfoPatch : BaseSpoofBuildInfoPatch() {
|
||||
override val board by stringPatchOption(
|
||||
key = "board",
|
||||
default = null,
|
||||
title = "Board",
|
||||
description = "The name of the underlying board, like \"goldfish\"."
|
||||
)
|
||||
|
||||
override val bootloader by stringPatchOption(
|
||||
key = "bootloader",
|
||||
default = null,
|
||||
title = "Bootloader",
|
||||
description = "The system bootloader version number."
|
||||
)
|
||||
|
||||
override val brand by stringPatchOption(
|
||||
key = "brand",
|
||||
default = null,
|
||||
title = "Brand",
|
||||
description = "The consumer-visible brand with which the product/hardware will be associated, if any."
|
||||
)
|
||||
|
||||
override val cpuAbi by stringPatchOption(
|
||||
key = "cpu-abi",
|
||||
default = null,
|
||||
title = "CPU ABI",
|
||||
description = "This field was deprecated in API level 21. Use SUPPORTED_ABIS instead."
|
||||
)
|
||||
|
||||
override val cpuAbi2 by stringPatchOption(
|
||||
key = "cpu-abi-2",
|
||||
default = null,
|
||||
title = "CPU ABI 2",
|
||||
description = "This field was deprecated in API level 21. Use SUPPORTED_ABIS instead."
|
||||
)
|
||||
|
||||
override val device by stringPatchOption(
|
||||
key = "device",
|
||||
default = null,
|
||||
title = "Device",
|
||||
description = "The name of the industrial design."
|
||||
)
|
||||
|
||||
override val display by stringPatchOption(
|
||||
key = "display",
|
||||
default = null,
|
||||
title = "Display",
|
||||
description = "A build ID string meant for displaying to the user."
|
||||
)
|
||||
|
||||
override val fingerprint by stringPatchOption(
|
||||
key = "fingerprint",
|
||||
default = null,
|
||||
title = "Fingerprint",
|
||||
description = "A string that uniquely identifies this build."
|
||||
)
|
||||
|
||||
override val hardware by stringPatchOption(
|
||||
key = "hardware",
|
||||
default = null,
|
||||
title = "Hardware",
|
||||
description = "The name of the hardware (from the kernel command line or /proc)."
|
||||
)
|
||||
|
||||
override val host by stringPatchOption(
|
||||
key = "host",
|
||||
default = null,
|
||||
title = "Host",
|
||||
description = "The host."
|
||||
)
|
||||
|
||||
override val id by stringPatchOption(
|
||||
key = "id",
|
||||
default = null,
|
||||
title = "ID",
|
||||
description = "Either a changelist number, or a label like \"M4-rc20\"."
|
||||
)
|
||||
|
||||
override val manufacturer by stringPatchOption(
|
||||
key = "manufacturer",
|
||||
default = null,
|
||||
title = "Manufacturer",
|
||||
description = "The manufacturer of the product/hardware."
|
||||
)
|
||||
|
||||
override val model by stringPatchOption(
|
||||
key = "model",
|
||||
default = null,
|
||||
title = "Model",
|
||||
description = "The end-user-visible name for the end product."
|
||||
)
|
||||
|
||||
override val odmSku by stringPatchOption(
|
||||
key = "odm-sku",
|
||||
default = null,
|
||||
title = "ODM SKU",
|
||||
description = "The SKU of the device as set by the original design manufacturer (ODM)."
|
||||
)
|
||||
|
||||
override val product by stringPatchOption(
|
||||
key = "product",
|
||||
default = null,
|
||||
title = "Product",
|
||||
description = "The name of the overall product."
|
||||
)
|
||||
|
||||
override val radio by stringPatchOption(
|
||||
key = "radio",
|
||||
default = null,
|
||||
title = "Radio",
|
||||
description = "This field was deprecated in API level 15. " +
|
||||
"The radio firmware version is frequently not available when this class is initialized, " +
|
||||
"leading to a blank or \"unknown\" value for this string. Use getRadioVersion() instead."
|
||||
)
|
||||
|
||||
override val serial by stringPatchOption(
|
||||
key = "serial",
|
||||
default = null,
|
||||
title = "Serial",
|
||||
description = "This field was deprecated in API level 26. Use getSerial() instead."
|
||||
)
|
||||
|
||||
override val sku by stringPatchOption(
|
||||
key = "sku",
|
||||
default = null,
|
||||
title = "SKU",
|
||||
description = "The SKU of the hardware (from the kernel command line)."
|
||||
)
|
||||
|
||||
override val socManufacturer by stringPatchOption(
|
||||
key = "soc-manufacturer",
|
||||
default = null,
|
||||
title = "SOC Manufacturer",
|
||||
description = "The manufacturer of the device's primary system-on-chip."
|
||||
)
|
||||
|
||||
override val socModel by stringPatchOption(
|
||||
key = "soc-model",
|
||||
default = null,
|
||||
title = "SOC Model",
|
||||
description = "The model name of the device's primary system-on-chip."
|
||||
)
|
||||
|
||||
override val tags by stringPatchOption(
|
||||
key = "tags",
|
||||
default = null,
|
||||
title = "Tags",
|
||||
description = "Comma-separated tags describing the build, like \"unsigned,debug\"."
|
||||
)
|
||||
|
||||
override val time by longPatchOption(
|
||||
key = "time",
|
||||
default = null,
|
||||
title = "Time",
|
||||
description = "The time at which the build was produced, given in milliseconds since the UNIX epoch."
|
||||
)
|
||||
|
||||
override val type by stringPatchOption(
|
||||
key = "type",
|
||||
default = null,
|
||||
title = "Type",
|
||||
description = "The type of build, like \"user\" or \"eng\"."
|
||||
)
|
||||
|
||||
override val user by stringPatchOption(
|
||||
key = "user",
|
||||
default = null,
|
||||
title = "User",
|
||||
description = "The user."
|
||||
)
|
||||
}
|
||||
@@ -125,6 +125,7 @@ object AddResourcesPatch : ResourcePatch(), MutableMap<Value, MutableSet<BaseRes
|
||||
"sk-rSK" to "sk",
|
||||
"sl-rSI" to "sl",
|
||||
"sq-rAL" to "sq",
|
||||
"sr-rCS" to "b+sr+Latn",
|
||||
"sr-rSP" to "sr",
|
||||
"sv-rSE" to "sv",
|
||||
"sw-rKE" to "sw",
|
||||
@@ -347,7 +348,10 @@ object AddResourcesPatch : ResourcePatch(), MutableMap<Value, MutableSet<BaseRes
|
||||
val targetFile =
|
||||
context.get("res/$value/$resourceFileName.xml").also {
|
||||
it.parentFile?.mkdirs()
|
||||
it.createNewFile()
|
||||
|
||||
if(it.createNewFile()) {
|
||||
it.writeText("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n</resources>")
|
||||
}
|
||||
}
|
||||
|
||||
context.xmlEditor[targetFile.path].let { editor ->
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
package app.revanced.patches.candylinkvpn
|
||||
|
||||
import app.revanced.util.exception
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.candylinkvpn.fingerprints.IsPremiumPurchasedFingerprint
|
||||
import app.revanced.util.exception
|
||||
|
||||
@Patch(
|
||||
name = "Unlock pro",
|
||||
compatiblePackages = [CompatiblePackage("com.candylink.openvpn")]
|
||||
compatiblePackages = [CompatiblePackage("com.candylink.openvpn")],
|
||||
)
|
||||
@Deprecated(
|
||||
"This patch does not work anymore and will be removed in the future, " +
|
||||
"because the servers now check the purchase status.",
|
||||
)
|
||||
@Suppress("unused")
|
||||
object UnlockProPatch : BytecodePatch(
|
||||
setOf(IsPremiumPurchasedFingerprint)
|
||||
setOf(IsPremiumPurchasedFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
IsPremiumPurchasedFingerprint.result?.mutableMethod?.addInstructions(
|
||||
@@ -22,7 +25,7 @@ object UnlockProPatch : BytecodePatch(
|
||||
"""
|
||||
const/4 v0, 0x1
|
||||
return v0
|
||||
"""
|
||||
""",
|
||||
) ?: throw IsPremiumPurchasedFingerprint.exception
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package app.revanced.patches.googlenews.customtabs
|
||||
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.googlenews.customtabs.fingerprints.LaunchCustomTabFingerprint
|
||||
import app.revanced.util.resultOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
@Patch(
|
||||
name = "Enable CustomTabs",
|
||||
description = "Enables CustomTabs to open articles in your default browser.",
|
||||
compatiblePackages = [CompatiblePackage("com.google.android.apps.magazines")],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object EnableCustomTabs : BytecodePatch(
|
||||
setOf(LaunchCustomTabFingerprint)
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
LaunchCustomTabFingerprint.resultOrThrow().let { result ->
|
||||
result.mutableMethod.apply {
|
||||
val checkIndex = result.scanResult.patternScanResult!!.endIndex + 1
|
||||
val register = getInstruction<OneRegisterInstruction>(checkIndex).registerA
|
||||
|
||||
replaceInstruction(checkIndex, "const/4 v$register, 0x1")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package app.revanced.patches.googlenews.customtabs.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object LaunchCustomTabFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||
opcodes = listOf(
|
||||
Opcode.IPUT_OBJECT,
|
||||
Opcode.CONST_4,
|
||||
Opcode.IPUT,
|
||||
Opcode.CONST_4,
|
||||
Opcode.IPUT_BOOLEAN,
|
||||
),
|
||||
customFingerprint = { _, classDef -> classDef.endsWith("CustomTabsArticleLauncher;") },
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
package app.revanced.patches.googlenews.misc.gms
|
||||
|
||||
internal object Constants {
|
||||
const val MAGAZINES_PACKAGE_NAME = "com.google.android.apps.magazines"
|
||||
const val REVANCED_MAGAZINES_PACKAGE_NAME = "app.revanced.android.magazines"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package app.revanced.patches.googlenews.misc.gms
|
||||
|
||||
import app.revanced.patches.googlenews.misc.gms.Constants.MAGAZINES_PACKAGE_NAME
|
||||
import app.revanced.patches.googlenews.misc.gms.Constants.REVANCED_MAGAZINES_PACKAGE_NAME
|
||||
import app.revanced.patches.googlenews.misc.gms.GmsCoreSupportResourcePatch.gmsCoreVendorGroupIdOption
|
||||
import app.revanced.patches.googlenews.misc.gms.fingerprints.MagazinesActivityOnCreateFingerprint
|
||||
import app.revanced.patches.googlenews.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch
|
||||
|
||||
@Suppress("unused")
|
||||
object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
fromPackageName = MAGAZINES_PACKAGE_NAME,
|
||||
toPackageName = REVANCED_MAGAZINES_PACKAGE_NAME,
|
||||
primeMethodFingerprint = null,
|
||||
mainActivityOnCreateFingerprint = MagazinesActivityOnCreateFingerprint,
|
||||
integrationsPatchDependency = IntegrationsPatch::class,
|
||||
gmsCoreSupportResourcePatch = GmsCoreSupportResourcePatch,
|
||||
// Remove version constraint,
|
||||
// once https://github.com/ReVanced/revanced-patches/pull/3111#issuecomment-2240877277 is resolved.
|
||||
compatiblePackages = setOf(CompatiblePackage(MAGAZINES_PACKAGE_NAME, setOf("5.108.0.644447823"))),
|
||||
) {
|
||||
override val gmsCoreVendorGroupId by gmsCoreVendorGroupIdOption
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package app.revanced.patches.googlenews.misc.gms
|
||||
|
||||
import app.revanced.patches.googlenews.misc.gms.Constants.MAGAZINES_PACKAGE_NAME
|
||||
import app.revanced.patches.googlenews.misc.gms.Constants.REVANCED_MAGAZINES_PACKAGE_NAME
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportResourcePatch
|
||||
|
||||
object GmsCoreSupportResourcePatch : BaseGmsCoreSupportResourcePatch(
|
||||
fromPackageName = MAGAZINES_PACKAGE_NAME,
|
||||
toPackageName = REVANCED_MAGAZINES_PACKAGE_NAME,
|
||||
spoofedPackageSignature = "24bb24c05e47e0aefa68a58a766179d9b613a666",
|
||||
)
|
||||
@@ -0,0 +1,9 @@
|
||||
package app.revanced.patches.googlenews.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object MagazinesActivityOnCreateFingerprint : MethodFingerprint(
|
||||
customFingerprint = { methodDef, classDef ->
|
||||
methodDef.name == "onCreate" && classDef.endsWith("/StartActivity;")
|
||||
},
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
package app.revanced.patches.googlenews.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object PrimeMethodFingerprint : MethodFingerprint(
|
||||
strings = listOf("com.google.android.GoogleCamera", "com.android.vending"),
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
package app.revanced.patches.googlenews.misc.integrations
|
||||
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.googlenews.misc.integrations.fingerprints.StartActivityInitFingerprint
|
||||
import app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch
|
||||
|
||||
@Patch(requiresIntegrations = true)
|
||||
object IntegrationsPatch : BaseIntegrationsPatch(
|
||||
setOf(StartActivityInitFingerprint),
|
||||
)
|
||||
@@ -0,0 +1,41 @@
|
||||
package app.revanced.patches.googlenews.misc.integrations.fingerprints
|
||||
|
||||
import app.revanced.patches.googlenews.misc.integrations.fingerprints.StartActivityInitFingerprint.getApplicationContextIndex
|
||||
import app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch.IntegrationsFingerprint
|
||||
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.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal object StartActivityInitFingerprint : IntegrationsFingerprint(
|
||||
opcodes = listOf(
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.CONST_4,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.CONST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IPUT_OBJECT,
|
||||
Opcode.IPUT_BOOLEAN,
|
||||
Opcode.INVOKE_VIRTUAL, // Calls startActivity.getApplicationContext().
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
),
|
||||
insertIndexResolver = { method ->
|
||||
getApplicationContextIndex = method.indexOfFirstInstructionOrThrow {
|
||||
getReference<MethodReference>()?.name == "getApplicationContext"
|
||||
}
|
||||
|
||||
getApplicationContextIndex + 2 // Below the move-result-object instruction.
|
||||
},
|
||||
contextRegisterResolver = { method ->
|
||||
val moveResultInstruction = method.implementation!!.instructions.elementAt(getApplicationContextIndex + 1)
|
||||
as OneRegisterInstruction
|
||||
moveResultInstruction.registerA
|
||||
},
|
||||
customFingerprint = { methodDef, classDef ->
|
||||
methodDef.name == "onCreate" && classDef.endsWith("/StartActivity;")
|
||||
},
|
||||
) {
|
||||
private var getApplicationContextIndex = -1
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package app.revanced.patches.googlephotos.misc.gms
|
||||
|
||||
internal object Constants {
|
||||
const val PHOTOS_PACKAGE_NAME = "com.google.android.apps.photos"
|
||||
const val REVANCED_PHOTOS_PACKAGE_NAME = "app.revanced.android.photos"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package app.revanced.patches.googlephotos.misc.gms
|
||||
|
||||
import app.revanced.patches.googlephotos.misc.gms.Constants.PHOTOS_PACKAGE_NAME
|
||||
import app.revanced.patches.googlephotos.misc.gms.Constants.REVANCED_PHOTOS_PACKAGE_NAME
|
||||
import app.revanced.patches.googlephotos.misc.gms.GmsCoreSupportResourcePatch.gmsCoreVendorGroupIdOption
|
||||
import app.revanced.patches.googlephotos.misc.gms.fingerprints.PhotosActivityOnCreateFingerprint
|
||||
import app.revanced.patches.googlephotos.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch
|
||||
|
||||
@Suppress("unused")
|
||||
object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
fromPackageName = PHOTOS_PACKAGE_NAME,
|
||||
toPackageName = REVANCED_PHOTOS_PACKAGE_NAME,
|
||||
primeMethodFingerprint = null,
|
||||
mainActivityOnCreateFingerprint = PhotosActivityOnCreateFingerprint,
|
||||
integrationsPatchDependency = IntegrationsPatch::class,
|
||||
gmsCoreSupportResourcePatch = GmsCoreSupportResourcePatch,
|
||||
compatiblePackages = setOf(CompatiblePackage(PHOTOS_PACKAGE_NAME)),
|
||||
) {
|
||||
override val gmsCoreVendorGroupId by gmsCoreVendorGroupIdOption
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package app.revanced.patches.googlephotos.misc.gms
|
||||
|
||||
import app.revanced.patches.googlephotos.misc.gms.Constants.PHOTOS_PACKAGE_NAME
|
||||
import app.revanced.patches.googlephotos.misc.gms.Constants.REVANCED_PHOTOS_PACKAGE_NAME
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportResourcePatch
|
||||
|
||||
object GmsCoreSupportResourcePatch : BaseGmsCoreSupportResourcePatch(
|
||||
fromPackageName = PHOTOS_PACKAGE_NAME,
|
||||
toPackageName = REVANCED_PHOTOS_PACKAGE_NAME,
|
||||
spoofedPackageSignature = "24bb24c05e47e0aefa68a58a766179d9b613a600",
|
||||
)
|
||||
@@ -0,0 +1,9 @@
|
||||
package app.revanced.patches.googlephotos.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object PhotosActivityOnCreateFingerprint : MethodFingerprint(
|
||||
customFingerprint = { methodDef, classDef ->
|
||||
methodDef.name == "onCreate" && classDef.endsWith("/HomeActivity;")
|
||||
},
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
package app.revanced.patches.googlephotos.misc.integrations
|
||||
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.googlephotos.misc.integrations.fingerprints.HomeActivityInitFingerprint
|
||||
import app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch
|
||||
|
||||
@Patch(requiresIntegrations = true)
|
||||
object IntegrationsPatch : BaseIntegrationsPatch(
|
||||
setOf(HomeActivityInitFingerprint),
|
||||
)
|
||||
@@ -0,0 +1,37 @@
|
||||
package app.revanced.patches.googlephotos.misc.integrations.fingerprints
|
||||
|
||||
import app.revanced.patches.googlephotos.misc.integrations.fingerprints.HomeActivityInitFingerprint.getApplicationContextIndex
|
||||
import app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch.IntegrationsFingerprint
|
||||
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.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
internal object HomeActivityInitFingerprint : IntegrationsFingerprint(
|
||||
opcodes = listOf(
|
||||
Opcode.CONST_STRING,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IF_NEZ,
|
||||
Opcode.INVOKE_VIRTUAL, // Calls getApplicationContext().
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
),
|
||||
insertIndexResolver = { method ->
|
||||
getApplicationContextIndex = method.indexOfFirstInstructionOrThrow {
|
||||
getReference<MethodReference>()?.name == "getApplicationContext"
|
||||
}
|
||||
|
||||
getApplicationContextIndex + 2 // Below the move-result-object instruction.
|
||||
},
|
||||
contextRegisterResolver = { method ->
|
||||
val moveResultInstruction = method.implementation!!.instructions.elementAt(getApplicationContextIndex + 1)
|
||||
as OneRegisterInstruction
|
||||
moveResultInstruction.registerA
|
||||
},
|
||||
customFingerprint = { methodDef, classDef ->
|
||||
methodDef.name == "onCreate" && classDef.endsWith("/HomeActivity;")
|
||||
},
|
||||
) {
|
||||
private var getApplicationContextIndex = -1
|
||||
}
|
||||
@@ -12,15 +12,15 @@ import app.revanced.util.returnEarly
|
||||
@Patch(
|
||||
name = "Remove root detection",
|
||||
description = "Removes the check for root permissions and unlocked bootloader.",
|
||||
compatiblePackages = [CompatiblePackage("at.gv.oe.app")]
|
||||
compatiblePackages = [CompatiblePackage("at.gv.oe.app")],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object RootDetectionPatch : BytecodePatch(
|
||||
setOf(AttestationSupportedCheckFingerprint, BootloaderCheckFingerprint, RootCheckFingerprint)
|
||||
setOf(AttestationSupportedCheckFingerprint, BootloaderCheckFingerprint, RootCheckFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) = listOf(
|
||||
override fun execute(context: BytecodeContext) = setOf(
|
||||
AttestationSupportedCheckFingerprint,
|
||||
BootloaderCheckFingerprint,
|
||||
RootCheckFingerprint
|
||||
RootCheckFingerprint,
|
||||
).returnEarly(true)
|
||||
}
|
||||
|
||||
@@ -2,16 +2,13 @@ package app.revanced.patches.instagram.patches.ad.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object AdInjectorFingerprint : MethodFingerprint(
|
||||
returnType = "Z",
|
||||
accessFlags = AccessFlags.PRIVATE.value,
|
||||
parameters = listOf("L", "L"),
|
||||
opcodes = listOf(
|
||||
Opcode.IGET,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
strings = listOf(
|
||||
"SponsoredContentController.insertItem",
|
||||
"SponsoredContentController::Delivery",
|
||||
),
|
||||
strings = listOf("SponsoredContentController::Delivery"),
|
||||
)
|
||||
|
||||
@@ -14,9 +14,9 @@ import app.revanced.util.exception
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
|
||||
@Patch(
|
||||
name = "Hide timeline ads",
|
||||
compatiblePackages = [CompatiblePackage("com.instagram.android")],
|
||||
)
|
||||
@Deprecated("This patch is not needed anymore.", replaceWith = ReplaceWith("HideAdsPatch"))
|
||||
@Suppress("unused")
|
||||
object HideTimelineAdsPatch : BytecodePatch(
|
||||
setOf(
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
@Patch(
|
||||
name = "Disable switching emoji to sticker",
|
||||
description = "Disables switching from emoji to sticker search mode in message input field.",
|
||||
compatiblePackages = [CompatiblePackage("com.facebook.orca")],
|
||||
compatiblePackages = [CompatiblePackage("com.facebook.orca", ["439.0.0.29.119"])],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object DisableSwitchingEmojiToStickerPatch : BytecodePatch(
|
||||
|
||||
@@ -8,20 +8,20 @@ import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.moneymanager.fingerprints.UnlockProFingerprint
|
||||
|
||||
@Patch(
|
||||
name = "Unlock pro",
|
||||
compatiblePackages = [CompatiblePackage("com.ithebk.expensemanager")]
|
||||
compatiblePackages = [CompatiblePackage("com.ithebk.expensemanager")],
|
||||
)
|
||||
@Deprecated("This patch is not functional anymore and will be removed in the future.")
|
||||
@Suppress("unused")
|
||||
object UnlockProPatch : BytecodePatch(
|
||||
setOf(UnlockProFingerprint)
|
||||
){
|
||||
setOf(UnlockProFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
UnlockProFingerprint.result!!.mutableMethod.addInstructions(
|
||||
UnlockProFingerprint.result!!.mutableMethod.addInstructions(
|
||||
0,
|
||||
"""
|
||||
const/4 v0, 0x1
|
||||
return v0
|
||||
"""
|
||||
""",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,11 +6,12 @@ import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.music.ad.video.fingerprints.ShowMusicVideoAdsParentFingerprint
|
||||
import app.revanced.patches.music.ad.video.fingerprints.ShowVideoAdsParentFingerprint
|
||||
import app.revanced.util.exception
|
||||
|
||||
@Patch(
|
||||
name = "Hide music video ads",
|
||||
name = "Hide video ads",
|
||||
description = "Hides ads that appear while listening to or streaming music videos, podcasts, or songs.",
|
||||
compatiblePackages = [
|
||||
CompatiblePackage(
|
||||
"com.google.android.apps.youtube.music",
|
||||
@@ -25,24 +26,32 @@ import app.revanced.util.exception
|
||||
],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object HideMusicVideoAds : BytecodePatch(
|
||||
setOf(ShowMusicVideoAdsParentFingerprint),
|
||||
object HideVideoAds : BytecodePatch(
|
||||
setOf(ShowVideoAdsParentFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
ShowMusicVideoAdsParentFingerprint.result?.let {
|
||||
val showMusicVideoAdsMethod = context
|
||||
ShowVideoAdsParentFingerprint.result?.let {
|
||||
val showVideoAdsMethod = context
|
||||
.toMethodWalker(it.mutableMethod)
|
||||
.nextMethod(it.scanResult.patternScanResult!!.startIndex + 1, true).getMethod() as MutableMethod
|
||||
|
||||
showMusicVideoAdsMethod.addInstruction(0, "const/4 p1, 0x0")
|
||||
} ?: throw ShowMusicVideoAdsParentFingerprint.exception
|
||||
showVideoAdsMethod.addInstruction(0, "const/4 p1, 0x0")
|
||||
} ?: throw ShowVideoAdsParentFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("This patch class has been renamed to HideMusicVideoAds.")
|
||||
@Deprecated("This patch class has been renamed to HideVideoAds.")
|
||||
object HideMusicVideoAds : BytecodePatch(
|
||||
dependencies = setOf(HideVideoAds::class)
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("This patch class has been renamed to HideVideoAds.")
|
||||
object MusicVideoAdsPatch : BytecodePatch(
|
||||
dependencies = setOf(HideMusicVideoAds::class),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package app.revanced.patches.music.ad.video.fingerprints
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object ShowMusicVideoAdsParentFingerprint : MethodFingerprint(
|
||||
internal object ShowVideoAdsParentFingerprint : MethodFingerprint(
|
||||
opcodes = listOf(
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
@@ -3,7 +3,9 @@ package app.revanced.patches.music.misc.gms
|
||||
import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
|
||||
import app.revanced.patches.music.misc.gms.Constants.REVANCED_MUSIC_PACKAGE_NAME
|
||||
import app.revanced.patches.music.misc.gms.GmsCoreSupportResourcePatch.gmsCoreVendorGroupIdOption
|
||||
import app.revanced.patches.music.misc.gms.fingerprints.*
|
||||
import app.revanced.patches.music.misc.gms.fingerprints.CastDynamiteModuleV2Fingerprint
|
||||
import app.revanced.patches.music.misc.gms.fingerprints.MusicActivityOnCreateFingerprint
|
||||
import app.revanced.patches.music.misc.gms.fingerprints.PrimeMethodFingerprint
|
||||
import app.revanced.patches.music.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.patches.shared.fingerprints.CastContextFetchFingerprint
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch
|
||||
@@ -14,9 +16,6 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
toPackageName = REVANCED_MUSIC_PACKAGE_NAME,
|
||||
primeMethodFingerprint = PrimeMethodFingerprint,
|
||||
earlyReturnFingerprints = setOf(
|
||||
ServiceCheckFingerprint,
|
||||
GooglePlayUtilityFingerprint,
|
||||
CastDynamiteModuleFingerprint,
|
||||
CastDynamiteModuleV2Fingerprint,
|
||||
CastContextFetchFingerprint,
|
||||
),
|
||||
@@ -32,13 +31,10 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
"7.01.53",
|
||||
"7.02.52",
|
||||
"7.03.52",
|
||||
)
|
||||
)
|
||||
),
|
||||
),
|
||||
),
|
||||
fingerprints = setOf(
|
||||
ServiceCheckFingerprint,
|
||||
GooglePlayUtilityFingerprint,
|
||||
CastDynamiteModuleFingerprint,
|
||||
CastDynamiteModuleV2Fingerprint,
|
||||
CastContextFetchFingerprint,
|
||||
PrimeMethodFingerprint,
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
package app.revanced.patches.music.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal object GooglePlayUtilityFingerprint : MethodFingerprint(
|
||||
"I",
|
||||
AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
listOf("L", "I"),
|
||||
strings = listOf(
|
||||
"This should never happen.",
|
||||
"MetadataValueReader",
|
||||
"GooglePlayServicesUtil",
|
||||
"com.android.vending",
|
||||
"android.hardware.type.embedded"
|
||||
)
|
||||
)
|
||||
@@ -1,12 +0,0 @@
|
||||
package app.revanced.patches.music.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal object ServiceCheckFingerprint : MethodFingerprint(
|
||||
"V",
|
||||
AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
listOf("L", "I"),
|
||||
strings = listOf("Google Play Services not available"),
|
||||
)
|
||||
@@ -15,5 +15,5 @@ abstract class BaseDisableAdsPatch(
|
||||
compatiblePackages = compatiblePackages,
|
||||
fingerprints = setOf(IsAdsEnabledFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) = listOf(IsAdsEnabledFingerprint).returnEarly()
|
||||
override fun execute(context: BytecodeContext) = IsAdsEnabledFingerprint.returnEarly()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package app.revanced.patches.reddit.customclients.boostforreddit.ads
|
||||
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patches.reddit.customclients.boostforreddit.ads.fingerprints.*
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.util.resultOrThrow
|
||||
|
||||
@Patch(
|
||||
name = "Disable ads",
|
||||
compatiblePackages = [CompatiblePackage("com.rubenmayayo.reddit")],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object DisableAdsPatch : BytecodePatch(
|
||||
setOf(MaxMediationFingerprint, AdmobMediationFingerprint),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) =
|
||||
arrayOf(MaxMediationFingerprint, AdmobMediationFingerprint).forEach {
|
||||
it.resultOrThrow().mutableMethod.addInstructions(0, "return-void")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package app.revanced.patches.reddit.customclients.boostforreddit.ads.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object AdmobMediationFingerprint : MethodFingerprint(
|
||||
strings = listOf("AdmobMediation: Attempting to initialize SDK")
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
package app.revanced.patches.reddit.customclients.boostforreddit.ads.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object MaxMediationFingerprint : MethodFingerprint(
|
||||
strings = listOf("MaxMediation: Attempting to initialize SDK")
|
||||
)
|
||||
@@ -22,5 +22,5 @@ object UnlockSubscriptionPatch : BytecodePatch(
|
||||
setOf(StartSubscriptionActivityFingerprint, BillingClientOnServiceConnected),
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) =
|
||||
listOf(StartSubscriptionActivityFingerprint, BillingClientOnServiceConnected).returnEarly()
|
||||
setOf(StartSubscriptionActivityFingerprint, BillingClientOnServiceConnected).returnEarly()
|
||||
}
|
||||
|
||||
@@ -11,8 +11,11 @@ import app.revanced.patches.all.misc.packagename.ChangePackageNamePatch
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch.Constants.ACTIONS
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch.Constants.AUTHORITIES
|
||||
import app.revanced.patches.shared.misc.gms.BaseGmsCoreSupportPatch.Constants.PERMISSIONS
|
||||
import app.revanced.patches.shared.misc.gms.fingerprints.CastDynamiteModuleFingerprint
|
||||
import app.revanced.patches.shared.misc.gms.fingerprints.GmsCoreSupportFingerprint
|
||||
import app.revanced.patches.shared.misc.gms.fingerprints.GmsCoreSupportFingerprint.GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME
|
||||
import app.revanced.patches.shared.misc.gms.fingerprints.GooglePlayUtilityFingerprint
|
||||
import app.revanced.patches.shared.misc.gms.fingerprints.ServiceCheckFingerprint
|
||||
import app.revanced.util.exception
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.returnEarly
|
||||
@@ -42,8 +45,8 @@ import com.android.tools.smali.dexlib2.util.MethodUtil
|
||||
abstract class BaseGmsCoreSupportPatch(
|
||||
private val fromPackageName: String,
|
||||
private val toPackageName: String,
|
||||
private val primeMethodFingerprint: MethodFingerprint,
|
||||
private val earlyReturnFingerprints: Set<MethodFingerprint>,
|
||||
private val primeMethodFingerprint: MethodFingerprint?,
|
||||
private val earlyReturnFingerprints: Set<MethodFingerprint> = setOf(),
|
||||
private val mainActivityOnCreateFingerprint: MethodFingerprint,
|
||||
private val integrationsPatchDependency: PatchClass,
|
||||
gmsCoreSupportResourcePatch: BaseGmsCoreSupportResourcePatch,
|
||||
@@ -62,6 +65,9 @@ abstract class BaseGmsCoreSupportPatch(
|
||||
compatiblePackages = compatiblePackages,
|
||||
fingerprints = setOf(
|
||||
GmsCoreSupportFingerprint,
|
||||
GooglePlayUtilityFingerprint,
|
||||
ServiceCheckFingerprint,
|
||||
CastDynamiteModuleFingerprint,
|
||||
mainActivityOnCreateFingerprint,
|
||||
) + fingerprints,
|
||||
requiresIntegrations = true,
|
||||
@@ -91,10 +97,19 @@ abstract class BaseGmsCoreSupportPatch(
|
||||
}
|
||||
|
||||
// Specific method that needs to be patched.
|
||||
transformPrimeMethod(packageName)
|
||||
primeMethodFingerprint?.let { transformPrimeMethod(packageName) }
|
||||
|
||||
// Return these methods early to prevent the app from crashing.
|
||||
earlyReturnFingerprints.toList().returnEarly()
|
||||
earlyReturnFingerprints.returnEarly()
|
||||
ServiceCheckFingerprint.returnEarly()
|
||||
// Not all apps have CastDynamiteModule, so we need to check if it's present.
|
||||
if (CastDynamiteModuleFingerprint.result != null) {
|
||||
CastDynamiteModuleFingerprint.returnEarly()
|
||||
}
|
||||
// Google Play Utility is not present in all apps, so we need to check if it's present.
|
||||
if (GooglePlayUtilityFingerprint.result != null) {
|
||||
GooglePlayUtilityFingerprint.returnEarly()
|
||||
}
|
||||
|
||||
// Verify GmsCore is installed and whitelisted for power optimizations and background usage.
|
||||
mainActivityOnCreateFingerprint.result?.mutableMethod?.addInstructions(
|
||||
@@ -192,7 +207,7 @@ abstract class BaseGmsCoreSupportPatch(
|
||||
}
|
||||
|
||||
private fun transformPrimeMethod(packageName: String) {
|
||||
primeMethodFingerprint.result?.mutableMethod?.apply {
|
||||
primeMethodFingerprint!!.result?.mutableMethod?.apply {
|
||||
var register = 2
|
||||
|
||||
val index = getInstructions().indexOfFirst {
|
||||
@@ -305,6 +320,7 @@ abstract class BaseGmsCoreSupportPatch(
|
||||
"com.google.android.gms.languageprofile.service.START",
|
||||
"com.google.android.gms.clearcut.service.START",
|
||||
"com.google.android.gms.icing.LIGHTWEIGHT_INDEX_SERVICE",
|
||||
"com.google.android.gms.accountsettings.action.VIEW_SETTINGS",
|
||||
|
||||
// potoken
|
||||
"com.google.android.gms.potokens.service.START",
|
||||
|
||||
@@ -96,27 +96,23 @@ abstract class BaseGmsCoreSupportResourcePatch(
|
||||
private fun ResourceContext.patchManifest() {
|
||||
val packageName = ChangePackageNamePatch.setOrGetFallbackPackageName(toPackageName)
|
||||
|
||||
val manifest = this.get("AndroidManifest.xml").readText()
|
||||
this.get("AndroidManifest.xml").writeText(
|
||||
manifest.replace(
|
||||
"package=\"$fromPackageName",
|
||||
"package=\"$packageName",
|
||||
).replace(
|
||||
"android:authorities=\"$fromPackageName",
|
||||
"android:authorities=\"$packageName",
|
||||
).replace(
|
||||
"$fromPackageName.permission.C2D_MESSAGE",
|
||||
"$packageName.permission.C2D_MESSAGE",
|
||||
).replace(
|
||||
"$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION",
|
||||
"$packageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION",
|
||||
).replace(
|
||||
"com.google.android.c2dm",
|
||||
"$gmsCoreVendorGroupId.android.c2dm",
|
||||
).replace(
|
||||
"</queries>",
|
||||
"<package android:name=\"$gmsCoreVendorGroupId.android.gms\"/></queries>",
|
||||
),
|
||||
val transformations = mapOf(
|
||||
"package=\"$fromPackageName" to "package=\"$packageName",
|
||||
"android:authorities=\"$fromPackageName" to "android:authorities=\"$packageName",
|
||||
"$fromPackageName.permission.C2D_MESSAGE" to "$packageName.permission.C2D_MESSAGE",
|
||||
"$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" to "$packageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION",
|
||||
"com.google.android.c2dm" to "$gmsCoreVendorGroupId.android.c2dm",
|
||||
"com.google.android.libraries.photos.api.mars" to "$gmsCoreVendorGroupId.android.apps.photos.api.mars",
|
||||
"</queries>" to "<package android:name=\"$gmsCoreVendorGroupId.android.gms\"/></queries>",
|
||||
)
|
||||
|
||||
get("AndroidManifest.xml", false).writeText(
|
||||
transformations.entries.fold(get("AndroidManifest.xml", false).readText()) { acc, (from, to) ->
|
||||
acc.replace(
|
||||
from,
|
||||
to,
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.music.misc.gms.fingerprints
|
||||
package app.revanced.patches.shared.misc.gms.fingerprints
|
||||
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
@@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.youtube.misc.gms.fingerprints
|
||||
package app.revanced.patches.shared.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
@@ -8,5 +8,5 @@ internal object GooglePlayUtilityFingerprint : MethodFingerprint(
|
||||
returnType = "I",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
parameters = listOf("L", "I"),
|
||||
strings = listOf("This should never happen.", "MetadataValueReader", "com.google.android.gms")
|
||||
)
|
||||
strings = listOf("This should never happen.", "MetadataValueReader", "com.google.android.gms"),
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.youtube.misc.gms.fingerprints
|
||||
package app.revanced.patches.shared.misc.gms.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
@@ -8,5 +8,5 @@ internal object ServiceCheckFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
parameters = listOf("L", "I"),
|
||||
strings = listOf("Google Play Services not available", "GooglePlayServices not available due to error ")
|
||||
)
|
||||
strings = listOf("Google Play Services not available")
|
||||
)
|
||||
@@ -73,7 +73,7 @@ object EnableOfflineSyncPatch : BytecodePatch(
|
||||
// The first three null checks need to be patched.
|
||||
getInstructions().asSequence().filter {
|
||||
it.opcode == Opcode.IF_EQZ
|
||||
}.take(3).map { it.location.index }.forEach { nullCheckIndex ->
|
||||
}.take(3).toList().map { it.location.index }.asReversed().forEach { nullCheckIndex ->
|
||||
val headerStringRegister = getInstruction<OneRegisterInstruction>(nullCheckIndex).registerA
|
||||
|
||||
addInstruction(nullCheckIndex, "const-string v$headerStringRegister, \"\"")
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package app.revanced.patches.swissid.integritycheck
|
||||
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.swissid.integritycheck.fingerprints.CheckIntegrityFingerprint
|
||||
import app.revanced.util.resultOrThrow
|
||||
|
||||
@Patch(
|
||||
name = "Remove Google Play Integrity Integrity check",
|
||||
description = "Removes the Google Play Integrity check. With this it's possible to use SwissID on custom ROMS." +
|
||||
"If the device is rooted, root permissions must be hidden from the app.",
|
||||
compatiblePackages = [CompatiblePackage("com.swisssign.swissid.mobile")],
|
||||
)
|
||||
@Suppress("unused")
|
||||
object RemoveGooglePlayIntegrityCheck : BytecodePatch(
|
||||
setOf(CheckIntegrityFingerprint),
|
||||
) {
|
||||
private const val RESULT_METHOD_REFERENCE = " Lcom/swisssign/deviceintegrity/" +
|
||||
"DeviceintegrityPlugin\$onMethodCall\$1;->\$result:" +
|
||||
"Lio/flutter/plugin/common/MethodChannel\$Result;"
|
||||
private const val SUCCESS_METHOD_REFERENCE =
|
||||
"Lio/flutter/plugin/common/MethodChannel\$Result;->success(Ljava/lang/Object;)V"
|
||||
|
||||
override fun execute(context: BytecodeContext) =
|
||||
CheckIntegrityFingerprint.resultOrThrow().mutableMethod.addInstructions(
|
||||
0,
|
||||
"""
|
||||
iget-object p1, p0, $RESULT_METHOD_REFERENCE
|
||||
const-string v0, "VALID"
|
||||
invoke-interface {p1, v0}, $SUCCESS_METHOD_REFERENCE
|
||||
return-void
|
||||
""",
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package app.revanced.patches.swissid.integritycheck.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object CheckIntegrityFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
parameters = listOf("Lcom/swisssign/deviceintegrity/model/DeviceIntegrityResult;"),
|
||||
strings = listOf("it", "result")
|
||||
)
|
||||
@@ -97,6 +97,7 @@ object HideLayoutComponentsPatch : BytecodePatch(
|
||||
SwitchPreference("revanced_hide_attributes_section"),
|
||||
SwitchPreference("revanced_hide_chapters_section"),
|
||||
SwitchPreference("revanced_hide_info_cards_section"),
|
||||
SwitchPreference("revanced_hide_key_concepts_section"),
|
||||
SwitchPreference("revanced_hide_podcast_section"),
|
||||
SwitchPreference("revanced_hide_transcript_section"),
|
||||
),
|
||||
|
||||
@@ -60,7 +60,7 @@ object BypassImageRegionRestrictions : BytecodePatch(emptySet()) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
AddResourcesPatch(this::class)
|
||||
|
||||
SettingsPatch.PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
SettingsPatch.PreferenceScreen.MISC.addPreferences(
|
||||
SwitchPreference("revanced_bypass_image_region_restrictions")
|
||||
)
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchException
|
||||
@@ -15,7 +16,9 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMu
|
||||
import app.revanced.patches.all.misc.resources.AddResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreen
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.backgroundplayback.BackgroundPlaybackPatch
|
||||
import app.revanced.patches.youtube.misc.fix.playback.fingerprints.*
|
||||
import app.revanced.patches.youtube.misc.playertype.PlayerTypeHookPatch
|
||||
import app.revanced.patches.youtube.misc.settings.SettingsPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
@@ -37,16 +40,21 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
|
||||
SettingsPatch::class,
|
||||
AddResourcesPatch::class,
|
||||
UserAgentClientSpoofPatch::class,
|
||||
// Required since iOS livestream fix partially enables background playback.
|
||||
BackgroundPlaybackPatch::class,
|
||||
PlayerTypeHookPatch::class,
|
||||
],
|
||||
compatiblePackages = [
|
||||
CompatiblePackage(
|
||||
"com.google.android.youtube",
|
||||
[
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.43.45",
|
||||
"18.44.41",
|
||||
"18.45.43",
|
||||
// This patch works with these versions,
|
||||
// but the dependent background playback patch does not.
|
||||
// "18.37.36",
|
||||
// "18.38.44",
|
||||
// "18.43.45",
|
||||
// "18.44.41",
|
||||
// "18.45.43",
|
||||
"18.48.39",
|
||||
"18.49.37",
|
||||
"19.01.34",
|
||||
@@ -77,18 +85,29 @@ object SpoofClientPatch : BytecodePatch(
|
||||
SetPlayerRequestClientTypeFingerprint,
|
||||
CreatePlayerRequestBodyFingerprint,
|
||||
CreatePlayerRequestBodyWithModelFingerprint,
|
||||
CreatePlayerRequestBodyWithVersionReleaseFingerprint,
|
||||
|
||||
// Player gesture config.
|
||||
PlayerGestureConfigSyntheticFingerprint,
|
||||
|
||||
// Player speed menu item.
|
||||
CreatePlaybackSpeedMenuItemFingerprint,
|
||||
),
|
||||
|
||||
// Video qualities missing.
|
||||
BuildRequestFingerprint,
|
||||
|
||||
// Livestream audio only background playback.
|
||||
PlayerResponseModelBackgroundAudioPlaybackFingerprint,
|
||||
)
|
||||
) {
|
||||
private const val INTEGRATIONS_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/integrations/youtube/patches/spoof/SpoofClientPatch;"
|
||||
private const val CLIENT_INFO_CLASS_DESCRIPTOR =
|
||||
"Lcom/google/protos/youtube/api/innertube/InnertubeContext\$ClientInfo;"
|
||||
private const val REQUEST_CLASS_DESCRIPTOR =
|
||||
"Lorg/chromium/net/ExperimentalUrlRequest;"
|
||||
private const val REQUEST_BUILDER_CLASS_DESCRIPTOR =
|
||||
"Lorg/chromium/net/ExperimentalUrlRequest\$Builder;"
|
||||
|
||||
override fun execute(context: BytecodeContext) {
|
||||
AddResourcesPatch(this::class)
|
||||
@@ -153,7 +172,7 @@ object SpoofClientPatch : BytecodePatch(
|
||||
.getInstructions().find { instruction ->
|
||||
// requestMessage.clientInfo = clientInfoBuilder.build();
|
||||
instruction.opcode == Opcode.IPUT_OBJECT &&
|
||||
instruction.getReference<FieldReference>()?.type == CLIENT_INFO_CLASS_DESCRIPTOR
|
||||
instruction.getReference<FieldReference>()?.type == CLIENT_INFO_CLASS_DESCRIPTOR
|
||||
}?.getReference<FieldReference>() ?: throw PatchException("Could not find clientInfoField")
|
||||
|
||||
// Client info object's client type field.
|
||||
@@ -164,13 +183,15 @@ object SpoofClientPatch : BytecodePatch(
|
||||
// Client info object's client version field.
|
||||
val clientInfoClientVersionField = result.mutableMethod
|
||||
.getInstruction(result.scanResult.stringsScanResult!!.matches.first().index + 1)
|
||||
.getReference<FieldReference>() ?: throw PatchException("Could not find clientInfoClientVersionField")
|
||||
.getReference<FieldReference>()
|
||||
?: throw PatchException("Could not find clientInfoClientVersionField")
|
||||
|
||||
Triple(clientInfoField, clientInfoClientTypeField, clientInfoClientVersionField)
|
||||
}
|
||||
|
||||
val clientInfoClientModelField = CreatePlayerRequestBodyWithModelFingerprint.resultOrThrow().let {
|
||||
val getClientModelIndex = CreatePlayerRequestBodyWithModelFingerprint.indexOfBuildModelInstruction(it.method)
|
||||
val getClientModelIndex =
|
||||
CreatePlayerRequestBodyWithModelFingerprint.indexOfBuildModelInstruction(it.method)
|
||||
|
||||
// The next IPUT_OBJECT instruction after getting the client model is setting the client model field.
|
||||
val index = it.mutableMethod.indexOfFirstInstructionOrThrow(getClientModelIndex) {
|
||||
@@ -181,6 +202,19 @@ object SpoofClientPatch : BytecodePatch(
|
||||
?: throw PatchException("Could not find clientInfoClientModelField")
|
||||
}
|
||||
|
||||
val clientInfoOsVersionField = CreatePlayerRequestBodyWithVersionReleaseFingerprint.resultOrThrow().let {
|
||||
val getOsVersionIndex =
|
||||
CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildVersionReleaseInstruction(it.method)
|
||||
|
||||
// The next IPUT_OBJECT instruction after getting the client os version is setting the client os version field.
|
||||
val index = it.mutableMethod.indexOfFirstInstructionOrThrow(getOsVersionIndex) {
|
||||
opcode == Opcode.IPUT_OBJECT
|
||||
}
|
||||
|
||||
it.mutableMethod.getInstruction(index).getReference<FieldReference>()
|
||||
?: throw PatchException("Could not find clientInfoOsVersionField")
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region Spoof client type for /player requests.
|
||||
@@ -198,7 +232,7 @@ object SpoofClientPatch : BytecodePatch(
|
||||
addInstruction(
|
||||
checkCastIndex + 1,
|
||||
"invoke-static { v$requestMessageInstanceRegister }," +
|
||||
" ${result.classDef.type}->$setClientInfoMethodName($clientInfoContainerClassName)V",
|
||||
" ${result.classDef.type}->$setClientInfoMethodName($clientInfoContainerClassName)V",
|
||||
)
|
||||
}
|
||||
|
||||
@@ -240,6 +274,12 @@ object SpoofClientPatch : BytecodePatch(
|
||||
invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getClientVersion(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
iput-object v1, v0, $clientInfoClientVersionField
|
||||
|
||||
# Set client os version to the spoofed value.
|
||||
iget-object v1, v0, $clientInfoOsVersionField
|
||||
invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->getOsVersion(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
iput-object v1, v0, $clientInfoOsVersionField
|
||||
|
||||
:disabled
|
||||
return-void
|
||||
@@ -283,6 +323,23 @@ object SpoofClientPatch : BytecodePatch(
|
||||
|
||||
// endregion
|
||||
|
||||
// region Fix livestream audio only background play if spoofing to iOS.
|
||||
// This force enables audio background playback.
|
||||
|
||||
PlayerResponseModelBackgroundAudioPlaybackFingerprint.resultOrThrow().mutableMethod.addInstructions(
|
||||
0,
|
||||
"""
|
||||
invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideBackgroundAudioPlayback()Z
|
||||
move-result v0
|
||||
if-eqz v0, :do_not_override
|
||||
return v0
|
||||
:do_not_override
|
||||
nop
|
||||
"""
|
||||
)
|
||||
|
||||
// endregion
|
||||
|
||||
// Fix playback speed menu item if spoofing to iOS.
|
||||
|
||||
CreatePlaybackSpeedMenuItemFingerprint.resultOrThrow().let {
|
||||
@@ -291,7 +348,8 @@ object SpoofClientPatch : BytecodePatch(
|
||||
|
||||
it.mutableMethod.apply {
|
||||
// Find the conditional check if the playback speed menu item is not created.
|
||||
val shouldCreateMenuIndex = indexOfFirstInstructionOrThrow(scanResult.endIndex) { opcode == Opcode.IF_EQZ }
|
||||
val shouldCreateMenuIndex =
|
||||
indexOfFirstInstructionOrThrow(scanResult.endIndex) { opcode == Opcode.IF_EQZ }
|
||||
val shouldCreateMenuRegister = getInstruction<OneRegisterInstruction>(shouldCreateMenuIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
@@ -305,5 +363,28 @@ object SpoofClientPatch : BytecodePatch(
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region Fix video qualities missing, if spoofing to iOS by overriding the user agent.
|
||||
|
||||
BuildRequestFingerprint.resultOrThrow().let { result ->
|
||||
result.mutableMethod.apply {
|
||||
val buildRequestIndex = getInstructions().lastIndex - 2
|
||||
val requestBuilderRegister = getInstruction<FiveRegisterInstruction>(buildRequestIndex).registerC
|
||||
|
||||
val newRequestBuilderIndex = result.scanResult.patternScanResult!!.endIndex
|
||||
val urlRegister = getInstruction<FiveRegisterInstruction>(newRequestBuilderIndex).registerD
|
||||
|
||||
// Replace "requestBuilder.build(): Request" with "overrideUserAgent(requestBuilder, url): Request".
|
||||
replaceInstruction(
|
||||
buildRequestIndex,
|
||||
"invoke-static { v$requestBuilderRegister, v$urlRegister }, " +
|
||||
"$INTEGRATIONS_CLASS_DESCRIPTOR->" +
|
||||
"overrideUserAgent(${REQUEST_BUILDER_CLASS_DESCRIPTOR}Ljava/lang/String;)" +
|
||||
REQUEST_CLASS_DESCRIPTOR
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package app.revanced.patches.youtube.misc.fix.playback.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object BuildRequestFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
returnType = "Lorg/chromium/net/UrlRequest;",
|
||||
opcodes = listOf(
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.INVOKE_VIRTUAL
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,31 @@
|
||||
package app.revanced.patches.youtube.misc.fix.playback.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import app.revanced.patches.youtube.misc.fix.playback.fingerprints.CreatePlayerRequestBodyWithVersionReleaseFingerprint.indexOfBuildVersionReleaseInstruction
|
||||
import app.revanced.util.containsWideLiteralInstructionValue
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstruction
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.iface.Method
|
||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||
|
||||
internal object CreatePlayerRequestBodyWithVersionReleaseFingerprint : MethodFingerprint(
|
||||
returnType = "L",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = listOf(),
|
||||
customFingerprint = { methodDef, _ ->
|
||||
methodDef.containsWideLiteralInstructionValue(1073741824) &&
|
||||
indexOfBuildVersionReleaseInstruction(methodDef) >= 0
|
||||
},
|
||||
) {
|
||||
fun indexOfBuildVersionReleaseInstruction(methodDef: Method) =
|
||||
methodDef.indexOfFirstInstruction {
|
||||
val reference = getReference<FieldReference>()
|
||||
reference?.definingClass == "Landroid/os/Build\$VERSION;" &&
|
||||
reference.name == "RELEASE" &&
|
||||
reference.type == "Ljava/lang/String;"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package app.revanced.patches.youtube.misc.fix.playback.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal object PlayerResponseModelBackgroundAudioPlaybackFingerprint : MethodFingerprint(
|
||||
returnType = "Z",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||
parameters = listOf("Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;"),
|
||||
opcodes = listOf(
|
||||
Opcode.CONST_4,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IF_NEZ,
|
||||
Opcode.GOTO,
|
||||
Opcode.RETURN,
|
||||
null, // Opcode.CONST_4 or Opcode.MOVE
|
||||
Opcode.RETURN,
|
||||
)
|
||||
)
|
||||
@@ -7,7 +7,8 @@ import app.revanced.patches.youtube.misc.fix.playback.SpoofClientPatch
|
||||
import app.revanced.patches.youtube.misc.gms.Constants.REVANCED_YOUTUBE_PACKAGE_NAME
|
||||
import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_PACKAGE_NAME
|
||||
import app.revanced.patches.youtube.misc.gms.GmsCoreSupportResourcePatch.gmsCoreVendorGroupIdOption
|
||||
import app.revanced.patches.youtube.misc.gms.fingerprints.*
|
||||
import app.revanced.patches.youtube.misc.gms.fingerprints.CastDynamiteModuleV2Fingerprint
|
||||
import app.revanced.patches.youtube.misc.gms.fingerprints.PrimeMethodFingerprint
|
||||
import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.patches.youtube.shared.fingerprints.MainActivityOnCreateFingerprint
|
||||
|
||||
@@ -17,9 +18,6 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
toPackageName = REVANCED_YOUTUBE_PACKAGE_NAME,
|
||||
primeMethodFingerprint = PrimeMethodFingerprint,
|
||||
earlyReturnFingerprints = setOf(
|
||||
ServiceCheckFingerprint,
|
||||
GooglePlayUtilityFingerprint,
|
||||
CastDynamiteModuleFingerprint,
|
||||
CastDynamiteModuleV2Fingerprint,
|
||||
CastContextFetchFingerprint,
|
||||
),
|
||||
@@ -34,11 +32,12 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
CompatiblePackage(
|
||||
"com.google.android.youtube",
|
||||
setOf(
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.43.45",
|
||||
"18.44.41",
|
||||
"18.45.43",
|
||||
// Patch supports these versions but ClientSpoof does not.
|
||||
// "18.37.36",
|
||||
// "18.38.44",
|
||||
// "18.43.45",
|
||||
// "18.44.41",
|
||||
// "18.45.43",
|
||||
"18.48.39",
|
||||
"18.49.37",
|
||||
"19.01.34",
|
||||
@@ -61,9 +60,6 @@ object GmsCoreSupportPatch : BaseGmsCoreSupportPatch(
|
||||
),
|
||||
),
|
||||
fingerprints = setOf(
|
||||
ServiceCheckFingerprint,
|
||||
GooglePlayUtilityFingerprint,
|
||||
CastDynamiteModuleFingerprint,
|
||||
CastDynamiteModuleV2Fingerprint,
|
||||
CastContextFetchFingerprint,
|
||||
PrimeMethodFingerprint,
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
package app.revanced.patches.youtube.misc.gms.fingerprints
|
||||
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
internal object CastDynamiteModuleFingerprint : MethodFingerprint(
|
||||
strings = listOf("com.google.android.gms.cast.framework.internal.CastDynamiteModuleImpl")
|
||||
)
|
||||
@@ -16,6 +16,7 @@ import app.revanced.patches.youtube.misc.imageurlhook.fingerprints.cronet.reques
|
||||
import app.revanced.patches.youtube.misc.imageurlhook.fingerprints.cronet.request.callback.OnResponseStartedFingerprint
|
||||
import app.revanced.patches.youtube.misc.imageurlhook.fingerprints.cronet.request.callback.OnSucceededFingerprint
|
||||
import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.util.alsoResolve
|
||||
import app.revanced.util.resultOrThrow
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
@@ -84,17 +85,14 @@ object CronetImageUrlHook : BytecodePatch(
|
||||
}
|
||||
|
||||
override fun execute(context: BytecodeContext) {
|
||||
fun MethodFingerprint.alsoResolve(fingerprint: MethodFingerprint) =
|
||||
also { resolve(context, fingerprint.resultOrThrow().classDef) }.resultOrThrow()
|
||||
|
||||
loadImageUrlMethod = MessageDigestImageUrlFingerprint
|
||||
.alsoResolve(MessageDigestImageUrlParentFingerprint).mutableMethod
|
||||
.alsoResolve(context, MessageDigestImageUrlParentFingerprint).mutableMethod
|
||||
|
||||
loadImageSuccessCallbackMethod = OnSucceededFingerprint
|
||||
.alsoResolve(OnResponseStartedFingerprint).mutableMethod
|
||||
.alsoResolve(context, OnResponseStartedFingerprint).mutableMethod
|
||||
|
||||
loadImageErrorCallbackMethod = OnFailureFingerprint
|
||||
.alsoResolve(OnResponseStartedFingerprint).mutableMethod
|
||||
.alsoResolve(context, OnResponseStartedFingerprint).mutableMethod
|
||||
|
||||
// The URL is required for the failure callback hook, but the URL field is obfuscated.
|
||||
// Add a helper get method that returns the URL field.
|
||||
|
||||
@@ -7,12 +7,14 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableClass
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
|
||||
import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch
|
||||
import app.revanced.patches.youtube.video.information.fingerprints.*
|
||||
import app.revanced.patches.youtube.video.playerresponse.PlayerResponseMethodHookPatch
|
||||
import app.revanced.patches.youtube.video.videoid.VideoIdPatch
|
||||
import app.revanced.util.alsoResolve
|
||||
import app.revanced.util.exception
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||
@@ -45,9 +47,11 @@ object VideoInformationPatch : BytecodePatch(
|
||||
)
|
||||
) {
|
||||
private const val INTEGRATIONS_CLASS_DESCRIPTOR = "Lapp/revanced/integrations/youtube/patches/VideoInformation;"
|
||||
private const val INTEGRATIONS_PLAYER_INTERFACE = "Lapp/revanced/integrations/youtube/patches/VideoInformation${'$'}PlaybackController;"
|
||||
|
||||
private lateinit var playerInitMethod: MutableMethod
|
||||
private var playerInitInsertIndex = 4
|
||||
private var playerInitInsertIndex = -1
|
||||
private var playerInitInsertRegister = -1
|
||||
|
||||
private lateinit var mdxInitMethod: MutableMethod
|
||||
private var mdxInitInsertIndex = -1
|
||||
@@ -70,42 +74,43 @@ object VideoInformationPatch : BytecodePatch(
|
||||
with(PlayerInitFingerprint.resultOrThrow()) {
|
||||
playerInitMethod = mutableClass.methods.first { MethodUtil.isConstructor(it) }
|
||||
|
||||
// hook the player controller for use through integrations
|
||||
// find the location of the first invoke-direct call and extract the register storing the 'this' object reference.
|
||||
val initThisIndex = playerInitMethod.indexOfFirstInstructionOrThrow {
|
||||
opcode == Opcode.INVOKE_DIRECT && getReference<MethodReference>()?.name == "<init>"
|
||||
}
|
||||
playerInitInsertRegister = playerInitMethod.getInstruction<FiveRegisterInstruction>(initThisIndex).registerC
|
||||
playerInitInsertIndex = initThisIndex + 1
|
||||
|
||||
// Hook the player controller for use through integrations.
|
||||
onCreateHook(INTEGRATIONS_CLASS_DESCRIPTOR, "initialize")
|
||||
|
||||
// seek method
|
||||
val seekFingerprintResultMethod =
|
||||
SeekFingerprint.also { it.resolve(context, classDef) }.resultOrThrow().method
|
||||
SeekFingerprint.alsoResolve(context, PlayerInitFingerprint).method
|
||||
val seekRelativeFingerprintResultMethod =
|
||||
SeekRelativeFingerprint.alsoResolve(context, PlayerInitFingerprint).method
|
||||
|
||||
// create helper method
|
||||
val seekHelperMethod = generateSeekMethodHelper(seekFingerprintResultMethod)
|
||||
|
||||
// add the seekTo method to the class for the integrations to call
|
||||
mutableClass.methods.add(seekHelperMethod)
|
||||
// Create integrations interface methods.
|
||||
addSeekInterfaceMethods(mutableClass, seekFingerprintResultMethod, seekRelativeFingerprintResultMethod)
|
||||
}
|
||||
|
||||
with(MdxPlayerDirectorSetVideoStageFingerprint.resultOrThrow()) {
|
||||
mdxInitMethod = mutableClass.methods.first { MethodUtil.isConstructor(it) }
|
||||
|
||||
// find the location of the first invoke-direct call and extract the register storing the 'this' object reference
|
||||
val initThisIndex = mdxInitMethod.indexOfFirstInstructionOrThrow {
|
||||
opcode == Opcode.INVOKE_DIRECT && getReference<MethodReference>()?.name == "<init>"
|
||||
}
|
||||
mdxInitInsertRegister = mdxInitMethod.getInstruction<FiveRegisterInstruction>(initThisIndex).registerC
|
||||
mdxInitInsertIndex = initThisIndex + 1
|
||||
|
||||
// hook the MDX director for use through integrations
|
||||
// Hook the MDX director for use through integrations.
|
||||
onCreateHookMdx(INTEGRATIONS_CLASS_DESCRIPTOR, "initializeMdx")
|
||||
|
||||
// MDX seek method
|
||||
val mdxSeekFingerprintResultMethod =
|
||||
MdxSeekFingerprint.apply { resolve(context, classDef) }.resultOrThrow().method
|
||||
MdxSeekFingerprint.alsoResolve(context, MdxPlayerDirectorSetVideoStageFingerprint).method
|
||||
val mdxSeekRelativeFingerprintResultMethod =
|
||||
MdxSeekRelativeFingerprint.alsoResolve(context, MdxPlayerDirectorSetVideoStageFingerprint).method
|
||||
|
||||
// create helper method
|
||||
val mdxSeekHelperMethod = generateSeekMethodHelper(mdxSeekFingerprintResultMethod)
|
||||
|
||||
// add the seekTo method to the class for the integrations to call
|
||||
mutableClass.methods.add(mdxSeekHelperMethod)
|
||||
addSeekInterfaceMethods(mutableClass, mdxSeekFingerprintResultMethod, mdxSeekRelativeFingerprintResultMethod)
|
||||
}
|
||||
|
||||
with(CreateVideoPlayerSeekbarFingerprint.result!!) {
|
||||
@@ -173,33 +178,42 @@ object VideoInformationPatch : BytecodePatch(
|
||||
userSelectedPlaybackSpeedHook(INTEGRATIONS_CLASS_DESCRIPTOR, "userSelectedPlaybackSpeed")
|
||||
}
|
||||
|
||||
private fun generateSeekMethodHelper(seekMethod: Method): MutableMethod {
|
||||
private fun addSeekInterfaceMethods(targetClass: MutableClass, seekToMethod: Method, seekToRelativeMethod: Method) {
|
||||
// Add the interface and methods that integrations calls.
|
||||
targetClass.interfaces.add(INTEGRATIONS_PLAYER_INTERFACE)
|
||||
|
||||
// create helper method
|
||||
val generatedMethod = ImmutableMethod(
|
||||
seekMethod.definingClass,
|
||||
"seekTo",
|
||||
listOf(ImmutableMethodParameter("J", null, "time")),
|
||||
"Z",
|
||||
AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
null, null,
|
||||
MutableMethodImplementation(4)
|
||||
).toMutable()
|
||||
arrayOf(
|
||||
seekToMethod to "seekTo",
|
||||
seekToRelativeMethod to "seekToRelative"
|
||||
).forEach { (method, name) ->
|
||||
// Add interface method.
|
||||
// Get enum type for the seek helper method.
|
||||
val seekSourceEnumType = method.parameterTypes[1].toString()
|
||||
|
||||
// get enum type for the seek helper method
|
||||
val seekSourceEnumType = seekMethod.parameterTypes[1].toString()
|
||||
val interfaceImplementation = ImmutableMethod(
|
||||
targetClass.type,
|
||||
name,
|
||||
listOf(ImmutableMethodParameter("J", null, "time")),
|
||||
"Z",
|
||||
AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
null, null,
|
||||
MutableMethodImplementation(4)
|
||||
).toMutable()
|
||||
|
||||
// insert helper method instructions
|
||||
generatedMethod.addInstructions(
|
||||
0,
|
||||
"""
|
||||
sget-object v0, $seekSourceEnumType->a:$seekSourceEnumType
|
||||
invoke-virtual { p0, p1, p2, v0 }, $seekMethod
|
||||
move-result p1
|
||||
return p1
|
||||
"""
|
||||
)
|
||||
return generatedMethod
|
||||
// Insert helper method instructions.
|
||||
interfaceImplementation.addInstructions(
|
||||
0,
|
||||
"""
|
||||
# first enum (field a) is SEEK_SOURCE_UNKNOWN
|
||||
sget-object v0, $seekSourceEnumType->a:$seekSourceEnumType
|
||||
invoke-virtual { p0, p1, p2, v0 }, $method
|
||||
move-result p1
|
||||
return p1
|
||||
"""
|
||||
)
|
||||
|
||||
targetClass.methods.add(interfaceImplementation)
|
||||
}
|
||||
}
|
||||
|
||||
private fun MutableMethod.insert(insertIndex: Int, register: String, descriptor: String) =
|
||||
@@ -220,8 +234,8 @@ object VideoInformationPatch : BytecodePatch(
|
||||
internal fun onCreateHook(targetMethodClass: String, targetMethodName: String) =
|
||||
playerInitMethod.insert(
|
||||
playerInitInsertIndex++,
|
||||
"v0",
|
||||
"$targetMethodClass->$targetMethodName(Ljava/lang/Object;)V"
|
||||
"v$playerInitInsertRegister",
|
||||
"$targetMethodClass->$targetMethodName($INTEGRATIONS_PLAYER_INTERFACE)V"
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -234,7 +248,7 @@ object VideoInformationPatch : BytecodePatch(
|
||||
mdxInitMethod.insert(
|
||||
mdxInitInsertIndex++,
|
||||
"v$mdxInitInsertRegister",
|
||||
"$targetMethodClass->$targetMethodName(Ljava/lang/Object;)V"
|
||||
"$targetMethodClass->$targetMethodName($INTEGRATIONS_PLAYER_INTERFACE)V"
|
||||
)
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,6 +5,9 @@ import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
/**
|
||||
* Resolves using class found in [MdxPlayerDirectorSetVideoStageFingerprint].
|
||||
*/
|
||||
internal object MdxSeekFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
returnType = "Z",
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package app.revanced.patches.youtube.video.information.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
/**
|
||||
* Resolves using class found in [MdxPlayerDirectorSetVideoStageFingerprint].
|
||||
*/
|
||||
internal object MdxSeekRelativeFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
returnType = "Z",
|
||||
parameters = listOf("J", "L"),
|
||||
opcodes = listOf(
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE
|
||||
)
|
||||
)
|
||||
@@ -3,6 +3,9 @@ package app.revanced.patches.youtube.video.information.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
|
||||
/**
|
||||
* Resolves using class found in [PlayerInitFingerprint].
|
||||
*/
|
||||
internal object SeekFingerprint : MethodFingerprint(
|
||||
strings = listOf("Attempting to seek during an ad")
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
package app.revanced.patches.youtube.video.information.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
/**
|
||||
* Resolves using class found in [PlayerInitFingerprint].
|
||||
*/
|
||||
internal object SeekRelativeFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
returnType = "Z",
|
||||
parameters = listOf("J", "L"),
|
||||
opcodes = listOf(
|
||||
Opcode.ADD_LONG_2ADDR,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.RETURN
|
||||
)
|
||||
)
|
||||
@@ -114,7 +114,7 @@ fun Method.indexOfFirstWideLiteralInstructionValue(literal: Long) = implementati
|
||||
*
|
||||
* @return the first literal instruction with the value, or throws [PatchException] if not found.
|
||||
*/
|
||||
fun Method.indexOfFirstWideLiteralInstructionValueOrThrow(literal: Long) : Int {
|
||||
fun Method.indexOfFirstWideLiteralInstructionValueOrThrow(literal: Long): Int {
|
||||
val index = indexOfFirstWideLiteralInstructionValue(literal)
|
||||
if (index < 0) throw PatchException("Could not find literal value: $literal")
|
||||
return index
|
||||
@@ -160,7 +160,7 @@ inline fun <reified T : Reference> Instruction.getReference() = (this as? Refere
|
||||
// TODO: delete this on next major release, the overloaded method with an optional start index serves the same purposes.
|
||||
// Method is deprecated, but annotation is commented out otherwise during compilation usage of the replacement is
|
||||
// incorrectly flagged as deprecated.
|
||||
//@Deprecated("Use the overloaded method with an optional start index.", ReplaceWith("indexOfFirstInstruction(predicate)"))
|
||||
// @Deprecated("Use the overloaded method with an optional start index.", ReplaceWith("indexOfFirstInstruction(predicate)"))
|
||||
fun Method.indexOfFirstInstruction(predicate: Instruction.() -> Boolean) = indexOfFirstInstruction(0, predicate)
|
||||
|
||||
/**
|
||||
@@ -211,28 +211,47 @@ fun Method.findOpcodeIndicesReversed(opcode: Opcode): List<Int> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the resolved methods of [MethodFingerprint]s early.
|
||||
* Return the resolved method early.
|
||||
*/
|
||||
fun List<MethodFingerprint>.returnEarly(bool: Boolean = false) {
|
||||
fun MethodFingerprint.returnEarly(bool: Boolean = false) {
|
||||
val const = if (bool) "0x1" else "0x0"
|
||||
this.forEach { fingerprint ->
|
||||
fingerprint.result?.let { result ->
|
||||
val stringInstructions = when (result.method.returnType.first()) {
|
||||
'L' ->
|
||||
"""
|
||||
result?.let { result ->
|
||||
val stringInstructions = when (result.method.returnType.first()) {
|
||||
'L' ->
|
||||
"""
|
||||
const/4 v0, $const
|
||||
return-object v0
|
||||
"""
|
||||
'V' -> "return-void"
|
||||
'I', 'Z' ->
|
||||
"""
|
||||
'V' -> "return-void"
|
||||
'I', 'Z' ->
|
||||
"""
|
||||
const/4 v0, $const
|
||||
return v0
|
||||
"""
|
||||
else -> throw Exception("This case should never happen.")
|
||||
}
|
||||
else -> throw Exception("This case should never happen.")
|
||||
}
|
||||
|
||||
result.mutableMethod.addInstructions(0, stringInstructions)
|
||||
} ?: throw fingerprint.exception
|
||||
}
|
||||
result.mutableMethod.addInstructions(0, stringInstructions)
|
||||
} ?: throw exception
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the resolved methods early.
|
||||
*/
|
||||
fun Iterable<MethodFingerprint>.returnEarly(bool: Boolean = false) = forEach { fingerprint ->
|
||||
fingerprint.returnEarly(bool)
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the resolved methods early.
|
||||
*/
|
||||
@Deprecated("Use the Iterable version")
|
||||
fun List<MethodFingerprint>.returnEarly(bool: Boolean = false) = forEach { fingerprint ->
|
||||
fingerprint.returnEarly(bool)
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves this fingerprint using the classDef of a parent fingerprint.
|
||||
*/
|
||||
fun MethodFingerprint.alsoResolve(context: BytecodeContext, parentFingerprint: MethodFingerprint) =
|
||||
also { resolve(context, parentFingerprint.resultOrThrow().classDef) }.resultOrThrow()
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -211,6 +211,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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>
|
||||
<string name="revanced_hide_transcript_section_title">إخفاء قسم النص</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">تم إخفاء قسم النص</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">يتم عرض قسم النص</string>
|
||||
@@ -246,7 +249,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">الكلمة المفتاحية غير صالحة. لا يمكن استخدام: \'%s\' كعامل تصفية</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_hide_keyword_toast_invalid_length">الكلمة المفتاحية غير صالحة. \'%1$s\' أقل من %2$d حرفًا</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">الكلمة الرئيسية \'$s\' سوف تخفي جميع الفيديوهات</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">الكلمة الرئيسية \'%s\' سوف تخفي جميع الفيديوهات</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">إخفاء الإعلانات العامة</string>
|
||||
@@ -864,9 +867,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">تعيين %1$02d:%2$02d:%3$03d كبداية أم نهاية لمقطع جديد؟</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>
|
||||
@@ -990,6 +991,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">لون شريط التقدم</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">لون الشريط غير صالح. استخدام القيمة الافتراضية.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">تجاوز قيود منطقة الصورة</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">استخدام مضيف الصورة yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">استخدام مضيف الصور الأصلي\n\nتمكين هذا يمكن إصلاح الصور المفقودة التي يتم حظرها في بعض المناطق</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">علامة تبويب الصفحة الرئيسية</string>
|
||||
@@ -1112,8 +1118,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">لا يتم محاكاة العميل\n\nقد لا يعمل تشغيل الفيديو</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">إيقاف تشغيل هذا الإعداد قد يسبب مشاكل في تشغيل الفيديو.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof Client to iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">تتم حاليًا محاكاة العميل إلى iOS\n\nالآثار الجانبية تشمل:\n• لا يوجد فيديو HDR\n• قد لا يعمل سجل المشاهدة\n• قد تكون جودة الفيديو الأعلى مفقودة\n• لا يمكن تشغيل البث المباشر كصوت فقط\n• البث المباشر غير متوفر على Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">تتم محاكاة العميل حاليًا إلى Android VR\n\nالآثار الجانبية تشمل:\n• لا يوجد فيديو HDR\n• فيديوهات الأطفال لا يتم تشغيلهم\n• مقاطع الفيديو المتوقفة يمكن أن تستأنف عشوائيا\n• جودة منخفضة لمصغرات شريط التقدم\n• زر التنزيل مخفي بشكل دائم\n• بطاقات نهاية الشاشة مخفية بشكل دائم</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">تتم حاليًا محاكاة العميل إلـى iOS\n\nالآثار الجانبية تشمل:\n• قد لا يكون فيديو HDR متوفرًا\n• قد لا يعمل سجل المشاهدة</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">تتم حاليًا محاكاة العميل إلـى Android VR\n\nالآثار الجانبية تشمل:\n• لا يوجد فيديو HDR\n• فيديوهات الأطفال لا يتم تشغيلهم\n• مقاطع الفيديو الموقوفة يمكن أن تستأنف عشوائياً\n• جودة منخفضة لمصغرات شريط التقدم\n• زر التنزيل مخفي\n• بطاقات نهاية الشاشة مخفية</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">محاكاة مصغرات العميل غير متوفرة (انتهت مهلة API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">محاكاة مصغرات العميل غير متوفرة مؤقتًا: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -211,6 +211,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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>
|
||||
<string name="revanced_hide_transcript_section_title">Схаваць раздзел стэнаграмы</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Раздзел стэнаграмы схаваны</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Паказваецца раздзел стэнаграмы</string>
|
||||
@@ -246,7 +249,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Няправільнае ключавое слова. Немагчыма выкарыстоўваць: \"%s\" у якасці фільтра</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_hide_keyword_toast_invalid_length">Няправільнае ключавое слова. \"%1$s\" змяшчае менш за %2$d сімвалаў</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Ключавое слова \"$s\" схавае ўсе відэа</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Ключавое слова \"%s\" схавае ўсе відэа</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Схаваць агульную рэкламу</string>
|
||||
@@ -864,9 +867,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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">Новы сегмент SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Усталяваць %1$02d:%2$02d:%3$03d у якасці пачатку або канца новага сегмента?</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>
|
||||
@@ -990,6 +991,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Колер панэлі пошуку</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Няправільнае значэнне колеру панэлі пошуку. Выкарыстоўваецца значэнне па змаўчанні.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Абыход абмежаванняў рэгіёну</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Выкарыстанне хаста відарысаў yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Выкарыстанне арыгінальнага хаста відарысаў\n\nУключэнне гэтай опцыі можа выправіць адсутнічаючыя відарысы, якія заблакіраваныя ў некаторых рэгіёнах</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Галоўная ўкладка</string>
|
||||
@@ -1112,8 +1118,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Кліент не падроблены\n\nПрайграванне відэа можа не працаваць</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем відэа.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Падробка кліента для iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Кліент зараз падроблены на iOS\n\nПабочныя эфекты ўключаюць:\n• Няма HDR-відэа\n• Гісторыя праглядаў можа не працаваць\n• Можа адсутнічаць больш высокая якасць відэа\n• Жывыя трансляцыі не могуць прайгравацца толькі як аўдыя\n• Жывая трансляцыя патокі недаступныя на Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Кліент у цяперашні час падроблены для Android VR\n\nПабочныя эфекты ўключаюць:\n• Няма HDR-відэа\n• Дзіцячыя відэа не прайграваюцца\n• Прыпыненыя відэа могуць аднаўляцца выпадковым чынам\n• Нізкая якасць мініяцюр на панэлі пошуку Shorts\n• Кнопка дзеяння Спампаваць заўсёды схавана\n• Карткі канцавога экрана заўсёды схаваны</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Зараз кліент падменены на iOS\n\nПабочныя эфекты ўключаюць:\n• Можа адсутнічаць HDR відэа\n• Можа не працаваць гісторыя праглядаў</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Кліент у цяперашні час падроблены для Android VR. Пабочныя эфекты ўключаюць:\n• Няма HDR-відэа\n• Дзіцячыя відэа не прайграваюцца\n• Прыпыненыя відэа могуць аднаўляцца выпадковым чынам\n• Нізкая якасць мініяцюр на панэлі пошуку Shorts\n• Кнопка дзеяння Спампаваць схавана\n• Карткі канцавога экрана схаваны</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Мініяцюры кліента Spoof недаступныя (час чакання API скончыўся)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Мініяцюры кліента Spoof часова недаступныя: %s</string>
|
||||
</patch>
|
||||
@@ -1162,6 +1168,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_twitch_debug_mode_summary_off">Рэжым адладкі Twitch адключаны</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings">Налады ReVanced</string>
|
||||
<string name="revanced_ads_screen_title">Аб\"явы</string>
|
||||
<string name="revanced_ads_screen_summary">Налады блакіроўкі рэкламы</string>
|
||||
<string name="revanced_chat_screen_title">Чат</string>
|
||||
|
||||
@@ -423,8 +423,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_vote_upvote">Положителен вот</string>
|
||||
<string name="revanced_sb_vote_downvote">Отрицателен вот</string>
|
||||
<string name="revanced_sb_vote_category">Промяна на категорията</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<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>
|
||||
@@ -463,6 +461,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -792,9 +792,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">একটি নতুন সেগমেন্টের শুরু বা শেষ হিসাবে %1$02d:%2$02d:%3$03d সেট করবেন?</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>
|
||||
@@ -850,10 +847,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_app_version_target_title">স্পুফ অ্যাপ সংস্করণ লক্ষ্য</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.33.40 - ছদ্মবেশি মোডে RYD পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">১৮.২০.৩৯ - প্রশ্বস্ত ভিডিও স্পিড এবং গুণমান মেনু পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_3">১৮.০৯.৩৯ - লাইব্রেরি ট্যাপ পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_4">১৭.৪১.৩৯ - পুরোনো প্লেলিস্ট শেলফ পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_5">১৭.৩৩.৪২ - পুরোনো UI লেআউট পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">18.20.39 - প্রশ্বস্ত ভিডিও স্পিড এবং গুণমান মেনু পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_3">18.09.39 - লাইব্রেরি ট্যাপ পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_4">17.41.37 - পুরোনো প্লেলিস্ট শেলফ পুনরুদ্ধার করে</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_5">17.33.42 - পুরোনো UI লেআউট পুনরুদ্ধার করে</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_title">শুরুর পৃষ্ঠা সেট করুন</string>
|
||||
@@ -919,6 +916,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">সিকবারের রং</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">সিকবারে ভুল রং দেয়া হয়েছে। মূল রং ব্যবহার করছে।</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">হোম ট্যাব</string>
|
||||
@@ -1041,8 +1040,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">ক্লায়েন্ট স্পুফ করা হয়নি\n\nভিডিও প্লেব্যাক ঠিকমতো কাজ নাও করতে পারে</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">এই সেটিংটি বন্ধ করার ফলে ভিডিও প্লেব্যাক ত্রুটি হতে পারে।</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">ক্লায়েন্ট iOS এ স্পুফ করুন</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">ক্লায়েন্ট এখন iOS এ স্পুফ করা হয়েছে\n\nপার্শ্বপ্রতিক্রিয়া রয়েছে:\n• কোন এইচিডিআর ভিডিও নেই\n• ভিডিও ইতিহাস কাজ নাও করতে পারে\n• উচ্চ ভিডিও গুণমান অনুপস্থিত থাকতে পারে\n•শুধুমাত্র অডিওতে লাইভ স্ট্রিম চলবে না\n• অ্যান্ড্রয়েট ৮ সংস্করণে লাইভ স্ট্রিম উপলভ্য নয়</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">ক্লায়েন্টকে বর্তমানে Android VR-এর সাথে প্রতারণা করা হয়েছে\n\nসাইড এফেক্টগুলির মধ্যে রয়েছে:\n• কোনও HDR ভিডিও নেই\n• বাচ্চাদের ভিডিও প্লেব্যাক হয় না\n• বিরতি দেওয়া ভিডিওগুলি এলোমেলোভাবে আবার শুরু হতে পারে\n• নিম্নমানের শর্টস সিকবার থাম্বনেল\n• ডাউনলোড অ্যাকশন বোতাম সবসময় লুকানো থাকে\n• শেষ স্ক্রিন কার্ড সবসময় লুকানো থাকে</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">ক্লায়েন্ট স্পুফ থাম্বনেইল সাময়িকভাবে উপলভ্য নয় (API সময় শেষ হয়েছে)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">স্পুফ ক্লায়েন্ট থাম্বনেইল সাময়িকভাবে উপলভ্য নয়: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -175,8 +175,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_appearance_category">Aparença</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -206,6 +204,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -214,6 +214,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_section_title">Skrýt sekci informačních karet</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Sekce Info karty je skrytá</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Je zobrazena sekce Info karty</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Skrýt sekci \'Klíčové koncepty\'</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">Sekce \'Klíčové pojmy\' je skryta</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">Zobrazí se sekce \'Klíčové pojmy\'</string>
|
||||
<string name="revanced_hide_transcript_section_title">Skrýt sekci přepisu</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Přepsat oddíl je skrytý</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Je zobrazena sekce přepisu</string>
|
||||
@@ -249,7 +252,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Neplatné klíčové slovo. Nelze použít: \'%s\' jako filtr</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_hide_keyword_toast_invalid_length">Neplatné klíčové slovo. \'%1$s\' je menší než %2$d znaků</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Klíčové slovo \'$s\' skryje všechna videa</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Klíčové slovo \'%s\' skryje všechna videa</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Skrýt obecné reklamy</string>
|
||||
@@ -867,9 +870,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Vyberte kategorii segmentu</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategorie je v nastavení zakázána. Povolte odeslat kategorii.</string>
|
||||
<string name="revanced_sb_new_segment_title">Nový segment SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Nastavit %1$02d:%2$02d:%3$03d jako začátek nebo konec nového segmentu?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Nastavit %s jako začátek nebo konec nového segmentu?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">Začít</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">konec</string>
|
||||
<string name="revanced_sb_new_segment_now">nyní</string>
|
||||
@@ -994,6 +995,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Barva vyhledávacího panelu</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Neplatná hodnota barvy vyhledávacího panelu. Použít výchozí hodnotu.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Obejít omezení oblasti obrázku</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Použití hostitele obrázků yt4.gggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Použití originálního hostitele obrázků\n\nPovolení tohoto nastavení může opravit chybějící obrázky, které jsou blokovány v některých regionech</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Záložka Domů</string>
|
||||
@@ -1116,8 +1122,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Klient není spoofed\n\nPřehrávání videa nemusí fungovat</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Vypnutí tohoto nastavení může způsobit problémy při přehrávání videa.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spořič do iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Klient je v současné době spokojen s iOS\n\nBoční efekty zahrnují:\n• No HDR video\n• Historie sledování nemusí fungovat\n• Vyšší vlastnosti videa mohou chybět\n• Živé streamy nemohou přehrát pouze\n• Živé streamy nejsou k dispozici na Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Klient je v současné době spout s Androidem VR\n\nBoční efekty zahrnují:\n• No HDR video\n• Dětská videa nepřehrávají\n• Pozastavená videa mohou náhodně pokračovat\n• Nízká kvalita krátkých náhledů ve vyhledávacím panelu\n• Tlačítko stahování akce je vždy skryté\n• Karty s ukončenou obrazovkou jsou vždy skryté</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Klient je v současné době spokojen s iOS\n\nBoční efekty zahrnují:\n• HDR video nemusí být k dispozici\n• Historie sledování nemusí fungovat</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Klient je v současné době spout s Androidem VR. Boční efekty zahrnují:\n• No HDR video\n• Dětská videa nepřehrávají\n• Pozastavená videa mohou náhodně pokračovat\n• Nízká kvalita krátkých náhledů ve vyhledávacím panelu\n• Tlačítko pro stažení akce je skryté\n• Karty s ukončenou obrazovkou jsou skryté</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Náhledy klientů nejsou k dispozici (vypršel časový limit API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Spouštění náhledů klientů dočasně není k dispozici: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -213,6 +213,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_section_title">Skjul infokort sektion</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Info-kort sektion er skjult</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Info-kort sektion er vist</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Skjul sektion \'Nøglebegreber\'</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">\'Nøglebegreber\' sektion er skjult</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">\'Nøglebegreber\' afsnit vises</string>
|
||||
<string name="revanced_hide_transcript_section_title">Skjul udskriftsafsnittet</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Afsnittet er skjult</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Afsnittet er vist</string>
|
||||
@@ -248,7 +251,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Ugyldigt søgeord. Kan ikke bruge: \'%s\' som et filter</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_hide_keyword_toast_invalid_length">Ugyldigt søgeord. \'%1$s\' er mindre end %2$d tegn</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Nøgleord \'$s\' vil skjule alle videoer</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Nøgleord \'%s\' vil skjule alle videoer</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Skjul generelle annoncer</string>
|
||||
@@ -579,11 +582,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Skjul Shorts i hjemmefeed</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Shorts i hjemmet feed er skjult</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Korte i hjemmet feed er vist</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Shorts i hjemmet feed er vist</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Skjul Shorts i abonnementsfeed</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Korte i abonnementsfeed er skjult</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Korte i abonnementsfeed vises</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts i abonnementsfeed er skjult</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts i abonnementsfeed vises</string>
|
||||
<string name="revanced_hide_shorts_search_title">Skjul Shorts i søgeresultater</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Shorts i søgeresultater er skjult</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Korte i søgeresultater vises</string>
|
||||
@@ -865,9 +868,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Vælg segmentkategori</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategori er deaktiveret i indstillinger. Aktivér kategori for at indsende.</string>
|
||||
<string name="revanced_sb_new_segment_title">Nyt SponsorBlock segment</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Sæt %1$02d:%2$02d:%3$03d som start eller afslutning af et nyt segment?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Sæt %s som start eller afslutning af et nyt segment?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">start</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">slut</string>
|
||||
<string name="revanced_sb_new_segment_now">nu</string>
|
||||
@@ -991,6 +992,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Farven på den søgende bar</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Ugyldig søgelinje farveværdi. Brug standardværdi.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Bypass billede region restriktioner</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Bruger billedvært yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Brug af original billedvært\n\nAktivering af dette kan rette manglende billeder, der er blokeret i nogle regioner</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Hjem fane</string>
|
||||
@@ -1113,8 +1119,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Klienten er ikke forfalsket\n\nVideoafspilning fungerer muligvis ikke</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">At slå denne indstilling fra kan forårsage problemer med videoafspilning.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof klient til iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Klienten er i øjeblikket spoofed til iOS\n\nBivirkninger omfatter:\n• Ingen HDR-video\n• Se historie fungerer muligvis ikke\n• Højere video kvaliteter mangler muligvis\n• Live streams kan ikke afspilles som lyd kun\n• Live streams ikke tilgængelig på Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Klienten er i øjeblikket spoofed til Android VR\n\nBivirkninger omfatter:\n• Ingen HDR-video\n• Kids videoer ikke afspilning\n• Pause videoer kan tilfældigt genoptage\n• Lav kvalitet Shorts søgelinje miniaturer\n• Download handling knap er altid skjult\n• End screen cards are always hidden</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Klienten er i øjeblikket spoofed til iOS\n\nBivirkninger omfatter:\n• HDR-video er muligvis ikke tilgængelig\n• Se historie fungerer måske ikke</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Klienten er i øjeblikket spoofed til Android VR. Bivirkninger omfatter:\n• Ingen HDR-video\n• Kids videoer ikke afspilning\n• Pause videoer kan tilfældigt genoptage\n• Lav kvalitet Shorts søgelinje miniaturer\n• Download handling knap er skjult\n• End screen cards are hidden</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Spoof klient miniaturer ikke tilgængelige (API timemed out)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Spoof klient miniaturer midlertidigt ikke tilgængelige: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -34,7 +34,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_title">ReVanced</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">Möchten Sie fortfahren?</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">Möchtest du fortfahren?</string>
|
||||
<string name="revanced_settings_reset">Zurücksetzen</string>
|
||||
<string name="revanced_settings_restart_title">Aktualisieren und neu starten</string>
|
||||
<string name="revanced_settings_restart">Neustarten</string>
|
||||
@@ -46,20 +46,20 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
<string name="gms_core_toast_not_installed_message">MicroG GmsCore ist nicht installiert. Installieren Sie es.</string>
|
||||
<string name="gms_core_toast_not_installed_message">MicroG GmsCore ist nicht installiert. Installiers.</string>
|
||||
<string name="gms_core_dialog_title">Aktion notwendig</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">MicroG GmsCore hat keine Berechtigung im Hintergrund zu laufen.\n\nFolgen Sie dem Leitfaden \"Don\'t kill my app\" für Ihr Telefon und wenden Sie die Anweisungen auf Ihre MicroG-Installation an.\n\nDies ist erforderlich, damit die App funktioniert.</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">MicroG GmsCore hat keine Berechtigung im Hintergrund zu laufen.\n\nFolge dem Leitfaden \"Don\'t kill my app\" für dein Telefon und wende die Anweisungen auf deine MicroG-Installation an.\n\nDies ist erforderlich, damit die App funktioniert.</string>
|
||||
<string name="gms_core_dialog_open_website_text">Webseite öffnen</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">MicroG GmsCore Batterieoptimierungen müssen deaktiviert werden, um Probleme zu vermeiden.\n\nTippen Sie auf den Weiter-Button und deaktivieren Sie die Batterieoptimierung.</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">MicroG GmsCore Batterieoptimierungen müssen deaktiviert werden, um Probleme zu vermeiden.\n\nTippe auf den Weiter-Button und deaktiviere die Batterieoptimierung.</string>
|
||||
<string name="gms_core_dialog_continue_text">Weiter</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="youtube">
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
<string name="revanced_settings">ReVanced</string>
|
||||
<string name="revanced_settings_about_links_body">Sie verwenden ReVanced Patches Version <i>%s</i></string>
|
||||
<string name="revanced_settings_about_links_body">Du verwendest ReVanced Patches Version <i>%s</i></string>
|
||||
<string name="revanced_settings_about_links_dev_header">Notiz</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorversion und Sie können unerwartete Probleme haben</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Diese Version ist eine Vorabversion und du könntest unerwartete Probleme haben</string>
|
||||
<string name="revanced_settings_about_links_header">Offizielle Links</string>
|
||||
<string name="revanced_pref_import_export_title">Importieren / Exportieren</string>
|
||||
<string name="revanced_pref_import_export_summary">ReVanced Einstellungen importieren / exportieren</string>
|
||||
@@ -92,38 +92,38 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_debug_toast_on_error_title">Toast bei ReVanced Fehler anzeigen</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_on">Toast wird angezeigt, wenn ein Fehler auftritt</string>
|
||||
<string name="revanced_debug_toast_on_error_summary_off">Toast wird nicht angezeigt, wenn ein Fehler auftritt</string>
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">Das Deaktivieren von Fehlertoasts verbirgt alle ReVanced Fehlerbenachrichtigungen.\n\nSie werden nicht über unerwartete Ereignisse benachrichtigt.</string>
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">Das Deaktivieren von Fehlertoasts verbirgt alle ReVanced Fehlerbenachrichtigungen.\n\nDu wirst nicht über unerwartete Ereignisse benachrichtigt.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.general.HideLayoutComponentsPatch">
|
||||
<string name="revanced_disable_like_subscribe_glow_title">Deaktiviere wie / abonniere Button leuchten</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_on">\"Gefällt mir\" und \"Abonnieren\"-Button wird nicht leuchten wenn erwähnt</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_off">\"Gefällt mir\" und \"Abonnieren\"-Button wenn erwähnt</string>
|
||||
<string name="revanced_hide_gray_separator_title">Verstecke graue Trennzeichen</string>
|
||||
<string name="revanced_hide_gray_separator_summary_on">Graue Trennzeichen sind ausgeblendet</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_title">Deaktiviere das Like / Abonnieren Button aufleuchten</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_on">\"Gefällt mir\" und \"Abonnieren\"-Button wird nicht aufleuchten, wenn er erwähnt wird</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_off">\"Gefällt mir\" und \"Abonnieren\"-Button wird aufleuchten, wenn er erwähnt wird</string>
|
||||
<string name="revanced_hide_gray_separator_title">Verstecke graue Separatoren</string>
|
||||
<string name="revanced_hide_gray_separator_summary_on">Graue Separatoren sind ausgeblendet</string>
|
||||
<string name="revanced_hide_gray_separator_summary_off">Graue Trennzeichen werden angezeigt</string>
|
||||
<string name="revanced_hide_channel_watermark_title">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_horizontal_shelves_title">Horizontale Regale ausblenden</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">Regale sind versteckt wie:\n• Nachrichten abbrechen\n• Weiter\n• Weitere Kanäle\nerkunden • Einkaufen\n• Wiedersehen</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Regale werden angezeigt</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Horizontale Reihe ausblenden</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">Videoreihen sind ausgeblendet, zum Beispiel:\n•Eilmeldungen\n• Fortsetzen\n• weitere Kanäle erkunden\n• Einkaufen\n• gesehenes wiederholen</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Reihen werden angezeigt</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">\"Beitreten\"-Button ausblenden</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Button wird angezeigt</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">\'Für dich\' Regal auf der Kanalseite ausblenden</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Regal ist versteckt</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Regal wird angezeigt</string>
|
||||
<string name="revanced_hide_for_you_shelf_title">\'Für dich\' Reihe auf der Kanalseite ausblenden</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Reihe ist ausgeblendet</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Reihe wird angezeigt</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">\"Benachrichtigen\"-Button ausblenden</string>
|
||||
<string name="revanced_hide_notify_me_button_title">\"Benachrichtigungen\"-Button ausblenden</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Button wird angezeigt</string>
|
||||
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendations_title">Empfehlungen \'Personen auch beobachtet\' ausblenden</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_on">Empfehlungen sind versteckt</string>
|
||||
<string name="revanced_hide_search_result_recommendations_title">\'Leute haben auch angeschaut\'-Empfehlungen ausblenden</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_on">Empfehlungen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_off">Empfehlungen werden angezeigt</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears when searching for a YT creator. -->
|
||||
@@ -131,55 +131,55 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_show_more_button_summary_on">Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Button wird angezeigt</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Zeitliche Reaktionen ausblenden</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Zeitgesteuerte Reaktionen sind versteckt</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Zeitgesteuerte Reaktionen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Zeitgesteuerte Reaktionen werden angezeigt</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">Suchergebnis-Regalkopf ausblenden</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">Regalkopf ist ausgeblendet</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">Regalkopf wird angezeigt</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">Suchergebnis Reihen-Kopfzeile ausblenden</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">Reihen-Kopfzeile ist ausgeblendet</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">Reihen-Kopfzeile wird angezeigt</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Kanalrichtlinien ausblenden</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Kanal-Richtlinien sind versteckt</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Kanal-Richtlinien sind ausgeblendet</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Kanalrichtlinien werden angezeigt</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Erweiterbarer Chip unter Videos ausblenden</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Erweiterbare Chips sind versteckt</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Erweiterbaren Sektions-Chip unter Videos ausblenden</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Erweiterbare Chips sind ausgeblendet</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Erweiterbare Chips werden angezeigt</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_title">Videoqualitätsmenüfußzeile ausblenden</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_on">Video-Qualität Menü-Fußzeile ist ausgeblendet</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_off">Video-Qualität Menü-Fußzeile wird 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 versteckt</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_compact_banner_title">Kompakte Banner ausblenden</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Kompakte Banner sind versteckt</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>
|
||||
<string name="revanced_hide_movies_section_title">Filme-Bereich ausblenden</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Film Abschnitt ist ausgeblendet</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Film Bereich wird angezeigt</string>
|
||||
<string name="revanced_hide_feed_survey_title">Feed-Umfragen ausblenden</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Feed-Umfragen sind versteckt</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Feed-Umfragen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Feed-Umfragen werden angezeigt</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Community-Richtlinien ausblenden</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Community-Richtlinien sind versteckt</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Community-Richtlinien sind ausgeblendet</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Gemeinschaftsrichtlinien werden angezeigt</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Abonnenten-Community-Richtlinien ausblenden</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abonnenten-Community-Richtlinien sind versteckt</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Abonnenten-Community-Richtlinien sind ausgeblendet</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Abonnenten-Community-Richtlinien werden angezeigt</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Senderregal ausblenden</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Regal der Kanalmitglieder ist versteckt</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Kanalmitgliedschaft ausblenden</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Kanalmitgliedschaft wird ausgeblendet</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_off">Kanalmitgliedschaft wird angezeigt</string>
|
||||
<string name="revanced_hide_emergency_box_title">Notfall-Boxen ausblenden</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Notfall-Boxen sind versteckt</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Notfall-Boxen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Notfall-Boxen werden angezeigt</string>
|
||||
<string name="revanced_hide_info_panels_title">Info-Panels ausblenden</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Info-Panels sind versteckt</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Info-Panels sind ausgeblendet</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Info-Panels werden angezeigt</string>
|
||||
<string name="revanced_hide_medical_panels_title">Verstecke medizinische Panels</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Medizinische Panels sind versteckt</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Medizinische Panels sind ausgeblendet</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Medizinische Panels werden angezeigt</string>
|
||||
<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_playables_title">Playables ausblenden</string>
|
||||
<string name="revanced_hide_playables_summary_on">Spielbare sind versteckt</string>
|
||||
<string name="revanced_hide_playables_summary_on">Spiele sind ausgeblendet</string>
|
||||
<string name="revanced_hide_playables_summary_off">Spielbare werden angezeigt</string>
|
||||
<string name="revanced_hide_quick_actions_title">Schnellaktionen im Vollbildmodus ausblenden</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Schnellaktionen sind ausgeblendet</string>
|
||||
@@ -187,33 +187,36 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_related_videos_title">Verwandte Videos in Schnellaktionen ausblenden</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Ähnliche Videos sind ausgeblendet</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Ähnliche Videos werden angezeigt</string>
|
||||
<string name="revanced_hide_image_shelf_title">Bildregal in Suchergebnissen ausblenden</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Bildregal ist ausgeblendet</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Bildregal wird angezeigt</string>
|
||||
<string name="revanced_hide_image_shelf_title">Bilder-Reihe in Suchergebnissen ausblenden</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Bilder-Reihe ist ausgeblendet</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Bilder-Reihe wird angezeigt</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Neueste Beiträge ausblenden</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Neueste Beiträge sind versteckt</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Neueste Beiträge sind ausgeblendet</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Neueste Beiträge werden angezeigt</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Mix-Wiedergabelisten ausblenden</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Mix-Wiedergabelisten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">Mix-Wiedergabelisten werden angezeigt</string>
|
||||
<string name="revanced_hide_artist_cards_title">Interpretenkarten ausblenden</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Künstlerkarten sind versteckt</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">Künstlerkarten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Interpretenkarten werden angezeigt</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Chips Regal ausblenden</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Chips Regal ist versteckt</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Chips Regal wird angezeigt</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_attributes_section_title">Attributbereich ausblenden</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">\'Vorgestellte Orte\', Spiele und Musik Sektionen sind versteckt</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">\'Vorgestellte Orte\', Spiele und Musik Sektionen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">\'Vorgestellte Orte\', Spiele- und Musiksektionen werden angezeigt</string>
|
||||
<string name="revanced_hide_chapters_section_title">Kapitel ausblenden</string>
|
||||
<string name="revanced_hide_chapters_section_summary_on">Kapitel ist ausgeblendet</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">Kapitel wird angezeigt</string>
|
||||
<string name="revanced_hide_podcast_section_title">Verstecke \'Erkunden Sie den Podcast\' Abschnitt</string>
|
||||
<string name="revanced_hide_podcast_section_title">Blende den \'Erkunde den Podcast\' Abschnitt aus</string>
|
||||
<string name="revanced_hide_podcast_section_summary_on">\'Erkunde den Podcast\' Abschnitt ist ausgeblendet</string>
|
||||
<string name="revanced_hide_podcast_section_summary_off">Abschnitt \'Erkunde den Podcast\' wird angezeigt</string>
|
||||
<string name="revanced_hide_info_cards_section_title">Info-Kartenbereich ausblenden</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Info-Kartenbereich ist ausgeblendet</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Info-Kartenbereich wird angezeigt</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">\'Schlüsselbegriffe\' ausblenden</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">\'Schlüsselbegriffe\' Abschnitt ist ausgeblendet</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">Abschnitt \'Schlüsselkonzepte\' wird angezeigt</string>
|
||||
<string name="revanced_hide_transcript_section_title">Transkript-Abschnitt ausblenden</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Transkript-Abschnitt ist ausgeblendet</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Sektion Transkripte wird angezeigt</string>
|
||||
@@ -244,56 +247,56 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
<string name="revanced_hide_keyword_content_phrases_summary">Stichwörter und zu versteckende Phrasen durch neue Zeilen\n\ngetrennte Wörter mit Großbuchstaben in der Mitte müssen mit dem Gehäuse eingegeben werden (z.B. iPhone, TikTok, LeBlanc)</string>
|
||||
<string name="revanced_hide_keyword_content_about_title">Über Keyword-Filterung</string>
|
||||
<string name="revanced_hide_keyword_content_about_summary">Home/Abonnement/Suchergebnisse werden gefiltert, um Inhalte auszublenden, die den Schlüsselwörtern\n\nBeschränkungen\nentsprechen • Einige Shorts können nicht versteckt werden\n• Einige UI-Komponenten können nicht versteckt werden\n• Suche nach einem Schlüsselwort kann keine Ergebnisse zeigen</string>
|
||||
<string name="revanced_hide_keyword_content_about_summary">Home/Abonnement/Suchergebnisse werden gefiltert, um Inhalte auszublenden, die den Schlüsselwörtern entsprechen\n\nBeschränkungen\n • Einige Shorts könnten nicht ausgeblendet werden\n• Einige UI-Komponenten könnten nicht ausgeblendet werden\n• Suche nach einem Schlüsselwort könnte keine Ergebnisse liefern</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_hide_keyword_toast_invalid_common">Ungültiges Schlüsselwort. Kann nicht verwenden: \'%s\' als Filter</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_hide_keyword_toast_invalid_length">Ungültiges Schlüsselwort. \'%1$s\' ist weniger als %2$d Zeichen</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Stichwort \'$s\' wird alle Videos ausblenden</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Schlüsselwort \'%s\' wird alle Videos ausblenden</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Allgemeine Werbung ausblenden</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Allgemeine Anzeigen sind versteckt</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">Allgemeine Anzeigen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">Allgemeine Anzeigen werden angezeigt</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">Vollbild-Werbung ausblenden</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">Vollbild-Anzeigen sind ausgeblendet\n\nDiese Funktion ist nur für ältere Geräte verfügbar</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">Vollbild-Anzeigen werden angezeigt</string>
|
||||
<string name="revanced_hide_buttoned_ads_title">Knöpfe Werbung ausblenden</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_on">Buttoned Anzeigen sind versteckt</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">Knöpfe Anzeigen werden angezeigt</string>
|
||||
<string name="revanced_hide_buttoned_ads_title">Verknüpfte Werbung ausblenden</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_on">Verknüpfte Anzeigen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">Verknüpfte Werbung wird angezeigt</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Bezahltes Werbe-Label ausblenden</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Bezahltes Werbe-Label ist versteckt</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Bezahltes Werbelabel ist ausgeblendet</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Bezahltes Werbe-Label wird angezeigt</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Selbst gesponserte Karten ausblenden</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Selbstgesponserte Karten sind versteckt</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Selbst gesponserte Karten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Selbstgesponserte Karten werden angezeigt</string>
|
||||
<string name="revanced_hide_products_banner_title">Banner ausblenden, um Produkte anzuzeigen</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">Banner ist ausgeblendet</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">Banner wird angezeigt</string>
|
||||
<string name="revanced_hide_shopping_links_title">Einkaufslinks in der Videobeschreibung ausblenden</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Shopping-Links sind versteckt</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Shopping-Links sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Einkaufslinks werden 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">Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Button wird angezeigt</string>
|
||||
<string name="revanced_hide_web_search_results_title">Suchergebnisse ausblenden</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Suchergebnisse im Web sind versteckt</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Web-Suchergebnisse sind ausgeblendet</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Web-Suchergebnisse werden angezeigt</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">Merchandise-Banner ausblenden</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Warenbanner sind versteckt</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Merchandise-Banner sind ausgeblendet</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Warenbanner werden angezeigt</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_hide_fullscreen_ads_feature_not_available_toast">Vollbild-Werbung ausblenden funktioniert nur mit älteren Geräten</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.HideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">YouTube Premium-Aktionen ausblenden</string>
|
||||
<string name="revanced_hide_get_premium_summary_on">YouTube-Premium-Aktionen unter Video-Player sind versteckt</string>
|
||||
<string name="revanced_hide_get_premium_summary_on">YouTube-Premium-Angebote unterm Video-Player sind ausgeblendet</string>
|
||||
<string name="revanced_hide_get_premium_summary_off">YouTube-Premium-Aktionen unter Video-Player werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
<string name="revanced_hide_video_ads_title">Videowerbung ausblenden</string>
|
||||
<string name="revanced_hide_video_ads_summary_on">Video-Anzeigen sind versteckt</string>
|
||||
<string name="revanced_hide_video_ads_summary_on">Video-Anzeigen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_video_ads_summary_off">Video-Anzeigen werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="interaction.copyvideourl.CopyVideoUrlResourcePatch">
|
||||
@@ -323,8 +326,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Download-Button öffnet den externen Downloader</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Download-Button öffnet den nativen In-App-Downloader</string>
|
||||
<string name="revanced_external_downloader_name_title">Paketname des Downloaders</string>
|
||||
<string name="revanced_external_downloader_name_summary">Paketname Ihrer installierten externen Downloader-App wie NewPipe oder Siegel</string>
|
||||
<string name="revanced_external_downloader_not_installed_warning">%s ist nicht installiert. Bitte installieren Sie es.</string>
|
||||
<string name="revanced_external_downloader_name_summary">Paketname deiner installierten externen Downloader-App wie NewPipe oder Siegel</string>
|
||||
<string name="revanced_external_downloader_not_installed_warning">%s ist nicht installiert. Installier es.</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.DisablePreciseSeekingGesturePatch">
|
||||
<string name="revanced_disable_precise_seeking_gesture_title">Genaue Suchgeste deaktivieren</string>
|
||||
@@ -353,7 +356,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Helligkeit speichern und wiederherstellen, wenn Vollbild verlassen oder betreten wird</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Helligkeit beim Beenden oder Einschalten des Vollbildes nicht speichern und wiederherstellen</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Auto-Helligkeit Geste aktivieren</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Wischen Sie auf den niedrigsten Wert der Helligkeitsgeste um die automatische Helligkeit zu aktivieren</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Wische runter auf den niedrigsten Wert der Helligkeitsgeste, um die automatische Helligkeit zu aktivieren</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Wenn man zum niedrigsten Wert wischt, aktiviert man die automatische Helligkeit nicht</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Auto</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">Wischüberlagerungs-Timeout</string>
|
||||
@@ -419,7 +422,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.buttons.cast.HideCastButtonPatch">
|
||||
<string name="revanced_hide_cast_button_title">Cast-Button ausblenden</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Der Cast button ist versteckt</string>
|
||||
<string name="revanced_hide_cast_button_summary_on">Der Cast button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Der Cast button wird angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.NavigationButtonsPatch">
|
||||
@@ -431,7 +434,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_home_button_summary_off">Home-Taste wird angezeigt</string>
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_hide_shorts_button_title">Shorts ausblenden</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts Button ist versteckt</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Shorts Button wird angezeigt</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">Erstellen ausblenden</string>
|
||||
@@ -442,11 +445,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_subscriptions_button_summary_on">Abonnement-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_off">Abonnement-Button wird angezeigt</string>
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_switch_create_with_notifications_button_title">Mit Benachrichtigungen erstellen wechseln</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Erstelle Schaltfläche wird mit Benachrichtigungsschaltfläche\n\numgeschaltet.format@@1 Hinweis: Aktivieren Sie dies auch erzwungene Video-Anzeigen</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">Erstellen-Button ist nicht mit Benachrichtigungs-Button gewechselt</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_title">Tauscht Erstellen mit Benachrichtigungen</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Erstellen-Button wird mit Benachrichtigungs-Button getauscht\n\nHinweis: Aktivieren versteckt Video-Anzeigen</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">Erstellen-Button ist nicht mit Benachrichtigungs-Button getauscht</string>
|
||||
<string name="revanced_hide_navigation_button_labels_title">Navigationstastenbezeichnungen ausblenden</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">Labels sind versteckt</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">Labels sind ausgeblendet</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">Labels werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.player.flyoutmenupanel.HidePlayerFlyoutMenuPatch">
|
||||
@@ -454,7 +457,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_flyout_summary">Verstecke oder zeige Player-Flyout-Menüeinträge</string>
|
||||
<!-- 'Captions' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_captions_title">Bildunterschriften ausblenden</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_on">Unterlagen-Menü ist versteckt</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_on">Unterlagen-Menü ist ausgeblendet</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_off">Unterlagen-Menü wird angezeigt</string>
|
||||
<!-- 'Additional settings' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_additional_settings_title">Zusätzliche Einstellungen ausblenden</string>
|
||||
@@ -470,7 +473,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_flyout_ambient_mode_summary_off">Inaktivitätsmodus Menü wird angezeigt</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_help_title">Hilfe- & -Feedback ausblenden</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">Hilfe & Feedback-Menü ist versteckt</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">Hilfe & Feedback-Menü ist ausgeblendet</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_off">Hilfe & Feedback-Menü wird angezeigt</string>
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_speed_title">Wiedergabegeschwindigkeit ausblenden</string>
|
||||
@@ -487,7 +490,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_flyout_lock_screen_summary_off">Sperrbildschirm-Menü wird angezeigt</string>
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">Audiospur ausblenden</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Audiospur-Menü ist versteckt</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">Audiospur-Menü ist ausgeblendet</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">Audiospurmenü wird angezeigt</string>
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_watch_in_vr_title">Überwachung in VR ausblenden</string>
|
||||
@@ -496,19 +499,19 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.buttons.player.hide.HidePlayerButtonsPatch">
|
||||
<string name="revanced_hide_player_buttons_title">Vorherige & Nächste Video-Tasten ausblenden</string>
|
||||
<string name="revanced_hide_player_buttons_summary_on">Tasten sind versteckt</string>
|
||||
<string name="revanced_hide_player_buttons_summary_on">Buttons sind ausgeblendet</string>
|
||||
<string name="revanced_hide_player_buttons_summary_off">Tasten werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.albumcards.AlbumCardsResourcePatch">
|
||||
<string name="revanced_hide_album_cards_title">Albumkarten ausblenden</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Albumkarten sind versteckt</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">Albumkarten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">Albumkarten werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.comments.CommentsPatch">
|
||||
<string name="revanced_comments_screen_title">Kommentare</string>
|
||||
<string name="revanced_comments_screen_summary">Komponenten der Kommentar-Sektion ausblenden oder anzeigen</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">\'Kommentare von Mitglieder\' im Kopfbereich ausblenden</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">\'Kommentare von Mitglieder\' Header ist versteckt</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">\'Kommentare von Mitglieder\' Header ist ausgeblendet</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">\'Kommentare von Mitgliedern\' wird angezeigt</string>
|
||||
<string name="revanced_hide_comments_section_title">Kommentarbereich ausblenden</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">Kommentarbereich ist ausgeblendet</string>
|
||||
@@ -517,18 +520,18 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">\'Verknüpfung erstellen\' Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Schaltfläche \"Verknüpfung erstellen\" wird angezeigt</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Vorschaukommentar ausblenden</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Vorschaukommentar ist versteckt</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Vorschaukommentar ist ausgeblendet</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Vorschau des Kommentars wird angezeigt</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Dankeschön ausblenden</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Dankeschön-Taste ist ausgeblendet</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Dankeschön Button wird angezeigt</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_title">Zeitstempel und Emoji-Tasten ausblenden</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_on">Zeitstempel und Emoji-Tasten sind versteckt</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_on">Zeitstempel und Emoji-Tasten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_off">Zeitstempel und Emoji-Tasten werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.crowdfundingbox.CrowdfundingBoxResourcePatch">
|
||||
<string name="revanced_hide_crowdfunding_box_title">Crowdfunding Box ausblenden</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Crowdfunding-Box ist versteckt</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_on">Crowdfunding-Box ist ausgeblendet</string>
|
||||
<string name="revanced_hide_crowdfunding_box_summary_off">Crowdfunding-Box wird angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.HideEndscreenCardsResourcePatch">
|
||||
@@ -551,7 +554,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.hide.floatingmicrophone.HideFloatingMicrophoneButtonResourcePatch">
|
||||
<string name="revanced_hide_floating_microphone_button_title">Schwebende Mikrofon-Taste ausblenden</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Mikrofon-Taste versteckt</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">Mikrofon-Button ausgeblendet</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_off">Mikrofon-Taste angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.fullscreenambientmode.DisableFullscreenAmbientModePatch">
|
||||
@@ -561,7 +564,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.hide.infocards.HideInfocardsResourcePatch">
|
||||
<string name="revanced_hide_info_cards_title">Infokarten ausblenden</string>
|
||||
<string name="revanced_hide_info_cards_summary_on">Infokarten sind versteckt</string>
|
||||
<string name="revanced_hide_info_cards_summary_on">Infokarten sind ausgeblendet</string>
|
||||
<string name="revanced_hide_info_cards_summary_off">Infokarten werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.rollingnumber.DisableRollingNumberAnimationPatch">
|
||||
@@ -580,18 +583,18 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.hide.shorts.HideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Shorts im Home Feed ausblenden</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Shorts im Home Feed sind versteckt</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Shorts im Home Feed sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Shorts im Home Feed werden angezeigt</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
<string name="revanced_hide_shorts_subscriptions_title">Shorts im Abonnement-Feed ausblenden</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts im Abonnement-Feed sind versteckt</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_on">Shorts im Abonnement-Feed sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_subscriptions_summary_off">Shorts im Abonnement-Feed werden angezeigt</string>
|
||||
<string name="revanced_hide_shorts_search_title">Shorts in den Suchergebnissen ausblenden</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Shorts in den Suchergebnissen sind versteckt</string>
|
||||
<string name="revanced_hide_shorts_search_summary_on">Shorts in den Suchergebnissen sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_search_summary_off">Shorts in den Suchergebnissen werden angezeigt</string>
|
||||
<!-- 'join' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_join_button_title">Beitritts-Button ausblenden</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Knopf beitreten ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_on">Join Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_join_button_summary_off">Schaltfläche beitreten wird angezeigt</string>
|
||||
<!-- 'subscribe' should be translated using the same localized wording YouTube displays for the button. -->
|
||||
<string name="revanced_hide_shorts_subscribe_button_title">Abonnement-Button ausblenden</string>
|
||||
@@ -604,10 +607,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Shop-Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Shop-Button wird angezeigt</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Super-Dankeschön Button ausblenden</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Super-Dankeschön Button ist versteckt</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Super-Danke Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Super-Dankeschön Button wird angezeigt</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Markierte Artikel ausblenden</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Markierte Produkte sind versteckt</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Markierte Produkte sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Markierte Produkte werden angezeigt</string>
|
||||
<string name="revanced_hide_shorts_location_label_title">Standortbezeichnung ausblenden</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_on">Ortsbezeichnung ist ausgeblendet</string>
|
||||
@@ -616,10 +619,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_on">Ton in Wiedergabeliste speichern ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Ton in Wiedergabeliste speichern wird angezeigt</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Suchvorschläge ausblenden</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Suchvorschläge sind versteckt</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Suchvorschläge sind ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Suchvorschläge werden angezeigt</string>
|
||||
<string name="revanced_hide_shorts_like_button_title">Verstecke wie Button</string>
|
||||
<string name="revanced_hide_shorts_like_button_summary_on">\"Gefällt mir\" Button ist versteckt</string>
|
||||
<string name="revanced_hide_shorts_like_button_summary_on">\"Gefällt mir\" Button ist ausgeblendet</string>
|
||||
<string name="revanced_hide_shorts_like_button_summary_off">\"Gefällt mir\" Button wird angezeigt</string>
|
||||
<string name="revanced_hide_shorts_dislike_button_title">Verstecke nicht wie Button</string>
|
||||
<string name="revanced_hide_shorts_dislike_button_summary_on">Nicht wie Button ist ausgeblendet</string>
|
||||
@@ -664,12 +667,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.hide.time.HideTimestampPatch">
|
||||
<string name="revanced_hide_timestamp_title">Verstecke Video-Zeitstempel</string>
|
||||
<string name="revanced_hide_timestamp_summary_on">Zeitstempel ist versteckt</string>
|
||||
<string name="revanced_hide_timestamp_summary_on">Zeitstempel ist ausgeblendet</string>
|
||||
<string name="revanced_hide_timestamp_summary_off">Zeitstempel wird angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.panels.popup.PlayerPopupPanelsPatch">
|
||||
<string name="revanced_hide_player_popup_panels_title">Player-Popup-Panels ausblenden</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_on">Player-Popup-Fenster sind versteckt</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_on">Player-Popup-Fenster sind ausgeblendet</string>
|
||||
<string name="revanced_hide_player_popup_panels_summary_off">Player-Popup-Fenster werden angezeigt</string>
|
||||
</patch>
|
||||
<patch id="layout.player.overlay.CustomPlayerOverlayOpacityResourcePatch">
|
||||
@@ -680,6 +683,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.returnyoutubedislike.ReturnYouTubeDislikeResourcePatch">
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Nicht anzeigen</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_ryd_failure_connection_timeout">Dislikes vorläufig nicht verfügbar (API Timeout)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">Dislikes nicht verfügbar (Status %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">Nicht verfügbar (Client-API-Limit erreicht)</string>
|
||||
<string name="revanced_ryd_failure_generic">Dislikes nicht verfügbar (%s)</string>
|
||||
@@ -690,7 +694,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_ryd_shorts_title">Dislikes auf Shorts anzeigen</string>
|
||||
<string name="revanced_ryd_shorts_summary_on">Dislikes auf Shorts angezeigt</string>
|
||||
<string name="revanced_ryd_shorts_summary_on_disclaimer">Dislikes in Shorts\n\nLimitation: Dislikes können nicht im Inkognito-Modus angezeigt werden</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">Nicht gefällt auf Shorts versteckt</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">Dislikes auf Shorts ausgeblendet</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">Ablehnt als Prozentsatz</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Dislikes als Prozentsatz angezeigt</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_off">Dislikes als Nummer angezeigt</string>
|
||||
@@ -718,6 +722,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary">%d Netzwerkanrufe Timeout</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_title">Limit API-Client-Rate</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">Keine Limit für Kundenrate gefunden</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary">Client-Ratenlimit %d-mal erreicht</string>
|
||||
<string name="revanced_ryd_statistics_millisecond_text">%d Millisekunden</string>
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -745,8 +750,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Überspringe Taste verbirgt sich nach ein paar Sekunden</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Schaltfläche für das gesamte Segment überspringen</string>
|
||||
<string name="revanced_sb_general_skiptoast">Toast beim automatischen Überspringen anzeigen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Toast wird angezeigt, wenn ein Segment automatisch übersprungen wird. Tippen Sie hier, um ein Beispiel zu sehen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toast wird nicht angezeigt. Tippen Sie hier, um ein Beispiel zu sehen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Toast wird angezeigt, wenn ein Segment automatisch übersprungen wird. Tippe hier, um ein Beispiel zu sehen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toast wird nicht angezeigt. Tippe hier, um ein Beispiel zu sehen</string>
|
||||
<string name="revanced_sb_general_time_without">Videolänge ohne Segmente anzeigen</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Videolänge abzüglich aller Segmente in Klammern neben der vollständigen Videolänge</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Vollständige Videolänge angezeigt</string>
|
||||
@@ -773,7 +778,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_general_min_duration">Mindestdauer der Segmente</string>
|
||||
<string name="revanced_sb_general_min_duration_sum">Segmente kürzer als dieser Wert (in Sekunden) werden nicht angezeigt oder übersprungen</string>
|
||||
<string name="revanced_sb_general_uuid">Ihre private Benutzer-Id</string>
|
||||
<string name="revanced_sb_general_uuid_sum">Dies sollte vertraulich behandelt werden. Dies ist wie ein Passwort und sollte mit niemandem geteilt werden. Wenn jemand dies hat, kann er sich für Sie ausgeben</string>
|
||||
<string name="revanced_sb_general_uuid_sum">Das sollte vertraulich behandelt werden. Das ist wie ein Passwort und sollte mit niemandem geteilt werden. Wenn jemand das hat, kann er sich für dich ausgeben</string>
|
||||
<string name="revanced_sb_general_uuid_invalid">Private Benutzer-Id muss mindestens 30 Zeichen lang sein</string>
|
||||
<string name="revanced_sb_general_api_url">API URL ändern</string>
|
||||
<string name="revanced_sb_general_api_url_sum">Die Adresse des SponsorBlocks für Anrufe an den Server</string>
|
||||
@@ -783,7 +788,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_settings_ie">Einstellungen importieren/exportieren</string>
|
||||
<string name="revanced_sb_settings_copy">Kopieren</string>
|
||||
<string name="revanced_sb_settings_ie_sum">Ihre SponsorBlock JSON-Konfiguration, die auf ReVanced und andere SponsorBlock-Plattformen importiert oder exportiert werden kann</string>
|
||||
<string name="revanced_sb_settings_ie_sum_warning">Ihre SponsorBlock JSON-Konfiguration, die auf ReVanced und andere SponsorBlock Plattformen importiert oder exportiert werden kann. Dies schließt Ihre private Benutzer-ID ein. Stellen Sie sicher, dass Sie diese weise teilen</string>
|
||||
<string name="revanced_sb_settings_ie_sum_warning">Deine SponsorBlock JSON-Konfiguration, die auf ReVanced und andere SponsorBlock Plattformen importiert oder exportiert werden kann. Dies schließt deine private Benutzer-ID ein. Stelle sicher, dass du diese weise teilst</string>
|
||||
<string name="revanced_sb_settings_import_successful">Einstellungen erfolgreich importiert</string>
|
||||
<string name="revanced_sb_settings_import_failed">Import fehlgeschlagen: %s</string>
|
||||
<string name="revanced_sb_settings_export_failed">Export fehlgeschlagen: %s</string>
|
||||
@@ -852,6 +857,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_submit_failed_duplicate">Segment kann nicht abgesendet werden. \nBereits vorhanden</string>
|
||||
<string name="revanced_sb_submit_succeeded">Segment erfolgreich übertragen</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 vorübergehend nicht verfügbar (API 🕛 out)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlock vorübergehend nicht verfügbar (Status %d)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_generic">SponsorBlock vorübergehend nicht verfügbar</string>
|
||||
<string name="revanced_sb_vote_failed_timeout">Abstimmung für Segment nicht möglich (API Timeout)</string>
|
||||
@@ -861,12 +867,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_vote_downvote">Schlecht bewerten</string>
|
||||
<string name="revanced_sb_vote_category">Kategorie ändern</string>
|
||||
<string name="revanced_sb_vote_no_segments">Es gibt keine Segmente zur Abstimmung</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Wählen sie die Segmentkategorie</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategorie ist in den Einstellungen deaktiviert. Aktivieren Sie die Kategorie zum Abschicken.</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Wähle die Segmentkategorie</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategorie ist in den Einstellungen deaktiviert. Aktivieren zum Senden.</string>
|
||||
<string name="revanced_sb_new_segment_title">Neues SponsorBlock Segment</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">%1$02d:%2$02d:%3$03d als Start oder Ende eines neuen Segments festlegen?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">%s als Start oder Ende eines neuen Segments festlegen?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">Start</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">Ende</string>
|
||||
<string name="revanced_sb_new_segment_now">Jetzt</string>
|
||||
@@ -880,7 +884,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_mark_locations_first">Markieren sie zuerst zwei Punkte auf der Zeitleiste</string>
|
||||
<string name="revanced_sb_new_segment_preview_segment_first">Vorschau des Segments und sorgt dafür, dass es reibungslos überspringt</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_title">Timing des Segments manuell bearbeiten</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">Möchten Sie den Zeitpunkt für den Anfang oder das Ende des Segments bearbeiten?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">Möchtest du den Zeitpunkt für den Anfang oder das Ende des Segments bearbeiten?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">Ungültige Zeit angegeben</string>
|
||||
<string name="revanced_sb_stats">Statistiken</string>
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -888,16 +892,16 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_stats_loading">Lädt …</string>
|
||||
<string name="revanced_sb_stats_sb_disabled">SponsorBlock ist deaktiviert</string>
|
||||
<string name="revanced_sb_stats_username">Ihr Benutzername: <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_username_change">Tippen Sie hier, um Ihren Benutzernamen zu ändern</string>
|
||||
<string name="revanced_sb_stats_username_change">Tippe hier, um deinen Benutzernamen zu ändern</string>
|
||||
<string name="revanced_sb_stats_username_change_unknown_error">Benutzername konnte nicht geändert werden; Status: %1$d %2$s</string>
|
||||
<string name="revanced_sb_stats_username_changed">Benutzername wurde geändert</string>
|
||||
<string name="revanced_sb_stats_reputation">Dein Ruf ist <b>%.2f</b></string>
|
||||
<string name="revanced_sb_stats_submissions">Sie haben <b>%s</b> Segmente erstellt</string>
|
||||
<string name="revanced_sb_stats_submissions">Du hast <b>%s</b> Segmente erstellt</string>
|
||||
<string name="revanced_sb_stats_saved_zero">SponsorBlock Rangliste</string>
|
||||
<string name="revanced_sb_stats_saved">Sie haben Personen aus <b>%s</b> Segmenten gespeichert</string>
|
||||
<string name="revanced_sb_stats_saved">Du hast den Leuten <b>%s</b> Segmente erspart</string>
|
||||
<string name="revanced_sb_stats_saved_sum_zero">Hier tippen, um die globalen Statistiken und Top-Beitragszahler zu sehen</string>
|
||||
<string name="revanced_sb_stats_saved_sum">Das ist <b>%s</b> ihres Lebens.<br>Tippe hier, um die Rangliste zu sehen</string>
|
||||
<string name="revanced_sb_stats_self_saved">Sie haben Segmente <b>%s</b> übersprungen</string>
|
||||
<string name="revanced_sb_stats_self_saved">Du hast <b>%s</b> Segmente übersprungen</string>
|
||||
<string name="revanced_sb_stats_self_saved_sum">Das ist <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_self_saved_reset_title">Zähler übersprungener Segmente zurücksetzen?</string>
|
||||
<string name="revanced_sb_stats_saved_hour_format">%1$s Stunden %2$s Minuten</string>
|
||||
@@ -910,7 +914,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_reset_color">Farbe zurücksetzen</string>
|
||||
<string name="revanced_sb_reset">Zurücksetzen</string>
|
||||
<string name="revanced_sb_about">Über</string>
|
||||
<string name="revanced_sb_about_api_sum">Daten werden von der SponsorBlock API bereitgestellt. Tippen Sie hier, um mehr zu erfahren und Downloads für andere Plattformen zu sehen</string>
|
||||
<string name="revanced_sb_about_api_sum">Daten werden von der SponsorBlock API bereitgestellt. Tippe hier, um mehr zu erfahren und Downloads für andere Plattformen zu sehen</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<string name="revanced_spoof_app_version_title">Spoof-App-Version</string>
|
||||
@@ -966,13 +970,13 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_type_entry_5">Modern 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Modern 3</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_title">Ausklappen und Schließen der Tasten ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">Tasten sind ausgeblendet\n(wischen Sie den Miniplayer zum erweitern oder schließen)</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">Tasten sind ausgeblendet\n(wische den Miniplayer zum Erweitern oder Schließen)</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">Erweitern und Schließen Tasten werden angezeigt</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Untertexte ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtexte sind versteckt</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Subtexte sind ausgeblendet</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Untertexte werden angezeigt</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_title">Vorwärts- und Rückwärts-Buttons ausblenden</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Vorwärts springen und zurück sind versteckt</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Vorwärts skippen und zurück sind ausgeblendet</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Vorwärts und zurück springen werden angezeigt</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Overlay opacity</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">Deckkraft Wert zwischen 0-100, wobei 0 transparent ist</string>
|
||||
@@ -991,6 +995,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Die Farbe der Suchleiste</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Ungültiger Suchleisten-Farbwert. Standardwert wird verwendet.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Bildgebietsbeschränkungen umgehen</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Bild-Host yt4.ggpht.com verwenden</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Verwendung des ursprünglichen Bild-Hosts\n\nAktivieren kann fehlende Bilder beheben, die in einigen Regionen blockiert werden</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Home-Tab</string>
|
||||
@@ -1004,7 +1013,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_alt_thumbnail_options_entry_2">Pfeil & Original-Miniaturansichten</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_3">Pfeil & immer noch erfasst</string>
|
||||
<string name="revanced_alt_thumbnail_options_entry_4">Noch Aufnahmen</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">DeArrow bietet Crowd-sourced Thumbnails für YouTube-Videos. Diese Vorschaubilder sind oft relevanter als die von YouTube\n\nwenn aktiviert, Video-URLs werden an den API-Server gesendet und keine anderen Daten gesendet. Wenn ein Video keine DeArrow Thumbnails hat, dann werden das Original oder die Aufnahmen\n\nTippen Sie hier, um mehr über DePfeil zu erfahren</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">DeArrow bietet Crowd-sourced Thumbnails für YouTube-Videos an. Diese Vorschaubilder sind oft relevanter als die von YouTube.\n\nWenn aktiviert, werden Video-URLs an den API-Server gesendet und keine anderen Daten. Wenn ein Video keine DeArrow Thumbnails hat, dann wird das Original benutzt\n\nTippe hier, um mehr über DeArrow zu erfahren</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_title">Einen Toast anzeigen, wenn die API nicht verfügbar ist</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_on">Toast wird angezeigt, wenn der Pfeil nicht verfügbar ist</string>
|
||||
<string name="revanced_alt_thumbnail_dearrow_connection_toast_summary_off">Toast wird nicht angezeigt, wenn der Pfeil nicht verfügbar ist</string>
|
||||
@@ -1113,8 +1122,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Client ist nicht gefälscht\n\nVideo-Wiedergabe funktioniert möglicherweise nicht</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Das Deaktivieren dieser Einstellung kann zu Videowiedergabeproblemen führen.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof-Client zu iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Der Client ist derzeit auf iOS\n\nseitliche Effekte gefälscht:\n• Kein HDR-Video\n• Verlauf kann nicht funktionieren\n• Höhere Video-Qualitäten fehlen möglicherweise\n• Live-Streams können nicht nur als Audio abspielen\n• Live-Streams auf Android 8.0 nicht verfügbar</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Der Client ist derzeit auf Android VR\n\nSeiteneffekte gefälscht:\n• Kein HDR Video\n• Kindervideos spielen nicht\n• Pausierte Videos können zufällig wieder aufgenommen werden\n• Niedrige Shorts Suchleisten-Thumbnails\n• Download-Button ist immer versteckt\n• Endbildschirm-Karten werden immer versteckt</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Der Client ist derzeit zu iOS\n\nSeiteneffekten gefälscht:\n• HDR-Video ist möglicherweise nicht verfügbar\n• Verlauf kann nicht funktionieren</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Der Client ist derzeit auf Android VR gespoofed. Nebeneffekte können sein:\n• Kein HDR Video\n• Kindervideos spielen nicht\n• Pausierte Videos könnten zufällig wieder aufgenommen werden\n• Niedrige Qualität der Shorts-Suchleisten-Thumbnails\n• Download-Button ist ausgeblendet\n• Endbildschirm-Karten werden versteckt</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Spoof-Thumbnails nicht verfügbar (API-Zeitüberschreitung)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Spoof-Client-Thumbnails vorübergehend nicht verfügbar: %s</string>
|
||||
</patch>
|
||||
@@ -1149,8 +1158,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_block_audio_ads_summary_off">Audiowerbung ist entsperrt</string>
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_embedded_ads_service_unavailable">%s ist nicht verfügbar. Anzeigen können angezeigt werden. Versuchen Sie, in den Einstellungen zu einem anderen Werbeblock-Dienst zu wechseln.</string>
|
||||
<string name="revanced_embedded_ads_service_failed">Der %s Server hat einen Fehler zurückgegeben. Anzeigen können angezeigt werden. Versuchen Sie, in den Einstellungen zu einem anderen Ad-Block-Dienst zu wechseln.</string>
|
||||
<string name="revanced_embedded_ads_service_unavailable">%s ist nicht verfügbar. Ads könnten angezeigt werden. Versuche einem anderen Adblock-Dienst.</string>
|
||||
<string name="revanced_embedded_ads_service_failed">Der %s Server hat einen Fehler zurückgegeben. Ads könnten angezeigt werden. Versuche einen anderen Adblock-Dienst.</string>
|
||||
<string name="revanced_block_embedded_ads_title">Blockiere eingebettete Video-Anzeigen</string>
|
||||
<string name="revanced_block_embedded_ads_entry_1">Deaktiviert</string>
|
||||
<string name="revanced_block_embedded_ads_entry_2">Leuchtender Proxy</string>
|
||||
|
||||
@@ -212,6 +212,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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>
|
||||
<string name="revanced_hide_transcript_section_title">Ενότητα Απομαγνητοφώνησης</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Εμφανίζεται</string>
|
||||
@@ -247,7 +250,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Μη έγκυρη λέξη-κλειδί. Αδυναμία χρήσης: \'%s\' ως φίλτρο</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_hide_keyword_toast_invalid_length">Μη έγκυρη λέξη-κλειδί. Το \'%1$s\' είναι μικρότερο από %2$d χαρακτήρες</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Η λέξη «$s» θα κρύψει όλα τα βίντεο</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Η λέξη «%s» θα κρύψει όλα τα βίντεο</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Γενικές διαφημίσεις</string>
|
||||
@@ -865,9 +868,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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">Νέο τμήμα SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Ορισμός %1$02d:%2$02d:%3$03d ως αρχή ή τέλος ενός νέου τμήματος;</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>
|
||||
@@ -992,6 +993,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Το χρώμα της γραμμής προόδου</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Μη έγκυρη τιμή χρώματος. Επαναφορά...</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Παράκαμψη μπλοκαρίσματος φόρτωσης εικόνων</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Χρησιμοποιείται το domain yt4.ggpht.com για την φόρτωση εικόνων</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Χρησιμοποιείται το αρχικό domain για την φόρτωση εικόνων\n\nΗ ενεργοποίηση αυτής της ρύθμισης μπορεί να διορθώσει την φόρτωση εικόνων που είναι μπλοκαρισμένες σε κάποιες περιοχές</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Αρχική σελίδα</string>
|
||||
@@ -1114,8 +1120,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Το πρόγραμμα πελάτη δεν παραποιείται\n\nΗ αναπαραγωγή βίντεο ενδέχεται να μη λειτουργεί</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής βίντεο.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Παραποίηση σε iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Ο πελάτης αυτή τη στιγμή παραποιείται ως iOS\n\nΟι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Το ιστορικό παρακολούθησης μπορεί να μην λειτουργεί\n• Μπορεί να λείπουν επιλογές για υψηλές αναλύσεις βίντεο\n• Δε γίνεται στις ζωντανές ροές η αναπαραγωγή μόνο του ήχου\n• Οι ζωντανές ροές δεν είναι διαθέσιμες σε παλαιότερες συσκευές με Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Ο πελάτης αυτή τη στιγμή παραποιείται ως Android VR\n\nΟι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Δεν λειτουργεί η αναπαραγωγή στα βίντεο για παιδιά\n• Βίντεο που έχετε θέσει σε παύση μπορεί να συνεχίσουν να παίζουν τυχαία\n• Χαμηλή ποιότητα μικρογραφιών μπάρας αναζήτησης στα shorts\n• Το κουμπί λήψης είναι πάντα κρυμμένο\n• Οι κάρτες τελικής οθόνης είναι πάντα κρυμμένες</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Ο πελάτης αυτή τη στιγμή παραποιείται ως iOS\n\nΟι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Το ιστορικό παρακολούθησης μπορεί να μη λειτουργεί</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Ο πελάτης αυτή τη στιγμή παραποιείται ως Android VR. Οι παρενέργειες περιλαμβάνουν:\n• Δεν υπάρχει η ποιότητα HDR στα βίντεο\n• Δεν λειτουργεί η αναπαραγωγή στα βίντεο για παιδιά\n• Βίντεο που έχετε θέσει σε παύση μπορεί να συνεχίσουν να παίζουν τυχαία\n• Χαμηλή ποιότητα μικρογραφιών μπάρας αναζήτησης στα shorts\n• Το κουμπί λήψης είναι πάντα κρυμμένο\n• Οι κάρτες τελικής οθόνης είναι πάντα κρυμμένες</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Μικρογραφίες προεπισκόπησης μη διαθέσιμες (καθυστέρηση API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Μικρογραφίες προεπισκόπησης προσωρινά μη διαθέσιμες: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -33,7 +33,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_title">ReVanced</string>
|
||||
<string name="revanced_settings_confirm_user_dialog_title">¿Desea continuar?</string>
|
||||
<string name="revanced_settings_reset">Restablecer</string>
|
||||
<string name="revanced_settings_restart_title">Actualizar y reiniciar</string>
|
||||
@@ -94,7 +93,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">Desactivar los errores toasts oculta todas las notificaciones de error ReVanced\n\nNo se le notificará de ningún evento inesperado.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.general.HideLayoutComponentsPatch">
|
||||
<string name="revanced_disable_like_subscribe_glow_title">Desactivar como / botón de suscripción brillo</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_title">Desactivar el brillo del botón de like / suscripción</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_on">El botón de \"Me gusta\" y \"suscribir\" no brillará cuando se mencione</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_off">El botón de \"Me gusta\" y \"Suscribir\" brillará cuando se mencione</string>
|
||||
<string name="revanced_hide_gray_separator_title">Ocultar separador gris</string>
|
||||
@@ -213,6 +212,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_section_title">Ocultar sección de tarjetas de información</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">La sección de tarjetas de información está oculta</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Se muestra la sección de tarjetas de información</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Ocultar sección \'Conceptos clave\'</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">la sección \'Conceptos clave\' está oculta</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">la sección \'Conceptos clave\' se muestra</string>
|
||||
<string name="revanced_hide_transcript_section_title">Ocultar sección de transcripción</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">La sección transcripción está oculta</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Se muestra la sección transcripción</string>
|
||||
@@ -248,7 +250,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Palabra clave inválida. No se puede usar: \'%s\' como filtro</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_hide_keyword_toast_invalid_length">Palabra clave no válida. \'%1$s\' es menor de %2$d caracteres</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">La palabra clave \'$s\' oculta todos los vídeos</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">La palabra clave \'%s\' oculta todos los vídeos</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Ocultar anuncios generales</string>
|
||||
@@ -283,7 +285,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">Los banners de mercadería están ocultos</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">Se muestran los banners de Mercandise</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_hide_fullscreen_ads_feature_not_available_toast">Ocultar anuncios a pantalla completa sólo funciona con dispositivos antiguos</string>
|
||||
<string name="revanced_hide_fullscreen_ads_feature_not_available_toast">Ocultar anuncio solo con dispositivos viejos</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.HideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Ocultar promociones de YouTube Premium</string>
|
||||
@@ -674,7 +676,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.player.overlay.CustomPlayerOverlayOpacityResourcePatch">
|
||||
<string name="revanced_player_overlay_opacity_title">Opacidad de superposición del jugador</string>
|
||||
<string name="revanced_player_overlay_opacity_summary">Valor de potencia entre 0-100, donde 0 es transparente</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">Opacidad de superposición del jugador debe estar entre 0-100</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">Opacidad del reproductor debe estar entre 0 y 100</string>
|
||||
</patch>
|
||||
<patch id="layout.returnyoutubedislike.ReturnYouTubeDislikeResourcePatch">
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Oculto</string>
|
||||
@@ -866,9 +868,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Elige la categoría del segmento</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Categoría está desactivada en la configuración. Habilitar la categoría para enviar.</string>
|
||||
<string name="revanced_sb_new_segment_title">Nuevo segmento de SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">¿Establecer %1$02d:%2$02d:%3$03d como inicio o final de un nuevo segmento?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">¿Establecer %s como inicio o fin de un nuevo segmento?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">comienzo</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">final</string>
|
||||
<string name="revanced_sb_new_segment_now">ahora</string>
|
||||
@@ -978,7 +978,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Saltar adelante y atrás se muestran</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Overlay opacity</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">Valor de potencia entre 0-100, donde 0 es transparente</string>
|
||||
<string name="revanced_miniplayer_opacity_invalid_toast">La opacidad de superposición del Miniplayer debe estar entre 0-100</string>
|
||||
<string name="revanced_miniplayer_opacity_invalid_toast"> Opacidad de reproductor debe estar en 0 -100</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeBytecodePatch">
|
||||
<string name="revanced_gradient_loading_screen_title">Activar la pantalla de carga del degradado</string>
|
||||
@@ -993,6 +993,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">El color de la barra de ajustes</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Valor de color de la barra de búsqueda inválido. Usando el valor por defecto.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Restricciones de región de imagen bypass</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Usando host de imagen yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Utilizando el host de imágenes original\n\nHabilitar esto puede arreglar las imágenes faltantes que están bloqueadas en algunas regiones</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Pestaña</string>
|
||||
@@ -1115,8 +1120,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">El cliente no está falsificado\n\nEs posible que la reproducción de vídeo no funcione</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Desactivar esta configuración puede causar problemas de reproducción de vídeo.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof cliente a iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">El cliente está actualmente falseado a iOS\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Es posible que el historial del reloj no funcione\n• Puede que falten más calidad de vídeo\n• Los streams en vivo no pueden reproducirse como audio solo\n• streams en vivo no disponibles en Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">El cliente está actualmente falseado a Android VR\n\nLos efectos laterales incluyen:\n• No hay vídeo HDR\n• Los vídeos para niños no se reproducirán\n• Los vídeos en pausa pueden reanudarse aleatoriamente\n• Las miniaturas de barras cortas de baja calidad\n• El botón de descarga siempre está oculto\n• Las tarjetas de la pantalla final siempre están ocultas</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">El cliente está actualmente falseado a iOS\n\nLos efectos laterales incluyen:\n• El vídeo HDR puede no estar disponible\n• El historial del reloj puede no funcionar</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">El cliente está actualmente falseado a Android VR. Los efectos laterales incluyen:\n• No hay vídeo HDR\n• Los niños vídeos no se reproducirán\n• Los vídeos en pausa pueden reanudarse aleatoriamente\n• Las miniaturas de barras cortas de baja calidad\n• El botón de acción está oculto\n• Las tarjetas de pantalla final están ocultas</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Las miniaturas del cliente de Spoof no están disponibles (API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Las miniaturas del cliente Spoof temporalmente no están disponibles: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -33,7 +33,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_reset">Lähtesta</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -43,8 +42,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings_screen_00_about_title">Teave</string>
|
||||
<string name="revanced_settings_screen_11_misc_title">Muud</string>
|
||||
</patch>
|
||||
<patch id="misc.debugging.DebuggingPatch">
|
||||
</patch>
|
||||
@@ -140,8 +137,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.hide.fullscreenambientmode.DisableFullscreenAmbientModePatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.infocards.HideInfocardsResourcePatch">
|
||||
<string name="revanced_hide_info_cards_summary_on">Infokaardid on peidetud</string>
|
||||
<string name="revanced_hide_info_cards_summary_off">Infokaardid on nähtaval</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.rollingnumber.DisableRollingNumberAnimationPatch">
|
||||
</patch>
|
||||
@@ -167,7 +162,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<string name="revanced_ryd_about">Teave</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -175,17 +169,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.seekbar.RestoreOldSeekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<string name="revanced_sb_appearance_category">Välimus</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_loading">Laen...</string>
|
||||
<string name="revanced_sb_reset">Lähtesta</string>
|
||||
<string name="revanced_sb_about">Teave</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
@@ -193,7 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_entry_0">Vaikimisi</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
@@ -209,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -216,7 +205,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.AnnouncementsPatch">
|
||||
<string name="revanced_announcements_dialog_dismiss">Loobu</string>
|
||||
</patch>
|
||||
<patch id="misc.autorepeat.AutoRepeatPatch">
|
||||
</patch>
|
||||
@@ -257,7 +245,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="ad.audio.AudioAdsPatch">
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_block_embedded_ads_entry_1">Väljas</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
</patch>
|
||||
@@ -269,7 +256,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Twitch specific internal debug mode, and not the same as 'revanced_debug_title' -->
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_misc_screen_title">Muud</string>
|
||||
</patch>
|
||||
</app>
|
||||
</resources>
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -33,7 +33,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_reset">تنظیم مجدد</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -41,10 +40,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</app>
|
||||
<app id="youtube">
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
<string name="revanced_settings_about_links_header">لینک های رسمی</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings_screen_00_about_title">درباره ما</string>
|
||||
</patch>
|
||||
<patch id="misc.debugging.DebuggingPatch">
|
||||
</patch>
|
||||
@@ -165,7 +162,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<string name="revanced_ryd_about">درباره ما</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -173,17 +169,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.seekbar.RestoreOldSeekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<string name="revanced_sb_appearance_category">ظاهر</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_loading">درحال بارگذاری...</string>
|
||||
<string name="revanced_sb_reset">تنظیم مجدد</string>
|
||||
<string name="revanced_sb_about">درباره ما</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
@@ -191,7 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_entry_0">پیشفرض</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
@@ -207,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -254,7 +245,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="ad.audio.AudioAdsPatch">
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_block_embedded_ads_entry_1">غیرفعال شده</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
</patch>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -243,7 +243,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Di-wastong keyword. Hindi magagamit ang: \"%s\" bilang filter</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_hide_keyword_toast_invalid_length">Di-wastong keyword. Ang \"%1$s\" ay mas mababa sa %2$d character</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Itatago ng keyword na \"$s\" ang lahat ng video</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Itatago ng keyword na \"%s\" ang lahat ng video</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Itago ang mga pangkalahatang ad</string>
|
||||
@@ -854,9 +854,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Piliin ang kategorya ng segment</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Naka-disable ang kategorya sa mga setting. Paganahin ang kategoryang isumite.</string>
|
||||
<string name="revanced_sb_new_segment_title">Bagong segment ng SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Itakda ang %1$02d:%2$02d:%3$03d bilang simula o pagtatapos ng isang bagong segment?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">simulan</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">wakas</string>
|
||||
<string name="revanced_sb_new_segment_now">ngayon</string>
|
||||
@@ -974,6 +971,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Ang kulay ng seekbar</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Di-wastong halaga ng kulay ng seekbar. Gamit ang default na halaga.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Tab ng tahanan</string>
|
||||
@@ -1091,8 +1090,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Hindi na-spoof ang kliyente\n\nMaaaring hindi gumana ang pag-playback ng video</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback ng video.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof client sa iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Kasalukuyang na-spoof ang kliyente sa iOS\n\nKabilang sa mga side effect ang:\n• Walang HDR video\n• Maaaring hindi gumana ang history ng panonood\n• Maaaring nawawala ang mas matataas na katangian ng video\n• Hindi puwedeng mag-play bilang audio lang ang mga live stream\n• Live hindi available ang mga stream sa Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Kasalukuyang na-spoof ang kliyente sa Android VR\n\nKabilang sa mga side effect ang:\n• Walang HDR na video\n• Hindi nagpe-playback ang mga pambata na video\n• Ang mga naka-pause na video ay maaaring random na ipagpatuloy\n• Mga thumbnail ng shorts seekbar na may mababang kalidad\n• I-download ang action button ay laging nakatago\n• Palaging nakatago ang mga end screen card</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Hindi available ang mga thumbnail ng spoof client (nag-time out ang API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Pansamantalang hindi available ang mga thumbnail ng spoof client: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -72,7 +72,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_screen_04_player_title">Lecteur</string>
|
||||
<string name="revanced_settings_screen_05_general_title">Disposition générale</string>
|
||||
<string name="revanced_settings_screen_07_seekbar_title">Barre de progression</string>
|
||||
<string name="revanced_settings_screen_08_swipe_controls_title">Commandes de balayage</string>
|
||||
<string name="revanced_settings_screen_08_swipe_controls_title">Contrôle par gestes</string>
|
||||
<string name="revanced_settings_screen_11_misc_title">Divers</string>
|
||||
<string name="revanced_settings_screen_12_video_title">Vidéo</string>
|
||||
</patch>
|
||||
@@ -121,7 +121,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Le bouton est masqué</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Le bouton est affiché</string>
|
||||
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendations_title">Cacher les recommandations \"Personnes également suivies\"</string>
|
||||
<string name="revanced_hide_search_result_recommendations_title">Masquer les recommandations \'Les gens ont aussi regardé\'</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_on">Les recommandations sont masquées</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_off">Les recommandations sont affichées</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
@@ -177,9 +177,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_channel_bar_title">Masquer la barre de la chaîne</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">La barre de la chaîne est masquée</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">La barre de la chaîne est affichée</string>
|
||||
<string name="revanced_hide_playables_title">Cacher les Playables</string>
|
||||
<string name="revanced_hide_playables_summary_on">Les jouables sont masqués</string>
|
||||
<string name="revanced_hide_playables_summary_off">Les jouables sont affichés</string>
|
||||
<string name="revanced_hide_playables_title">Masquer les jeux intégrés</string>
|
||||
<string name="revanced_hide_playables_summary_on">Les jeux sont masqués</string>
|
||||
<string name="revanced_hide_playables_summary_off">Les jeux sont affichés</string>
|
||||
<string name="revanced_hide_quick_actions_title">Masquer les actions rapides en plein écran</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Les actions rapides en plein écran sont masquées</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Les actions rapides en plein écran sont affichées</string>
|
||||
@@ -213,6 +213,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_section_title">Masquer les cartes d\'information</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Les cartes d\'information sont masquées</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Les cartes d\'information sont affichées</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Masquer la section \"concepts clés\"</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">La section \"Concepts clé\" est masquée</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">La section \"Concepts clé\" est affichée</string>
|
||||
<string name="revanced_hide_transcript_section_title">Masquer la section de transcription</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">La section transcription est masquée</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">La section transcription est affichée</string>
|
||||
@@ -248,7 +251,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Mot-clé invalide. Impossible d\'utiliser : \'%s\' comme filtre</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_hide_keyword_toast_invalid_length">Mot-clé invalide. \'%1$s\' contient moins de %2$d caractères</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Le mot-clé \'$s\' masquera toutes les vidéos</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Le mot-clé «%s» masquera toutes les vidéos</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Masquer les pubs générales</string>
|
||||
@@ -260,9 +263,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_buttoned_ads_title">Masquer les boutons de publicité</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_on">Les boutons de publicité sont masqués</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">Les boutons de publicité sont affichés</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Masquer le libellé de la promotion payante</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">Le libellé de la promotion payante est masqué</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">Le libellé de la promotion payée est affiché</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">Masquer la bannière \"Communication commerciale\"</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">La bannière \"Communication commerciale\" est masquée</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">La bannière \"Communication commerciale\" est affichée</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">Masquer les cartes auto-sponsorisées</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">Les cartes auto-sponsorisées sont masquées</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">Les cartes auto-sponsorisées sont affichées</string>
|
||||
@@ -273,7 +276,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shopping_links_summary_on">Les liens d\'achat sont masqués</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Les liens d\'achat sont affichés</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Masquer le bouton \'Visiter la boutique\' sur les pages des canaux</string>
|
||||
<string name="revanced_hide_visit_store_button_title">Masquer le bouton \'Visiter la boutique\' sur la page de la chaîne</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Le bouton est masqué</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Le bouton est affiché</string>
|
||||
<string name="revanced_hide_web_search_results_title">Masquer les résultats de la recherche web</string>
|
||||
@@ -306,9 +309,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_copy_video_url_timestamp_summary_off">Le bouton n\'est pas affiché</string>
|
||||
</patch>
|
||||
<patch id="interaction.dialog.RemoveViewerDiscretionDialogPatch">
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">Supprimer la boîte de dialogue de discrétion de la visionneuse</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">La boîte de dialogue sera supprimée</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">La boîte de dialogue sera affichée</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">Supprimer la confirmation pour les vidéos avec limite d\'âge</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">Le dialogue de confirmation sera supprimé</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Le dialogue de confirmation sera affiché</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Cela ne contourne pas la restriction d\'âge. Il l\'accepte tout simplement automatiquement.</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.DownloadsResourcePatch">
|
||||
@@ -321,8 +324,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_external_downloader_action_button_title">Remplacer l\'action du bouton téléchargement</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_on">Le bouton de téléchargement ouvre votre téléchargeur externe</string>
|
||||
<string name="revanced_external_downloader_action_button_summary_off">Le bouton de téléchargement ouvre le téléchargeur natif dans l\'application</string>
|
||||
<string name="revanced_external_downloader_name_title">Nom du paquet du téléchargeur</string>
|
||||
<string name="revanced_external_downloader_name_summary">Nom du paquet de votre application de téléchargement externe installée, comme NewPipe ou Seal</string>
|
||||
<string name="revanced_external_downloader_name_title">Nom du package du téléchargeur</string>
|
||||
<string name="revanced_external_downloader_name_summary">Nom du package de votre application de téléchargement externe installée, comme NewPipe ou Seal</string>
|
||||
<string name="revanced_external_downloader_not_installed_warning">%s n\'est pas installé. Veuillez l\'installer.</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.DisablePreciseSeekingGesturePatch">
|
||||
@@ -331,23 +334,23 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">Le geste est activé</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.EnableSeekbarTappingPatch">
|
||||
<string name="revanced_seekbar_tapping_title">Activer le tapping de la barre de recherche</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">Le tapping de la barre de recherche est activé</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">Le tapotage de la barre de recherche est désactivé</string>
|
||||
<string name="revanced_seekbar_tapping_title">Activer l\'appui dans la barre de lecture</string>
|
||||
<string name="revanced_seekbar_tapping_summary_on">L\'appui dans la barre de lecture est activé</string>
|
||||
<string name="revanced_seekbar_tapping_summary_off">L\'appui dans la barre de lecture est désactivé</string>
|
||||
</patch>
|
||||
<patch id="interaction.swipecontrols.SwipeControlsResourcePatch">
|
||||
<string name="revanced_swipe_brightness_title">Activer le geste de luminosité</string>
|
||||
<string name="revanced_swipe_brightness_summary_on">Le balayage de la luminosité est activé</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">Le balayage de la luminosité est désactivé</string>
|
||||
<string name="revanced_swipe_volume_title">Activer le mouvement de volume</string>
|
||||
<string name="revanced_swipe_volume_summary_on">Le balayage du volume est activé</string>
|
||||
<string name="revanced_swipe_volume_summary_off">Le balayage du volume est désactivé</string>
|
||||
<string name="revanced_swipe_brightness_title">Activer les gestes pour la luminosité</string>
|
||||
<string name="revanced_swipe_brightness_summary_on">Les gestes de contrôle de la luminosité sont activés</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">Les gestes de contrôle de la luminosité sont désactivés</string>
|
||||
<string name="revanced_swipe_volume_title">Activer les gestes pour le volume</string>
|
||||
<string name="revanced_swipe_volume_summary_on">Les gestes de contrôle du volume sont activés</string>
|
||||
<string name="revanced_swipe_volume_summary_off">Les gestes de contrôle du volume sont désactivés</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">Activer le geste d\'appui pour glisser</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_on">Appui pour glisser est activé</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Appui pour glisser est désactivé</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">Activer le retour haptique</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Le retour tactile est activé</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Le retour tactile est désactivé</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Le retour haptique est activé</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Le retour haptique est désactivé</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_title">Enregistrer et restaurer la luminosité</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Enregistrer et restaurer la luminosité en quittant ou en entrant en plein écran</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Ne pas enregistrer et restaurer la luminosité en quittant ou en entrant en plein écran</string>
|
||||
@@ -355,12 +358,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Glisser vers le bas vers la valeur la plus basse du geste de luminosité active la luminosité automatique</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Glisser vers le bas vers la valeur la plus basse n\'active pas la luminosité automatique</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatique</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">Délai d\'overlay du balayage</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">La quantité de millisecondes que la superposition est visible</string>
|
||||
<string name="revanced_swipe_text_overlay_size_title">Glisser la taille du texte de la superposition</string>
|
||||
<string name="revanced_swipe_text_overlay_size_summary">La taille du texte pour la superposition de balayage</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">Délai de l\'overlay des gestes</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">Le temps en millisecondes où l\'overlay est visible</string>
|
||||
<string name="revanced_swipe_text_overlay_size_title">Taille du texte de l\'overlay des gestes</string>
|
||||
<string name="revanced_swipe_text_overlay_size_summary">La taille du texte pour l\'overlay des gestes</string>
|
||||
<string name="revanced_swipe_overlay_background_alpha_title">Visibilité de l\'arrière-plan en glissant</string>
|
||||
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilité de l\'arrière-plan de la superposition de balayage</string>
|
||||
<string name="revanced_swipe_overlay_background_alpha_summary">La visibilité de l\'arrière-plan de l\'overlay des gestes</string>
|
||||
<string name="revanced_swipe_threshold_title">Seuil de magnitude de balayage</string>
|
||||
<string name="revanced_swipe_threshold_summary">La quantité de seuil pour que le balayage se produise</string>
|
||||
</patch>
|
||||
@@ -866,9 +869,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Choisissez la catégorie du segment</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">La catégorie est désactivée dans les paramètres. Activez la catégorie pour soumettre.</string>
|
||||
<string name="revanced_sb_new_segment_title">Nouveau segment SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Utiliser %1$02d:%2$02d:%3$03d comme début ou fin d\'un nouveau segment ?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Définir %s comme début ou fin d\'un nouveau segment ?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">démarrer</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">fin</string>
|
||||
<string name="revanced_sb_new_segment_now">maintenant</string>
|
||||
@@ -957,25 +958,25 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_tablet_layout_user_dialog_message">Les messages de la communauté n\'apparaissent pas sur la disposition de la tablette</string>
|
||||
</patch>
|
||||
<patch id="layout.miniplayer.MiniplayerPatch">
|
||||
<string name="revanced_miniplayer_screen_title">Minijoueur</string>
|
||||
<string name="revanced_miniplayer_screen_title">Lecteur réduit</string>
|
||||
<string name="revanced_miniplayer_screen_summary">Changer le style du lecteur réduit dans l\'application</string>
|
||||
<string name="revanced_miniplayer_type_title">Type de Miniplayer</string>
|
||||
<string name="revanced_miniplayer_type_entry_1">Originale</string>
|
||||
<string name="revanced_miniplayer_type_entry_1">Original</string>
|
||||
<string name="revanced_miniplayer_type_entry_2">Téléphone</string>
|
||||
<string name="revanced_miniplayer_type_entry_3">Tablette</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">Moderne 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">Moderne 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderne 3</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_title">Masquer les boutons d\'extension et de fermeture</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">Les boutons sont cachés\n(glisser le minijoueur pour l\'expansion ou la fermeture)</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">Développer et fermer les boutons sont affichés</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_title">Masquer les boutons d\'agrandissement et de fermeture</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">Les boutons sont cachés\n(glisser le lecteur réduit pour l\'agrandir ou le fermer)</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">Les boutons agrandir et fermer sont affichés</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Masquer les sous-textes</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">Les sous-textes sont cachés</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">Les sous-textes sont affichés</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_title">Masquer les boutons avant et retour</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Sauter en avant et en arrière sont masqués</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Sauter en avant et en arrière sont affichés</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Overlay opacity</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_title">Masquer les boutons avancer et reculer</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Les boutons avancer et reculer sont masqués</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Les boutons avancer et reculer sont affichés</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Opacité de l\'overlay</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">Valeur d\'opacité entre 0 et 100, où 0 est transparent</string>
|
||||
<string name="revanced_miniplayer_opacity_invalid_toast">L\'opacité de l\'overlay du Miniplayer doit être comprise entre 0 et 100</string>
|
||||
</patch>
|
||||
@@ -992,6 +993,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">La couleur de la barre de recherche</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Valeur de couleur de la barre de recherche invalide.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Ignorer les restrictions de région de l\'image</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Utiliser l\'hôte d\'image yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Utiliser l\'hôte d\'image original\n\nActiver ceci peut corriger les images manquantes qui sont bloquées dans certaines régions</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Onglet d\'accueil</string>
|
||||
@@ -1114,8 +1120,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">Le client n\'est pas trompé\n\nLa lecture de la vidéo peut ne pas fonctionner</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Désactiver ce paramètre peut causer des problèmes de lecture vidéo.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Falsifier le client vers iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Le client simule actuellement iOS\n\nLes effets secondaires incluent :\n• Aucune vidéo HDR\n• L\'historique de lecture peut ne pas fonctionner\n• Des qualités vidéo plus élevées peuvent manquer\n• Les vidéos en direct ne peuvent pas être lancées uniquement en tant que audio\n• Les vidéos en direct ne sont pas disponibles sur Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Le client est actuellement usurpé à Android VR\n\nEffets secondaires incluant:\n• Aucune vidéo HDR\n• Les vidéos des enfants ne lisent pas\n• Les vidéos en pause peuvent reprendre aléatoirement\n• Les Shorts de basse qualité sur les vignettes de la barre de recherche\n• Le bouton d\'action de téléchargement est toujours caché\n• Les cartes d\'écran de fin sont toujours cachées</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Le client est actuellement falsifié vers iOS\n\nLes effets secondaires incluent :\n• La vidéo HDR peut ne pas être disponible\n• L\'historique de la montre peut ne pas fonctionner</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Le client est actuellement falsifié vers Android VR. Effets secondaires incluant:\n• Aucune vidéo HDR\n• Les vidéos des enfants ne lisent pas\n• Les vidéos en pause peuvent reprendre aléatoirement\n• Les Shorts de basse qualité sur les vignettes de la barre de recherche\n• Le bouton d\'action de téléchargement est caché\n• Les cartes d\'écran de fin sont cachées</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Tromper les vignettes du client non disponibles (API expirée)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Tromper les vignettes du client temporairement indisponibles : %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -175,8 +175,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_appearance_category">स्वरूप</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -206,6 +204,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -33,7 +33,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_reset">Ponovno postavljanje</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -43,7 +42,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings_screen_00_about_title">O aplikaciji</string>
|
||||
</patch>
|
||||
<patch id="misc.debugging.DebuggingPatch">
|
||||
</patch>
|
||||
@@ -101,8 +99,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- This button does not display any text, but 'captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title' -->
|
||||
</patch>
|
||||
<patch id="layout.buttons.cast.HideCastButtonPatch">
|
||||
<string name="revanced_hide_cast_button_summary_on">Gumb za emitiranje je skriven</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Gumb za emitiranje je prikazan</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.NavigationButtonsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
@@ -141,8 +137,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.hide.fullscreenambientmode.DisableFullscreenAmbientModePatch">
|
||||
</patch>
|
||||
<patch id="layout.hide.infocards.HideInfocardsResourcePatch">
|
||||
<string name="revanced_hide_info_cards_summary_on">Kartice informacija su skrivene</string>
|
||||
<string name="revanced_hide_info_cards_summary_off">Kartice informacija su prikazane</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.rollingnumber.DisableRollingNumberAnimationPatch">
|
||||
</patch>
|
||||
@@ -168,7 +162,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<string name="revanced_ryd_about">O aplikaciji</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -176,17 +169,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.seekbar.RestoreOldSeekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<string name="revanced_sb_appearance_category">Izgled</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_loading">Učitavanje...</string>
|
||||
<string name="revanced_sb_reset">Ponovno postavljanje</string>
|
||||
<string name="revanced_sb_about">O aplikaciji</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
@@ -194,7 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_entry_0">Zadano</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
@@ -210,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -257,7 +245,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="ad.audio.AudioAdsPatch">
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_block_embedded_ads_entry_1">Onemogućeno</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -93,6 +93,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">A hibaüzenetek kikapcsolása elrejti az összes ReVanced hibaértesítést.\n\nNem kap értesítést semmilyen váratlan eseményről.</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.general.HideLayoutComponentsPatch">
|
||||
<string name="revanced_disable_like_subscribe_glow_title">Like / feliratkozás gomb ragyogásának kikapcsolása</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_on">Like / feliratkozás gomb nem fog ragyogni mikor megemlítik</string>
|
||||
<string name="revanced_disable_like_subscribe_glow_summary_off">Like / feliratkozás gomb ragyogni fog mikor megemlítik</string>
|
||||
<string name="revanced_hide_gray_separator_title">Szürke elválasztó elrejtése</string>
|
||||
<string name="revanced_hide_gray_separator_summary_on">A szürke elválasztók el vannak rejtve</string>
|
||||
<string name="revanced_hide_gray_separator_summary_off">A szürke elválasztók láthatóak</string>
|
||||
@@ -209,6 +212,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_info_cards_section_title">Infó kártyák rész elrejtése</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Az infó kártyák rész el van rejtve</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Az infó kártyák rész látható</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">A „Kulcsfogalmak” szakasz elrejtése</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">A „Kulcsfogalmak” szakasz el van rejtve</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">Megjelenik a „Kulcsfogalmak” rész</string>
|
||||
<string name="revanced_hide_transcript_section_title">Az Átirat szakasz elrejtése</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Az átirat rész el van rejtve</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Az átirat rész megjelenik</string>
|
||||
@@ -244,7 +250,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Érvénytelen kulcsszó.\'%s\'nem használható szűrőként</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_hide_keyword_toast_invalid_length">Helytelen kulcsszó. \'%1$s\' kevesebb, mint %2$d karakter</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">\'$s\' kulcsszó elrejti az összes videót</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">\'%s\' kulcsszó elrejti az összes videót</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Általános hirdetések elrejtése</string>
|
||||
@@ -862,9 +868,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Válassza ki a szakasz kategóriáját</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">A kategória letiltva a beállításokban. Engedélyezze a beküldéshez.</string>
|
||||
<string name="revanced_sb_new_segment_title">Új SponsorBlock szakasz</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Beállítja a(z) %1$02d:%2$02d:%3$03d -t az új szakasz kezdetének vagy végének?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Beállítja a %s-t egy új szegmens kezdeteként vagy végeként?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">kezdőpont</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">végpont</string>
|
||||
<string name="revanced_sb_new_segment_now">most</string>
|
||||
@@ -989,6 +993,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">A keresősáv színe</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Érvénytelen színérték. Az alap érték használata.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Területi kép-korlátozások megkerülése</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">A yt4.ggpht.com képtár használata</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Az eredeti képgazda használata\n\nEnnek engedélyezése javíthatja a hiányzó képeket, amelyek bizonyos régiókban le vannak tiltva</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Kezdőlap</string>
|
||||
@@ -1111,7 +1120,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">A kliens nincs hamisítva\n\nLehet, hogy a videólejátszás nem működik</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">A beállítás kikapcsolása videolejátszási problémákat okozhat.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Hamis kliens iOS-re</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">A kliens jelenleg iOS-re van hamisítva\n\nA mellékhatások a következők:\n• Nincs HDR-videó\n• Előfordulhat, hogy a megtekintési előzmények nem működnek\n• Hiányozhatnak a jobb videóminőségek\n• Az élő közvetítések nem játszhatók le csak hangként\n• Élő a streamek nem érhetők el Android 8.0 rendszeren</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">A kliens jelenleg iOS-re van hamisítva\n\nA mellékhatások a következők:\n• Előfordulhat, hogy a HDR-videó nem érhető el\n• A megtekintési előzmények nem működnek</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">A kliens jelenleg Android VR-re van hamisítva. A mellékhatások a következők:\n• Nincs HDR-videó\n• A gyerekeknek készült videók nem játszhatók le\n• A szüneteltetett videók véletlenszerűen folytatódhatnak\n• Rossz minőségű rövidfilmek kereshető indexképei\n• Letöltés művelet gomb el van rejtve\n• A záróképernyő-kártyák el vannak rejtve</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Hamis kliens miniatűrök nem érhetők el (API időtúllépés)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">A hamis kliens miniatűrök átmenetileg nem érhetők el: %s</string>
|
||||
</patch>
|
||||
|
||||
@@ -42,7 +42,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings_screen_00_about_title">Ծրագրի մասին</string>
|
||||
</patch>
|
||||
<patch id="misc.debugging.DebuggingPatch">
|
||||
</patch>
|
||||
@@ -163,7 +162,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<string name="revanced_ryd_about">Ծրագրի մասին</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -173,13 +171,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_loading">Բեռնվում է...</string>
|
||||
<string name="revanced_sb_about">Ծրագրի մասին</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
@@ -202,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -249,7 +245,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="ad.audio.AudioAdsPatch">
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_block_embedded_ads_entry_1">Անջատված է</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -99,14 +99,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_gray_separator_summary_on">Pemisah abu-abu disembunyikan</string>
|
||||
<string name="revanced_hide_gray_separator_summary_off">Pemisah abu-abu ditampilkan</string>
|
||||
<string name="revanced_hide_channel_watermark_title">Sembunyikan watermark saluran</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Watermark disembunyikan</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Tanda air disembunyikan</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Watermark ditampilkan</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Sembunyikan rak mendatar</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">Rak berikut disembunyikan:\n• Berita sela\n• Lanjut menonton\n• Jelajahi saluran lain\n• Belanja\n• Tonton lagi</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">Rak ditampilkan</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">Sembunyikan tombol \'Gabung\'</string>
|
||||
<string name="revanced_hide_join_membership_button_title">Sembunyikan \'Gabung\'</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Tombol disembunyikan</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Tombol ditampilkan</string>
|
||||
<!-- 'For you' should be translated using the same localized wording YouTube displays. -->
|
||||
@@ -115,7 +115,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Rak ditampilkan</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
This item appear in the subscription feed for future livestreams or unreleased videos. -->
|
||||
<string name="revanced_hide_notify_me_button_title">Sembunyikan tombol \'Beri tahu saya\'</string>
|
||||
<string name="revanced_hide_notify_me_button_title">Sembunyikan \'Beri tahu saya\'</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_on">Tombol disembunyikan</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">Tombol ditampilkan</string>
|
||||
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
|
||||
@@ -124,41 +124,41 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_search_result_recommendations_summary_off">Anjuran ditampilkan</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">Sembunyikan tombol \'Tampilkan Lebih\'</string>
|
||||
<string name="revanced_hide_show_more_button_title">Sembunyikan \'Tampilkan Lebih\'</string>
|
||||
<string name="revanced_hide_show_more_button_summary_on">Tombol disembunyikan</string>
|
||||
<string name="revanced_hide_show_more_button_summary_off">Tombol ditampilkan</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Sembunyikan waktu reaksi</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Waktu reaksi disembunyikan</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Tampilkan Waktu Reaksi</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">Sembunyikan header rak hasil pencarian</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">Sembunyikan header rak pencarian</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">Sembunyikan Shelf Header</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">Tampilkan Shelf Header</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Sembunyikan Panduan Saluran</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Panduan saluran disembunyikan</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">Panduan saluran ditampilkan</string>
|
||||
<string name="revanced_hide_expandable_chip_title"></string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Chip yang dapat diperluas disembunyikan</string>
|
||||
<string name="revanced_hide_expandable_chip_title">Sembunyikan opsi deret di bawah video</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">Opsi deret disembunyikan</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">Chip yang dapat diperluas ditampilkan</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_title">Sembunyikan footer menu kualitas video</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_on">Footer menu kualitas video disembunyikan</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_off">Footer menu kualitas video ditampilkan</string>
|
||||
<string name="revanced_hide_community_posts_title">Sembunyikan postingan komunitas</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Postingan komunitas disembunyikan</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_title">Sembunyikan footer menu mutu video</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_on">Footer menu mutu video disembunyikan</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_off">Footer menu mutu video ditampilkan</string>
|
||||
<string name="revanced_hide_community_posts_title">Sembunyikan post. komunitas</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">Post. komunitas disembunyikan</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">Postingan komunitas ditampilkan</string>
|
||||
<string name="revanced_hide_compact_banner_title">Sembunyikan banner padat</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Banner padat disembunyikan</string>
|
||||
<string name="revanced_hide_compact_banner_title">Sembunyikan spanduk ringkas</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">Spanduk ringkas disembunyikan</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">Banner padat ditampilkan</string>
|
||||
<string name="revanced_hide_movies_section_title">Sembunyikan bagian film</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Bagian film sudah disembunyikan</string>
|
||||
<string name="revanced_hide_movies_section_summary_on">Bagian film disembunyikan</string>
|
||||
<string name="revanced_hide_movies_section_summary_off">Bagian film ditampilkan</string>
|
||||
<string name="revanced_hide_feed_survey_title">Sembunyikan survei umpan balik</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Survei umpan balik disembunyikan</string>
|
||||
<string name="revanced_hide_feed_survey_title">Sembunyikan survei</string>
|
||||
<string name="revanced_hide_feed_survey_summary_on">Survei disembunyikan</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">Survei umpan balik ditampilkan</string>
|
||||
<string name="revanced_hide_community_guidelines_title">Sembunyikan pedoman komunitas</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">Pedoman komunitas disembunyikan</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">Pedoman komunitas ditampilkan</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Sembunyikan pedoman komunitas untuk para pelanggan</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Pedoman komunitas untuk para pelanggan disembunyikan</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Sembunyikan pedoman komunitas pelanggan</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Pedoman komunitas pelanggan disembunyikan</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Pedoman komunitas untuk para pelanggan ditampilkan</string>
|
||||
<string name="revanced_hide_channel_member_shelf_title">Sembunyikan rak anggota saluran</string>
|
||||
<string name="revanced_hide_channel_member_shelf_summary_on">Rak anggota saluran disembunyikan</string>
|
||||
@@ -166,8 +166,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_emergency_box_title">Sembunyikan kotak darurat</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">Kotak darurat disembunyikan</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">Kotak darurat ditampilkan</string>
|
||||
<string name="revanced_hide_info_panels_title">Sembunyikan panel informasi</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Panel informasi disembunyikan</string>
|
||||
<string name="revanced_hide_info_panels_title">Sembunyikan panel info</string>
|
||||
<string name="revanced_hide_info_panels_summary_on">Panel info disembunyikan</string>
|
||||
<string name="revanced_hide_info_panels_summary_off">Panel informasi ditampilkan</string>
|
||||
<string name="revanced_hide_medical_panels_title">Sembunyikan panel medis</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Panel medis disembunyikan</string>
|
||||
@@ -175,8 +175,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_channel_bar_title">Sembunyikan bilah saluran</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Bilah saluran disembunyikan</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Bilah saluran ditampilkan</string>
|
||||
<string name="revanced_hide_playables_title">Sembunyikan konten yang dapat diputar</string>
|
||||
<string name="revanced_hide_playables_summary_on">Konten yang dapat diputar disembunyikan</string>
|
||||
<string name="revanced_hide_playables_title">Sembunyikan konten tonton</string>
|
||||
<string name="revanced_hide_playables_summary_on">Konten tonton disembunyikan</string>
|
||||
<string name="revanced_hide_playables_summary_off">Yang dapat diputar ditunjukkan</string>
|
||||
<string name="revanced_hide_quick_actions_title">Sembunyikan tindakan cepat di layar penuh</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Tindakan cepat disembunyikan</string>
|
||||
@@ -184,11 +184,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_related_videos_title">Sembunyikan video terkait dalam tindakan cepat</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Video terkait disembunyikan</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Video terkait ditampilkan</string>
|
||||
<string name="revanced_hide_image_shelf_title">Sembunyikan rak gambar dalam hasil pencarian</string>
|
||||
<string name="revanced_hide_image_shelf_title">Sembunyikan rak gambar di pencarian</string>
|
||||
<string name="revanced_hide_image_shelf_summary_on">Rak gambar disembunyikan</string>
|
||||
<string name="revanced_hide_image_shelf_summary_off">Rak gambar ditampilkan</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Sembunyikan kiriman terbaru</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Kiriman terbaru disembunyikan</string>
|
||||
<string name="revanced_hide_latest_posts_ads_title">Sembunyikan post. terbaru</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">Post. terbaru disembunyikan</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">Kiriman terbaru ditampilkan</string>
|
||||
<string name="revanced_hide_mix_playlists_title">Sembunyikan daftar putar campuran</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">Daftar putar campuran disembunyikan</string>
|
||||
@@ -197,19 +197,19 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_artist_cards_summary_on">Kartu artis disembunyikan</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">Kartu artis ditampilkan</string>
|
||||
<string name="revanced_hide_chips_shelf_title">Sembunyikan rak chip</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Rak chip disembunyikan</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Rak opsi deret disembunyikan</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Rak chip ditampilkan</string>
|
||||
<string name="revanced_hide_attributes_section_title">Sembunyikan bagian atribut</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">\'Tempat unggulan\', bagian Permainan dan Musik disembunyikan</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">\'Tempat unggulan\', bagian Permainan dan Musik ditampilkan</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">\'Tempat menonjol\', \'Permainan\', dan \'Musik\' disembunyikan</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">\'Tempat menonjol\', \'Permainan\', dan \'Musik\' ditampilkan</string>
|
||||
<string name="revanced_hide_chapters_section_title">Sembunyikan bagian Bab</string>
|
||||
<string name="revanced_hide_chapters_section_summary_on">Bagian Bab sudah disembunyikan</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">Bagian Bab sudah ditampilkan</string>
|
||||
<string name="revanced_hide_podcast_section_title">Sembunyikan bagian \'Jelajahi podcast\'</string>
|
||||
<string name="revanced_hide_podcast_section_summary_on">Bagian \'Jelajahi podcast\' sudah disembunyikan</string>
|
||||
<string name="revanced_hide_podcast_section_summary_on">Bagian \'Jelajahi podcast\' disembunyikan</string>
|
||||
<string name="revanced_hide_podcast_section_summary_off">Bagian \'Jelajahi podcast\' ditampilkan</string>
|
||||
<string name="revanced_hide_info_cards_section_title">Sembunyikan bagian kartu info</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Bagian kartu info sudah disembunyikan</string>
|
||||
<string name="revanced_hide_info_cards_section_title">Sembunyikan kartu info</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">Kartu info sudah disembunyikan</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Bagian kartu info sudah ditampilkan</string>
|
||||
<string name="revanced_hide_transcript_section_title">Sembunyikan bagian transkrip</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Bagian transkrip sudah disembunyikan</string>
|
||||
@@ -223,7 +223,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_custom_filter_summary_off">Penyaring khusus dimatikan</string>
|
||||
<string name="revanced_custom_filter_strings_title">Penyaring khusus</string>
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<string name="revanced_custom_filter_strings_summary">Serangkaian daftar pembangun jalur komponen yang disaring dipisahkan dengan baris baru</string>
|
||||
<string name="revanced_custom_filter_strings_summary">Daftar untaian karakter untuk disaring, dipisah dengan baris baru</string>
|
||||
<string name="revanced_custom_filter_toast_invalid_syntax">Penyaring khusus tidak valid: %s</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">Sembunyikan kata kunci konten</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">Sembunyikan pencarian dan umpan video menggunakan penyaring kata kunci</string>
|
||||
@@ -246,7 +246,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Kata kunci tidak sah: \'%s\'</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_hide_keyword_toast_invalid_length">Kata kunci tidak sah. \'%1$s\' kurang dari %2$d karakter</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Kata kunci \'$s\' akan menyembunyikan semua video</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Kata kunci \'%s\' akan menyembunyikan semua video</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Sembunyikan iklan umum</string>
|
||||
@@ -271,7 +271,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shopping_links_summary_on">Tautan belanja disembunyikan</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Tautan belanja ditampilkan</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Sembunyikan tombol \'Lihat toko\' di laman saluran</string>
|
||||
<string name="revanced_hide_visit_store_button_title">Sembunyikan \'Lihat toko\' di laman saluran</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Tombol disembunyikan</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Tombol ditampilkan</string>
|
||||
<string name="revanced_hide_web_search_results_title">Sembunyikan hasil pencarian web</string>
|
||||
@@ -307,7 +307,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">Hapus dialog peringatan untuk penonton</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">Dialog akan dihapus</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. Hanya menerimanya secara otomatis.</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ini tidak mengabaikan batasan usia. Hanya otomatis menerimanya.</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.DownloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Unduhan eksternal</string>
|
||||
@@ -454,9 +454,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_player_flyout_captions_summary_on">Menu caption disembunyikan</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_off">Menu caption ditampilkan</string>
|
||||
<!-- 'Additional settings' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_additional_settings_title">Sembunyikan Setelan tambahan</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_on">Menu Setelan tambahan disembunyikan</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_off">Menu setelan tambahan ditampilkan</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_title">Sembunyikan P\'aturan tambahan</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_on">Menu p\'aturan tambahan disembunyikan</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_off">Menu p\'aturan tambahan ditampilkan</string>
|
||||
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_loop_video_title">Sembunyikan Ulangi video</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_summary_on">Menu ulangi video disembunyikan</string>
|
||||
@@ -516,7 +516,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_comments_preview_comment_title">Sembunyikan komentar pratinjau</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Komentar pratinjau disembunyikan</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Komentar pratinjau ditampilkan</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Sembunyikan tombol terima kasih</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Sembunyikan \'terima kasih\'</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Tmbl terima kasih disembunyikan</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Tmbl terima kasih ditampilkan</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_title">Sembunyikan timestamp dan tombol emoji</string>
|
||||
@@ -754,38 +754,94 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_enable_create_segment_sum_on">Tombol buat segmen baru ditampilkan</string>
|
||||
<string name="revanced_sb_enable_create_segment_sum_off">Tombol buat segmen baru tidak ditampilkan</string>
|
||||
<string name="revanced_sb_general_adjusting">Sesuaikan langkah segmen baru</string>
|
||||
<string name="revanced_sb_general_adjusting_sum">Jumlah milidetik tombol penyesuaian waktu bergerak saat membuat segmen baru</string>
|
||||
<string name="revanced_sb_general_adjusting_invalid">Nilainya harus berupa angka positif</string>
|
||||
<string name="revanced_sb_guidelines_preference_title">Lihat pedoman</string>
|
||||
<string name="revanced_sb_guidelines_preference_sum">Pedoman berisi aturan dan tips untuk membuat segmen baru</string>
|
||||
<string name="revanced_sb_guidelines_popup_title">Ikuti pedoman</string>
|
||||
<string name="revanced_sb_guidelines_popup_content">Bacalah panduan SponsorBlock sebelum membuat segmen baru</string>
|
||||
<string name="revanced_sb_guidelines_popup_already_read">Sudah dibaca</string>
|
||||
<string name="revanced_sb_guidelines_popup_open">Tunjukkan</string>
|
||||
<string name="revanced_sb_general">Umum</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_title">Tampilkan pesan toast jika API tidak tersedia</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_on">Toast ditampilkan jika SponsorBlock tidak tersedia</string>
|
||||
<string name="revanced_sb_toast_on_connection_error_summary_off">Toast tidak ditampilkan jika SponsorBlock tidak tersedia</string>
|
||||
<string name="revanced_sb_general_skipcount">Nyalakan pelacakan melewati hitungan</string>
|
||||
<string name="revanced_sb_general_skipcount_sum_on">Mengizinkan leaderboard SponsorBlock mengetahui berapa banyak waktu yang diselamatkan. Sebuah pesan dikirim ke leaderboard setiap kali sebuah segmen dilewati</string>
|
||||
<string name="revanced_sb_general_skipcount_sum_off">Pelacakan melewati hitungan tidak dinyalakan</string>
|
||||
<string name="revanced_sb_general_min_duration">Durasi minimum segmen</string>
|
||||
<string name="revanced_sb_general_min_duration_sum">Segmen yang lebih pendek pada dari nilai ini (detik) tidak akan ditampilkan atau dilewati</string>
|
||||
<string name="revanced_sb_general_uuid">ID user pribadi Anda</string>
|
||||
<string name="revanced_sb_general_uuid_sum">Ini harus dijaga kerahasiaannya. Seperti kata sandi dan tidak disarankan untuk dibagikan dengan siapa pun. Jika seseorang mendapatkan ini, mereka dapat menyamar sebagai Anda</string>
|
||||
<string name="revanced_sb_general_uuid_invalid">ID user harus tidak lebih dari 30 karakter</string>
|
||||
<string name="revanced_sb_general_api_url">Ubah URL API</string>
|
||||
<string name="revanced_sb_general_api_url_sum">Alamat yang digunakan SponsorBlock untuk membuat panggilan ke server</string>
|
||||
<string name="revanced_sb_api_url_reset">Reset URL API</string>
|
||||
<string name="revanced_sb_api_url_invalid">URL API tidak valid</string>
|
||||
<string name="revanced_sb_api_url_changed">URL API terubah</string>
|
||||
<string name="revanced_sb_settings_ie">Impor/Ekspor pengaturan</string>
|
||||
<string name="revanced_sb_settings_copy">Salin</string>
|
||||
<string name="revanced_sb_settings_ie_sum">Konfigurasi JSON SponsorBlock Anda yang dapat diimpor/diekspor ke ReVanced dan platform SponsorBlock lainnya</string>
|
||||
<string name="revanced_sb_settings_ie_sum_warning">Konfigurasi JSON SponsorBlock Anda yang dapat diimpor/diekspor ke ReVanced dan platform SponsorBlock lainnya, termasuk ID user Anda. Pastikan untuk membagikannya dengan bijak</string>
|
||||
<string name="revanced_sb_settings_import_successful">Pengaturan berhasil diimpor</string>
|
||||
<string name="revanced_sb_settings_import_failed">Gagal mengimpor: %s</string>
|
||||
<string name="revanced_sb_settings_export_failed">Gagal mengekspor: %s</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning">Setelan Anda berisi ID user SponsorBlock pribadi.\n\nID user Anda seperti sebuah password yang sebaiknya tidak boleh dibagikan.\n</string>
|
||||
<string name="revanced_sb_settings_revanced_export_user_id_warning_dismiss">Jangan tampilkan lagi</string>
|
||||
<string name="revanced_sb_diff_segments">Ubah perilaku segmen</string>
|
||||
<string name="revanced_sb_segments_sponsor">Sponsor</string>
|
||||
<string name="revanced_sb_segments_sponsor_sum">Promosi dibayar, tautan dibayar dan iklan langsung. Tidak untuk promosi diri sendiri atau dukungan gratis untuk gerakan/kreator/website/produk yang mereka suka</string>
|
||||
<string name="revanced_sb_segments_selfpromo">Tidak Dibayar/Promosi Diri Sendiri</string>
|
||||
<string name="revanced_sb_segments_selfpromo_sum">Serupa dengan \'sponsor\' namun untuk yang tidak bebayar atau promosi diri. Ini termasuk bagian tentang merchandise, donasi, atau informasi mengenai mitra kolaborasi</string>
|
||||
<string name="revanced_sb_segments_interaction">Pengingat Interaksi (Berlangganan)</string>
|
||||
<string name="revanced_sb_segments_interaction_sum">Pengingat singkat untuk like, subscribe, atau follow di tengah konten. Jika pengingat berdurasi panjang atau mengenai sesuatu yang spesifik, sebaiknya termasuk kategori promosi diri</string>
|
||||
<string name="revanced_sb_segments_highlight">Sorotan</string>
|
||||
<string name="revanced_sb_segments_highlight_sum">Bagian video yang paling dilihat oleh orang</string>
|
||||
<string name="revanced_sb_segments_intro">Jeda/Animasi Intro</string>
|
||||
<string name="revanced_sb_segments_intro_sum">Bagian video yang bukan konten. Bisa saja pause, frame statis, atau animasi yang diulang-ulang. Tidak termasuk transisi yang mengandung informasi</string>
|
||||
<string name="revanced_sb_segments_outro">Kartu Akhir/Kredit</string>
|
||||
<string name="revanced_sb_segments_outro_sum">Kredit atau ketika layar akhir YouTube muncul. Bukan kesimpulan dengan informasi</string>
|
||||
<string name="revanced_sb_segments_preview">Pratinjau/Rekap/Pengait</string>
|
||||
<string name="revanced_sb_segments_preview_sum">Koleksi klip yang menunjukkan apa yang akan terjadi di video atau di video lain pada series yang dama, di mana informasi diulang di video lain</string>
|
||||
<string name="revanced_sb_segments_filler">Pengisi Tidak Relevan/Lelucon</string>
|
||||
<string name="revanced_sb_segments_filler_sum">Adegan berbelit-belit yang ditambahkan hanya sebagai filler atau candaan yang tidak diperlukan untuk memahami isi utama video. Tidak termasuk bagian yang mengandung konteks atau detail latar belakang</string>
|
||||
<string name="revanced_sb_segments_nomusic">Musik: Bagian Non-Musik</string>
|
||||
<string name="revanced_sb_segments_nomusic_sum">Hanya untuk digunakan pada video musik. Bagian video musik tanpa musiknya yang belum termasuk pada kategori lain</string>
|
||||
<string name="revanced_sb_skip_button_compact">Lewati</string>
|
||||
<string name="revanced_sb_skip_button_compact_highlight">Sorotan</string>
|
||||
<string name="revanced_sb_skip_button_sponsor">Lewati sponsor</string>
|
||||
<string name="revanced_sb_skip_button_selfpromo">Lewati promo</string>
|
||||
<string name="revanced_sb_skip_button_interaction">Lewati interaksi</string>
|
||||
<string name="revanced_sb_skip_button_highlight">Lewati ke sorotan</string>
|
||||
<string name="revanced_sb_skip_button_intro_beginning">Lewati intro</string>
|
||||
<string name="revanced_sb_skip_button_intro_middle">Lewati jeda</string>
|
||||
<string name="revanced_sb_skip_button_intro_end">Lewati jeda</string>
|
||||
<string name="revanced_sb_skip_button_outro">Lewati outro</string>
|
||||
<string name="revanced_sb_skip_button_preview_beginning">Lewati preview</string>
|
||||
<string name="revanced_sb_skip_button_preview_middle">Lewati preview</string>
|
||||
<string name="revanced_sb_skip_button_preview_end">Lewati rekap</string>
|
||||
<string name="revanced_sb_skip_button_filler">Lewati filler</string>
|
||||
<string name="revanced_sb_skip_button_nomusic">Lewati non-musik</string>
|
||||
<string name="revanced_sb_skip_button_unsubmitted">Lewati segmen</string>
|
||||
<string name="revanced_sb_skipped_sponsor">Sponsor dilewati</string>
|
||||
<string name="revanced_sb_skipped_selfpromo">Promosi diri sendiri dilewati</string>
|
||||
<string name="revanced_sb_skipped_interaction">Pengingat mengganggu dilewati</string>
|
||||
<string name="revanced_sb_skipped_highlight">Dilewati ke sorotan</string>
|
||||
<string name="revanced_sb_skipped_intro_beginning">Intro dilewati</string>
|
||||
<string name="revanced_sb_skipped_intro_middle">Jeda dilewati</string>
|
||||
<string name="revanced_sb_skipped_intro_end">Jeda dilewati</string>
|
||||
<string name="revanced_sb_skipped_outro">Outro dilewati</string>
|
||||
<string name="revanced_sb_skipped_preview_beginning">Pratinjau dilewati</string>
|
||||
<string name="revanced_sb_skipped_preview_middle">Pratinjau dilewati</string>
|
||||
<string name="revanced_sb_skipped_preview_end">Rekap dilewati</string>
|
||||
<string name="revanced_sb_skipped_filler">Pengisi dilewati</string>
|
||||
<string name="revanced_sb_skipped_nomusic">Keheningan dilewati</string>
|
||||
<string name="revanced_sb_skipped_unsubmitted">Melewati segmen yang belum dikirim</string>
|
||||
<string name="revanced_sb_skipped_multiple_segments">Beberapa segmen dilewati</string>
|
||||
<string name="revanced_sb_skip_automatically">Lewati otomatis</string>
|
||||
<string name="revanced_sb_skip_automatically_once">Lewati otomatis sekali</string>
|
||||
<string name="revanced_sb_skip_showbutton">Tampilkan tombol lewati</string>
|
||||
<string name="revanced_sb_skip_seekbaronly">Tampilkan di seekbar</string>
|
||||
<string name="revanced_sb_skip_ignore">Nonaktifkan</string>
|
||||
<string name="revanced_sb_submit_failed_invalid">Tak dapat mengirim segmen: %s</string>
|
||||
<string name="revanced_sb_submit_failed_timeout">SponsorBlock sementara anjlok</string>
|
||||
@@ -795,6 +851,12 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_submit_failed_duplicate">Tidak dapat mengirim segmen.\nSudah ada</string>
|
||||
<string name="revanced_sb_submit_succeeded">Segmen berhasil terkirim</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 sementara tidak tersedia (API timed out).</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlock sementara tidak tersedia (status %d)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_generic">SponsorBlock sementara tidak tersedia</string>
|
||||
<string name="revanced_sb_vote_failed_timeout">Tidak dapat memilih segmen (API timed out)</string>
|
||||
<string name="revanced_sb_vote_failed_unknown_error">Tidak dapat memilih segmen (status: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_vote_failed_forbidden">Tidak dapat memilih segmen: %s</string>
|
||||
<string name="revanced_sb_vote_upvote">Suka</string>
|
||||
<string name="revanced_sb_vote_downvote">Tidak suka</string>
|
||||
<string name="revanced_sb_vote_category">Ubah kategori</string>
|
||||
@@ -802,9 +864,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_choose_category">Pilih kategori segmen</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">Kategori dinonaktifkan di pengaturan. Aktifkan untuk kirim.</string>
|
||||
<string name="revanced_sb_new_segment_title">Segmen SponsorBlock Baru</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Atur %1$02d:%2$02d:%3$03d sebagai awal dan akhir dari segmen?</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Tetapkan %s sebagai awal atau akhir segmen baru?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">awal</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">akhir</string>
|
||||
<string name="revanced_sb_new_segment_now">sekarang</string>
|
||||
@@ -814,35 +874,75 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_confirm_content">Segmen dari\n\n%1$s\nke\n%2$s\n\n(%3$s)\n\nSiap dikirim?</string>
|
||||
<string name="revanced_sb_new_segment_start_is_before_end">Awal harus sebelum akhir</string>
|
||||
<string name="revanced_sb_new_segment_mark_locations_first">Tandai terlebih dahulu dua lokasi di kotak waktu</string>
|
||||
<string name="revanced_sb_new_segment_preview_segment_first">Pratinjau segmen, dan memastikan segmen dilewati dengan lancar</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_title">Atur pengaturan tempo segmen secara manual</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">Apakah Anda ingin mengubah tempo untuk awal atau akhir dari segmen?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">Waktu yang diberikan tidak valid</string>
|
||||
<string name="revanced_sb_stats">Statistik</string>
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_connection_failure">Data sementara tidak tersedia (API is down)</string>
|
||||
<string name="revanced_sb_stats_loading">Memuat...</string>
|
||||
<string name="revanced_sb_stats_sb_disabled">SponsorBlock dinonaktifkan</string>
|
||||
<string name="revanced_sb_stats_username">Username Anda: <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_username_change">Tekan di sini untuk mengubah username Anda</string>
|
||||
<string name="revanced_sb_stats_username_change_unknown_error">Tidak dapat mengubah nama pengguna: Status: %1$d %2$s</string>
|
||||
<string name="revanced_sb_stats_username_changed">Nama pengguna berhasil diubah</string>
|
||||
<string name="revanced_sb_stats_reputation">Reputasi Anda: <b>%.2f</b></string>
|
||||
<string name="revanced_sb_stats_submissions">Anda telah membuat segmen <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_saved_zero">Papan peringkat SponsorBlock</string>
|
||||
<string name="revanced_sb_stats_saved">Anda menghindarkan orang dari segmen <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_saved_sum_zero">Tekan di sini untuk melihat data global dan kontributor utama</string>
|
||||
<string name="revanced_sb_stats_saved_sum">Itu <b>%s</b> dari hidup mereka.<br>Tekan di sini untuk melihat papan peringkat</string>
|
||||
<string name="revanced_sb_stats_self_saved">Anda melewati <b>%s</b> segmen</string>
|
||||
<string name="revanced_sb_stats_self_saved_sum">Itu <b>%s</b></string>
|
||||
<string name="revanced_sb_stats_self_saved_reset_title">Reset perhitungan segmen terlewat?</string>
|
||||
<string name="revanced_sb_stats_saved_hour_format">%1$s jam %2$s menit</string>
|
||||
<string name="revanced_sb_stats_saved_minute_format">%1$s menit %2$s detik</string>
|
||||
<string name="revanced_sb_stats_saved_second_format">%s detik</string>
|
||||
<string name="revanced_sb_color_dot_label">Warna:</string>
|
||||
<string name="revanced_sb_color_changed">Warna terubah</string>
|
||||
<string name="revanced_sb_color_reset">Reset warna</string>
|
||||
<string name="revanced_sb_color_invalid">Kode warna tidak valid</string>
|
||||
<string name="revanced_sb_reset_color">Reset warna</string>
|
||||
<string name="revanced_sb_reset">Setel ulang</string>
|
||||
<string name="revanced_sb_about">Tentang</string>
|
||||
<string name="revanced_sb_about_api_sum">Data yang disediakan API SponsorBlock. Tekan di sini untuk mempelajari lebih lanjut dan melihat hasil download untuk platform lain</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<string name="revanced_spoof_app_version_user_dialog_message">Versi aplikasi akan dipalsukan ke versi YouTube yang lebih lama.\n\nIni akan mengubah tampilan dan fitur aplikasi, namun efek samping yang tidak diketahui mungkin terjadi.\n\nJika nanti dinonaktifkan, disarankan untuk menghapus data aplikasi untuk mencegah kesalahan UI.</string>
|
||||
<string name="revanced_spoof_app_version_title">Palsukan versi app</string>
|
||||
<string name="revanced_spoof_app_version_summary_on">Versi yang dipalsukan</string>
|
||||
<string name="revanced_spoof_app_version_summary_off">Versi asli</string>
|
||||
<string name="revanced_spoof_app_version_user_dialog_message">Versi aplikasi akan dipalsukan ke versi lama YouTube.\n\nIni akan mengubah tampilan dan fitur aplikasi, tapi mungkin terjadi efek samping tidak diketahui.\n\nJika nanti dinonaktifkan, disarankan menghapus data aplikasi agar UI tidak kacau.</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||
<string name="revanced_spoof_app_version_target_title">Target versi app yang dipalsukan</string>
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
<string name="revanced_spoof_app_version_target_entry_1">18.33.40 - Kembalikan RYD pada mode incognito Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">18.20.39 - Pulihkan menu kecepatan & kualitas video lebar</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_3">18.09.39 - Pulihkan tab perpustakaan</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_4">17.41.37 - Pulihkan rak daftar putar lama</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_5">17.33.42 - Mengembalikan tata letak UI lama</string>
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_title">Tetapkan halaman awal</string>
|
||||
<string name="revanced_start_page_entry_0">Bawaan</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_start_page_entry_1">Beranda</string>
|
||||
<string name="revanced_start_page_entry_2">Pencarian</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the subscriptions tab. -->
|
||||
<string name="revanced_start_page_entry_3">Langganan</string>
|
||||
<string name="revanced_start_page_entry_4">Jelajahi</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
<string name="revanced_start_page_entry_6">Tab Anda</string>
|
||||
<string name="revanced_start_page_entry_7">Video yang disukai</string>
|
||||
<!-- 'History' should be translated using the same localized wording YouTube displays for the 'history' section in the 'You' tab. -->
|
||||
<string name="revanced_start_page_entry_8">Riwayat</string>
|
||||
<string name="revanced_start_page_entry_9">Sedang tren</string>
|
||||
</patch>
|
||||
<patch id="layout.startupshortsreset.DisableResumingShortsOnStartupPatch">
|
||||
<string name="revanced_disable_resuming_shorts_player_title">Matikan melanjutkan pemutar video Shorts</string>
|
||||
</patch>
|
||||
<patch id="layout.tablet.EnableTabletLayoutPatch">
|
||||
</patch>
|
||||
@@ -861,6 +961,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Abaikan batasan daerah gambar</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Menggunakan sumber yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Menggunakan sumber gambar asli\n\nMengaktifkan ini akan memperbaiki gambar hilang di daerah tertentu</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -880,6 +985,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.gms.GmsCoreSupportResourcePatch">
|
||||
</patch>
|
||||
<patch id="misc.links.BypassURLRedirectsPatch">
|
||||
<string name="revanced_bypass_url_redirects_title">Abaikan pengalihan URL</string>
|
||||
<string name="revanced_bypass_url_redirects_summary_on">Pengalihan URL diabaikan</string>
|
||||
<string name="revanced_bypass_url_redirects_summary_off">Pengalihan URL tidak diabaikan</string>
|
||||
</patch>
|
||||
<patch id="misc.links.OpenLinksExternallyPatch">
|
||||
</patch>
|
||||
@@ -888,6 +996,15 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.zoomhaptics.ZoomHapticsPatch">
|
||||
</patch>
|
||||
<patch id="video.quality.RememberVideoQualityPatch">
|
||||
<string name="revanced_video_quality_default_entry_1">Mutu video otomatis</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_title">Ingat perubahan mutu video</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_on">Perubahan mutu diatur ke semua video</string>
|
||||
<string name="revanced_remember_video_quality_last_selected_summary_off">Perubahan mutu hanya diatur di video saat ini</string>
|
||||
<string name="revanced_video_quality_default_wifi_title">Mutu video ke bawaan di jejaring Wi-Fi</string>
|
||||
<string name="revanced_video_quality_default_mobile_title">Mutu video ke bawaan di jejaring seluler</string>
|
||||
<string name="revanced_remember_video_quality_mobile">seluler</string>
|
||||
<string name="revanced_remember_video_quality_wifi">wifi</string>
|
||||
<string name="revanced_remember_video_quality_toast">Mutu bawaan %1$s diubah ke: %2$s</string>
|
||||
</patch>
|
||||
<patch id="video.speed.button.PlaybackSpeedButtonPatch">
|
||||
<string name="revanced_playback_speed_dialog_button_summary_on">Tombol ditampilkan</string>
|
||||
@@ -898,6 +1015,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="video.speed.remember.RememberPlaybackSpeedPatch">
|
||||
</patch>
|
||||
<patch id="video.videoqualitymenu.RestoreOldVideoQualityMenuResourcePatch">
|
||||
<string name="revanced_restore_old_video_quality_menu_title">Pulihkan menu lawas mutu video</string>
|
||||
<string name="revanced_restore_old_video_quality_menu_summary_on">Menu lawas mutu video ditampilkan</string>
|
||||
<string name="revanced_restore_old_video_quality_menu_summary_off">Menu lawas mutu video tidak ditampilkan</string>
|
||||
</patch>
|
||||
<patch id="interaction.seekbar.EnableSlideToSeekPatch">
|
||||
</patch>
|
||||
|
||||
@@ -33,7 +33,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="misc.settings.BaseSettingsResourcePatch">
|
||||
<string name="revanced_settings_reset">Endurstilla</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
@@ -43,10 +42,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
</patch>
|
||||
<patch id="misc.settings.SettingsPatch">
|
||||
<string name="revanced_settings_screen_00_about_title">Um</string>
|
||||
</patch>
|
||||
<patch id="misc.debugging.DebuggingPatch">
|
||||
<string name="revanced_debug_screen_title">Villuleit</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.general.HideLayoutComponentsPatch">
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
@@ -165,7 +162,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<!-- Translations should use language similar to 'revanced_sb_enable_compact_skip_button' -->
|
||||
<string name="revanced_ryd_about">Um</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
</patch>
|
||||
<patch id="layout.searchbar.WideSearchbarPatch">
|
||||
@@ -173,17 +169,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.seekbar.RestoreOldSeekbarThumbnailsPatch">
|
||||
</patch>
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<string name="revanced_sb_appearance_category">Útlit</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_loading">Er að halda...</string>
|
||||
<string name="revanced_sb_reset">Endurstilla</string>
|
||||
<string name="revanced_sb_about">Um</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.SpoofAppVersionPatch">
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
@@ -191,7 +181,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- 'RYD' is 'Return YouTube Dislike' -->
|
||||
</patch>
|
||||
<patch id="layout.startpage.ChangeStartPagePatch">
|
||||
<string name="revanced_start_page_entry_0">Sjálfgefinn</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the subscriptions tab. -->
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (library) tab. -->
|
||||
@@ -207,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -214,7 +205,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<!-- Translations of this should not be longer than the original English text, otherwise the text can be clipped and not entirely shown. -->
|
||||
</patch>
|
||||
<patch id="misc.announcements.AnnouncementsPatch">
|
||||
<string name="revanced_announcements_dialog_dismiss">Loka</string>
|
||||
</patch>
|
||||
<patch id="misc.autorepeat.AutoRepeatPatch">
|
||||
</patch>
|
||||
@@ -255,7 +245,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="ad.audio.AudioAdsPatch">
|
||||
</patch>
|
||||
<patch id="ad.embedded.EmbeddedAdsPatch">
|
||||
<string name="revanced_block_embedded_ads_entry_1">Óvirkt</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
</patch>
|
||||
|
||||
@@ -39,7 +39,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_restart">Riavvia</string>
|
||||
<string name="revanced_settings_import">Importa</string>
|
||||
<string name="revanced_settings_import_copy">Copia</string>
|
||||
<string name="revanced_settings_import_reset">Impostazioni avanzate reimpostate a quelle predefinite</string>
|
||||
<string name="revanced_settings_import_reset">Reimposta le impostazioni di ReVanced a quelle di default</string>
|
||||
<string name="revanced_settings_import_success">Importate %d impostazioni</string>
|
||||
<string name="revanced_settings_import_failure_parse">Importazione fallita: %s</string>
|
||||
</patch>
|
||||
@@ -55,7 +55,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</app>
|
||||
<app id="youtube">
|
||||
<patch id="misc.settings.SettingsResourcePatch">
|
||||
<string name="revanced_settings_about_links_body">Stai usando la versione <i>%s</i> delle patch migliorate</string>
|
||||
<string name="revanced_settings_about_links_body">Stai usando la versione <i>%s</i> di ReVanced Patches</string>
|
||||
<string name="revanced_settings_about_links_dev_header">Nota</string>
|
||||
<string name="revanced_settings_about_links_dev_body">Questa versione è una pre-release e potresti riscontrare problemi inaspettati</string>
|
||||
<string name="revanced_settings_about_links_header">Link ufficiali</string>
|
||||
@@ -102,7 +102,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_channel_watermark_summary_on">Filigrana nascosta</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">Filigrana visibile</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">Nascondi scaffali orizzontali</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">I ripiani sono nascosti come:\n• Rompi notizie\n• Continua a guardare\n• Esplora altri canali\n• Shopping\n• Guarda di nuovo</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_on">Le sezioni sono nascoste possono essere:\n• Ultime notizie\n• Continua a guardare\n• Esplora altri canali\n• Shopping\n• Guarda di nuovo</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">I ripiani sono mostrati</string>
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
@@ -131,7 +131,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Reazioni a tempo nascoste</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Reazioni a tempo visibili</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">Nascondi intestazione delle entrate dei risultati di ricerca</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">Intestazioni visibili</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">Le intestazioni sono nascoste</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">Intestazioni visibili</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">Nascondi linee guida del canale</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">Linee guida del canale nascoste</string>
|
||||
@@ -175,7 +175,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_channel_bar_title">Nascondi barra del canale</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">Barra del canale nascosta</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">Barra del canale visibile</string>
|
||||
<string name="revanced_hide_playables_title">Nascondi Playables</string>
|
||||
<string name="revanced_hide_playables_title">Nascondi Sala Giochi</string>
|
||||
<string name="revanced_hide_playables_summary_on">I riproducibili sono nascosti</string>
|
||||
<string name="revanced_hide_playables_summary_off">I riproducibili sono mostrati</string>
|
||||
<string name="revanced_hide_quick_actions_title">Nascondi azioni rapide in schermo interno</string>
|
||||
@@ -200,18 +200,21 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_chips_shelf_summary_on">Lo scaffale di chip è nascosto</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">Lo scaffale delle fiches è mostrato</string>
|
||||
<string name="revanced_hide_attributes_section_title">Nascondi la sezione attributi</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">\'Luoghi in evidenza\', Le sezioni Giochi e Musica sono nascoste</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">\'Luoghi in evidenza\', Le sezioni Giochi e Musica sono mostrate</string>
|
||||
<string name="revanced_hide_chapters_section_title">Nascondi sezione Capitoli</string>
|
||||
<string name="revanced_hide_chapters_section_summary_on">La sezione capitoli è nascosta</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">La sezione dei capitoli è mostrata</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono nascoste</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Le sezioni \'Luoghi in evidenza\', Giochi e Musica sono visibili</string>
|
||||
<string name="revanced_hide_chapters_section_title">Nascondi la sezione Capitoli</string>
|
||||
<string name="revanced_hide_chapters_section_summary_on">La sezione Capitoli è nascosta</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">La sezione Capitoli è visibile</string>
|
||||
<string name="revanced_hide_podcast_section_title">Nascondi la sezione \'Esplora il podcast\'</string>
|
||||
<string name="revanced_hide_podcast_section_summary_on">La sezione \'Esplora il podcast\' è nascosta</string>
|
||||
<string name="revanced_hide_podcast_section_summary_off">La sezione \'Esplora il podcast\' è mostrata</string>
|
||||
<string name="revanced_hide_podcast_section_summary_off">La sezione \'Esplora il podcast\' è visibile</string>
|
||||
<string name="revanced_hide_info_cards_section_title">Nascondi sezione schede info</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_on">La sezione delle schede informative è nascosta</string>
|
||||
<string name="revanced_hide_info_cards_section_summary_off">La sezione delle schede informative è mostrata</string>
|
||||
<string name="revanced_hide_transcript_section_title">Nascondi sezione Trascrizione</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Nascondi la sezione \'Concetti chiave\'</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">La sezione \'Concetti chiave\' è nascosta</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">La sezione \'Concetti chiave\' è visibile</string>
|
||||
<string name="revanced_hide_transcript_section_title">Nascondi la sezione Trascrizione</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">La sezione della trascrizione è nascosta</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">La sezione della trascrizione è mostrata</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Descrizione video</string>
|
||||
@@ -246,7 +249,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_toast_invalid_common">Parola chiave non valida. Impossibile utilizzare: \'%s\' come filtro</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_hide_keyword_toast_invalid_length">Parola chiave non valida. \'%1$s\' è minore di %2$d caratteri</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">Parola chiave \'$s\' nasconderà tutti i video</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">La parola chiave \'%s\' nasconderà tutti i video</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">Nascondi gli annunci generali</string>
|
||||
@@ -272,8 +275,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shopping_links_summary_off">I collegamenti commerciali sono mostrati</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Nascondi il pulsante \'Visita negozio\' nelle pagine del canale</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Il bottone è nascosto</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Il bottone è visibile</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Il pulsante è nascosto</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Il pulsante è visibile</string>
|
||||
<string name="revanced_hide_web_search_results_title">Nascondi i risultati della ricerca web</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">I risultati della ricerca web sono nascosti</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">I risultati della ricerca web sono mostrati</string>
|
||||
@@ -350,8 +353,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Salva e ripristina la luminosità quando esci o entra a schermo intero</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Non salvare e ripristinare la luminosità quando si esce o si entra a schermo intero</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Abilita gesto di luminosità automatica</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Scorri verso il basso fino al valore più basso del gesto luminosità abilita la luminosità automatica</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Scorrendo verso il basso il valore più basso non abilita la luminosità automatica</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Scorri verso il basso fino al valore più basso del gesto luminosità per abilitare la luminosità automatica</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Scorrendo verso il basso, il valore più basso non abilita la luminosità automatica</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatico</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">Timeout sovrapposizione swipe</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">La quantità di millisecondi la sovrapposizione è visibile</string>
|
||||
@@ -440,11 +443,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_subscriptions_button_summary_off">Il pulsante di sottoscrizioni è mostrato</string>
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_switch_create_with_notifications_button_title">Cambia Crea con le notifiche</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Il pulsante Crea è cambiato con il pulsante Notifiche\n\nNota: Abilitando anche questo nasconde con la forza gli annunci video</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Il pulsante Crea viene scambiato con il pulsante Notifiche\n\nNota: Abilitando questo nasconde anche gli annunci video</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">Il pulsante Crea non è cambiato con il pulsante Notifiche</string>
|
||||
<string name="revanced_hide_navigation_button_labels_title">Nascondi etichette dei pulsanti di navigazione</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">Le etichette sono nascoste</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">Le etichette sono mostrate</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">Le etichette sono visibili</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.player.flyoutmenupanel.HidePlayerFlyoutMenuPatch">
|
||||
<string name="revanced_hide_player_flyout_title">Flyout menu</string>
|
||||
@@ -510,9 +513,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_comments_section_title">Nascondi sezione commenti</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">La sezione commenti è nascosta</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">La sezione Commenti è mostrata</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Nascondi il pulsante \'Crea un corto\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Il pulsante \'Crea una corta\' è nascosto</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Il pulsante \'Crea un corto\' è mostrato</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Nascondi il pulsante \'Crea un Short\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Il pulsante \'Crea uno Short\' è nascosto</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Il pulsante \'Crea uno Short\' è visibile</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Nascondi commento anteprima</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Il commento nell\'anteprima è nascosto</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Anteprima commento mostrata</string>
|
||||
@@ -521,7 +524,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Il pulsante di ringraziamento è mostrato</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_title">Nascondi i pulsanti timestamp ed emoji</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_on">I pulsanti Timestamp ed emoji sono nascosti</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_off">Vengono mostrati i pulsanti Timestamp ed emoji</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_off">I pulsanti Timestamp ed emoji sono visibili</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.crowdfundingbox.CrowdfundingBoxResourcePatch">
|
||||
<string name="revanced_hide_crowdfunding_box_title">Nascondi box crowdfunding</string>
|
||||
@@ -576,7 +579,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.hide.shorts.HideShortsComponentsResourcePatch">
|
||||
<!-- 'home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Nascondi Pantaloncini nel feed home</string>
|
||||
<string name="revanced_hide_shorts_home_title">Nascondi Shorts nella scheda Home</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Pantaloncini nel feed domestico sono nascosti</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Vengono mostrati i pantaloncini in home feed</string>
|
||||
<!-- 'subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
@@ -602,7 +605,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Il pulsante del negozio è mostrato</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_title">Nascondi il pulsante super grazie</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_on">Il pulsante super grazie è nascosto</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Il pulsante di ringraziamento eccellente è mostrato</string>
|
||||
<string name="revanced_hide_shorts_super_thanks_button_summary_off">Il pulsante super grazie è visibile</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_title">Nascondi prodotti taggati</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_on">Prodotti etichettati sono nascosti</string>
|
||||
<string name="revanced_hide_shorts_tagged_products_summary_off">Prodotti etichettati sono mostrati</string>
|
||||
@@ -638,7 +641,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_shorts_channel_bar_title">Nascondi barra del canale</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_on">Barra del canale nascosta</string>
|
||||
<string name="revanced_hide_shorts_channel_bar_summary_off">Barra del canale visibile</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Nascondi titolo video</string>
|
||||
<string name="revanced_hide_shorts_video_title_title">Nascondi il titolo del video</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_on">Il titolo è nascosto</string>
|
||||
<string name="revanced_hide_shorts_video_title_summary_off">Il titolo è mostrato</string>
|
||||
<string name="revanced_hide_shorts_sound_metadata_label_title">Nascondi etichetta dei metadati sonori</string>
|
||||
@@ -672,7 +675,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.player.overlay.CustomPlayerOverlayOpacityResourcePatch">
|
||||
<string name="revanced_player_overlay_opacity_title">Opacità sovrapposizione del giocatore</string>
|
||||
<string name="revanced_player_overlay_opacity_summary">Valore di opacità tra 0-100, dove 0 è trasparente</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">L\'opacità della sovrapposizione del giocatore deve essere compresa tra 0-100</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">L\'opacità della sovrapposizione del lettore deve essere compresa tra 0-100</string>
|
||||
</patch>
|
||||
<patch id="layout.returnyoutubedislike.ReturnYouTubeDislikeResourcePatch">
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Nascosto</string>
|
||||
@@ -687,7 +690,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_ryd_enable_summary_off">Non sono mostrati i dislikes</string>
|
||||
<string name="revanced_ryd_shorts_title">Mostra i dislikes su Shorts</string>
|
||||
<string name="revanced_ryd_shorts_summary_on">Dislikes visualizzati su Shorts</string>
|
||||
<string name="revanced_ryd_shorts_summary_on_disclaimer">Dislikes mostrati su Shorts\n\nLimitazione: I dislikes potrebbero non apparire in modalità incognito</string>
|
||||
<string name="revanced_ryd_shorts_summary_on_disclaimer">I non mi piace sono visibili su Shorts\n\nLimitazione: I non mi piace potrebbero non apparire in modalità incognito</string>
|
||||
<string name="revanced_ryd_shorts_summary_off">Non piace nascosto su Shorts</string>
|
||||
<string name="revanced_ryd_dislike_percentage_title">Non piace come percentuale</string>
|
||||
<string name="revanced_ryd_dislike_percentage_summary_on">Dislikes mostrati come percentuale</string>
|
||||
@@ -861,12 +864,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_vote_downvote">Non mi piace</string>
|
||||
<string name="revanced_sb_vote_category">Modifica categoria</string>
|
||||
<string name="revanced_sb_vote_no_segments">Non ci sono segmenti per i quali votare</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Seleziona la categoria della sezione</string>
|
||||
<string name="revanced_sb_new_segment_choose_category">Scegli la categoria del segmento</string>
|
||||
<string name="revanced_sb_new_segment_disabled_category">La categoria è disabilitata nelle impostazioni. Abilita la categoria da inviare.</string>
|
||||
<string name="revanced_sb_new_segment_title">Nuova sezione di SponsorBlock</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Impostare %1$02d:%2$02d:%3$03d come inizio o fine di un nuovo segmento?</string>
|
||||
<string name="revanced_sb_new_segment_title">Nuovo segmento di SponsorBlock</string>
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">Impostare %s come inizio o fine di un nuovo segmento?</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">inizio</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">fine</string>
|
||||
<string name="revanced_sb_new_segment_now">ora</string>
|
||||
@@ -875,13 +876,13 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_confirm_title">I valori sono corretti?</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_confirm_content">Il segmento è da\n\n%1$s\na\n%2$s\n\n(%3$s)\n\nPronto per l\'invio?</string>
|
||||
<string name="revanced_sb_new_segment_confirm_content">Il segmento parte da\n\n%1$s\na\n%2$s\n\n(%3$s)\n\nPronto per l\'invio?</string>
|
||||
<string name="revanced_sb_new_segment_start_is_before_end">L\'inizio deve essere prima della fine</string>
|
||||
<string name="revanced_sb_new_segment_mark_locations_first">Segna prima due posizioni sulla barra di avanzamento</string>
|
||||
<string name="revanced_sb_new_segment_preview_segment_first">Anteprima del segmento e assicurarsi che salti senza problemi</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_title">Modifica manualmente i tempi del segmento</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">Vuoi modificare il timer di l\'inizio o la fine della sezione?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">Minutaggio fornito invalido</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_content">Vuoi modificare il tempo di l\'inizio o la fine del segmento?</string>
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">Minutaggio fornito non valido</string>
|
||||
<string name="revanced_sb_stats">Statistiche</string>
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_connection_failure">Statistiche temporaneamente non disponibili (API è giù)</string>
|
||||
@@ -956,7 +957,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.miniplayer.MiniplayerPatch">
|
||||
<string name="revanced_miniplayer_screen_title">Miniplayer</string>
|
||||
<string name="revanced_miniplayer_screen_summary">Cambia lo stile del giocatore minimizzato nell\'app</string>
|
||||
<string name="revanced_miniplayer_screen_summary">Cambia lo stile del miniplayer nell\'app</string>
|
||||
<string name="revanced_miniplayer_type_title">Tipo di Miniplayer</string>
|
||||
<string name="revanced_miniplayer_type_entry_1">Originale</string>
|
||||
<string name="revanced_miniplayer_type_entry_2">Telefono</string>
|
||||
@@ -966,14 +967,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_type_entry_6">Moderno 3</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_title">Nascondi i pulsanti espandi e chiudi</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">I pulsanti sono nascosti\n(fai scorrere il miniplayer per espandere o chiudere)</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">Espandi e chiudi i pulsanti sono mostrati</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">I pulsanti Espandi e chiudi sono visibili</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">Nascondi sottotitoli</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">I sottotitoli sono nascosti</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">I sottotitoli sono mostrati</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_off">I sottotitoli sono visibili</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_title">Nascondi i pulsanti salta avanti e indietro</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">Salta avanti e indietro sono nascosti</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Salta avanti e indietro sono mostrati</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Overlay opacity</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">Salta avanti e indietro sono visibili</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Opacità di sovrapposizione</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">Valore di opacità tra 0-100, dove 0 è trasparente</string>
|
||||
<string name="revanced_miniplayer_opacity_invalid_toast">L\'opacità della sovrapposizione Miniplayer deve essere compresa tra 0-100</string>
|
||||
</patch>
|
||||
@@ -990,6 +991,11 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">Il colore della barra di ricerca</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">Valore colore seekbar non valido. Usare il valore predefinito.</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">Bypass restrizioni regione immagine</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">Uso host immagine yt4.ggpht.com</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_off">Usando l\'host immagine originale\n\nAbilitando questo si possono correggere le immagini mancanti bloccate in alcune regioni</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Scheda home</string>
|
||||
@@ -1037,9 +1043,9 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="misc.dimensions.spoof.SpoofDeviceDimensionsPatch">
|
||||
<string name="revanced_spoof_device_dimensions_title">Dimensioni del dispositivo</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_on">Dimensioni del dispositivo spoofed\n\nLe qualità video più elevate potrebbero essere sbloccate, ma si può sperimentare la riproduzione di video balbuziere, peggiore durata della batteria e effetti collaterali sconosciuti</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_off">Dimensioni dispositivo non spoofed\n\nAbilitare questo può sbloccare qualità video superiori</string>
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">Abilitando questo può causare la riproduzione di video balbuziere, peggiore durata della batteria e effetti collaterali sconosciuti.</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_on">Dimensioni del dispositivo simulate\n\nLe qualità video più elevate potrebbero essere sbloccate, ma si possono verificare stuttering nella riproduzione video, peggiore durata della batteria ed effetti collaterali sconosciuti</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_off">Dimensioni dispositivo non simulate\n\nAbilitare questo può sbloccare qualità video superiori</string>
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">Abilitando questo può causare stuttering nella riproduzione video, peggiore durata della batteria ed effetti collaterali sconosciuti.</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.GmsCoreSupportResourcePatch">
|
||||
<string name="microg_settings_title">Impostazioni GmsCore</string>
|
||||
@@ -1077,7 +1083,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_remember_video_quality_toast">Modificato la qualità predefinita %1$s in: %2$s</string>
|
||||
</patch>
|
||||
<patch id="video.speed.button.PlaybackSpeedButtonPatch">
|
||||
<string name="revanced_playback_speed_dialog_button_title">Mostra pulsante finestra di dialogo velocità</string>
|
||||
<string name="revanced_playback_speed_dialog_button_title">Mostra il pulsante Velocità Video</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_on">Il bottone è visibile</string>
|
||||
<string name="revanced_playback_speed_dialog_button_summary_off">Il pulsante non è mostrato</string>
|
||||
</patch>
|
||||
@@ -1105,15 +1111,15 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_slide_to_seek_summary_off">La diapositiva per cercare non è abilitata</string>
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.SpoofClientPatch">
|
||||
<string name="revanced_spoof_client_screen_title">Spoof client</string>
|
||||
<string name="revanced_spoof_client_screen_summary">Abbandonare il client per evitare problemi di riproduzione</string>
|
||||
<string name="revanced_spoof_client_title">Spoof client</string>
|
||||
<string name="revanced_spoof_client_summary_on">Il client è spoofed</string>
|
||||
<string name="revanced_spoof_client_summary_off">Il client non è spoofed\n\nLa riproduzione video potrebbe non funzionare</string>
|
||||
<string name="revanced_spoof_client_screen_title">Simula client</string>
|
||||
<string name="revanced_spoof_client_screen_summary">Simula il client per prevenire problemi di riproduzione</string>
|
||||
<string name="revanced_spoof_client_title">Simula client</string>
|
||||
<string name="revanced_spoof_client_summary_on">Il client è simulato</string>
|
||||
<string name="revanced_spoof_client_summary_off">Il client non è simulato\n\nLa riproduzione video potrebbe non funzionare</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">Disattivare questa impostazione potrebbe causare problemi di riproduzione video.</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">Spoof client per iOS</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Il client è attualmente spoofed per iOS\n\nGli effetti collaterali includono:\n• Nessun video HDR\n• La cronologia dell\'orologio potrebbe non funzionare\n• Potrebbero mancare qualità video più elevate\n• I flussi dal vivo non possono riprodurre solo l\'audio\n• I flussi dal vivo non sono disponibili su Android 8.0</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Il client è attualmente spoofed per Android VR\n\nGli effetti collaterali includono:\n• Nessun video HDR\n• I video per bambini non riproducono\n• I video in pausa possono riprendere casualmente\n• Bassa qualità Pantaloncini seekbar miniature\n• Il pulsante di azione del download è sempre nascosto\n• Le schede dello schermo finale sono sempre nascoste</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_on">Il client è attualmente spoofed per iOS\n\nGli effetti collaterali includono:\n• video HDR potrebbe non essere disponibile\n• La cronologia degli orologi potrebbe non funzionare</string>
|
||||
<string name="revanced_spoof_client_use_ios_summary_off">Il client è attualmente spoofed per Android VR. Gli effetti collaterali includono:\n• Nessun video HDR\n• I video per bambini non riproducono\n• I video in pausa possono riprendere casualmente\n• Bassa qualità Pantaloncini seekbar miniature\n• Il pulsante di azione per scaricare è nascosto\n• Le schede dello schermo finale sono nascoste</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">Le miniature del client non sono disponibili (timeout API)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">Miniature del client Spoof temporaneamente non disponibili: %s</string>
|
||||
</patch>
|
||||
@@ -1173,7 +1179,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_other_category_title">Altre impostazioni</string>
|
||||
<string name="revanced_client_ads_category_title">Annunci lato client</string>
|
||||
<string name="revanced_surestream_ads_category_title">Pubblicità surestremismo lato server</string>
|
||||
<string name="revanced_twitch_debug_title">Logging di debug</string>
|
||||
<string name="revanced_twitch_debug_title">Log di debug</string>
|
||||
<string name="revanced_twitch_debug_summary_on">I log di debug sono abilitati</string>
|
||||
<string name="revanced_twitch_debug_summary_off">I log di debug sono disabilitati</string>
|
||||
</patch>
|
||||
|
||||
@@ -217,8 +217,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_vote_category">שנה קטגוריה</string>
|
||||
<string name="revanced_sb_vote_no_segments">אין קטעים לבחירה</string>
|
||||
<string name="revanced_sb_new_segment_title">קטע חסות חדש של SponsorBloack</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<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>
|
||||
@@ -260,6 +258,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
@@ -41,7 +41,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_settings_import">インポート</string>
|
||||
<string name="revanced_settings_import_copy">コピー</string>
|
||||
<string name="revanced_settings_import_reset">Revanced設定をデフォルトにリセット</string>
|
||||
<string name="revanced_settings_import_success">%d の設定をインポート</string>
|
||||
<string name="revanced_settings_import_success">%d の設定をインポートしました</string>
|
||||
<string name="revanced_settings_import_failure_parse">インポート失敗: %s</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.BaseGmsCoreSupportResourcePatch">
|
||||
@@ -51,7 +51,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">MicroG GmsCoreはバックグラウンドで実行する権限がありません。\n\nあなたの端末の \"Don\'t kill my app \"のガイドに従って、MicroGのインストールに適用してください。\n\nこれはアプリが動作するために必要です。</string>
|
||||
<string name="gms_core_dialog_open_website_text">ウェブサイトを開く</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">問題を防ぐためには、MicroG GmsCoreのバッテリー最適化を無効にする必要があります。\n\n継続ボタンをタップしてバッテリーの最適化を無効にします。</string>
|
||||
<string name="gms_core_dialog_continue_text">続ける</string>
|
||||
<string name="gms_core_dialog_continue_text">続行</string>
|
||||
</patch>
|
||||
</app>
|
||||
<app id="youtube">
|
||||
@@ -83,8 +83,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_debug_summary_on">デバッグログは有効です</string>
|
||||
<string name="revanced_debug_summary_off">デバッグログは無効です</string>
|
||||
<string name="revanced_debug_protobuffer_title">ログプロトコルバッファ</string>
|
||||
<string name="revanced_debug_protobuffer_summary_on">デバッグログにprotoバッファが含まれています</string>
|
||||
<string name="revanced_debug_protobuffer_summary_off">デバッグログにはプロットバッファが含まれていません</string>
|
||||
<string name="revanced_debug_protobuffer_summary_on">デバッグログにはプロトバッファが含まれる</string>
|
||||
<string name="revanced_debug_protobuffer_summary_off">デバッグログにはプロトバッファは含まれません</string>
|
||||
<string name="revanced_debug_stacktrace_title">スタックトレースのログ</string>
|
||||
<string name="revanced_debug_stacktrace_summary_on">デバッグログにスタックトレースを含む</string>
|
||||
<string name="revanced_debug_stacktrace_summary_off">デバッグログにスタックトレースが含まれていません</string>
|
||||
@@ -94,24 +94,24 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_debug_toast_on_error_user_dialog_message">エラートーストをオフにすると、すべてのReVancedエラー通知が非表示になります。\n\n予期せぬイベントは通知されません。</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.general.HideLayoutComponentsPatch">
|
||||
<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_gray_separator_title">グレーのセパレーターを非表示</string>
|
||||
<string name="revanced_hide_gray_separator_summary_on">ホームフィードの動画の間に表示される、グレーのセパレーターは非表示です</string>
|
||||
<string name="revanced_hide_gray_separator_summary_off">ホームフィードの動画の間に表示される、グレーのセパレーターは表示されます</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_gray_separator_title">灰色のセパレータを非表示</string>
|
||||
<string name="revanced_hide_gray_separator_summary_on">灰色のセパレータは非表示です</string>
|
||||
<string name="revanced_hide_gray_separator_summary_off">灰色のセパレータは表示されます</string>
|
||||
<string name="revanced_hide_channel_watermark_title">チャンネルの透かしを非表示</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">透かしは非表示です</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">透かしは表示されます</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">横方向の棚を隠す</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">棚が表示されます</string>
|
||||
<string name="revanced_hide_horizontal_shelves_title">横方向の欄を隠す</string>
|
||||
<string name="revanced_hide_horizontal_shelves_summary_off">欄が表示されます</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_title">「メンバーになる」ボタンを隠す</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">ボタンは非表示です</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">ボタンは表示されます</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_title">チャンネルページで「おすすめ」欄を非表示にする</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">おすすめ欄は非表示です</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">おすすめ欄は表示されます</string>
|
||||
<!-- 'Notify me' should be translated using the same localized wording YouTube displays.
|
||||
@@ -120,7 +120,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_notify_me_button_summary_on">ボタンは非表示です</string>
|
||||
<string name="revanced_hide_notify_me_button_summary_off">ボタンは表示されます</string>
|
||||
<!-- 'People also watch' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_search_result_recommendations_title">推奨事項を非表示にする</string>
|
||||
<string name="revanced_hide_search_result_recommendations_title">「他の人はこの動画も視聴しています」おすすめを非表示にする</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_on">おすすめは非表示です</string>
|
||||
<string name="revanced_hide_search_result_recommendations_summary_off">おすすめが表示されます</string>
|
||||
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
|
||||
@@ -128,24 +128,24 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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_timed_reactions_title">リアクションを非表示</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Timed Reactions を非表示</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Timed Reactions は非表示です</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Timed Reactions は表示されます</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">検索結果の棚ヘッダーを非表示</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">棚ヘッダーは非表示です</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">棚ヘッダーは表示されます</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">チャネルガイドラインを非表示</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">チャンネルガイドラインのバナーは非表示です</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">チャンネルガイドラインのバナーは表示されます</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_title">検索結果のヘッダを非表示</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_on">ヘッダーは非表示です</string>
|
||||
<string name="revanced_hide_search_result_shelf_header_summary_off">ヘッダーは表示されます</string>
|
||||
<string name="revanced_hide_channel_guidelines_title">チャンネルガイドラインを非表示</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_on">チャンネルガイドラインは非表示です</string>
|
||||
<string name="revanced_hide_channel_guidelines_summary_off">チャンネルガイドラインは表示されます</string>
|
||||
<string name="revanced_hide_expandable_chip_title">動画の下に表示される展開可能なチップを非表示</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">検索結果の動画の下に表示される、展開可能なチップは非表示です</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">検索結果の動画の下に表示される、展開可能なチップは表示されます</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_on">展開可能なチップは非表示です</string>
|
||||
<string name="revanced_hide_expandable_chip_summary_off">展開可能なチップは表示されます</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_title">画質メニューのフッターを非表示</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_on">画質メニューのフッターは非表示です</string>
|
||||
<string name="revanced_hide_video_quality_menu_footer_summary_off">画質メニューのフッターは表示されます</string>
|
||||
<string name="revanced_hide_community_posts_title">コミュニティの投稿を非表示にする</string>
|
||||
<string name="revanced_hide_community_posts_summary_on">コミュニティの投稿は非表示です</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">コミュニティ投稿は表示されます</string>
|
||||
<string name="revanced_hide_community_posts_summary_off">コミュニティの投稿は表示されます</string>
|
||||
<string name="revanced_hide_compact_banner_title">コンパクトなバナーを非表示にする</string>
|
||||
<string name="revanced_hide_compact_banner_summary_on">コンパクトなバナーは非表示です</string>
|
||||
<string name="revanced_hide_compact_banner_summary_off">コンパクトなバナーは表示されます</string>
|
||||
@@ -156,7 +156,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_feed_survey_summary_on">フィードのアンケートは非表示です</string>
|
||||
<string name="revanced_hide_feed_survey_summary_off">フィードのアンケートは表示されます</string>
|
||||
<string name="revanced_hide_community_guidelines_title">コミュニティガイドラインを非表示</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">コミュニティーガイドラインは非表示です</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_on">コミュニティガイドラインは非表示です</string>
|
||||
<string name="revanced_hide_community_guidelines_summary_off">コミュニティガイドラインは表示されます</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">登録チャンネルのコミュニティガイドラインを非表示</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">登録チャンネルのコミュニティガイドラインは非表示です</string>
|
||||
@@ -175,46 +175,49 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_medical_panels_summary_off">医療情報パネルは表示されます</string>
|
||||
<string name="revanced_hide_channel_bar_title">チャンネルバーを隠す</string>
|
||||
<string name="revanced_hide_channel_bar_summary_on">チャンネルバーは非表示です</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">チャンネルバーが表示されます</string>
|
||||
<string name="revanced_hide_playables_title">Playablesを隠す</string>
|
||||
<string name="revanced_hide_playables_summary_on">プレイ可能ファイルは非表示です</string>
|
||||
<string name="revanced_hide_playables_summary_off">プレイブルが表示されます</string>
|
||||
<string name="revanced_hide_channel_bar_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_quick_actions_title">全画面表示でクイックアクションを隠す</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">クイックアクションは非表示です</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">クイックアクションを表示する</string>
|
||||
<string name="revanced_hide_related_videos_title">クイックアクションで関連するビデオを隠す</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">関連するビデオは非表示です</string>
|
||||
<string name="revanced_hide_related_videos_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>
|
||||
<string name="revanced_hide_related_videos_title">クイックアクションで関連動画を隠す</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">関連動画は非表示です</string>
|
||||
<string name="revanced_hide_related_videos_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>
|
||||
<string name="revanced_hide_latest_posts_ads_title">最新の投稿を非表示</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_on">最新の投稿は非表示です</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">最新の投稿が表示されます</string>
|
||||
<string name="revanced_hide_mix_playlists_title">ミックスプレイリストを隠す</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">ミックスプレイリストは非表示です</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">ミックス プレイリストが表示されます</string>
|
||||
<string name="revanced_hide_latest_posts_ads_summary_off">最新の投稿は表示されます</string>
|
||||
<string name="revanced_hide_mix_playlists_title">ミックスリストを隠す</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_on">ミックスリストは非表示です</string>
|
||||
<string name="revanced_hide_mix_playlists_summary_off">ミックスリストが表示されます</string>
|
||||
<string name="revanced_hide_artist_cards_title">アーティストカードを隠す</string>
|
||||
<string name="revanced_hide_artist_cards_summary_on">アーティストカードは非表示です</string>
|
||||
<string name="revanced_hide_artist_cards_summary_off">アーティストカードが表示されます</string>
|
||||
<string name="revanced_hide_chips_shelf_title">チップ棚を隠す</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">チップ棚は非表示です</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">チップ棚が表示されています</string>
|
||||
<string name="revanced_hide_chips_shelf_title">チップ欄を隠す</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_on">チップ欄は非表示です</string>
|
||||
<string name="revanced_hide_chips_shelf_summary_off">チップ欄が表示されています</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>
|
||||
<string name="revanced_hide_chapters_section_summary_on">章節は非表示です</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">章節を表示</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>
|
||||
<string name="revanced_hide_chapters_section_summary_on">チャプターセクションは非表示です</string>
|
||||
<string name="revanced_hide_chapters_section_summary_off">チャプターセクションを表示</string>
|
||||
<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_transcript_section_title">トランスクリプトセクションを隠す</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">トランスクリプトセクションは非表示です</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">トランスクリプトセクションが表示されます</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>
|
||||
<string name="revanced_hide_transcript_section_title">文字起こしセクションを隠す</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">文字起こしセクションは非表示です</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">文字起こしセクションは表示されます</string>
|
||||
<string name="revanced_hide_description_components_screen_title">概要欄</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">概要欄のコンポーネントを非表示または表示</string>
|
||||
<string name="revanced_custom_filter_screen_title">カスタムフィルター</string>
|
||||
@@ -224,7 +227,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_custom_filter_summary_off">カスタムフィルタは無効です</string>
|
||||
<string name="revanced_custom_filter_strings_title">カスタムフィルター</string>
|
||||
<!-- 'Component path builder strings' is the technical name for identifying the Litho UI layout items to hide. This is an advanced feature and most users will never use this. -->
|
||||
<string name="revanced_custom_filter_strings_summary">新しい行で区切られたフィルタリングするコンポーネントパスビルダー文字列のリスト</string>
|
||||
<string name="revanced_custom_filter_strings_summary">フィルタリングするコンポーネントパスビルダの文字列を改行で区切ったリスト</string>
|
||||
<string name="revanced_custom_filter_toast_invalid_syntax">無効なカスタムフィルター: %s</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">キーワード内容を隠す</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">キーワードフィルタを使用して検索とフィードビデオを非表示</string>
|
||||
@@ -240,87 +243,87 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_keyword_content_phrases_title">隠すキーワード</string>
|
||||
<!-- For localization it is preferred, but not required, if 'LeBlanc' is replaced with a localized name or a familiar word that has upper case letters in the middle of the word.
|
||||
This is because keywords can be in any language, and showing an example in the localized script helps convey this. -->
|
||||
<string name="revanced_hide_keyword_content_phrases_summary">非表示にするキーワードとフレーズ 新しい行で区切られた\n\n中央に大文字を含む単語はケーシングで入力する必要があります (iPhone、TikTok、LeBlancなど)</string>
|
||||
<string name="revanced_hide_keyword_content_phrases_summary">非表示にするキーワードとフレーズ (改行区切り)\n\n中央に大文字を含む単語は大文字と小文字を区別する必要があります (iPhone、TikTok、LeBlancなど)</string>
|
||||
<string name="revanced_hide_keyword_content_about_title">キーワードフィルタリングについて</string>
|
||||
<string name="revanced_hide_keyword_content_about_summary">ホーム/登録/検索結果は、キーワードフレーズに一致するコンテンツを非表示にするためにフィルタリングされます\n\n制限事項:\n• 一部のショートは非表示にされない場合があります\n• 一部のUIコンポーネントが非表示にされない場合があります\n• キーワードを検索しても結果が表示されない場合があります</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_hide_keyword_toast_invalid_common">無効なキーワードです。フィルタとして使用できません: \'%s\'</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_hide_keyword_toast_invalid_length">無効なキーワードです。\'%1$s\' は %2$d 文字未満です</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">キーワード \'$s\' はすべてのビデオを非表示にします</string>
|
||||
<string name="revanced_hide_keyword_toast_invalid_broad">キーワード \'%s\' はすべての動画を非表示にします</string>
|
||||
</patch>
|
||||
<patch id="ad.general.HideAdsResourcePatch">
|
||||
<string name="revanced_hide_general_ads_title">一般的な広告を非表示</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">一般広告は非表示です</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">一般広告が表示されます</string>
|
||||
<string name="revanced_hide_general_ads_summary_on">一般的な広告は非表示です</string>
|
||||
<string name="revanced_hide_general_ads_summary_off">一般的な広告は表示されます</string>
|
||||
<string name="revanced_hide_fullscreen_ads_title">全画面広告を非表示</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">フルスクリーン広告を非表示\n\nこれは古いデバイスでのみ利用できます</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">全画面表示の広告</string>
|
||||
<string name="revanced_hide_buttoned_ads_title">ボタン付き広告を隠す</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_on">全画面広告を非表示\n\nこれは古いデバイスでのみ利用できます</string>
|
||||
<string name="revanced_hide_fullscreen_ads_summary_off">全画面広告は表示されます</string>
|
||||
<string name="revanced_hide_buttoned_ads_title">ボタン付き広告を非表示</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_on">ボタン付き広告は非表示です</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">ボタンをクリックした広告が表示されます</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">有料プロモーションラベルを非表示</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">有料プロモーションラベルは非表示です</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">有料プロモーションラベルが表示されます</string>
|
||||
<string name="revanced_hide_buttoned_ads_summary_off">ボタン付き広告は表示されます</string>
|
||||
<string name="revanced_hide_paid_promotion_label_title">プロモーションラベルを非表示</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_on">プロモーションラベルは非表示です</string>
|
||||
<string name="revanced_hide_paid_promotion_label_summary_off">プロモーションラベルが表示されます</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_title">自己スポンサーカードを隠す</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_on">自己スポンサーカードは非表示です</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">自己スポンサーカードが表示されます</string>
|
||||
<string name="revanced_hide_products_banner_title">商品を表示するにはバナーを隠す</string>
|
||||
<string name="revanced_hide_self_sponsor_ads_summary_off">自己スポンサーカードは表示されます</string>
|
||||
<string name="revanced_hide_products_banner_title">商品を見るためのバナーを隠す</string>
|
||||
<string name="revanced_hide_products_banner_summary_on">バナーは非表示です</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">バナーを表示</string>
|
||||
<string name="revanced_hide_products_banner_summary_off">バナーは表示されます</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_shopping_links_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_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_web_search_results_title">ウェブ検索結果を隠す</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">ウェブ検索結果は表示されません</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">ウェブ検索結果は非表示です</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">ウェブ検索結果が表示されます</string>
|
||||
<string name="revanced_hide_merchandise_banners_title">商品バナーを非表示</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_on">商品バナーは非表示です</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">商品バナーが表示されます</string>
|
||||
<string name="revanced_hide_merchandise_banners_summary_off">商品バナーは表示されます</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_hide_fullscreen_ads_feature_not_available_toast">全画面広告を非表示にするには、古い端末でのみ動作します</string>
|
||||
<string name="revanced_hide_fullscreen_ads_feature_not_available_toast">全画面広告の非表示は、古い端末でのみ動作します</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.HideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">YouTube プレミアムプロモーションを非表示</string>
|
||||
<string name="revanced_hide_get_premium_summary_on">YouTube プレミアムプロモーションが非表示になります</string>
|
||||
<string name="revanced_hide_get_premium_summary_off">YouTubeプレミアムプロモーションが表示されます</string>
|
||||
<string name="revanced_hide_get_premium_title">YouTube Premium の広告を非表示</string>
|
||||
<string name="revanced_hide_get_premium_summary_on">YouTube Premium の広告は非表示です</string>
|
||||
<string name="revanced_hide_get_premium_summary_off">YouTube Premium の広告は表示されます</string>
|
||||
</patch>
|
||||
<patch id="ad.video.VideoAdsPatch">
|
||||
<string name="revanced_hide_video_ads_title">動画広告を隠す</string>
|
||||
<string name="revanced_hide_video_ads_summary_on">ビデオ広告は非表示です</string>
|
||||
<string name="revanced_hide_video_ads_summary_off">動画広告が表示されます</string>
|
||||
<string name="revanced_hide_video_ads_summary_on">動画広告は非表示です</string>
|
||||
<string name="revanced_hide_video_ads_summary_off">動画広告は表示されます</string>
|
||||
</patch>
|
||||
<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_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をコピーします。長押しするとタイムスタンプなしで動画をコピーできます。</string>
|
||||
<string name="revanced_copy_video_url_timestamp_title">タイムスタンプURLコピーボタンを表示</string>
|
||||
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンが表示されます。タップするとタイムスタンプ付きの動画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>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_title">「ご自身の責任」ダイアログを削除</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">ダイアログは削除されます</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">ダイアログを表示します</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">これは年齢制限を回避するものではありません。自動的に受け入れるだけです。</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="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_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_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_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">NewPipeやSealなど、インストールされている外部ダウンローダーアプリのパッケージ名</string>
|
||||
<string name="revanced_external_downloader_not_installed_warning">%s はインストールされていません。インストールしてください。</string>
|
||||
</patch>
|
||||
@@ -337,22 +340,22 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="interaction.swipecontrols.SwipeControlsResourcePatch">
|
||||
<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_summary_on">音量のスワイプは有効です</string>
|
||||
<string name="revanced_swipe_volume_summary_off">音量のスワイプは無効です</string>
|
||||
<string name="revanced_swipe_press_to_engage_title">プレスツースワイプジェスチャーを有効にする</string>
|
||||
<string name="revanced_swipe_brightness_summary_off">明るさスワイプは無効です</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">Press-to-swipeは有効です</string>
|
||||
<string name="revanced_swipe_press_to_engage_summary_off">Press-to-swipeは無効です</string>
|
||||
<string name="revanced_swipe_haptic_feedback_title">触覚フィードバックを有効にする</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Haptic feedback is enabled</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_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_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>
|
||||
@@ -361,58 +364,58 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_swipe_overlay_background_alpha_title">背景のスワイプ表示</string>
|
||||
<string name="revanced_swipe_overlay_background_alpha_summary">オーバーレイの背景をスワイプ表示する</string>
|
||||
<string name="revanced_swipe_threshold_title">スワイプの大きさのしきい値</string>
|
||||
<string name="revanced_swipe_threshold_summary">スワイプのしきい値が発生します</string>
|
||||
<string name="revanced_swipe_threshold_summary">スワイプとして検出する量のしきい値</string>
|
||||
</patch>
|
||||
<patch id="layout.autocaptions.AutoCaptionsPatch">
|
||||
<string name="revanced_auto_captions_title">自動字幕を無効にする</string>
|
||||
<string name="revanced_auto_captions_summary_on">自動字幕は無効です</string>
|
||||
<string name="revanced_auto_captions_summary_off">自動キャプションは有効です</string>
|
||||
<string name="revanced_auto_captions_summary_off">自動字幕は有効です</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_hide_like_dislike_button_title">「いいね」と「いいね」を隠す</string>
|
||||
<string name="revanced_hide_like_dislike_button_summary_on">「いいね」ボタンと「嫌い」ボタンは非表示になります</string>
|
||||
<string name="revanced_hide_like_dislike_button_summary_off">「いいね」ボタンと「嫌い」ボタンが表示されます</string>
|
||||
<string name="revanced_hide_like_dislike_button_title">高評価と低評価を隠す</string>
|
||||
<string name="revanced_hide_like_dislike_button_summary_on">高評価ボタンと低評価ボタンは非表示になります</string>
|
||||
<string name="revanced_hide_like_dislike_button_summary_off">高評価ボタンと低評価ボタンは表示されます</string>
|
||||
<!-- 'Share' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_share_button_title">シェアを隠す</string>
|
||||
<string name="revanced_hide_share_button_title">共有ボタンを隠す</string>
|
||||
<string name="revanced_hide_share_button_summary_on">共有ボタンは非表示です</string>
|
||||
<string name="revanced_hide_share_button_summary_off">共有ボタンが表示されます</string>
|
||||
<string name="revanced_hide_share_button_summary_off">共有ボタンは表示されます</string>
|
||||
<!-- 'Report' should be translated with the same localized wording that YouTube displays.
|
||||
This button usually appears only 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>
|
||||
<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>
|
||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_remix_button_title">リミックスを隠す</string>
|
||||
<string name="revanced_hide_remix_button_summary_on">リミックスボタンは非表示です</string>
|
||||
<string name="revanced_hide_remix_button_summary_off">リミックスボタンが表示されます</string>
|
||||
<string name="revanced_hide_remix_button_summary_off">リミックスボタンは表示されます</string>
|
||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||
<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>
|
||||
<string name="revanced_hide_download_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>
|
||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_clip_button_summary_on">クリップボタンは非表示です</string>
|
||||
<string name="revanced_hide_clip_button_summary_off">クリップボタンを表示する</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_playlist_button_title">プレイリストに保存を隠す</string>
|
||||
<string name="revanced_hide_playlist_button_summary_on">プレイリストに保存ボタンが表示されません</string>
|
||||
<string name="revanced_hide_playlist_button_summary_off">プレイリストに保存ボタンが表示されます</string>
|
||||
<string name="revanced_hide_playlist_button_summary_on">プレイリストに保存ボタンは非表示です</string>
|
||||
<string name="revanced_hide_playlist_button_summary_off">プレイリストに保存ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.autoplay.HideAutoplayButtonPatch">
|
||||
<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_off">自動再生ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.captions.HideCaptionsButtonPatch">
|
||||
<!-- 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>
|
||||
</patch>
|
||||
<patch id="layout.buttons.cast.HideCastButtonPatch">
|
||||
<string name="revanced_hide_cast_button_title">キャストボタンを隠す</string>
|
||||
@@ -420,141 +423,141 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_hide_cast_button_summary_off">キャスト ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.buttons.navigation.NavigationButtonsPatch">
|
||||
<string name="revanced_navigation_buttons_screen_title">Navigation buttons</string>
|
||||
<string name="revanced_navigation_buttons_screen_summary">ナビゲーションバーのボタンを非表示または変更する</string>
|
||||
<string name="revanced_navigation_buttons_screen_title">ナビゲーションボタン</string>
|
||||
<string name="revanced_navigation_buttons_screen_summary">ナビゲーションバーのボタンを非表示または変更</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the tab. -->
|
||||
<string name="revanced_hide_home_button_title">ホームを隠す</string>
|
||||
<string name="revanced_hide_home_button_summary_on">ホームボタンは非表示です</string>
|
||||
<string name="revanced_hide_home_button_summary_off">ホームボタンを表示</string>
|
||||
<string name="revanced_hide_home_button_summary_off">ホームボタンは表示されます</string>
|
||||
<!-- 'Shorts' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_hide_shorts_button_title">ショーツを隠す</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">ショーツボタンは非表示です</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">ショーツ ボタンは表示されます</string>
|
||||
<string name="revanced_hide_shorts_button_title">Shorts を隠す</string>
|
||||
<string name="revanced_hide_shorts_button_summary_on">Shorts ボタンは非表示です</string>
|
||||
<string name="revanced_hide_shorts_button_summary_off">Shorts ボタンは表示されます</string>
|
||||
<!-- The Create button has no display name. Translate normally. -->
|
||||
<string name="revanced_hide_create_button_title">作成を隠す</string>
|
||||
<string name="revanced_hide_create_button_summary_on">作成ボタンは非表示です</string>
|
||||
<string name="revanced_hide_create_button_summary_off">作成ボタンが表示されます</string>
|
||||
<string name="revanced_hide_create_button_summary_off">作成ボタンは表示されます</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_hide_subscriptions_button_title">サブスクリプションを非表示</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_on">購読ボタンは非表示です</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_off">サブスクリプションボタンが表示されます</string>
|
||||
<string name="revanced_hide_subscriptions_button_title">登録チャンネルを非表示</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_on">登録チャンネルボタンは非表示です</string>
|
||||
<string name="revanced_hide_subscriptions_button_summary_off">登録チャンネルボタンは表示されます</string>
|
||||
<!-- 'Notifications' should be translated using the same localized wording YouTube displays the tab. -->
|
||||
<string name="revanced_switch_create_with_notifications_button_title">通知で作成を切り替える</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">Create button is switched with Notifications button\n\nNote: Enabling this also forcly hides video ads</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">format@@0 ボタンは通知ボタンで切り替えられません</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_title">「作成」を「通知」と入れ替え</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_on">作成ボタンが通知ボタンと入れ替わります\n\nメモ: これを有効にすると強制的に動画広告が非表示になります</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">作成ボタンをと通知ボタンは入れ替わりません</string>
|
||||
<string name="revanced_hide_navigation_button_labels_title">ナビゲーションボタンのラベルを隠す</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">ラベルは非表示です</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">ラベルを表示する</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">ラベルは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.player.flyoutmenupanel.HidePlayerFlyoutMenuPatch">
|
||||
<string name="revanced_hide_player_flyout_title">Flyout menu</string>
|
||||
<string name="revanced_hide_player_flyout_title">フライアウトメニュー</string>
|
||||
<string name="revanced_hide_player_flyout_summary">プレイヤーフライアウトメニューアイテムを非表示または表示</string>
|
||||
<!-- 'Captions' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_captions_title">キャプションを隠す</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_on">キャプションメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_off">図表番号メニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_captions_title">字幕を非表示にする</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_on">字幕メニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_captions_summary_off">字幕メニューは表示されます</string>
|
||||
<!-- 'Additional settings' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_additional_settings_title">追加設定を隠す</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_title">追加設定を非表示にする</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_on">追加設定メニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_off">追加設定メニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_additional_settings_summary_off">追加設定メニューは表示されます</string>
|
||||
<!-- 'Loop video' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_loop_video_title">ループビデオを隠す</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_summary_on">ループビデオメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_summary_off">ループビデオメニューを表示する</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_title">動画ループを隠す</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_summary_on">動画ループメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_loop_video_summary_off">動画ループメニューを表示する</string>
|
||||
<!-- 'Ambient mode' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_ambient_mode_title">アンビエントモードを隠す</string>
|
||||
<string name="revanced_hide_player_flyout_ambient_mode_summary_on">アンビエントモードメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_ambient_mode_summary_off">アンビエントモードメニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_ambient_mode_summary_off">アンビエントモードメニューは表示されます</string>
|
||||
<!-- 'Help & feedback' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_help_title">ヘルプとフィードバックを非表示にする &</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">ヘルプとフィードバックメニューは非表示です &</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_off">ヘルプとフィードバックメニューは表示されます &</string>
|
||||
<string name="revanced_hide_player_flyout_help_title">ヘルプとフィードバックを非表示にする</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_on">ヘルプとフィードバックメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_help_summary_off">ヘルプとフィードバックメニューは表示されます</string>
|
||||
<!-- 'Playback speed' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_speed_title">再生速度を隠す</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">再生速度メニューが表示されません</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">再生スピードメニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_speed_title">再生速度を非表示にする</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_on">再生速度メニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_speed_summary_off">再生速度メニューは表示されます</string>
|
||||
<!-- 'More info' should be translated using the same localized wording YouTube displays for the menu item.
|
||||
This menu only appears for some videos. Translate the name normally if the menu cannot be found. -->
|
||||
<string name="revanced_hide_player_flyout_more_info_title">詳細情報を隠す</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">その他の情報メニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">詳細情報メニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_on">詳細情報メニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_more_info_summary_off">詳細情報メニューは表示されます</string>
|
||||
<!-- 'Lock screen' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_lock_screen_title">ロック画面を隠す</string>
|
||||
<string name="revanced_hide_player_flyout_lock_screen_summary_on">ロック画面のメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_lock_screen_summary_off">ロック画面のメニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_lock_screen_summary_off">ロック画面のメニューは表示されます</string>
|
||||
<!-- 'Audio track' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<string name="revanced_hide_player_flyout_audio_track_title">オーディオトラックを隠す</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">オーディオトラックメニューは非表示です</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">オーディオトラックメニューが表示されます</string>
|
||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">オーディオトラックメニューは表示されます</string>
|
||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||
<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_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>
|
||||
</patch>
|
||||
<patch id="layout.buttons.player.hide.HidePlayerButtonsPatch">
|
||||
<string name="revanced_hide_player_buttons_title">前の & 次のビデオボタンを隠す</string>
|
||||
<string name="revanced_hide_player_buttons_title">前の動画に戻る/次の動画に進むボタンを非表示</string>
|
||||
<string name="revanced_hide_player_buttons_summary_on">ボタンは非表示です</string>
|
||||
<string name="revanced_hide_player_buttons_summary_off">ボタンを表示する</string>
|
||||
<string name="revanced_hide_player_buttons_summary_off">ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.albumcards.AlbumCardsResourcePatch">
|
||||
<string name="revanced_hide_album_cards_title">アルバムカードを隠す</string>
|
||||
<string name="revanced_hide_album_cards_summary_on">アルバムカードは非表示です</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">アルバムカードが表示されます</string>
|
||||
<string name="revanced_hide_album_cards_summary_off">アルバムカードは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.comments.CommentsPatch">
|
||||
<string name="revanced_comments_screen_title">コメント</string>
|
||||
<string name="revanced_comments_screen_summary">コメントセクションのコンポーネントを非表示または表示</string>
|
||||
<string name="revanced_hide_comments_by_members_header_title">「メンバーによるコメント」ヘッダーを非表示</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_on">「メンバーによるコメント」ヘッダーは非表示です</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">「メンバーによるコメント」ヘッダーが表示されています</string>
|
||||
<string name="revanced_hide_comments_by_members_header_summary_off">「メンバーによるコメント」ヘッダーは表示されています</string>
|
||||
<string name="revanced_hide_comments_section_title">コメントセクションを非表示</string>
|
||||
<string name="revanced_hide_comments_section_summary_on">コメントセクションは非表示です</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">コメントセクションが表示されます</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">「ショートカットを作成」ボタンを非表示</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">「ショートカットを作成」ボタンは非表示です</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">「ショートカットを作成」ボタンが表示されます</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">プレビューコメントを隠す</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">プレビューコメントは非表示です</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">プレビューコメントが表示されます</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">感謝ボタンを非表示</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">おかげでボタンは表示されません</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Thanks button is showed</string>
|
||||
<string name="revanced_hide_comments_section_summary_off">コメントセクションは表示されます</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">「Shortsを作成」ボタンを非表示</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">「Shortsを作成」ボタンは非表示です</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">「Shorsを作成」ボタンは表示されます</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">コメントのプレビューを非表示</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">コメントのプレビューは非表示です</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">コメントのプレビューは表示されます</string>
|
||||
<string name="revanced_hide_comments_thanks_button_title">Thanks ボタンを非表示</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">「Thanks」ボタンは非表示です</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">「Thanks」ボタンは表示されます</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_title">タイムスタンプと絵文字ボタンを隠す</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_on">タイムスタンプと絵文字ボタンは非表示です</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_off">タイムスタンプと絵文字ボタンが表示されます</string>
|
||||
<string name="revanced_hide_comments_timestamp_and_emoji_buttons_summary_off">タイムスタンプと絵文字ボタンは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.crowdfundingbox.CrowdfundingBoxResourcePatch">
|
||||
<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_crowdfunding_box_summary_off">クラウドファンディングボックスは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.endscreencards.HideEndscreenCardsResourcePatch">
|
||||
<string name="revanced_hide_endscreen_cards_title">終了画面のカードを隠す</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>
|
||||
<string name="revanced_hide_endscreen_cards_summary_off">終了画面のカードは表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.filterbar.HideFilterBarResourcePatch">
|
||||
<string name="revanced_hide_filter_bar_screen_title">フィルタバー</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>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">フィードで非表示です</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">フィードでは表示されます</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">検索時に隠す</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">非表示にする</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">検索結果に表示</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">関連するビデオで非表示</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">関連するビデオに表示しない</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">関連する動画に表示</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">検索で非表示です</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">検索で表示されます</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">関連動画で非表示</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">関連動画で非表示です</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">関連動画で表示されます</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.floatingmicrophone.HideFloatingMicrophoneButtonResourcePatch">
|
||||
<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_title">音声入力のフローティングボタンを非表示</string>
|
||||
<string name="revanced_hide_floating_microphone_button_summary_on">マイクボタンは非表示です</string>
|
||||
<string name="revanced_hide_floating_microphone_button_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_summary_on">アンビエントモードは無効です</string>
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">アンビエントモード有効</string>
|
||||
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">アンビエントモードは有効です</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.infocards.HideInfocardsResourcePatch">
|
||||
<string name="revanced_hide_info_cards_title">情報カードを隠す</string>
|
||||
@@ -563,8 +566,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</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_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>
|
||||
@@ -671,14 +674,14 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.player.overlay.CustomPlayerOverlayOpacityResourcePatch">
|
||||
<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_summary">透明度の値は 0〜100 の範囲で、0 が透明です</string>
|
||||
<string name="revanced_player_overlay_opacity_invalid_toast">プレイヤーオーバーレイの不透明度は0-100の間でなければなりません</string>
|
||||
</patch>
|
||||
<patch id="layout.returnyoutubedislike.ReturnYouTubeDislikeResourcePatch">
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">非表示</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_ryd_failure_connection_timeout">Dislikes temporarily not available(API タイムアウト)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">嫌がらせは利用できません( %dの状態)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">低評価数は一時的に利用できません (ステータス %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">Disfavs not available(client API limit reached)</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. -->
|
||||
@@ -754,7 +757,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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_sum">新しいセグメントを作成する際の時間調整ボタンの移動時間 (ミリ秒)</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>
|
||||
<string name="revanced_sb_guidelines_preference_sum">ガイドラインには、新しいセグメントを作成するためのルールとヒントが含まれています</string>
|
||||
@@ -770,7 +773,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_general_skipcount_sum_on">SponsorBlockリーダーボードは、どれだけの時間が節約されたかを知ることができます。セグメントがスキップされるたびにメッセージがリーダーボードに送信されます。</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_sum">設定値 (単位: 秒) より短いセグメントはスキップされず、プレーヤーにも表示されません</string>
|
||||
<string name="revanced_sb_general_uuid">あなたのプライベート ユーザー ID</string>
|
||||
<string name="revanced_sb_general_uuid_sum">これは非公開にする必要があります。パスワードのようなもので誰とも共有するべきではありません。誰かがこれを持っている場合、あなたになりすますことができます</string>
|
||||
<string name="revanced_sb_general_uuid_invalid">プライベートユーザーIDは30文字以上でなければなりません</string>
|
||||
@@ -851,10 +854,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_submit_failed_duplicate">セグメントを送信できません。\n既に存在します</string>
|
||||
<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_timeout">SponsorBlock は一時的に利用できません (API タイムアウト)</string>
|
||||
<string name="revanced_sb_sponsorblock_connection_failure_status">SponsorBlockは一時的に利用できません( %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_timeout">セグメントを評価できません (API タイムアウト)</string>
|
||||
<string name="revanced_sb_vote_failed_unknown_error">セグメントに投票できませんでした(状態: %1$d %2$s)</string>
|
||||
<string name="revanced_sb_vote_failed_forbidden">セグメントに投票できません: %s</string>
|
||||
<string name="revanced_sb_vote_upvote">高評価</string>
|
||||
@@ -864,9 +867,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<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">新しい SponsorBlock セグメント</string>
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<string name="revanced_sb_new_segment_mark_time_as_question">%1$02d:%2$02d:%3$03d を新しいセグメントの開始または終了として設定しますか?</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>
|
||||
@@ -884,7 +885,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_sb_new_segment_edit_by_hand_parse_error">無効な時間の値です</string>
|
||||
<string name="revanced_sb_stats">統計</string>
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
<string name="revanced_sb_stats_connection_failure">統計は一時的に利用できません(APIがダウンしています)</string>
|
||||
<string name="revanced_sb_stats_connection_failure">統計は一時的に利用できません (API ダウン)</string>
|
||||
<string name="revanced_sb_stats_loading">読み込み中...</string>
|
||||
<string name="revanced_sb_stats_sb_disabled">SponsorBlock は無効です</string>
|
||||
<string name="revanced_sb_stats_username">あなたのユーザー名: <b>%s</b></string>
|
||||
@@ -965,6 +966,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_type_entry_5">モダン2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">モダン3</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_title">展開と閉じるボタンを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_on">拡大/縮小のボタンを非表示にします\n(ミニプレーヤーをスワイプして拡大/縮小できます) </string>
|
||||
<string name="revanced_miniplayer_hide_expand_close_summary_off">展開と閉じる ボタンが表示されます</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_title">サブテキストを非表示</string>
|
||||
<string name="revanced_miniplayer_hide_subtext_summary_on">サブテキストは非表示です</string>
|
||||
@@ -973,7 +975,7 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_on">スキップとバックが非表示になります</string>
|
||||
<string name="revanced_miniplayer_hide_rewind_forward_summary_off">スキップとバックが表示されます</string>
|
||||
<string name="revanced_miniplayer_opacity_title">Overlay opacity</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">0-100の間の不透明度の値 (0が透明)</string>
|
||||
<string name="revanced_miniplayer_opacity_summary">透明度の値は 0〜100 の範囲で、0 が透明です</string>
|
||||
<string name="revanced_miniplayer_opacity_invalid_toast">ミニプレーヤーオーバーレイの不透明度は0-100の間でなければなりません</string>
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeBytecodePatch">
|
||||
@@ -989,6 +991,10 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_seekbar_custom_color_value_summary">シークバーの色</string>
|
||||
<string name="revanced_seekbar_custom_color_invalid">シークバーの色の値が無効です。デフォルト値を使用してください。</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
<string name="revanced_bypass_image_region_restrictions_title">画像領域の制限をバイパスする</string>
|
||||
<string name="revanced_bypass_image_region_restrictions_summary_on">イメージホストの使用 yt4.ggpht.com</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">ホームタブ</string>
|
||||
@@ -1111,7 +1117,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_client_summary_off">クライアントは偽装されていません\n\nビデオ再生が動作しない可能性があります</string>
|
||||
<string name="revanced_spoof_client_user_dialog_message">この設定をオフにすると、ビデオ再生の問題が発生する可能性があります。</string>
|
||||
<string name="revanced_spoof_client_use_ios_title">クライアントを iOS に偽装する</string>
|
||||
<string name="revanced_spoof_client_storyboard_timeout">クライアントのサムネイルを偽装できません(APIがタイムアウトしました)</string>
|
||||
<string name="revanced_spoof_client_storyboard_io_exception">クライアントのサムネイルを一時的に偽装できません: %s</string>
|
||||
</patch>
|
||||
<!-- This patch is no longer used, these strings are not in use, and these strings will be deleted in the future. -->
|
||||
@@ -1125,7 +1130,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<string name="revanced_spoof_signature_in_feed_enabled_summary_off">アプリの署名がフィード動画になりすましではありません\n\nフィードの動画は再生に問題が発生する前に1分未満再生されます</string>
|
||||
<string name="revanced_spoof_storyboard_title">ストーリーボードを偽装する</string>
|
||||
<string name="revanced_spoof_storyboard_summary_on">ストーリーボードのなりすまし</string>
|
||||
<string name="revanced_spoof_storyboard_timeout">ストーリーボードを一時的に偽装できません(APIがタイムアウトしました)</string>
|
||||
<string name="revanced_spoof_storyboard_io_exception">一時的にストーリーボードを偽装できません: %s</string>
|
||||
</patch>
|
||||
<!-- This patch is no longer used and these strings will soon be deleted. -->
|
||||
|
||||
@@ -171,8 +171,6 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
<patch id="layout.sponsorblock.SponsorBlockResourcePatch">
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title' -->
|
||||
<!-- 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. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Do not rearrange the (hour):(minute):second) time format operators here.
|
||||
YT shows the same seekbar time format for all languages, and this string is confirming the segment time as it appears in the seekbar. -->
|
||||
<!-- Shown in the settings preferences, and translations can be any text length. -->
|
||||
@@ -198,6 +196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t
|
||||
</patch>
|
||||
<patch id="layout.theme.ThemeResourcePatch">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.BypassImageRegionRestrictions">
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.AlternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the home tab. -->
|
||||
<!-- 'Subscription' should be translated using the same localized wording YouTube displays for the subscription tab. -->
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user