Compare commits

...

21 Commits

Author SHA1 Message Date
semantic-release-bot
86e8e61ab2 chore: Release v5.25.0-dev.6 [skip ci]
# [5.25.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.5...v5.25.0-dev.6) (2025-05-23)

### Bug Fixes

* **Yuka - Unlock premium:** Remove broken patch that is no longer supported ([#5018](https://github.com/ReVanced/revanced-patches/issues/5018)) ([e286dab](e286dab74e))
2025-05-23 19:58:47 +00:00
LisoUseInAIKyrios
e286dab74e fix(Yuka - Unlock premium): Remove broken patch that is no longer supported (#5018) 2025-05-23 21:55:04 +02:00
github-actions[bot]
712a82439f chore: Sync translations (#5019) 2025-05-23 21:54:47 +02:00
semantic-release-bot
4449546c85 chore: Release v5.25.0-dev.5 [skip ci]
# [5.25.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.4...v5.25.0-dev.5) (2025-05-22)

### Bug Fixes

* **YouTube:** Better handle incorrect duplicate translations ([8d61ba9](8d61ba90c3))
2025-05-22 19:23:25 +00:00
LisoUseInAIKyrios
8d61ba90c3 fix(YouTube): Better handle incorrect duplicate translations 2025-05-22 21:20:01 +02:00
semantic-release-bot
689be79f71 chore: Release v5.25.0-dev.4 [skip ci]
# [5.25.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.3...v5.25.0-dev.4) (2025-05-22)

### Bug Fixes

* **YouTube - GmsCore support:** Restore patch functionality from prior merge ([b6047fa](b6047fa6b3))
2025-05-22 17:28:53 +00:00
LisoUseInAIKyrios
b6047fa6b3 fix(YouTube - GmsCore support): Restore patch functionality from prior merge 2025-05-22 19:25:15 +02:00
semantic-release-bot
82bbd603ac chore: Release v5.25.0-dev.3 [skip ci]
# [5.25.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.2...v5.25.0-dev.3) (2025-05-22)

### Bug Fixes

* **YouTube - Hide ads:** Hide new type of general ad ([#5004](https://github.com/ReVanced/revanced-patches/issues/5004)) ([bc0c3c4](bc0c3c452d))
2025-05-22 16:38:22 +00:00
ILoveOpenSourceApplications
bc0c3c452d fix(YouTube - Hide ads): Hide new type of general ad (#5004) 2025-05-22 18:35:11 +02:00
Pun Butrach
fe864d8331 ci: Attest release artifacts (#4816)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2025-05-22 14:56:33 +02:00
semantic-release-bot
4f686935c3 chore: Release v5.25.0-dev.2 [skip ci]
# [5.25.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.1...v5.25.0-dev.2) (2025-05-22)

### Bug Fixes

* **Disable Pairip license check:** Change patch to default off ([798596f](798596fd83))
2025-05-22 10:18:30 +00:00
LisoUseInAIKyrios
798596fd83 fix(Disable Pairip license check): Change patch to default off 2025-05-22 12:14:33 +02:00
semantic-release-bot
38b37f182a chore: Release v5.25.0-dev.1 [skip ci]
# [5.25.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.24.0...v5.25.0-dev.1) (2025-05-22)

### Features

* Add `Disable pairip license check` patch ([#4927](https://github.com/ReVanced/revanced-patches/issues/4927)) ([dea7108](dea7108c45))
* **Messenger:** Add `Remove Meta AI` patch ([#4945](https://github.com/ReVanced/revanced-patches/issues/4945)) ([52b9dc5](52b9dc5c9f))
2025-05-22 08:39:21 +00:00
Dawid Krajcarz
52b9dc5c9f feat(Messenger): Add Remove Meta AI patch (#4945) 2025-05-22 10:35:31 +02:00
hoodles
dea7108c45 feat: Add Disable pairip license check patch (#4927)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2025-05-22 10:35:16 +02:00
github-actions[bot]
24b4579cb9 chore: Sync translations (#5009) 2025-05-22 10:33:36 +02:00
semantic-release-bot
0b52f3d192 chore: Release v5.24.0 [skip ci]
# [5.24.0](https://github.com/ReVanced/revanced-patches/compare/v5.23.0...v5.24.0) (2025-05-19)

### Bug Fixes

* **Spotify - Fix third party launchers widgets:** Add missing compatibility annotation ([e68cd70](e68cd70f66))
* **YouTube - Hide layout components:** Fix `Hide video recommendation labels` ([#4956](https://github.com/ReVanced/revanced-patches/issues/4956)) ([9aec199](9aec1999bb))
* **YouTube - Settings:** Correctly show summary text if search box is closed before searching ([e59c9e9](e59c9e9b3c))
* **YouTube - SponsorBlock:** Fix segment category summary not showing category description ([b2b09a2](b2b09a2025))

### Features

* **GmsCore support:** Open vendor specific DontKillMyApp if available ([#4952](https://github.com/ReVanced/revanced-patches/issues/4952)) ([d2b440d](d2b440d800))
* **NU.nl:** Support version `11.3.0` ([#4925](https://github.com/ReVanced/revanced-patches/issues/4925)) ([887c9f0](887c9f0d75))
* **Spotify:** Add `Fix third party launchers widgets` patch ([#4893](https://github.com/ReVanced/revanced-patches/issues/4893)) ([db68c41](db68c41d5e))
* **YouTube - Hide description components:** Add `Hide Ask` ([#4972](https://github.com/ReVanced/revanced-patches/issues/4972)) ([e582908](e58290839f))
* **YouTube - Hide layout components:** Add `Hide ticket shelf` ([#4969](https://github.com/ReVanced/revanced-patches/issues/4969)) ([4cd0ae9](4cd0ae9b92))
* **YouTube - Hide player components:** Hide related video overlay in fullscreen ([#4938](https://github.com/ReVanced/revanced-patches/issues/4938)) ([f454183](f454183646))
* **YouTube - Settings:** Add ability to search in settings ([#4881](https://github.com/ReVanced/revanced-patches/issues/4881)) ([14a8f4f](14a8f4fb96))
2025-05-19 10:32:36 +00:00
LisoUseInAIKyrios
18c374a81e chore: Merge branch dev to main (#4947) 2025-05-19 14:28:47 +04:00
github-actions[bot]
092303e431 chore: Sync translations (#4995) 2025-05-19 14:25:25 +04:00
semantic-release-bot
6bf5bf9d45 chore: Release v5.24.0-dev.9 [skip ci]
# [5.24.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.24.0-dev.8...v5.24.0-dev.9) (2025-05-18)

### Bug Fixes

* **YouTube - SponsorBlock:** Fix segment category summary not showing category description ([b2b09a2](b2b09a2025))
2025-05-18 08:29:10 +00:00
LisoUseInAIKyrios
b2b09a2025 fix(YouTube - SponsorBlock): Fix segment category summary not showing category description 2025-05-18 12:25:43 +04:00
74 changed files with 654 additions and 344 deletions

View File

@@ -19,11 +19,11 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
distribution: 'temurin'
java-version: '17'
- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1
uses: burrunan/gradle-cache-action@v3
- name: Build
env:

View File

@@ -13,24 +13,23 @@ jobs:
permissions:
contents: write
packages: write
id-token: write
attestations: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Make sure the release step uses its own credentials:
# https://github.com/cycjimmy/semantic-release-action#private-packages
persist-credentials: false
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
distribution: 'temurin'
java-version: '17'
- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1
uses: burrunan/gradle-cache-action@v3
- name: Build
env:
@@ -40,7 +39,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
node-version: 'lts/*'
cache: 'npm'
- name: Install dependencies
@@ -54,6 +53,14 @@ jobs:
fingerprint: ${{ vars.GPG_FINGERPRINT }}
- name: Release
uses: cycjimmy/semantic-release-action@v4
id: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm exec semantic-release
- name: Attest
if: steps.release.outputs.new_release_published == 'true'
uses: actions/attest-build-provenance@v2
with:
subject-name: 'ReVanced Patches ${{ steps.release.outputs.new_release_git_tag }}'
subject-path: patches/build/libs/patches-*.rvp

View File

@@ -22,7 +22,7 @@
{
"assets": [
"CHANGELOG.md",
"gradle.properties",
"gradle.properties"
],
"message": "chore: Release v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
@@ -33,16 +33,16 @@
"assets": [
{
"path": "patches/build/libs/patches-!(*sources*|*javadoc*).rvp?(.asc)"
},
}
],
successComment: false
"successComment": false
}
],
[
"@saithodev/semantic-release-backmerge",
{
backmergeBranches: [{"from": "main", "to": "dev"}],
clearWorkspace: true
"backmergeBranches": [{"from": "main", "to": "dev"}],
"clearWorkspace": true
}
]
]

View File

@@ -1,3 +1,74 @@
# [5.25.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.5...v5.25.0-dev.6) (2025-05-23)
### Bug Fixes
* **Yuka - Unlock premium:** Remove broken patch that is no longer supported ([#5018](https://github.com/ReVanced/revanced-patches/issues/5018)) ([fac6e59](https://github.com/ReVanced/revanced-patches/commit/fac6e59d281e21e57abdcfc899cd1aeb18e5c2b8))
# [5.25.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.4...v5.25.0-dev.5) (2025-05-22)
### Bug Fixes
* **YouTube:** Better handle incorrect duplicate translations ([20abac5](https://github.com/ReVanced/revanced-patches/commit/20abac52121fbecb65d87d0982f3380e1cf4e20e))
# [5.25.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.3...v5.25.0-dev.4) (2025-05-22)
### Bug Fixes
* **YouTube - GmsCore support:** Restore patch functionality from prior merge ([7686bbe](https://github.com/ReVanced/revanced-patches/commit/7686bbe975644e1e582fa52f166879da5694ed93))
# [5.25.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.2...v5.25.0-dev.3) (2025-05-22)
### Bug Fixes
* **YouTube - Hide ads:** Hide new type of general ad ([#5004](https://github.com/ReVanced/revanced-patches/issues/5004)) ([37e59d2](https://github.com/ReVanced/revanced-patches/commit/37e59d2771528c631dc13e73dac095fec95c6485))
# [5.25.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.25.0-dev.1...v5.25.0-dev.2) (2025-05-22)
### Bug Fixes
* **Disable Pairip license check:** Change patch to default off ([74b6a94](https://github.com/ReVanced/revanced-patches/commit/74b6a94577ac3f73b04bd0cce98fb7011a6607fd))
# [5.25.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.24.0...v5.25.0-dev.1) (2025-05-22)
### Features
* Add `Disable pairip license check` patch ([#4927](https://github.com/ReVanced/revanced-patches/issues/4927)) ([42d2c27](https://github.com/ReVanced/revanced-patches/commit/42d2c277982ef63e6ad42d85e46f13c3ab50243c))
* **Messenger:** Add `Remove Meta AI` patch ([#4945](https://github.com/ReVanced/revanced-patches/issues/4945)) ([012dff7](https://github.com/ReVanced/revanced-patches/commit/012dff7b6511b9e519ccac96f6713cf1a1b327b4))
# [5.24.0](https://github.com/ReVanced/revanced-patches/compare/v5.23.0...v5.24.0) (2025-05-19)
### Bug Fixes
* **Spotify - Fix third party launchers widgets:** Add missing compatibility annotation ([0493f80](https://github.com/ReVanced/revanced-patches/commit/0493f8035b26b90c5f8e42be2e2a5ce73d8685a5))
* **YouTube - Hide layout components:** Fix `Hide video recommendation labels` ([#4956](https://github.com/ReVanced/revanced-patches/issues/4956)) ([ae05ac3](https://github.com/ReVanced/revanced-patches/commit/ae05ac38151ebd3197953af97ca0dd847a04cc2d))
* **YouTube - Settings:** Correctly show summary text if search box is closed before searching ([d0ae835](https://github.com/ReVanced/revanced-patches/commit/d0ae835d3381fc659c9bb4a2d130d4db8a1499cf))
* **YouTube - SponsorBlock:** Fix segment category summary not showing category description ([06934a6](https://github.com/ReVanced/revanced-patches/commit/06934a60d91b40a5cdf7f4cd92deae4a136c149b))
### Features
* **GmsCore support:** Open vendor specific DontKillMyApp if available ([#4952](https://github.com/ReVanced/revanced-patches/issues/4952)) ([b89927a](https://github.com/ReVanced/revanced-patches/commit/b89927a10e3b909a3c37fbb75c16a7abbce44560))
* **NU.nl:** Support version `11.3.0` ([#4925](https://github.com/ReVanced/revanced-patches/issues/4925)) ([bedde60](https://github.com/ReVanced/revanced-patches/commit/bedde60fc1a52b0fd491174b3b5b887435eb621a))
* **Spotify:** Add `Fix third party launchers widgets` patch ([#4893](https://github.com/ReVanced/revanced-patches/issues/4893)) ([23bfdc9](https://github.com/ReVanced/revanced-patches/commit/23bfdc98fbbcc8ecf0ffbf8704f58dd2272e4af2))
* **YouTube - Hide description components:** Add `Hide Ask` ([#4972](https://github.com/ReVanced/revanced-patches/issues/4972)) ([ebc94a5](https://github.com/ReVanced/revanced-patches/commit/ebc94a5da6214b67399c9c01515689bd4b20547c))
* **YouTube - Hide layout components:** Add `Hide ticket shelf` ([#4969](https://github.com/ReVanced/revanced-patches/issues/4969)) ([6436af7](https://github.com/ReVanced/revanced-patches/commit/6436af7e77c77d2034dfceba8bc51132ad7632be))
* **YouTube - Hide player components:** Hide related video overlay in fullscreen ([#4938](https://github.com/ReVanced/revanced-patches/issues/4938)) ([ac9be97](https://github.com/ReVanced/revanced-patches/commit/ac9be9760c9965e54df196b227a310d64ead4bf5))
* **YouTube - Settings:** Add ability to search in settings ([#4881](https://github.com/ReVanced/revanced-patches/issues/4881)) ([aca8b20](https://github.com/ReVanced/revanced-patches/commit/aca8b207c15f254bcc9ad94bc7dfb895f21d4058))
# [5.24.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.24.0-dev.8...v5.24.0-dev.9) (2025-05-18)
### Bug Fixes
* **YouTube - SponsorBlock:** Fix segment category summary not showing category description ([06934a6](https://github.com/ReVanced/revanced-patches/commit/06934a60d91b40a5cdf7f4cd92deae4a136c149b))
# [5.24.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.24.0-dev.7...v5.24.0-dev.8) (2025-05-17)

View File

@@ -0,0 +1,3 @@
dependencies {
compileOnly(project(":extensions:shared:library"))
}

View File

@@ -0,0 +1 @@
<manifest/>

View File

@@ -0,0 +1,15 @@
package app.revanced.extension.messenger.metaai;
@SuppressWarnings("unused")
public class RemoveMetaAIPatch {
public static boolean overrideConfigBool(long id, boolean value) {
// It seems like all configs starting with 363219 are related to Meta AI.
// A list of specific ones that need disabling would probably be better,
// but these config numbers seem to change slightly with each update.
// These first 6 digits don't though.
if (Long.toString(id).startsWith("363219"))
return false;
return value;
}
}

View File

@@ -1,7 +1,11 @@
package app.revanced.extension.shared;
import android.annotation.SuppressLint;
import android.app.*;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -18,6 +22,7 @@ import android.os.Looper;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.util.Pair;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
@@ -738,9 +743,9 @@ public class Utils {
* then the preferences are left unsorted.
*/
@SuppressWarnings("deprecation")
public static void sortPreferenceGroups(@NonNull PreferenceGroup group) {
public static void sortPreferenceGroups(PreferenceGroup group) {
Sort groupSort = Sort.fromKey(group.getKey(), Sort.UNSORTED);
SortedMap<String, Preference> preferences = new TreeMap<>();
List<Pair<String, Preference>> preferences = new ArrayList<>();
for (int i = 0, prefCount = group.getPreferenceCount(); i < prefCount; i++) {
Preference preference = group.getPreference(i);
@@ -769,17 +774,21 @@ public class Utils {
throw new IllegalStateException();
}
preferences.put(sortValue, preference);
preferences.add(new Pair<>(sortValue, preference));
}
Collections.sort(preferences, (pair1, pair2)
-> pair1.first.compareToIgnoreCase(pair2.first));
int index = 0;
for (Preference pref : preferences.values()) {
for (Pair<String, Preference> pair : preferences) {
int order = index++;
Preference pref = pair.second;
// Move any screens, intents, and the one off About preference to the top.
if (pref instanceof PreferenceScreen || pref instanceof ReVancedAboutPreference
|| pref.getIntent() != null) {
// Arbitrary high number.
// Any arbitrary large number.
order -= 1000;
}

View File

@@ -6,9 +6,8 @@ import android.util.AttributeSet;
import android.util.Pair;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.SortedMap;
import java.util.TreeMap;
import app.revanced.extension.shared.Utils;
@@ -46,17 +45,24 @@ public class SortedListPreference extends ListPreference {
}
List<Pair<CharSequence, CharSequence>> firstEntries = new ArrayList<>(firstEntriesToPreserve);
SortedMap<String, Pair<CharSequence, CharSequence>> lastEntries = new TreeMap<>();
// Android does not have a triple class like Kotlin, So instead use a nested pair.
// Cannot easily use a SortedMap, because if two entries incorrectly have
// identical names then the duplicates entries are not preserved.
List<Pair<String, Pair<CharSequence, CharSequence>>> lastEntries = new ArrayList<>();
for (int i = 0; i < entrySize; i++) {
Pair<CharSequence, CharSequence> pair = new Pair<>(entries[i], entryValues[i]);
if (i < firstEntriesToPreserve) {
firstEntries.add(pair);
} else {
lastEntries.put(Utils.removePunctuationToLowercase(pair.first), pair);
lastEntries.add(new Pair<>(Utils.removePunctuationToLowercase(pair.first), pair));
}
}
Collections.sort(lastEntries, (pair1, pair2)
-> pair1.first.compareToIgnoreCase(pair2.first));
CharSequence[] sortedEntries = new CharSequence[entrySize];
CharSequence[] sortedEntryValues = new CharSequence[entrySize];
@@ -67,9 +73,10 @@ public class SortedListPreference extends ListPreference {
i++;
}
for (Pair<CharSequence, CharSequence> pair : lastEntries.values()) {
sortedEntries[i] = pair.first;
sortedEntryValues[i] = pair.second;
for (Pair<String, Pair<CharSequence, CharSequence>> outer : lastEntries) {
Pair<CharSequence, CharSequence> inner = outer.second;
sortedEntries[i] = inner.first;
sortedEntryValues[i] = inner.second;
i++;
}

View File

@@ -64,48 +64,45 @@ public final class AdsFilter extends Filter {
"_interstitial"
);
final var buttonedAd = new StringFilterGroup(
Settings.HIDE_BUTTONED_ADS,
"_ad_with",
"_buttoned_layout",
// text_image_button_group_layout, landscape_image_button_group_layout, full_width_square_image_button_group_layout
"image_button_group_layout",
"full_width_square_image_layout",
"video_display_button_group_layout",
"landscape_image_wide_button_layout",
"video_display_carousel_button_group_layout",
"video_display_full_buttoned_short_dr_layout",
"compact_landscape_image_layout", // Tablet layout search results.
"text_image_no_button_layout" // Tablet layout search results.
);
final var generalAds = new StringFilterGroup(
Settings.HIDE_GENERAL_ADS,
"_ad_with",
"_buttoned_layout",
"ads_video_with_context",
"banner_text_icon",
"square_image_layout",
"watch_metadata_app_promo",
"video_display_full_layout",
"hero_promo_image",
"statement_banner",
"brand_video_shelf",
"brand_video_singleton",
"carousel_footered_layout",
"text_image_button_layout",
"carousel_headered_layout",
"compact_landscape_image_layout", // Tablet layout search results.
"composite_concurrent_carousel_layout",
"full_width_portrait_image_layout",
"full_width_square_image_carousel_layout",
"full_width_square_image_layout",
"hero_promo_image",
// text_image_button_group_layout, landscape_image_button_group_layout, full_width_square_image_button_group_layout
"image_button_group_layout",
"landscape_image_wide_button_layout",
"primetime_promo",
"product_details",
"composite_concurrent_carousel_layout",
"carousel_headered_layout",
"full_width_portrait_image_layout",
"brand_video_shelf",
"brand_video_singleton"
"square_image_layout",
"statement_banner",
"text_image_button_layout",
"text_image_no_button_layout", // Tablet layout search results.
"video_display_button_group_layout",
"video_display_carousel_button_group_layout",
"video_display_full_buttoned_short_dr_layout",
"video_display_full_layout",
"watch_metadata_app_promo"
);
final var movieAds = new StringFilterGroup(
Settings.HIDE_MOVIES_SECTION,
"browsy_bar",
"compact_movie",
"compact_tvfilm_item",
"horizontal_movie_shelf",
"movie_and_show_upsell_card",
"compact_tvfilm_item",
"offer_module_root"
);
@@ -160,7 +157,6 @@ public final class AdsFilter extends Filter {
addPathCallbacks(
generalAds,
buttonedAd,
merchandise,
viewProducts,
selfSponsor,
@@ -181,17 +177,19 @@ public final class AdsFilter extends Filter {
}
// Check for the index because of likelihood of false positives.
if (matchedGroup == shoppingLinks && contentIndex != 0) {
if (contentIndex != 0 && matchedGroup == shoppingLinks) {
return false;
}
if (exceptions.matches(path))
if (exceptions.matches(path)) {
return false;
}
if (matchedGroup == fullscreenAd) {
if (path.contains("|ImageType|")) closeFullscreenAd();
return false; // Do not actually filter the fullscreen ad otherwise it will leave a dimmed screen.
// Do not actually filter the fullscreen ad otherwise it will leave a dimmed screen.
return false;
}
if (matchedGroup == channelProfile) {

View File

@@ -68,7 +68,6 @@ public class Settings extends BaseSettings {
public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability());
// Ads
public static final BooleanSetting HIDE_BUTTONED_ADS = new BooleanSetting("revanced_hide_buttoned_ads", TRUE);
public static final BooleanSetting HIDE_END_SCREEN_STORE_BANNER = new BooleanSetting("revanced_hide_end_screen_store_banner", TRUE, true);
public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", TRUE);
public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE);

View File

@@ -53,7 +53,7 @@ public class SegmentCategoryListPreference extends ListPreference {
setEntryValues(isHighlightCategory
? CategoryBehaviour.getBehaviorKeyValuesWithoutSkipOnce()
: CategoryBehaviour.getBehaviorKeyValues());
setSummary(category.description.toString());
super.setSummary(category.description.toString());
updateUI();
}
@@ -268,4 +268,13 @@ public class SegmentCategoryListPreference extends ListPreference {
private void updateOpacityText() {
opacityEditText.setText(String.format(Locale.US, "%.2f", categoryOpacity));
}
@Override
public void setSummary(CharSequence summary) {
// Ignore calls to set the summary.
// Summary is always the description of the category.
//
// This is required otherwise the ReVanced preference fragment
// sets all ListPreference summaries to show the current selection.
}
}

View File

@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
version = 5.24.0-dev.8
version = 5.25.0-dev.6

View File

@@ -284,6 +284,14 @@ public final class app/revanced/patches/messenger/inputfield/DisableTypingIndica
public static final fun getDisableTypingIndicatorPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/messenger/metaai/RemoveMetaAIPatchKt {
public static final fun getRemoveMetaAIPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/messenger/misc/extension/ExtensionPatchKt {
public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/messenger/navbar/RemoveMetaAITabPatchKt {
public static final fun getRemoveMetaAITabPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
@@ -652,6 +660,10 @@ public final class app/revanced/patches/shared/misc/mapping/ResourceMappingPatch
public static final fun getResourceMappings ()Ljava/util/List;
}
public final class app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatchKt {
public static final fun getDisableLicenseCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
}
public final class app/revanced/patches/shared/misc/settings/SettingsPatchKt {
public static final fun settingsPatch (Ljava/util/List;Ljava/util/Set;)Lapp/revanced/patcher/patch/ResourcePatch;
public static final fun settingsPatch (Lkotlin/Pair;Ljava/util/Set;)Lapp/revanced/patcher/patch/ResourcePatch;
@@ -1615,8 +1627,23 @@ public final class app/revanced/util/BytecodeUtilsKt {
public static final fun indexOfFirstResourceIdOrThrow (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 literal (Lapp/revanced/patcher/FingerprintBuilder;Lkotlin/jvm/functions/Function0;)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;B)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;C)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;D)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;F)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;I)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;J)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;S)V
public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Z)V
public static synthetic fun returnEarly$default (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;ZILjava/lang/Object;)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;B)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;C)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;D)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;F)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;I)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;J)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;S)V
public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Z)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/patch/BytecodePatchContext;Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V
}

View File

@@ -17,7 +17,8 @@ val removeShareTargetsPatch = resourcePatch(
try {
document("res/xml/shortcuts.xml")
} catch (_: FileNotFoundException) {
return@execute Logger.getLogger(this::class.java.name).warning("The app has no shortcuts")
return@execute Logger.getLogger(this::class.java.name).warning(
"The app has no shortcuts. No changes applied.")
}.use { document ->
val rootNode = document.getNode("shortcuts") as? Element ?: return@use

View File

@@ -1,14 +1,17 @@
package app.revanced.patches.angulus.ads
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.shared.misc.pairip.license.disableLicenseCheckPatch
import app.revanced.util.returnEarly
@Suppress("unused")
val angulusPatch = bytecodePatch(name = "Hide ads") {
compatibleWith("com.drinkplusplus.angulus")
dependsOn(disableLicenseCheckPatch)
execute {
// Always return 0 as the daily measurement count.
getDailyMeasurementCountFingerprint.method.returnEarly()
getDailyMeasurementCountFingerprint.method.returnEarly(0)
}
}

View File

@@ -0,0 +1,14 @@
package app.revanced.patches.messenger.metaai
import com.android.tools.smali.dexlib2.Opcode
import app.revanced.patcher.fingerprint
internal val getMobileConfigBoolFingerprint = fingerprint {
parameters("J")
returns("Z")
opcodes(Opcode.RETURN)
custom { method, classDef ->
method.implementation ?: return@custom false // unsure if this is necessary
classDef.interfaces.contains("Lcom/facebook/mobileconfig/factory/MobileConfigUnsafeContext;")
}
}

View File

@@ -0,0 +1,34 @@
package app.revanced.patches.messenger.metaai
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.messenger.misc.extension.sharedExtensionPatch
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/messenger/metaai/RemoveMetaAIPatch;"
@Suppress("unused")
val removeMetaAIPatch = bytecodePatch(
name = "Remove Meta AI",
description = "Removes UI elements related to Meta AI."
) {
compatibleWith("com.facebook.orca")
dependsOn(sharedExtensionPatch)
execute {
getMobileConfigBoolFingerprint.method.apply {
val returnIndex = getMobileConfigBoolFingerprint.patternMatch!!.startIndex
val returnRegister = getInstruction<OneRegisterInstruction>(returnIndex).registerA
addInstructions(
returnIndex,
"""
invoke-static { p1, p2, v$returnRegister }, $EXTENSION_CLASS_DESCRIPTOR->overrideConfigBool(JZ)Z
move-result v$returnRegister
"""
)
}
}
}

View File

@@ -0,0 +1,5 @@
package app.revanced.patches.messenger.misc.extension
import app.revanced.patches.shared.misc.extension.sharedExtensionPatch
val sharedExtensionPatch = sharedExtensionPatch("messenger", mainActivityOnCreateHook)

View File

@@ -0,0 +1,7 @@
package app.revanced.patches.messenger.misc.extension
import app.revanced.patches.shared.misc.extension.extensionHook
internal val mainActivityOnCreateHook = extensionHook {
strings("MainActivity_onCreate_begin")
}

View File

@@ -1,16 +0,0 @@
package app.revanced.patches.messenger.navbar
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val createTabConfigurationFingerprint = fingerprint {
strings("MessengerTabConfigurationCreator.createTabConfiguration")
opcodes(
Opcode.INVOKE_DIRECT,
Opcode.MOVE_RESULT,
Opcode.IF_EQZ,
Opcode.INVOKE_DIRECT,
Opcode.MOVE_RESULT,
Opcode.IF_EQZ,
)
}

View File

@@ -1,25 +1,12 @@
package app.revanced.patches.messenger.navbar
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import app.revanced.patches.messenger.metaai.removeMetaAIPatch
@Deprecated("Superseded by removeMetaAIPatch", ReplaceWith("removeMetaAIPatch"))
@Suppress("unused")
val removeMetaAITabPatch = bytecodePatch(
name = "Remove Meta AI tab",
description = "Removes the 'Meta AI' tab from the navbar.",
) {
compatibleWith("com.facebook.orca")
execute {
createTabConfigurationFingerprint.let {
val moveResultIndex = it.patternMatch!!.startIndex + 1
val enabledRegister = it.method.getInstruction<OneRegisterInstruction>(moveResultIndex).registerA
it.method.replaceInstruction(
moveResultIndex,
"const/4 v$enabledRegister, 0x0"
)
}
}
dependsOn(removeMetaAIPatch)
}

View File

@@ -198,7 +198,7 @@ fun gmsCoreSupportPatch(
// Google Play Utility is not present in all apps, so we need to check if it's present.
if (googlePlayUtilityFingerprint.methodOrNull != null) {
googlePlayUtilityFingerprint.method.returnEarly()
googlePlayUtilityFingerprint.method.returnEarly(0)
}
// Verify GmsCore is installed and whitelisted for power optimizations and background usage.

View File

@@ -0,0 +1,27 @@
package app.revanced.patches.shared.misc.pairip.license
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.util.returnEarly
import java.util.logging.Logger
@Suppress("unused")
val disableLicenseCheckPatch = bytecodePatch(
name = "Disable Pairip license check",
description = "Disable Play Integrity Protect (Pairip) client-side license check.",
use = false
) {
execute {
if (processLicenseResponseFingerprint.methodOrNull == null || validateLicenseResponseFingerprint.methodOrNull == null) {
return@execute Logger.getLogger(this::class.java.name)
.warning("Could not find Pairip licensing check. No changes applied.")
}
// Set first parameter (responseCode) to 0 (success status).
processLicenseResponseFingerprint.method.addInstruction(0, "const/4 p1, 0x0")
// Short-circuit the license response validation.
validateLicenseResponseFingerprint.method.returnEarly()
}
}

View File

@@ -0,0 +1,17 @@
package app.revanced.patches.shared.misc.pairip.license
import app.revanced.patcher.fingerprint
internal val processLicenseResponseFingerprint = fingerprint {
custom { method, classDef ->
classDef.type == "Lcom/pairip/licensecheck/LicenseClient;" &&
method.name == "processResponse"
}
}
internal val validateLicenseResponseFingerprint = fingerprint {
custom { method, classDef ->
classDef.type == "Lcom/pairip/licensecheck/ResponseValidator;" &&
method.name == "validateResponse"
}
}

View File

@@ -46,7 +46,6 @@ private val hideAdsResourcePatch = resourcePatch {
SwitchPreference("revanced_hide_general_ads"),
SwitchPreference("revanced_hide_end_screen_store_banner"),
SwitchPreference("revanced_hide_fullscreen_ads"),
SwitchPreference("revanced_hide_buttoned_ads"),
SwitchPreference("revanced_hide_paid_promotion_label"),
SwitchPreference("revanced_hide_player_store_shelf"),
SwitchPreference("revanced_hide_self_sponsor_ads"),

View File

@@ -3,10 +3,10 @@ package app.revanced.patches.yuka.misc.unlockpremium
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
@Deprecated("This patch no longer works and will be removed in the future.")
@Suppress("unused")
val unlockPremiumPatch = bytecodePatch(
name = "Unlock premium",
) {
val unlockPremiumPatch = bytecodePatch {
compatibleWith("io.yuka.android"("4.29"))
execute {

View File

@@ -133,6 +133,7 @@ internal val Instruction.registersUsed: List<Int>
else -> listOf(registerC, registerD, registerE, registerF, registerG)
}
}
is ThreeRegisterInstruction -> listOf(registerA, registerB, registerC)
is TwoRegisterInstruction -> listOf(registerA, registerB)
is OneRegisterInstruction -> listOf(registerA)
@@ -170,7 +171,7 @@ internal val Instruction.isReturnInstruction: Boolean
/**
* Adds public [AccessFlags] and removes private and protected flags (if present).
*/
internal fun Int.toPublicAccessFlags() : Int {
internal fun Int.toPublicAccessFlags(): Int {
return this.or(AccessFlags.PUBLIC.value)
.and(AccessFlags.PROTECTED.value.inv())
.and(AccessFlags.PRIVATE.value.inv())
@@ -489,9 +490,10 @@ fun Method.indexOfFirstInstruction(targetOpcode: Opcode): Int = indexOfFirstInst
* @return The index of the first opcode specified, or -1 if not found.
* @see indexOfFirstInstructionOrThrow
*/
fun Method.indexOfFirstInstruction(startIndex: Int = 0, targetOpcode: Opcode): Int = indexOfFirstInstruction(startIndex) {
opcode == targetOpcode
}
fun Method.indexOfFirstInstruction(startIndex: Int = 0, targetOpcode: Opcode): Int =
indexOfFirstInstruction(startIndex) {
opcode == targetOpcode
}
/**
* Get the index of the first [Instruction] that matches the predicate, starting from [startIndex].
@@ -526,9 +528,10 @@ fun Method.indexOfFirstInstructionOrThrow(targetOpcode: Opcode): Int = indexOfFi
* @throws PatchException
* @see indexOfFirstInstruction
*/
fun Method.indexOfFirstInstructionOrThrow(startIndex: Int = 0, targetOpcode: Opcode): Int = indexOfFirstInstructionOrThrow(startIndex) {
opcode == targetOpcode
}
fun Method.indexOfFirstInstructionOrThrow(startIndex: Int = 0, targetOpcode: Opcode): Int =
indexOfFirstInstructionOrThrow(startIndex) {
opcode == targetOpcode
}
/**
* Get the index of the first [Instruction] that matches the predicate, starting from [startIndex].
@@ -554,9 +557,10 @@ fun Method.indexOfFirstInstructionOrThrow(startIndex: Int = 0, filter: Instructi
* @return -1 if the instruction is not found.
* @see indexOfFirstInstructionReversedOrThrow
*/
fun Method.indexOfFirstInstructionReversed(startIndex: Int? = null, targetOpcode: Opcode): Int = indexOfFirstInstructionReversed(startIndex) {
opcode == targetOpcode
}
fun Method.indexOfFirstInstructionReversed(startIndex: Int? = null, targetOpcode: Opcode): Int =
indexOfFirstInstructionReversed(startIndex) {
opcode == targetOpcode
}
/**
* Get the index of matching instruction,
@@ -593,9 +597,10 @@ fun Method.indexOfFirstInstructionReversed(targetOpcode: Opcode): Int = indexOfF
* @return The index of the instruction.
* @see indexOfFirstInstructionReversed
*/
fun Method.indexOfFirstInstructionReversedOrThrow(startIndex: Int? = null, targetOpcode: Opcode): Int = indexOfFirstInstructionReversedOrThrow(startIndex) {
opcode == targetOpcode
}
fun Method.indexOfFirstInstructionReversedOrThrow(startIndex: Int? = null, targetOpcode: Opcode): Int =
indexOfFirstInstructionReversedOrThrow(startIndex) {
opcode == targetOpcode
}
/**
* Get the index of matching instruction,
@@ -652,7 +657,8 @@ fun Method.findInstructionIndicesReversedOrThrow(filter: Instruction.() -> Boole
* _Returns an empty list if no indices are found_
* @see findInstructionIndicesReversedOrThrow
*/
fun Method.findInstructionIndicesReversed(opcode: Opcode): List<Int> = findInstructionIndicesReversed { this.opcode == opcode }
fun Method.findInstructionIndicesReversed(opcode: Opcode): List<Int> =
findInstructionIndicesReversed { this.opcode == opcode }
/**
* @return An immutable list of indices of the opcode in reverse order.
@@ -726,43 +732,222 @@ fun BytecodePatchContext.forEachLiteralValueInstruction(
}
}
/**
* Overrides the first instruction of a method with a constant return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(overrideValue: Boolean = false) = overrideReturnValue(overrideValue, false)
private const val RETURN_TYPE_MISMATCH = "Mismatch between override type and Method return type"
/**
* Overrides all return statements with a constant value.
* Overrides the first instruction of a method with a constant `Boolean` return value.
* None of the method code will ever execute.
*
* For methods that return an object or any array type, calling this method with `false`
* will force the method to return a `null` value.
*/
fun MutableMethod.returnEarly(value: Boolean = false) {
val returnType = returnType.first()
check(returnType == 'Z' || (!value && (returnType in setOf('V', 'L', '[')))) { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toHexString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Byte` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Byte) {
check(returnType.first() == 'B') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Short` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Short) {
check(returnType.first() == 'S') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Char` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Char) {
check(returnType.first() == 'C') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.code.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Int` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Int) {
check(returnType.first() == 'I') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Long` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Long) {
check(returnType.first() == 'J') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Float` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Float) {
check(returnType.first() == 'F') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides the first instruction of a method with a constant `Double` return value.
* None of the method code will ever execute.
*/
fun MutableMethod.returnEarly(value: Double) {
check(returnType.first() == 'J') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), false)
}
/**
* Overrides all return statements with a constant `Boolean` value.
* All method code is executed the same as unpatched.
*
* For methods that return an object or any array type, calling this method with `false`
* will force the method to return a `null` value.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Boolean) {
val returnType = returnType.first()
if (returnType == 'V') {
error("Cannot return late for Method of void type")
}
check(returnType == 'Z' || (!value && returnType in setOf('L', '['))) { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toHexString(), true)
}
/**
* Overrides all return statements with a constant `Byte` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
internal fun MutableMethod.returnLate(overrideValue: Boolean = false) = overrideReturnValue(overrideValue, true)
fun MutableMethod.returnLate(value: Byte) {
check(returnType.first() == 'B') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
private fun MutableMethod.overrideReturnValue(bool: Boolean, returnLate: Boolean) {
val const = if (bool) "0x1" else "0x0"
/**
* Overrides all return statements with a constant `Short` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Short) {
check(returnType.first() == 'S') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
/**
* Overrides all return statements with a constant `Char` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Char) {
check(returnType.first() == 'C') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.code.toString(), true)
}
/**
* Overrides all return statements with a constant `Int` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Int) {
check(returnType.first() == 'I') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
/**
* Overrides all return statements with a constant `Long` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Long) {
check(returnType.first() == 'J') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
/**
* Overrides all return statements with a constant `Float` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Float) {
check(returnType.first() == 'F') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
/**
* Overrides all return statements with a constant `Double` value.
* All method code is executed the same as unpatched.
*
* @see returnEarly
*/
fun MutableMethod.returnLate(value: Double) {
check(returnType.first() == 'D') { RETURN_TYPE_MISMATCH }
overrideReturnValue(value.toString(), true)
}
private fun MutableMethod.overrideReturnValue(value: String, returnLate: Boolean) {
val instructions = when (returnType.first()) {
'L' -> {
// If return type is an object, always return null.
'L', '[' -> {
"""
const/4 v0, $const
const/4 v0, 0x0
return-object v0
"""
}
'V' -> {
if (returnLate) throw IllegalArgumentException("Cannot return late for method of void type")
"return-void"
}
'I', 'Z' -> {
'B', 'Z' -> {
"""
const/4 v0, $const
const/4 v0, $value
return v0
"""
}
'S', 'C' -> {
"""
const/16 v0, $value
return v0
"""
}
'I', 'F' -> {
"""
const v0, $value
return v0
"""
}
'J', 'D' -> {
"""
const-wide v0, $value
return-wide v0
"""
}
else -> throw Exception("Return type is not supported: $this")
}

View File

@@ -6,3 +6,5 @@ internal object Utils {
.joinToString("\n") { it.trimIndent() } // Remove the leading whitespace from each line.
.trimIndent() // Remove the leading newline.
}
internal fun Boolean.toHexString(): String = if (this) "0x1" else "0x0"

View File

@@ -42,7 +42,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">إعادة تعيين إعدادات ReVanced إلى الوضع الافتراضي</string>
<string name="revanced_settings_import_success">تم استيراد %d إعدادات</string>
<string name="revanced_settings_import_failure_parse">فشل الاستيراد: %s</string>
<string name="revanced_settings_search_hint">إعدادات البحث</string>
<string name="revanced_settings_search_hint">بحث الإعدادات</string>
<string name="revanced_settings_search_no_results_title">لم يتم العثور على نتائج لـ \".%s\"</string>
<string name="revanced_settings_search_no_results_summary">جرّب كلمة مفتاحية أخرى</string>
<string name="revanced_settings_search_remove_message">إزالة من سجل البحث؟</string>
@@ -97,9 +97,9 @@ Second \"item\" text"</string>
<string name="revanced_restore_old_settings_menus_title">استعادة قوائم الإعدادات القديمة</string>
<string name="revanced_restore_old_settings_menus_summary_on">يتم عرض قوائم الإعدادات القديمة</string>
<string name="revanced_restore_old_settings_menus_summary_off">لا يتم عرض قوائم الإعدادات القديمة</string>
<string name="revanced_settings_search_history_title">إظهار سجل البحث في الإعدادات</string>
<string name="revanced_settings_search_history_summary_on">سجل البحث في الإعدادات معروض</string>
<string name="revanced_settings_search_history_summary_off">لم يتم عرض سجل البحث في الإعدادات</string>
<string name="revanced_settings_search_history_title">عرض سجل بحث الإعدادات</string>
<string name="revanced_settings_search_history_summary_on">يتم عرض سجل البحث في الإعدادات</string>
<string name="revanced_settings_search_history_summary_off">لا يتم عرض سجل البحث في الإعدادات</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">تعطيل تشغيل فيديوهات Shorts في الخلفية</string>
@@ -365,9 +365,6 @@ Second \"item\" text"</string>
هذه الميزة متاحة فقط للأجهزة القديمة"</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>

View File

@@ -42,7 +42,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">ReVanced tənzimləmələr standarta təyin edildi</string>
<string name="revanced_settings_import_success">%d tənzimləmə idxal edildi</string>
<string name="revanced_settings_import_failure_parse">Uğursuz idxal prosesi: %s</string>
<string name="revanced_settings_search_hint">Axtarış tənzimləmələri</string>
<string name="revanced_settings_search_hint">Tənzimləmələri axtar</string>
<string name="revanced_settings_search_no_results_title">%s üçün nəticə tapılmadı</string>
<string name="revanced_settings_search_no_results_summary">Başqa açar sözü yoxla</string>
<string name="revanced_settings_search_remove_message">Axtarış tarixçəsindən silinsin?</string>
@@ -365,9 +365,6 @@ Məhdudiyyətlər
Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Tam ekran reklamları göstərilir</string>
<string name="revanced_hide_buttoned_ads_title">Düyməli reklamları gizlət</string>
<string name="revanced_hide_buttoned_ads_summary_on">Düyməli reklamlar gizlədilir</string>
<string name="revanced_hide_buttoned_ads_summary_off">Düyməli reklamlar göstərilir</string>
<string name="revanced_hide_paid_promotion_label_title">Ödənişli tanıtım etiketini gizlət</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Ödənişli reklam etiketi gizlədilib</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Ödənişli reklam etiketi göstərilir</string>

View File

@@ -365,9 +365,6 @@ Second \"item\" text"</string>
Гэтая функцыя даступная толькі для старых прылад"</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>

View File

@@ -365,9 +365,6 @@ Second \"item\" text"</string>
Тази функция е налична само за по-стари устройства"</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>

View File

@@ -365,9 +365,6 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
এই বৈশিষ্ট্যটি কেবল পুরনো ডিভাইসের জন্য উপলব্ধ"</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>

View File

@@ -365,9 +365,6 @@ Limitacions
Aquesta funció només està disponible per a dispositius antics"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Els anuncis de pantalla completa es mostren</string>
<string name="revanced_hide_buttoned_ads_title">Amaga els anuncis amb botó</string>
<string name="revanced_hide_buttoned_ads_summary_on">Els anuncis amb botó estan amagats</string>
<string name="revanced_hide_buttoned_ads_summary_off">Els anuncis amb botó es mostren</string>
<string name="revanced_hide_paid_promotion_label_title">Amaga l\'etiqueta de promoció de pagament</string>
<string name="revanced_hide_paid_promotion_label_summary_on">L\'etiqueta de promoció de pagament està amagada</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Es mostra l\'etiqueta de promoció de pagament</string>

View File

@@ -365,9 +365,6 @@ Omezení:
Tato funkce je dostupná pouze pro starší zařízení"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Celostránkové reklamy jsou zobrazeny</string>
<string name="revanced_hide_buttoned_ads_title">Skrýt reklamy s tlačítky</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reklamy s tlačítky jsou skryty</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reklamy s tlačítky jsou zobrazeny</string>
<string name="revanced_hide_paid_promotion_label_title">Skrýt štítek placené propagace</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Štítek placené propagace je skryt</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Štítek placené propagace je zobrazen</string>

View File

@@ -338,9 +338,6 @@ Begrænsninger
Denne funktion er kun tilgængelig for ældre enheder"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Fuldskærms annoncer vises</string>
<string name="revanced_hide_buttoned_ads_title">Skjul knapfyldte annoncer</string>
<string name="revanced_hide_buttoned_ads_summary_on">Knappede annoncer er skjult</string>
<string name="revanced_hide_buttoned_ads_summary_off">Knappede annoncer vises</string>
<string name="revanced_hide_paid_promotion_label_title">Skjul betalt kampagneetiket</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Betalt reklamemærke er skjult</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Betalt salgsfremmende mærke er vist</string>

View File

@@ -360,9 +360,6 @@ Einschränkungen
Diese 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">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 Werbelabel ist ausgeblendet</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Bezahltes Werbe-Label wird angezeigt</string>

View File

@@ -367,9 +367,6 @@ Second \"item\" text"</string>
Αυτή η λειτουργία είναι διαθέσιμη μόνο για παλιότερες συσκευές"</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>

View File

@@ -362,9 +362,6 @@ Limitaciones
Esta función solo está disponible para dispositivos antiguos"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Se muestran anuncios a pantalla completa</string>
<string name="revanced_hide_buttoned_ads_title">Ocultar anuncios botonados</string>
<string name="revanced_hide_buttoned_ads_summary_on">Los anuncios botonados están ocultos</string>
<string name="revanced_hide_buttoned_ads_summary_off">Se muestran anuncios botonados</string>
<string name="revanced_hide_paid_promotion_label_title">Ocultar etiqueta de promoción de pago</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Etiqueta de promoción pagada está oculta</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Etiqueta de promoción pagada se muestra</string>

View File

@@ -365,9 +365,6 @@ Piirangud
See funktsioon on saadaval ainult vanemates seadmetes"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Täisekraanireklaamid kuvatakse</string>
<string name="revanced_hide_buttoned_ads_title">Peida nuppudega reklaamid</string>
<string name="revanced_hide_buttoned_ads_summary_on">Nuppudega reklaamid on peidetud</string>
<string name="revanced_hide_buttoned_ads_summary_off">Nuked onukleitud reklaamid näidatakse</string>
<string name="revanced_hide_paid_promotion_label_title">Peida makstud edendamise silt</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Makstud edendamise silt on peidus</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Makstud edendamise silt on näidatud</string>

View File

@@ -42,21 +42,48 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">بازگرداندن تنظیمات ReVanced به پیش‌فرض</string>
<string name="revanced_settings_import_success">%d تنظیمات وارد شدند</string>
<string name="revanced_settings_import_failure_parse">واردکردن انجام نشد: %s</string>
<string name="revanced_settings_search_hint">تنظیمات جستجو</string>
<string name="revanced_settings_search_no_results_title">نتایجی برای %s یافت نشد</string>
<string name="revanced_settings_search_no_results_summary">کلیدواژه دیگری را امتحان کنید</string>
<string name="revanced_settings_search_remove_message">حذف از تاریخچه جستجو؟</string>
<string name="revanced_show_menu_icons_title">نمایش آیکون تنظیمات ReVanced</string>
<string name="revanced_show_menu_icons_summary_on">نمادهای تنظیمات نشان داده می‌شوند</string>
<string name="revanced_show_menu_icons_summary_off">نمادهای تنظیمات نمایش داده نمی شوند</string>
<string name="revanced_language_title">زبان ReVanced</string>
<string name="revanced_language_DEFAULT">زبان برنامه</string>
<string name="revanced_pref_import_export_title">وارد کردن/صادر کردن</string>
<string name="revanced_pref_import_export_summary">وارد کردن / صادر کردن تنظیمات ReVanced</string>
<!-- Settings about dialog. -->
<string name="revanced_settings_about_links_body">شما درحال استفاده از نسخه &lt;i&gt;%s&lt;/i&gt; از پچ Revanced هستید</string>
<string name="revanced_settings_about_links_dev_header">توجه</string>
<string name="revanced_settings_about_links_header">لینک‌های رسمی</string>
<!-- NOTE: the about strings above are duplicated in the TikTok about screen code,
and changes made here must also be made there. -->
</patch>
<patch id="misc.gms.gmsCoreSupportResourcePatch">
<!-- 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 نصب نشده است. آنرا نصب کنید.</string>
<string name="gms_core_dialog_title">اقدام لازم است</string>
<string name="gms_core_dialog_open_website_text">باز کردن تارنما</string>
<string name="gms_core_dialog_continue_text">ادامه</string>
</patch>
</app>
<app id="youtube">
<patch id="misc.settings.settingsPatch">
<string name="revanced_settings_screen_00_about_title">درباره</string>
<string name="revanced_settings_screen_04_general_title">عمومی</string>
<string name="revanced_settings_screen_05_player_title">اجراکننده</string>
<string name="revanced_settings_screen_07_seekbar_title">نوار جریان پخش</string>
<string name="revanced_settings_screen_12_video_title">ويدئو</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
</patch>
<patch id="misc.debugging.enableDebuggingPatch">
<string name="revanced_debug_screen_title">عیب‌یابی</string>
<string name="revanced_debug_screen_summary">فعال یا غیرفعال کردن گزینه‌های عیب یابی</string>
<string name="revanced_debug_title">گزارش عیب</string>
<string name="revanced_debug_summary_on">لاگ عیب فعال است</string>
<string name="revanced_debug_summary_off">لاگ عیب غیرفعال است</string>
</patch>
<patch id="layout.hide.general.hideLayoutComponentsPatch">
<!-- 'Join' should be translated using the same localized wording YouTube displays.
@@ -67,6 +94,10 @@ Second \"item\" text"</string>
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
This button usually appears when searching for a YT creator. -->
<string name="revanced_hide_show_more_button_title">پنهان سازی دکمه \'نمایش بیشتر\'</string>
<string name="revanced_hide_show_more_button_summary_on">دکمه پنهان است</string>
<string name="revanced_hide_show_more_button_summary_off">دکمه نمایان است</string>
<string name="revanced_hide_ticket_shelf_title">پنهان سازی قفسه بلیط</string>
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
<!-- '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. -->
<!-- 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.

View File

@@ -360,9 +360,6 @@ Rajoitukset
Tämä ominaisuus on käytettävissä vain vanhemmilla laitteilla"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Koko näytön mainokset näytetään</string>
<string name="revanced_hide_buttoned_ads_title">Piilota painikkeelliset mainokset</string>
<string name="revanced_hide_buttoned_ads_summary_on">Painikkeelliset mainokset on piilotettu</string>
<string name="revanced_hide_buttoned_ads_summary_off">Painikkeelliset mainokset näytetään</string>
<string name="revanced_hide_paid_promotion_label_title">Piilota maksetun mainostuksen tunniste</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Maksetun mainostuksen tunniste on piilotettu</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Maksetun mainostuksen tunniste näytetään</string>

View File

@@ -365,9 +365,6 @@ Mga limitasyon
Ang tampok na ito ay magagamit lamang para sa mga mas lumang device"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Ipinapakita ang mga fullscreen na ad</string>
<string name="revanced_hide_buttoned_ads_title">Itago ang mga naka-button na ad</string>
<string name="revanced_hide_buttoned_ads_summary_on">Nakatago ang mga naka-button na ad</string>
<string name="revanced_hide_buttoned_ads_summary_off">Ipinapakita ang mga naka-button na ad</string>
<string name="revanced_hide_paid_promotion_label_title">Itago ang may bayad na label ng promosyon</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Nakatago ang label ng bayad na promosyon</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Ipinapakita ang may bayad na label ng promosyon</string>

View File

@@ -42,8 +42,8 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">Paramètres ReVanced réinitialisés aux valeurs par défaut</string>
<string name="revanced_settings_import_success">%d paramètres importés</string>
<string name="revanced_settings_import_failure_parse">Importation échouée : %s</string>
<string name="revanced_settings_search_hint">Paramètres de recherche</string>
<string name="revanced_settings_search_no_results_title">Aucun résultat trouvé pour \".%s\".</string>
<string name="revanced_settings_search_hint">Rechercher dans les paramètres</string>
<string name="revanced_settings_search_no_results_title">Aucun résultat trouvé pour \"%s\"</string>
<string name="revanced_settings_search_no_results_summary">Essayez un autre mot-clé</string>
<string name="revanced_settings_search_remove_message">Supprimer de l\'historique des recherches ?</string>
<string name="revanced_show_menu_icons_title">Afficher les icônes des paramètres ReVanced</string>
@@ -169,9 +169,9 @@ Vous ne serez pas informé des événements inattendus."</string>
<string name="revanced_hide_show_more_button_title">Masquer le bouton Afficher plus</string>
<string name="revanced_hide_show_more_button_summary_on">Le bouton est masqué</string>
<string name="revanced_hide_show_more_button_summary_off">Le bouton est affiché</string>
<string name="revanced_hide_ticket_shelf_title">Masquer le rayon de billets</string>
<string name="revanced_hide_ticket_shelf_summary_on">Le rayon de billets est masqué</string>
<string name="revanced_hide_ticket_shelf_summary_off">Le rayon de billets est affiché</string>
<string name="revanced_hide_ticket_shelf_title">Masquer l\'étagère des billets</string>
<string name="revanced_hide_ticket_shelf_summary_on">L\'étagère des billets est masquée</string>
<string name="revanced_hide_ticket_shelf_summary_off">L\'étagère des billets est affichée</string>
<string name="revanced_hide_timed_reactions_title">Masquer les réactions minutées</string>
<string name="revanced_hide_timed_reactions_summary_on">Les réactions minutées sont masquées</string>
<string name="revanced_hide_timed_reactions_summary_off">Les réactions minutées sont affichées</string>
@@ -241,9 +241,9 @@ Vous ne serez pas informé des événements inattendus."</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">Masquer \"Résumé de la vidéo généré par IA\"</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">La section du résumé de la vidéo est masquée</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">La section du résumé de la vidéo est affichée</string>
<string name="revanced_hide_ask_section_title">Masquer la section \"Demander\"</string>
<string name="revanced_hide_ask_section_summary_on">La section \"Demander\" est masquée</string>
<string name="revanced_hide_ask_section_summary_off">La section \"Demander\" est affichée</string>
<string name="revanced_hide_ask_section_title">Masquer \"Demander\"</string>
<string name="revanced_hide_ask_section_summary_on">La section Demander est masquée</string>
<string name="revanced_hide_ask_section_summary_off">La section Demander est affichée</string>
<string name="revanced_hide_attributes_section_title">Masquer les attributions</string>
<string name="revanced_hide_attributes_section_summary_on">Les sections Lieux mentionnés, Jeux, Musique et Personnes mentionnées sont masquées</string>
<string name="revanced_hide_attributes_section_summary_off">Les sections Lieux mentionnés, Jeux, Musique et Personnes mentionnées sont affichées</string>
@@ -365,9 +365,6 @@ Limitations
Cette fonctionnalité est disponible uniquement pour les appareils anciens"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Les annonces plein écran sont affichées</string>
<string name="revanced_hide_buttoned_ads_title">Masquer les annonces au format bouton</string>
<string name="revanced_hide_buttoned_ads_summary_on">Les annonces au format bouton sont masquées</string>
<string name="revanced_hide_buttoned_ads_summary_off">Les annonces au format bouton sont affichées</string>
<string name="revanced_hide_paid_promotion_label_title">Masquer la bannière de promotion rémunérée</string>
<string name="revanced_hide_paid_promotion_label_summary_on">La bannière \"Inclut une promotion rémunérée\" est masquée</string>
<string name="revanced_hide_paid_promotion_label_summary_off">La bannière \"Inclut une promotion rémunérée\" est affichée</string>

View File

@@ -162,8 +162,8 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
<string name="revanced_hide_notify_me_button_summary_off">Taispeántar an cnaipe</string>
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_search_result_recommendation_labels_title">Folaigh lipéid moltaí físeáin</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Tá lipéid \",,Dfhéach daoine eile air freisin\",, agus \",,Bfhéidir gur mhaith leat é seo freisin\",, folaithe</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Tá lipéid \",,Dfhéach daoine eile air freisin\",, agus \",,Bfhéidir gur mhaith leat é seo freisin\",, ar taispeáint</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on"> na lipéid \'Daoine a d\'fhéach orthu freisin\' agus \'B\'fhéidir gur mhaith leat freisin\' i bhfolach</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Taispeántar lipéid Daoine a dfhéach freisin agus Bfhéidir gur mhaith leat freisin</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">Folaigh cnaipe \'Taispeáin tuilleadh\'</string>
@@ -263,8 +263,8 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
<string name="revanced_hide_key_concepts_section_summary_on">Tá an chuid Príomhchoincheapa i bhfolach</string>
<string name="revanced_hide_key_concepts_section_summary_off">Taispeántar an chuid Príomhchoincheapa</string>
<string name="revanced_hide_transcript_section_title">Folaigh Tras-scríbhinn</string>
<string name="revanced_hide_transcript_section_summary_on">Tá an chuid trasscríbhinne i bhfolach</string>
<string name="revanced_hide_transcript_section_summary_off">Taispeántar alt an trasscríbhinne</string>
<string name="revanced_hide_transcript_section_summary_on">Tá alt an tras-scríbhinn i bhfolach</string>
<string name="revanced_hide_transcript_section_summary_off">Taispeántar alt an tras-scríbhinn</string>
<string name="revanced_hide_description_components_screen_title">Cur síos físeán</string>
<string name="revanced_hide_description_components_screen_summary">Folaigh nó taispeáint comhpháirteanna tuairisc</string>
<string name="revanced_hide_filter_bar_screen_title">Barra scagaire</string>
@@ -278,8 +278,8 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Folaigh i bhfíseáin gaolmhara</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">I bhfolach i bhfíseáin ghaolmhara</string>
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Taispeántar i bhfíseáin ghaolmhara</string>
<string name="revanced_comments_screen_title">Tuairimí</string>
<string name="revanced_comments_screen_summary">Folaigh nó taispeáin comhpháirteanna na rannóige tuairimí</string>
<string name="revanced_comments_screen_title">Tráchtanna</string>
<string name="revanced_comments_screen_summary">Folaigh nó taispeáin comhpháirteanna na rannóige tráchtanna</string>
<string name="revanced_hide_comments_ai_chat_summary_title">Folaigh achoimre Comhrá AI</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Tá achoimre comhrá i bhfolach</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Taispeántar achoimre comhrá</string>
@@ -365,9 +365,6 @@ Teorainneacha
Níl an ghné seo ar fáil ach do ghléasanna níos sine"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Taispeántar fógraí lánscáileáin</string>
<string name="revanced_hide_buttoned_ads_title">Folaigh fógraí cnaipe</string>
<string name="revanced_hide_buttoned_ads_summary_on">Tá fógraí cnaipe i bhfolach</string>
<string name="revanced_hide_buttoned_ads_summary_off">Taispeántar fógraí cnaipe</string>
<string name="revanced_hide_paid_promotion_label_title">Folaigh lipéad chun cinn íoctha</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Tá an lipéad promóisin íoctha i bhfolach</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Taispeántar lipéad promóisin íoctha</string>

View File

@@ -365,9 +365,6 @@ Korlátozások
Ez a funkció csak régebbi eszközökön érhető el"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">A teljes képernyős hirdetések láthatók</string>
<string name="revanced_hide_buttoned_ads_title">Gomb hirdetések elrejtése</string>
<string name="revanced_hide_buttoned_ads_summary_on">A gomb hirdetések el vannak rejtve</string>
<string name="revanced_hide_buttoned_ads_summary_off">A gomb hirdetések láthatók</string>
<string name="revanced_hide_paid_promotion_label_title">Fizetett promóció címke elrejtése</string>
<string name="revanced_hide_paid_promotion_label_summary_on">A fizetett promóciós címke el van rejtve</string>
<string name="revanced_hide_paid_promotion_label_summary_off">A fizetett promóciós címke meg van jelenítve</string>

View File

@@ -365,9 +365,6 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Այս հատկությունը հասանելի է միայն հին սարքերի համար"</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>

View File

@@ -365,9 +365,6 @@ Keterbatasan
Fitur ini hanya tersedia untuk perangkat yang lebih lama"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Iklan layar penuh ditampilkan</string>
<string name="revanced_hide_buttoned_ads_title">Sembunyikan iklan bertombol</string>
<string name="revanced_hide_buttoned_ads_summary_on">Iklan bertombol disembunyikan</string>
<string name="revanced_hide_buttoned_ads_summary_off">Iklan bertombol ditampilkan</string>
<string name="revanced_hide_paid_promotion_label_title">Sembunyikan label promosi berbayar</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Label promosi berbayar disembunyikan</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Label promosi berbayar ditampilkan</string>

View File

@@ -365,9 +365,6 @@ Note:
Questa funzione è disponibile solo per i dispositivi più vecchi"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Le pubblicità a schermo intero sono visibili</string>
<string name="revanced_hide_buttoned_ads_title">Nascondi le pubblicità a pulsante</string>
<string name="revanced_hide_buttoned_ads_summary_on">Le pubblicità a pulsante sono nascoste</string>
<string name="revanced_hide_buttoned_ads_summary_off">Le pubblicità a pulsante sono visibili</string>
<string name="revanced_hide_paid_promotion_label_title">Nascondi l\'etichetta della promozione a pagamento</string>
<string name="revanced_hide_paid_promotion_label_summary_on">L\'etichetta della promozione a pagamento è nascosta</string>
<string name="revanced_hide_paid_promotion_label_summary_off">L\'etichetta della promozione a pagamento è visibile</string>

View File

@@ -349,9 +349,6 @@ Second \"item\" text"</string>
תכונה זו זמינה רק עבור מכשירים ישנים יותר"</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>

View File

@@ -42,8 +42,8 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">ReVanced 設定をデフォルトにリセット</string>
<string name="revanced_settings_import_success">%d 個の設定をインポートしました</string>
<string name="revanced_settings_import_failure_parse">インポート失敗: %s</string>
<string name="revanced_settings_search_hint">検索設定</string>
<string name="revanced_settings_search_no_results_title">\'%s\' の検索結果は見つかりませんでした</string>
<string name="revanced_settings_search_hint">ReVanced の設定を検索</string>
<string name="revanced_settings_search_no_results_title">\'%s\' に一致する ReVanced の設定は見つかりませんでした</string>
<string name="revanced_settings_search_no_results_summary">別のキーワードを試してください</string>
<string name="revanced_settings_search_remove_message">検索履歴から削除しますか?</string>
<string name="revanced_show_menu_icons_title">ReVanced 設定にアイコンを表示する</string>
@@ -98,9 +98,9 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_restore_old_settings_menus_title">設定メニューを旧バージョンに戻す</string>
<string name="revanced_restore_old_settings_menus_summary_on">旧バージョンの設定メニューが表示されます</string>
<string name="revanced_restore_old_settings_menus_summary_off">通常の設定メニューが表示されます</string>
<string name="revanced_settings_search_history_title">設定検索履歴を表示</string>
<string name="revanced_settings_search_history_summary_on">設定検索履歴表示されています</string>
<string name="revanced_settings_search_history_summary_off">設定検索履歴は表示されません</string>
<string name="revanced_settings_search_history_title">設定検索履歴を表示する</string>
<string name="revanced_settings_search_history_summary_on">設定検索履歴表示されます</string>
<string name="revanced_settings_search_history_summary_off">設定検索履歴は表示されません</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">ショート動画のバックグラウンド再生を無効にする</string>
@@ -244,7 +244,7 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
<string name="revanced_hide_ai_generated_video_summary_section_title">「AI 生成による動画の要約」を非表示</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">動画の要約セクションは表示されません</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">動画の要約セクションは表示されます</string>
<string name="revanced_hide_ask_section_title">質問ボタンを非表示</string>
<string name="revanced_hide_ask_section_title">質問セクションを非表示</string>
<string name="revanced_hide_ask_section_summary_on">質問セクションは表示されません</string>
<string name="revanced_hide_ask_section_summary_off">質問セクションは表示されます</string>
<string name="revanced_hide_attributes_section_title">関連情報を非表示</string>
@@ -368,9 +368,6 @@ MicroG GmsCore に対する電池の最適化を無効にしても、バッテ
この機能は、古いデバイスでのみ利用できます"</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>
@@ -1167,7 +1164,7 @@ Automotive レイアウト
<string name="revanced_change_start_page_always_summary_on">"スタート画面の変更は常時適用されます
制限事項: ツールバーの [戻る] ボタンが機能しない可能性があります"</string>
<string name="revanced_change_start_page_always_summary_off">スタート画面の変更はアプリ起動時にのみ適用されます</string>
<string name="revanced_change_start_page_always_summary_off">スタート画面の変更はアプリ起動時にのみ適用されます</string>
</patch>
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
<string name="revanced_disable_resuming_shorts_player_title">ショート動画プレーヤーの再開を無効にする</string>
@@ -1296,8 +1293,8 @@ Automotive レイアウト
</patch>
<patch id="misc.announcements.announcementsPatch">
<string name="revanced_announcements_title">ReVanced のお知らせを表示する</string>
<string name="revanced_announcements_summary_on">アプリ起動時にお知らせが表示されます</string>
<string name="revanced_announcements_summary_off">アプリ起動時にお知らせは表示されません</string>
<string name="revanced_announcements_summary_on">お知らせは、アプリ起動時に表示されます</string>
<string name="revanced_announcements_summary_off">お知らせは、アプリ起動時に表示されません</string>
<string name="revanced_announcements_enabled_summary">アプリ起動時にお知らせを表示する</string>
<string name="revanced_announcements_connection_failed">お知らせの取得に失敗しました</string>
<string name="revanced_announcements_dialog_dismiss">閉じる</string>

View File

@@ -21,15 +21,15 @@ Second \"item\" text"</string>
<resources>
<app id="shared">
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">환경 검사에 실패</string>
<string name="revanced_check_environment_failed_title">환경 검사에 실패하였습니다</string>
<string name="revanced_check_environment_dialog_open_official_source_button">공식 홈페이지 열기</string>
<string name="revanced_check_environment_dialog_ignore_button">닫기</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;이 앱은 사용자가 패치하지 않은 것 같습니다.&lt;/h5&gt;&lt;br&gt;이 앱은 제대로 작동하지 않을 수 있으며, &lt;b&gt;사용 시 해롭거나 심지어 위험할 수도 있습니다&lt;/b&gt;.&lt;br&gt;&lt;br&gt;이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;검증되고 안전한 앱을 사용하고 있는지 확인하려면 &lt;b&gt;이 앱을 제하고 직접 패치하는 것&lt;/b&gt;을 강력히 권장합니다.&lt;p&gt;&lt;br&gt;이 경고는 두 번만 표시됩니다.</string>
<string name="revanced_check_environment_not_same_patching_device">다른 기기에서 패치</string>
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager에 의해 설치되지 않</string>
<string name="revanced_check_environment_not_near_patch_time">10분 이상 전에 패치</string>
<string name="revanced_check_environment_not_near_patch_time_days">%s 일 전에 패치</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK 빌드 날짜가 손상</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;이 앱은 사용자가 패치하지 않은 것 같습니다.&lt;/h5&gt;&lt;br&gt;이 앱은 제대로 작동하지 않을 수 있으며, &lt;b&gt;사용 시 해롭거나 심지어 위험할 수도 있습니다&lt;/b&gt;.&lt;br&gt;&lt;br&gt;이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;검증되고 안전한 앱을 사용하고 있는지 확인하려면 &lt;b&gt;이 앱을 제하고 직접 패치하는 것&lt;/b&gt;을 강력히 권장합니다.&lt;p&gt;&lt;br&gt;이 경고는 두 번만 표시됩니다.</string>
<string name="revanced_check_environment_not_same_patching_device">다른 기기에서 패치되었습니다</string>
<string name="revanced_check_environment_manager_not_expected_installer">ReVanced Manager에 의해 설치되지 않았습니다</string>
<string name="revanced_check_environment_not_near_patch_time">10분 이상 전에 패치되었습니다</string>
<string name="revanced_check_environment_not_near_patch_time_days">%s 일 전에 패치되었습니다</string>
<string name="revanced_check_environment_not_near_patch_time_invalid">APK 빌드 날짜가 손상되었습니다</string>
</patch>
<patch id="misc.settings.settingsResourcePatch">
<string name="revanced_settings_submenu_title">설정</string>
@@ -44,8 +44,8 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_failure_parse">설정을 가져올 수 없습니다: %s</string>
<string name="revanced_settings_search_hint">설정 검색</string>
<string name="revanced_settings_search_no_results_title">\'%s\'에 대한 검색 결과가 없습니다</string>
<string name="revanced_settings_search_no_results_summary">다른 키워드를 사용해 보세요</string>
<string name="revanced_settings_search_remove_message">검색 기록에서 제하시겠습니까?</string>
<string name="revanced_settings_search_no_results_summary">다른 키워드를 검색해 보세요</string>
<string name="revanced_settings_search_remove_message">검색 기록에서 제하시겠습니까?</string>
<string name="revanced_show_menu_icons_title">ReVanced 설정 아이콘 표시하기</string>
<string name="revanced_show_menu_icons_summary_on">설정 아이콘을 표시합니다</string>
<string name="revanced_show_menu_icons_summary_off">설정 아이콘을 표시하지 않습니다</string>
@@ -98,8 +98,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_restore_old_settings_menus_summary_on">이전 설정 메뉴를 표시합니다</string>
<string name="revanced_restore_old_settings_menus_summary_off">이전 설정 메뉴를 표시하지 않습니다</string>
<string name="revanced_settings_search_history_title">설정 검색 기록 표시하기</string>
<string name="revanced_settings_search_history_summary_on">설정 검색 기록 표시니다</string>
<string name="revanced_settings_search_history_summary_off">설정 검색 기록 표시지 않습니다</string>
<string name="revanced_settings_search_history_summary_on">설정 검색 기록 표시니다</string>
<string name="revanced_settings_search_history_summary_off">설정 검색 기록 표시지 않습니다</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Shorts 백그라운드 재생 비활성화하기</string>
@@ -166,8 +166,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_hide_notify_me_button_summary_off">\'알림 받기\' 버튼이 표시됩니다</string>
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_search_result_recommendation_labels_title">동영상 추천 라벨 숨기기</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on">다음 동영상 추천 라벨이 숨겨집니다\n• 시청자가 이 동영상도 시청함\n• 내가 좋아할 만한 동영상</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">다음 동영상 추천 라벨이 표시됩니다\n• 시청자가 이 동영상도 시청함\n• 내가 좋아할 만한 동영상</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on">다음 동영상 추천 라벨이 숨겨집니다:\n• 시청자가 이 동영상도 시청함\n• 내가 좋아할 만한 동영상</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">다음 동영상 추천 라벨이 표시됩니다:\n• 시청자가 이 동영상도 시청함\n• 내가 좋아할 만한 동영상</string>
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
This button usually appears when searching for a YT creator. -->
<string name="revanced_hide_show_more_button_title">\'자세히 보기\' 버튼 숨기기</string>
@@ -245,7 +245,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_hide_ai_generated_video_summary_section_title">AI 생성 동영상 요약 섹션 숨기기</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">AI 생성 동영상 요약 섹션이 숨겨집니다</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">AI 생성 동영상 요약 섹션이 표시됩니다</string>
<string name="revanced_hide_ask_section_title">요청 버튼 숨기기</string>
<string name="revanced_hide_ask_section_title">요청 섹션 숨기기</string>
<string name="revanced_hide_ask_section_summary_on">요청 섹션이 숨겨집니다</string>
<string name="revanced_hide_ask_section_summary_off">요청 섹션이 표시됩니다</string>
<string name="revanced_hide_attributes_section_title">속성 섹션 숨기기</string>
@@ -368,9 +368,6 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
이 설정은 구형 기기에서만 사용할 수 있습니다"</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>
@@ -423,9 +420,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<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_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제합니다\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제하지 않습니다\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_title">시청 경고 다이얼로그 제하기</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제합니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제하지 않습니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다.</string>
</patch>
<patch id="interaction.downloads.downloadsResourcePatch">
@@ -685,8 +682,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
</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">다음 롤링 넘버 애니메이션을 비활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명)</string>
<string name="revanced_disable_rolling_number_animations_summary_off">다음 롤링 넘버 애니메이션을 활성화합니다\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명)</string>
<string name="revanced_disable_rolling_number_animations_summary_on">다음 롤링 넘버 애니메이션을 비활성화합니다:\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명)</string>
<string name="revanced_disable_rolling_number_animations_summary_off">다음 롤링 넘버 애니메이션을 활성화합니다:\n• 조회수, 시청자 수 롤링 애니메이션 (플레이어 하단)\n• 좋아요 수, 조회수 롤링 애니메이션 (동영상 설명)</string>
</patch>
<patch id="layout.hide.seekbar.hideSeekbarPatch">
<string name="revanced_hide_seekbar_title">동영상 플레이어 재생바 숨기기</string>
@@ -1332,7 +1329,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
<string name="microg_settings_summary">알림 수신을 위한 클라우드 메시징을 설정할 수 있습니다</string>
</patch>
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
<string name="microg_offline_account_login_error">최근에 계정 로그인 정보를 변경했다면 MicroG를 제하고 다시 설치하세요.</string>
<string name="microg_offline_account_login_error">최근에 계정 로그인 정보를 변경했다면 MicroG를 제하고 다시 설치하세요.</string>
</patch>
<patch id="misc.links.bypassURLRedirectsPatch">
<string name="revanced_bypass_url_redirects_title">리다이렉션 없이 링크 바로 열기</string>
@@ -1345,9 +1342,9 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
<string name="revanced_external_browser_summary_off">앱 내에서 외부 링크를 열 때, 내부 브라우저를 사용합니다</string>
</patch>
<patch id="misc.privacy.removeTrackingQueryParameterPatch">
<string name="revanced_remove_tracking_query_parameter_title">추적 쿼리를 제한 링크 공유하기</string>
<string name="revanced_remove_tracking_query_parameter_summary_on">링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제합니다 (URL의 뒷부분 \'?si=...\' 이 제됨)</string>
<string name="revanced_remove_tracking_query_parameter_summary_off">링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제하지 않습니다</string>
<string name="revanced_remove_tracking_query_parameter_title">추적 쿼리를 제한 링크 공유하기</string>
<string name="revanced_remove_tracking_query_parameter_summary_on">링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제합니다 (URL의 뒷부분 \'?si=...\' 이 제됨)</string>
<string name="revanced_remove_tracking_query_parameter_summary_off">링크를 공유할 때, URL에서 추적 쿼리 매개변수를 제하지 않습니다</string>
</patch>
<patch id="misc.zoomhaptics.zoomHapticsPatch">
<string name="revanced_disable_zoom_haptics_title">동영상을 확대할 때, 진동 피드백 비활성화하기</string>
@@ -1428,8 +1425,8 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다.</string>
<string name="revanced_spoof_video_streams_client_type_title">기본 클라이언트</string>
<string name="revanced_spoof_video_streams_ios_force_avc_title">iOS AVC (H.264) 강제로 활성화하기</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">동영상 코덱을 AVC (H.264)로 강제로 활성화합니다\n\n• 일부 VP9 코덱 동영상에서 제되었던 화질 값이 표시될 수 있습니다\n• 최대 화질 값이 1080p이므로, 초고화질 동영상을 재생할 수 없습니다\n• HDR 동영상을 재생할 수 없습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">동영상 코덱을 자동으로 결정합니다\n\n• 예전에 업로드된 동영상을 재생했는데 VP9 코덱 응답을 받았을 경우, 일부 화질값이 제되어 360p와 1080p(Premium 기능)만 선택가능할 수 있거나 화질 메뉴를 선택불가능할 수 있습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_on">동영상 코덱을 AVC (H.264)로 강제로 활성화합니다\n\n• 일부 VP9 코덱 동영상에서 제되었던 화질 값이 표시될 수 있습니다\n• 최대 화질 값이 1080p이므로, 초고화질 동영상을 재생할 수 없습니다\n• HDR 동영상을 재생할 수 없습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_summary_off">동영상 코덱을 자동으로 결정합니다\n\n• 예전에 업로드된 동영상을 재생했는데 VP9 코덱 응답을 받았을 경우, 일부 화질값이 제되어 360p와 1080p(Premium 기능)만 선택가능할 수 있거나 화질 메뉴를 선택불가능할 수 있습니다</string>
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"이 설정를 활성화하면 배터리 수명이 향상되고, 동영상 재생 끊김 문제가 해결될 수 있습니다.
AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동영상을 재생할 수 없으며, 동영상을 재생했을 경우에는 VP9 또는 AV1보다 더 많은 모바일 데이터를 사용되오니 주의하세요."</string>
@@ -1469,11 +1466,11 @@ AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동
<string name="revanced_block_video_ads_summary_off">동영상 광고를 차단하지 않습니다</string>
</patch>
<patch id="chat.antidelete.showDeletedMessagesPatch">
<string name="revanced_deleted_msg">메시지를 제합니다</string>
<string name="revanced_show_deleted_messages_title">된 메시지 표시하기</string>
<string name="revanced_show_deleted_messages_entry_1">된 메시지 표시하지 않기</string>
<string name="revanced_show_deleted_messages_entry_2">스포일러 뒤에 제된 메시지 숨기기</string>
<string name="revanced_show_deleted_messages_entry_3">된 메시지를 줄이 그어진 텍스트로 표시하기</string>
<string name="revanced_deleted_msg">메시지를 제합니다</string>
<string name="revanced_show_deleted_messages_title">제된 메시지 표시하기</string>
<string name="revanced_show_deleted_messages_entry_1">제된 메시지 표시하지 않기</string>
<string name="revanced_show_deleted_messages_entry_2">스포일러 뒤에 제된 메시지 숨기기</string>
<string name="revanced_show_deleted_messages_entry_3">제된 메시지를 줄이 그어진 텍스트로 표시하기</string>
</patch>
<patch id="chat.autoclaim.autoClaimChannelPointsPatch">
<string name="revanced_auto_claim_channel_points_title">채널 포인트 자동 적립하기</string>

View File

@@ -365,9 +365,6 @@ Apribojimai
Ši funkcija yra prieinama tik senesniuose įrenginiuose"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Viso ekrano reklamos yra rodomos</string>
<string name="revanced_hide_buttoned_ads_title">Slėpti reklamas su mygtukais</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reklamos su mygtukais yra paslėptos</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reklamos su mygtukais yra rodomos</string>
<string name="revanced_hide_paid_promotion_label_title">Slėpti apmokėtos reklamos etiketę</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Apmokėtos reklamos etiketė yra paslėpta</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Apmokėtos reklamos etiketė yra rodoma</string>

View File

@@ -365,9 +365,6 @@ Ierobežojumi
Šī funkcija ir pieejama tikai vecākiem ierīcēm"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Pilnekrāna reklāmas ir redzamas</string>
<string name="revanced_hide_buttoned_ads_title">Paslēpt reklāmas ar pogām</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reklāmas ar pogām ir paslēptas</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reklāmas ar pogām ir redzamas</string>
<string name="revanced_hide_paid_promotion_label_title">Paslēpt apmaksātas reklāmas etiķeti</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Apmaksātas reklāmas etiķete ir paslēpta</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Apmaksātas reklāmas etiķete ir redzama</string>

View File

@@ -365,9 +365,6 @@ Beperkingen
Deze functie is alleen beschikbaar voor oudere apparaten"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Volledig scherm advertenties worden getoond</string>
<string name="revanced_hide_buttoned_ads_title">Advertenties met knoppen verbergen</string>
<string name="revanced_hide_buttoned_ads_summary_on">Advertenties met knoppen zijn verborgen</string>
<string name="revanced_hide_buttoned_ads_summary_off">Advertenties met knoppen worden getoond</string>
<string name="revanced_hide_paid_promotion_label_title">Betaalde promotielabel verbergen</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Betaalde promotielabel is verborgen</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Betaalde promotielabel wordt getoond</string>

View File

@@ -365,9 +365,6 @@ Ograniczenia
Ta funkcja jest dostępna tylko dla starszych urządzeń"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Reklamy pełnoekranowe są widoczne</string>
<string name="revanced_hide_buttoned_ads_title">Reklamy z przyciskami</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reklamy z przyciskami są ukryte</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reklamy z przyciskami są widoczne</string>
<string name="revanced_hide_paid_promotion_label_title">Etykiety płatnej promocji</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Etykiety płatnej promocji są ukryte</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Etykiety płatnej promocji są widoczne</string>

View File

@@ -363,9 +363,6 @@ Linitações
Este recurso está disponível apenas para dispositivos mais antigos"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Anúncios em tela cheia não estão ocultos</string>
<string name="revanced_hide_buttoned_ads_title">Ocultar anúncios com botões</string>
<string name="revanced_hide_buttoned_ads_summary_on">Os anúncios com botões estão ocultos</string>
<string name="revanced_hide_buttoned_ads_summary_off">Anúncios com botões não estão ocultos</string>
<string name="revanced_hide_paid_promotion_label_title">Ocultar o rótulo de promoção paga</string>
<string name="revanced_hide_paid_promotion_label_summary_on">O rótulo de promoção paga está oculto</string>
<string name="revanced_hide_paid_promotion_label_summary_off">O rótulo de promoção paga é mostrada</string>
@@ -762,8 +759,8 @@ Para exibir o menu da faixa de áudio, altere \"Spoof video streams\" para iOS T
<string name="revanced_hide_shorts_like_button_summary_on">Botão gostei está oculto</string>
<string name="revanced_hide_shorts_like_button_summary_off">Botão gostei não está oculto</string>
<string name="revanced_hide_shorts_dislike_button_title">Ocultar botão Não curtir</string>
<string name="revanced_hide_shorts_dislike_button_summary_on">Botão não gostei está oculto</string>
<string name="revanced_hide_shorts_dislike_button_summary_off">Botão não gostei é mostrado</string>
<string name="revanced_hide_shorts_dislike_button_summary_on">Botão não gostei é mostrado</string>
<string name="revanced_hide_shorts_dislike_button_summary_off">Botão não gostei está oculto</string>
<string name="revanced_hide_shorts_comments_button_title">Ocultar botão Comentários</string>
<string name="revanced_hide_shorts_comments_button_summary_on">Botão comentários está oculto</string>
<string name="revanced_hide_shorts_comments_button_summary_off">Botão comentários não está oculto</string>
@@ -847,7 +844,7 @@ Configurações → Reprodução → Reproduzir próximo vídeo automaticamente"
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Recarregue o vídeo para votar usando o Return YouTube Dislike</string>
<!-- Video likes have been set to hidden by the video uploader. -->
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Oculto pelo proprietário</string>
<string name="revanced_ryd_enabled_summary_on">Não gostei está oculto</string>
<string name="revanced_ryd_enabled_summary_on">Não gostei é mostrado</string>
<string name="revanced_ryd_enabled_summary_off">Não gostei não está oculto</string>
<string name="revanced_ryd_shorts_title">Mostrar não gostei no Shorts</string>
<string name="revanced_ryd_shorts_summary_on">"\"Não gostei\" nos Shorts são mostrados

View File

@@ -365,9 +365,6 @@ Limitações
Tính năng này chỉ khả dụng cho các thiết bị cũ"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Os anúncios são visíveis em ecrã cheia</string>
<string name="revanced_hide_buttoned_ads_title">Esconder anúncios com botão</string>
<string name="revanced_hide_buttoned_ads_summary_on">Anúncios com botões estão escondidos</string>
<string name="revanced_hide_buttoned_ads_summary_off">Os anúncios com botões são visíveis</string>
<string name="revanced_hide_paid_promotion_label_title">Ocultar rótulo de promoção paga</string>
<string name="revanced_hide_paid_promotion_label_summary_on">O rótulo de promoção pago está oculto</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Rótulo de promoção pago é mostrado</string>

View File

@@ -365,9 +365,6 @@ Limitări
Această funcție este disponibilă numai pentru dispozitivele mai vechi"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Reclame pe ecran complet sunt afișate</string>
<string name="revanced_hide_buttoned_ads_title">Ascunde reclame butoane</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reclame nastate sunt ascunse</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reclame buttonate sunt afișate</string>
<string name="revanced_hide_paid_promotion_label_title">Ascunde eticheta promoției cu plată</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Eticheta promoției plătite este ascunsă</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Eticheta promoției plătite este afișată</string>

View File

@@ -42,7 +42,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">Настройки ReVanced восстановлены до значений по умолчанию</string>
<string name="revanced_settings_import_success">Импортировано %d настроек</string>
<string name="revanced_settings_import_failure_parse">Ошибка импорта: %s</string>
<string name="revanced_settings_search_hint">Настройки поиска</string>
<string name="revanced_settings_search_hint">Поиск настроек</string>
<string name="revanced_settings_search_no_results_title">По запросу \"%s\" ничего не найдено</string>
<string name="revanced_settings_search_no_results_summary">Попробуйте другое ключевое слово</string>
<string name="revanced_settings_search_remove_message">Удалить из истории поиска?</string>
@@ -97,9 +97,9 @@ Second \"item\" text"</string>
<string name="revanced_restore_old_settings_menus_title">Включить старое меню настроек</string>
<string name="revanced_restore_old_settings_menus_summary_on">Старое меню настроек включено</string>
<string name="revanced_restore_old_settings_menus_summary_off">Новое меню настроек включено</string>
<string name="revanced_settings_search_history_title">Показывать историю поиска в настройках</string>
<string name="revanced_settings_search_history_summary_on">История поиска в настройках отображается</string>
<string name="revanced_settings_search_history_summary_off">История поиска настроек не отображается</string>
<string name="revanced_settings_search_history_title">Показать историю поиска настроек</string>
<string name="revanced_settings_search_history_summary_on">История поиска настроек показана</string>
<string name="revanced_settings_search_history_summary_off">История поиска настроек скрыта</string>
</patch>
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
<string name="revanced_shorts_disable_background_playback_title">Отключить воспроизведение Shorts в фоновом режиме</string>
@@ -161,17 +161,17 @@ Second \"item\" text"</string>
<string name="revanced_hide_notify_me_button_summary_on">Кнопка \"Прислать уведомление\" под плеером скрыта</string>
<string name="revanced_hide_notify_me_button_summary_off">Кнопка \"Прислать уведомление\" под плеером показана</string>
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
<string name="revanced_hide_search_result_recommendation_labels_title">Скрыть ярлыки с рекомендациями видео</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Ярлыки \"Люди также смотрят\" и \"Вам также может понравиться\" скрыты</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Ярлыки \"Люди также смотрят\" и \"Вам также может понравиться\" показаны</string>
<string name="revanced_hide_search_result_recommendation_labels_title">Скрыть метки видеорекомендаций</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_on">Метки \"Люди также смотрели\" и \"Вам также может понравиться\" в результатах поиска скрыты</string>
<string name="revanced_hide_search_result_recommendation_labels_summary_off">Метки \"Люди также смотрели\" и \"Вам также может понравиться\" в результатах поиска показаны</string>
<!-- 'Show more' should be translated with the same localized wording that YouTube displays.
This button usually appears when searching for a YT creator. -->
<string name="revanced_hide_show_more_button_title">Скрыть кнопку \"Показать еще\"</string>
<string name="revanced_hide_show_more_button_summary_on">Кнопка \"Показать еще\" в результатах поиска скрыта</string>
<string name="revanced_hide_show_more_button_summary_off">Кнопка \"Показать еще\" в результатах поиска показана</string>
<string name="revanced_hide_ticket_shelf_title">Скрыть секцию билетов</string>
<string name="revanced_hide_ticket_shelf_summary_on">Секция билетов скрыта</string>
<string name="revanced_hide_ticket_shelf_summary_off">Секция билетов показана</string>
<string name="revanced_hide_ticket_shelf_summary_on">Секция билетов под плеером скрыта</string>
<string name="revanced_hide_ticket_shelf_summary_off">Секция билетов под плеером показана</string>
<string name="revanced_hide_timed_reactions_title">Скрыть временные реакции</string>
<string name="revanced_hide_timed_reactions_summary_on">Временные реакции в комментариях и живом чате скрыты</string>
<string name="revanced_hide_timed_reactions_summary_off">Временные реакции в комментариях и живом чате показаны</string>
@@ -241,9 +241,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_ai_generated_video_summary_section_title">Скрыть секцию AI-резюме видео</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Секция AI-резюме видео в описании видео скрыта</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Секция AI-резюме видео в описании видео показана</string>
<string name="revanced_hide_ask_section_title">Скрыть кнопку \"Спросить\"</string>
<string name="revanced_hide_ask_section_summary_on">Раздел \"Спросить\" скрыт</string>
<string name="revanced_hide_ask_section_summary_off">Раздел \"Спросить\" показан</string>
<string name="revanced_hide_ask_section_title">Скрыть раздел \"Спросить\"</string>
<string name="revanced_hide_ask_section_summary_on">Раздел \"Спросить\" в описании видео скрыт</string>
<string name="revanced_hide_ask_section_summary_off">Раздел \"Спросить\" в описании видео показан</string>
<string name="revanced_hide_attributes_section_title">Скрыть раздел атрибутов</string>
<string name="revanced_hide_attributes_section_summary_on">Разделы \"Упомянутые или показанные места\", \"Игры\", \"Музыка\" и \"Люди, которых упоминали\" скрыты</string>
<string name="revanced_hide_attributes_section_summary_off">Разделы \"Упомянутые или показанные места\", \"Игры\", \"Музыка\" и \"Люди, которых упоминали\" показаны</string>
@@ -365,9 +365,6 @@ Second \"item\" text"</string>
Данная опция доступна только для старых устройств"</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>

View File

@@ -358,9 +358,6 @@ Slová s veľkými písmenami v strede musia byť zadané s použitím veľkých
Táto funkcia je dostupná len pre staršie zariadenia"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Zobrazujú sa reklamy na celú obrazovku</string>
<string name="revanced_hide_buttoned_ads_title">Skryť zapnuté reklamy</string>
<string name="revanced_hide_buttoned_ads_summary_on">Zapnuté reklamy sú skryté</string>
<string name="revanced_hide_buttoned_ads_summary_off">Zobrazujú sa reklamy s tlačidlami</string>
<string name="revanced_hide_paid_promotion_label_title">Skryť štítok platenej propagácie</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Štítok platenej propagácie je skrytý</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Zobrazuje sa štítok platenej propagácie</string>

View File

@@ -365,9 +365,6 @@ Omejitve
Ta funkcija je na voljo samo za starejše naprave"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Oglasi na celotnem zaslonu so prikazani</string>
<string name="revanced_hide_buttoned_ads_title">Skrij oglase z gumbi</string>
<string name="revanced_hide_buttoned_ads_summary_on">Oglasi z gumbi so skriti</string>
<string name="revanced_hide_buttoned_ads_summary_off">Oglasi z gumbi so prikazani</string>
<string name="revanced_hide_paid_promotion_label_title">Skrij nalepko plačane promocije</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Nalepka plačane promocije je skrita</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Nalepka plačane promocije je prikazana</string>

View File

@@ -365,9 +365,6 @@ Kufizime
Kjo veçori është e disponueshme vetëm për pajisje më të vjetra"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Reklamimet me ekran të plotë janë të dukshme</string>
<string name="revanced_hide_buttoned_ads_title">Fsheh reklamimet me butona</string>
<string name="revanced_hide_buttoned_ads_summary_on">Reklamimet me butona janë të fshehur</string>
<string name="revanced_hide_buttoned_ads_summary_off">Reklamimet me butona janë të dukshme</string>
<string name="revanced_hide_paid_promotion_label_title">Fsheh etiketën e promovimit të paguar</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Etiketë e promovimit të paguar është e fshehur</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Etiketë e promovimit të paguar është e dukshme</string>

View File

@@ -365,9 +365,6 @@ Ograničenja
Ova funkcija je dostupna samo za starije uređaje"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Oglasi preko celog ekrana su prikazani</string>
<string name="revanced_hide_buttoned_ads_title">Sakrij oglase u obliku dugmadi</string>
<string name="revanced_hide_buttoned_ads_summary_on">Oglasi u obliku dugmadi su skriveni</string>
<string name="revanced_hide_buttoned_ads_summary_off">Oglasi u obliku dugmadi su prikazani</string>
<string name="revanced_hide_paid_promotion_label_title">Sakrij oznaku plaćene promocije</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Oznaka plaćeme promocije je skrivena</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Oznaka plaćene promocije je prikazana</string>

View File

@@ -365,9 +365,6 @@ Second \"item\" text"</string>
Ова функција је доступна само за старије уређаје"</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>

View File

@@ -365,9 +365,6 @@ Begränsningar
Den här funktionen är endast tillgänglig för äldre enheter"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Fullskärmsannonser är synliga</string>
<string name="revanced_hide_buttoned_ads_title">Dölj knappannonser</string>
<string name="revanced_hide_buttoned_ads_summary_on">Knappannonser är dolda</string>
<string name="revanced_hide_buttoned_ads_summary_off">Knappannonser är synliga</string>
<string name="revanced_hide_paid_promotion_label_title">Dölj betald kampanjetikett</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Betald kampanjetikett är dold</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Betald kampanjetikett är synlig</string>

View File

@@ -365,9 +365,6 @@ Second \"item\" text"</string>
คุณสมบัตินี้มีเฉพาะสําหรับอุปกรณ์รุ่นเก่า"</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>

View File

@@ -42,7 +42,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">ReVanced ayarları varsayılanlara sıfırlandı</string>
<string name="revanced_settings_import_success">%d ayar içe aktarıldı</string>
<string name="revanced_settings_import_failure_parse">İçe aktarılamadı: %s</string>
<string name="revanced_settings_search_hint">Arama ayarları</string>
<string name="revanced_settings_search_hint">Ayarları ara</string>
<string name="revanced_settings_search_no_results_title">\'%s\' için sonuç bulunamadı</string>
<string name="revanced_settings_search_no_results_summary">Başka bir anahtar kelime deneyin</string>
<string name="revanced_settings_search_remove_message">Arama geçmişinden kaldırılsın mı?</string>
@@ -171,7 +171,7 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz."</string>
<string name="revanced_hide_show_more_button_summary_off">Düğme görünür</string>
<string name="revanced_hide_ticket_shelf_title">Bilet rafını gizle</string>
<string name="revanced_hide_ticket_shelf_summary_on">Bilet rafı gizli</string>
<string name="revanced_hide_ticket_shelf_summary_off">Bilet rafı görünüyor</string>
<string name="revanced_hide_ticket_shelf_summary_off">Bilet rafı görünür</string>
<string name="revanced_hide_timed_reactions_title">Süreli tepkileri gizle</string>
<string name="revanced_hide_timed_reactions_summary_on">Süreli tepkiler gizli</string>
<string name="revanced_hide_timed_reactions_summary_off">Süreli tepkiler görünür</string>
@@ -242,8 +242,8 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz."</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Video özeti bölümü gizli</string>
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Video özeti bölümü görünür</string>
<string name="revanced_hide_ask_section_title">\'Sor\'u gizle</string>
<string name="revanced_hide_ask_section_summary_on">Sor bölümü gizli</string>
<string name="revanced_hide_ask_section_summary_off">Sor bölümü görünür</string>
<string name="revanced_hide_ask_section_summary_on">Sor kısmı gizli</string>
<string name="revanced_hide_ask_section_summary_off">Sor kısmı görünür</string>
<string name="revanced_hide_attributes_section_title">Nitelikleri gizle</string>
<string name="revanced_hide_attributes_section_summary_on">Öne çıkan yerler, Oyunlar, Müzik ve Bahsedilen kişiler bölümleri gizli</string>
<string name="revanced_hide_attributes_section_summary_off">Öne çıkan yerler, Oyunlar, Müzik ve Bahsedilen kişiler bölümleri görünür</string>
@@ -365,9 +365,6 @@ Sınırlamalar
Bu özellik yalnızca eski cihazlarda kullanılabilir"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Tam ekran reklamlar görünür</string>
<string name="revanced_hide_buttoned_ads_title">Düğmeli reklamları gizle</string>
<string name="revanced_hide_buttoned_ads_summary_on">Düğmeli reklamlar gizli</string>
<string name="revanced_hide_buttoned_ads_summary_off">Düğmeli reklamlar görünür</string>
<string name="revanced_hide_paid_promotion_label_title">Ücretli tanıtım etiketini gizle</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Ücretli tanıtım etiketi gizli</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Ücretli tanıtım etiketi görünür</string>

View File

@@ -366,9 +366,6 @@ Second \"item\" text"</string>
Ця функція доступна тільки для старих пристроїв"</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>
@@ -1141,13 +1138,13 @@ Second \"item\" text"</string>
<string name="revanced_change_start_page_title">Змінити початкову сторінку</string>
<string name="revanced_change_start_page_entry_default">За замовчуванням</string>
<string name="revanced_change_start_page_entry_all_subscriptions">Усі підписки</string>
<string name="revanced_change_start_page_entry_browse">Усі підписки</string>
<string name="revanced_change_start_page_entry_browse">Перегляд каналів</string>
<string name="revanced_change_start_page_entry_courses">Навчання</string>
<string name="revanced_change_start_page_entry_explore">Навігатор</string>
<string name="revanced_change_start_page_entry_fashion">Мода і краса</string>
<string name="revanced_change_start_page_entry_explore">Що нового</string>
<string name="revanced_change_start_page_entry_fashion">Мода та краса</string>
<string name="revanced_change_start_page_entry_gaming">Ігри</string>
<string name="revanced_change_start_page_entry_history">Історія</string>
<string name="revanced_change_start_page_entry_library">Бібліотека</string>
<string name="revanced_change_start_page_entry_library">Вкладка \"Ви\"</string>
<string name="revanced_change_start_page_entry_liked_videos">Відео, які сподобалися</string>
<string name="revanced_change_start_page_entry_live">Прямі трансляції</string>
<string name="revanced_change_start_page_entry_movies">Фільми</string>

View File

@@ -42,7 +42,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">Cài đặt ReVanced đặt lại thành mặc định</string>
<string name="revanced_settings_import_success">Đã nhập cài đặt %d</string>
<string name="revanced_settings_import_failure_parse">Nhập thất bại: %s</string>
<string name="revanced_settings_search_hint">Cài đặt tìm kiếm</string>
<string name="revanced_settings_search_hint">Tìm kiếm</string>
<string name="revanced_settings_search_no_results_title">Không tìm thấy kết quả nào cho \'%s\'</string>
<string name="revanced_settings_search_no_results_summary">Thử một từ khóa khác</string>
<string name="revanced_settings_search_remove_message">Xóa khỏi lịch sử tìm kiếm?</string>
@@ -365,9 +365,6 @@ Hạn chế
Tính năng này chỉ khả dụng cho các thiết bị cũ hơn"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Quảng cáo toàn màn hình được hiển thị</string>
<string name="revanced_hide_buttoned_ads_title">Ẩn quảng cáo có nút</string>
<string name="revanced_hide_buttoned_ads_summary_on">Quảng cáo có nút đã bị ẩn</string>
<string name="revanced_hide_buttoned_ads_summary_off">Quảng cáo có nút được hiển thị</string>
<string name="revanced_hide_paid_promotion_label_title">Ẩn nhãn quảng cáo được tài trợ</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Nhãn quảng cáo được tài trợ đã bị ẩn</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Nhãn quảng cáo được tài trợ được hiển thị</string>

View File

@@ -365,9 +365,6 @@ Second \"item\" text"</string>
此功能仅适用于旧设备"</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>

View File

@@ -355,9 +355,6 @@ Second \"item\" text"</string>
此功能僅適用於舊版裝置"</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>

View File

@@ -427,9 +427,6 @@ Limitations
This feature is only available for older devices"</string>
<string name="revanced_hide_fullscreen_ads_summary_off">Fullscreen ads are shown</string>
<string name="revanced_hide_buttoned_ads_title">Hide buttoned ads</string>
<string name="revanced_hide_buttoned_ads_summary_on">Buttoned ads are hidden</string>
<string name="revanced_hide_buttoned_ads_summary_off">Buttoned ads are shown</string>
<string name="revanced_hide_paid_promotion_label_title">Hide paid promotion label</string>
<string name="revanced_hide_paid_promotion_label_summary_on">Paid promotion label is hidden</string>
<string name="revanced_hide_paid_promotion_label_summary_off">Paid promotion label is shown</string>