mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-05-01 23:24:29 +02:00
Compare commits
48 Commits
v5.21.0-de
...
main
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a1303c50da | ||
![]() |
2879005875 | ||
![]() |
fc0c8e9726 | ||
![]() |
d27db53584 | ||
![]() |
f0c9c35778 | ||
![]() |
9dcd3d35dd | ||
![]() |
40fa1689e8 | ||
![]() |
da099341fa | ||
![]() |
d47a244f74 | ||
![]() |
903cdb9bb3 | ||
![]() |
ab4bdc8a25 | ||
![]() |
1d5c6c9351 | ||
![]() |
06b35b2a7d | ||
![]() |
a1207c9784 | ||
![]() |
f198bece65 | ||
![]() |
f459c3c7fa | ||
![]() |
39769bf384 | ||
![]() |
c255ac18e0 | ||
![]() |
f925479a93 | ||
![]() |
6514420719 | ||
![]() |
0e064cd607 | ||
![]() |
a50edf06f6 | ||
![]() |
43bcf5a098 | ||
![]() |
f6f06dcd02 | ||
![]() |
9d30474318 | ||
![]() |
2bbcf9d82c | ||
![]() |
ba83c01700 | ||
![]() |
ebee07ec3a | ||
![]() |
81999d8cd5 | ||
![]() |
d21c1b2a94 | ||
![]() |
eaceab5ee5 | ||
![]() |
4db5d3c3d5 | ||
![]() |
9ab0338a68 | ||
![]() |
433dbc3bf8 | ||
![]() |
255cb5874c | ||
![]() |
fd214046f2 | ||
![]() |
5062e24433 | ||
![]() |
ee9039428c | ||
![]() |
0cb38f9f36 | ||
![]() |
3e64a4c18f | ||
![]() |
cc3b94a3cb | ||
![]() |
dc89be0e94 | ||
![]() |
84bc40cba0 | ||
![]() |
f62bcbf42a | ||
![]() |
11027ec551 | ||
![]() |
79a2c0db3d | ||
![]() |
5ecbe823ed | ||
![]() |
409f98cf65 |
137
CHANGELOG.md
137
CHANGELOG.md
@ -1,3 +1,140 @@
|
|||||||
|
# [5.22.0](https://github.com/ReVanced/revanced-patches/compare/v5.21.0...v5.22.0) (2025-05-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **TikTok - Feed filter:** Hide ads in following feed ([#4844](https://github.com/ReVanced/revanced-patches/issues/4844)) ([c255ac1](https://github.com/ReVanced/revanced-patches/commit/c255ac18e0b2dcf917bd0559876be5a2a81023db))
|
||||||
|
* **YouTube - Hide layout components:** Hide new type of community posts ([#4888](https://github.com/ReVanced/revanced-patches/issues/4888)) ([f0c9c35](https://github.com/ReVanced/revanced-patches/commit/f0c9c35778ab43a99149ee5ad0ccfd8aeb09f638))
|
||||||
|
* **YouTube - Hide Shorts components:** Hide action buttons A/B button layout ([#4889](https://github.com/ReVanced/revanced-patches/issues/4889)) ([9dcd3d3](https://github.com/ReVanced/revanced-patches/commit/9dcd3d35dddf019547ab6ce431bac7a5a8a4c291))
|
||||||
|
* **YouTube - Shorts autoplay:** Fix autoplay with YT 20.12 ([06b35b2](https://github.com/ReVanced/revanced-patches/commit/06b35b2a7d7371915881e8f430c32ce15fa224de))
|
||||||
|
* **YouTube - Spoof app version:** Do not hide spoof version in general settings menu ([#4861](https://github.com/ReVanced/revanced-patches/issues/4861)) ([f459c3c](https://github.com/ReVanced/revanced-patches/commit/f459c3c7fae3a1b8addf3354488dcef9f95255cc))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **TikTok - Feed Filter:** Remove TikTok Shop from feed. ([#4851](https://github.com/ReVanced/revanced-patches/issues/4851)) ([f198bec](https://github.com/ReVanced/revanced-patches/commit/f198bece653e3e1adf083129dedb77c1d1a633d7))
|
||||||
|
* **YouTube - GmsCore support:** Show troubleshooting in app text if the user recently changed their account details ([#4879](https://github.com/ReVanced/revanced-patches/issues/4879)) ([ab4bdc8](https://github.com/ReVanced/revanced-patches/commit/ab4bdc8a2519cee15f79bf95d89e7ea56ea464ee))
|
||||||
|
|
||||||
|
# [5.22.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.22.0-dev.3...v5.22.0-dev.4) (2025-04-30)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Hide layout components:** Hide new type of community posts ([#4888](https://github.com/ReVanced/revanced-patches/issues/4888)) ([f0c9c35](https://github.com/ReVanced/revanced-patches/commit/f0c9c35778ab43a99149ee5ad0ccfd8aeb09f638))
|
||||||
|
* **YouTube - Hide Shorts components:** Hide action buttons A/B button layout ([#4889](https://github.com/ReVanced/revanced-patches/issues/4889)) ([9dcd3d3](https://github.com/ReVanced/revanced-patches/commit/9dcd3d35dddf019547ab6ce431bac7a5a8a4c291))
|
||||||
|
|
||||||
|
# [5.22.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.22.0-dev.2...v5.22.0-dev.3) (2025-04-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube - GmsCore support:** Show troubleshooting in app text if the user recently changed their account details ([#4879](https://github.com/ReVanced/revanced-patches/issues/4879)) ([ab4bdc8](https://github.com/ReVanced/revanced-patches/commit/ab4bdc8a2519cee15f79bf95d89e7ea56ea464ee))
|
||||||
|
|
||||||
|
# [5.22.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.22.0-dev.1...v5.22.0-dev.2) (2025-04-27)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Shorts autoplay:** Fix autoplay with YT 20.12 ([06b35b2](https://github.com/ReVanced/revanced-patches/commit/06b35b2a7d7371915881e8f430c32ce15fa224de))
|
||||||
|
|
||||||
|
# [5.22.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.21.0...v5.22.0-dev.1) (2025-04-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **TikTok - Feed filter:** Hide ads in following feed ([#4844](https://github.com/ReVanced/revanced-patches/issues/4844)) ([c255ac1](https://github.com/ReVanced/revanced-patches/commit/c255ac18e0b2dcf917bd0559876be5a2a81023db))
|
||||||
|
* **YouTube - Spoof app version:** Do not hide spoof version in general settings menu ([#4861](https://github.com/ReVanced/revanced-patches/issues/4861)) ([f459c3c](https://github.com/ReVanced/revanced-patches/commit/f459c3c7fae3a1b8addf3354488dcef9f95255cc))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **TikTok - Feed Filter:** Remove TikTok Shop from feed. ([#4851](https://github.com/ReVanced/revanced-patches/issues/4851)) ([f198bec](https://github.com/ReVanced/revanced-patches/commit/f198bece653e3e1adf083129dedb77c1d1a633d7))
|
||||||
|
|
||||||
|
# [5.21.0](https://github.com/ReVanced/revanced-patches/compare/v5.20.1...v5.21.0) (2025-04-25)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* `Hide ADB status` patch ([#4814](https://github.com/ReVanced/revanced-patches/issues/4814)) ([dc89be0](https://github.com/ReVanced/revanced-patches/commit/dc89be0e94880733f862b250d95d4848f02c594d))
|
||||||
|
* **GmsCore Support:** Correct the description to refer to the app being patched ([2bbcf9d](https://github.com/ReVanced/revanced-patches/commit/2bbcf9d82ca2f442572a6aa886cc611b0d56ff0a))
|
||||||
|
* **Wide search bar:** Fix patching `19.16.39` ([433dbc3](https://github.com/ReVanced/revanced-patches/commit/433dbc3bf81823369e146035c954281e84d3a436))
|
||||||
|
* **YouTube - Change start page:** Add option to always override start page on app launch ([#4832](https://github.com/ReVanced/revanced-patches/issues/4832)) ([5062e24](https://github.com/ReVanced/revanced-patches/commit/5062e24433ba38eba397438e8fde32099109d3c3))
|
||||||
|
* **YouTube - Disable auto captions:** Correctly hide captions with YT 20.12 ([5ecbe82](https://github.com/ReVanced/revanced-patches/commit/5ecbe823ed5197533328cc37f1de5cd1f048a217))
|
||||||
|
* **YouTube - Hide video action buttons:** Add option to hide 'Ask' button ([#4852](https://github.com/ReVanced/revanced-patches/issues/4852)) ([43bcf5a](https://github.com/ReVanced/revanced-patches/commit/43bcf5a098c9008cc11dc7df9680437d5effbb32))
|
||||||
|
* **YouTube - Hide video action buttons:** Hide A/B layout buttons ([4db5d3c](https://github.com/ReVanced/revanced-patches/commit/4db5d3c3d5ac04faf70cc07fb309b324d752e7e3))
|
||||||
|
* **YouTube - Wide search bar:** Do not force phone layout for tablet devices ([#4827](https://github.com/ReVanced/revanced-patches/issues/4827)) ([0cb38f9](https://github.com/ReVanced/revanced-patches/commit/0cb38f9f367a7fe742d8ca336150049181d637b6))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Add `Hide ADB status` patch ([#4585](https://github.com/ReVanced/revanced-patches/issues/4585)) ([1ea8047](https://github.com/ReVanced/revanced-patches/commit/1ea8047aefdaa358e9af8038923ac54d68a39176))
|
||||||
|
* **X / Twitter:** Support version `10.86.0-release.0` ([#4805](https://github.com/ReVanced/revanced-patches/issues/4805)) ([655b390](https://github.com/ReVanced/revanced-patches/commit/655b39043ad77efcb4380de67c3f603666e7bc49))
|
||||||
|
* **YouTube - Swipe controls:** Add option for vertical progress bar ([#4811](https://github.com/ReVanced/revanced-patches/issues/4811)) ([ebee07e](https://github.com/ReVanced/revanced-patches/commit/ebee07ec3aba6fd3adbd8e0af30390e197879d89))
|
||||||
|
* **YouTube:** Support version `20.12.46` ([#4779](https://github.com/ReVanced/revanced-patches/issues/4779)) ([703359f](https://github.com/ReVanced/revanced-patches/commit/703359f0c16b613c204cf16cf42227b628f664fa))
|
||||||
|
|
||||||
|
# [5.21.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.11...v5.21.0-dev.12) (2025-04-24)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Hide video action buttons:** Add option to hide 'Ask' button ([#4852](https://github.com/ReVanced/revanced-patches/issues/4852)) ([43bcf5a](https://github.com/ReVanced/revanced-patches/commit/43bcf5a098c9008cc11dc7df9680437d5effbb32))
|
||||||
|
|
||||||
|
# [5.21.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.10...v5.21.0-dev.11) (2025-04-24)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **GmsCore Support:** Correct the description to refer to the app being patched ([2bbcf9d](https://github.com/ReVanced/revanced-patches/commit/2bbcf9d82ca2f442572a6aa886cc611b0d56ff0a))
|
||||||
|
|
||||||
|
# [5.21.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.9...v5.21.0-dev.10) (2025-04-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube - Swipe controls:** Add option for vertical progress bar ([#4811](https://github.com/ReVanced/revanced-patches/issues/4811)) ([ebee07e](https://github.com/ReVanced/revanced-patches/commit/ebee07ec3aba6fd3adbd8e0af30390e197879d89))
|
||||||
|
|
||||||
|
# [5.21.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.8...v5.21.0-dev.9) (2025-04-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Hide video action buttons:** Hide A/B layout buttons ([4db5d3c](https://github.com/ReVanced/revanced-patches/commit/4db5d3c3d5ac04faf70cc07fb309b324d752e7e3))
|
||||||
|
|
||||||
|
# [5.21.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.7...v5.21.0-dev.8) (2025-04-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **Wide search bar:** Fix patching `19.16.39` ([433dbc3](https://github.com/ReVanced/revanced-patches/commit/433dbc3bf81823369e146035c954281e84d3a436))
|
||||||
|
|
||||||
|
# [5.21.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.6...v5.21.0-dev.7) (2025-04-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Change start page:** Add option to always override start page on app launch ([#4832](https://github.com/ReVanced/revanced-patches/issues/4832)) ([5062e24](https://github.com/ReVanced/revanced-patches/commit/5062e24433ba38eba397438e8fde32099109d3c3))
|
||||||
|
|
||||||
|
# [5.21.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.5...v5.21.0-dev.6) (2025-04-19)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Wide search bar:** Do not force phone layout for tablet devices ([#4827](https://github.com/ReVanced/revanced-patches/issues/4827)) ([0cb38f9](https://github.com/ReVanced/revanced-patches/commit/0cb38f9f367a7fe742d8ca336150049181d637b6))
|
||||||
|
|
||||||
|
# [5.21.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.4...v5.21.0-dev.5) (2025-04-18)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* `Hide ADB status` patch ([#4814](https://github.com/ReVanced/revanced-patches/issues/4814)) ([dc89be0](https://github.com/ReVanced/revanced-patches/commit/dc89be0e94880733f862b250d95d4848f02c594d))
|
||||||
|
|
||||||
|
# [5.21.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.3...v5.21.0-dev.4) (2025-04-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Disable auto captions:** Correctly hide captions with YT 20.12 ([5ecbe82](https://github.com/ReVanced/revanced-patches/commit/5ecbe823ed5197533328cc37f1de5cd1f048a217))
|
||||||
|
|
||||||
# [5.21.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.2...v5.21.0-dev.3) (2025-04-16)
|
# [5.21.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.21.0-dev.2...v5.21.0-dev.3) (2025-04-16)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package app.revanced.extension.all.hide.adb;
|
package app.revanced.extension.all.misc.hide.adb;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
@ -1,4 +1,4 @@
|
|||||||
package app.revanced.extension.all.connectivity.wifi.spoof;
|
package app.revanced.extension.all.misc.connectivity.wifi.spoof;
|
||||||
|
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
@ -1,4 +1,4 @@
|
|||||||
package app.revanced.extension.all.screencapture.removerestriction;
|
package app.revanced.extension.all.misc.screencapture.removerestriction;
|
||||||
|
|
||||||
import android.media.AudioAttributes;
|
import android.media.AudioAttributes;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
@ -1,4 +1,4 @@
|
|||||||
package app.revanced.extension.all.screenshot.removerestriction;
|
package app.revanced.extension.all.misc.screenshot.removerestriction;
|
||||||
|
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
@ -20,9 +20,7 @@ import androidx.annotation.RequiresApi;
|
|||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
@SuppressWarnings("unused")
|
||||||
* @noinspection unused
|
|
||||||
*/
|
|
||||||
public class GmsCoreSupport {
|
public class GmsCoreSupport {
|
||||||
private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube";
|
private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube";
|
||||||
private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music";
|
private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music";
|
||||||
|
@ -342,9 +342,12 @@ public abstract class Setting<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Identical to calling {@link #save(Object)} using {@link #defaultValue}.
|
* Identical to calling {@link #save(Object)} using {@link #defaultValue}.
|
||||||
|
*
|
||||||
|
* @return The newly saved default value.
|
||||||
*/
|
*/
|
||||||
public void resetToDefault() {
|
public T resetToDefault() {
|
||||||
save(defaultValue);
|
save(defaultValue);
|
||||||
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -204,7 +204,7 @@ public class StreamingDataRequest {
|
|||||||
// but empty response body does.
|
// but empty response body does.
|
||||||
if (connection.getContentLength() == 0) {
|
if (connection.getContentLength() == 0) {
|
||||||
if (BaseSettings.DEBUG.get() && BaseSettings.DEBUG_TOAST_ON_ERROR.get()) {
|
if (BaseSettings.DEBUG.get() && BaseSettings.DEBUG_TOAST_ON_ERROR.get()) {
|
||||||
Utils.showToastShort("Ignoring empty spoof stream client: " + clientType);
|
Utils.showToastShort("Debug: Ignoring empty spoof stream client " + clientType);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
|
try (InputStream inputStream = new BufferedInputStream(connection.getInputStream());
|
||||||
|
@ -2,6 +2,7 @@ package app.revanced.extension.tiktok.feedfilter;
|
|||||||
|
|
||||||
import com.ss.android.ugc.aweme.feed.model.Aweme;
|
import com.ss.android.ugc.aweme.feed.model.Aweme;
|
||||||
import com.ss.android.ugc.aweme.feed.model.FeedItemList;
|
import com.ss.android.ugc.aweme.feed.model.FeedItemList;
|
||||||
|
import com.ss.android.ugc.aweme.follow.presenter.FollowFeedList;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -13,22 +14,41 @@ public final class FeedItemsFilter {
|
|||||||
new StoryFilter(),
|
new StoryFilter(),
|
||||||
new ImageVideoFilter(),
|
new ImageVideoFilter(),
|
||||||
new ViewCountFilter(),
|
new ViewCountFilter(),
|
||||||
new LikeCountFilter()
|
new LikeCountFilter(),
|
||||||
|
new ShopFilter()
|
||||||
);
|
);
|
||||||
|
|
||||||
public static void filter(FeedItemList feedItemList) {
|
public static void filter(FeedItemList feedItemList) {
|
||||||
Iterator<Aweme> feedItemListIterator = feedItemList.items.iterator();
|
filterFeedList(feedItemList.items, item -> item);
|
||||||
while (feedItemListIterator.hasNext()) {
|
}
|
||||||
Aweme item = feedItemListIterator.next();
|
|
||||||
if (item == null) continue;
|
|
||||||
|
|
||||||
|
public static void filter(FollowFeedList followFeedList) {
|
||||||
|
filterFeedList(followFeedList.mItems, feed -> (feed != null) ? feed.aweme : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T> void filterFeedList(List<T> list, AwemeExtractor<T> extractor) {
|
||||||
|
// Could be simplified with removeIf() but requires Android 7.0+ while TikTok supports 4.0+.
|
||||||
|
Iterator<T> iterator = list.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
T container = iterator.next();
|
||||||
|
Aweme item = extractor.extract(container);
|
||||||
|
if (item != null && shouldFilter(item)) {
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean shouldFilter(Aweme item) {
|
||||||
for (IFilter filter : FILTERS) {
|
for (IFilter filter : FILTERS) {
|
||||||
boolean enabled = filter.getEnabled();
|
if (filter.getEnabled() && filter.getFiltered(item)) {
|
||||||
if (enabled && filter.getFiltered(item)) {
|
return true;
|
||||||
feedItemListIterator.remove();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@FunctionalInterface
|
||||||
|
interface AwemeExtractor<T> {
|
||||||
|
Aweme extract(T source);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package app.revanced.extension.tiktok.feedfilter;
|
||||||
|
|
||||||
|
import app.revanced.extension.tiktok.settings.Settings;
|
||||||
|
import com.ss.android.ugc.aweme.feed.model.Aweme;
|
||||||
|
|
||||||
|
public class ShopFilter implements IFilter {
|
||||||
|
private static final String SHOP_INFO = "placeholder_product_id";
|
||||||
|
@Override
|
||||||
|
public boolean getEnabled() {
|
||||||
|
return Settings.HIDE_SHOP.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getFiltered(Aweme item) {
|
||||||
|
return item.getShareUrl().contains(SHOP_INFO);
|
||||||
|
}
|
||||||
|
}
|
@ -11,6 +11,7 @@ import app.revanced.extension.shared.settings.StringSetting;
|
|||||||
public class Settings extends BaseSettings {
|
public class Settings extends BaseSettings {
|
||||||
public static final BooleanSetting REMOVE_ADS = new BooleanSetting("remove_ads", TRUE, true);
|
public static final BooleanSetting REMOVE_ADS = new BooleanSetting("remove_ads", TRUE, true);
|
||||||
public static final BooleanSetting HIDE_LIVE = new BooleanSetting("hide_live", FALSE, true);
|
public static final BooleanSetting HIDE_LIVE = new BooleanSetting("hide_live", FALSE, true);
|
||||||
|
public static final BooleanSetting HIDE_SHOP = new BooleanSetting("hide_shop", FALSE, true);
|
||||||
public static final BooleanSetting HIDE_STORY = new BooleanSetting("hide_story", FALSE, true);
|
public static final BooleanSetting HIDE_STORY = new BooleanSetting("hide_story", FALSE, true);
|
||||||
public static final BooleanSetting HIDE_IMAGE = new BooleanSetting("hide_image", FALSE, true);
|
public static final BooleanSetting HIDE_IMAGE = new BooleanSetting("hide_image", FALSE, true);
|
||||||
public static final StringSetting MIN_MAX_VIEWS = new StringSetting("min_max_views", "0-" + Long.MAX_VALUE, true);
|
public static final StringSetting MIN_MAX_VIEWS = new StringSetting("min_max_views", "0-" + Long.MAX_VALUE, true);
|
||||||
|
@ -26,6 +26,11 @@ public class FeedFilterPreferenceCategory extends ConditionalPreferenceCategory
|
|||||||
"Remove feed ads", "Remove ads from feed.",
|
"Remove feed ads", "Remove ads from feed.",
|
||||||
Settings.REMOVE_ADS
|
Settings.REMOVE_ADS
|
||||||
));
|
));
|
||||||
|
addPreference(new TogglePreference(
|
||||||
|
context,
|
||||||
|
"Hide TikTok Shop", "Hide TikTok shop from feed.",
|
||||||
|
Settings.HIDE_SHOP
|
||||||
|
));
|
||||||
addPreference(new TogglePreference(
|
addPreference(new TogglePreference(
|
||||||
context,
|
context,
|
||||||
"Hide livestreams", "Hide livestreams from feed.",
|
"Hide livestreams", "Hide livestreams from feed.",
|
||||||
|
@ -33,4 +33,8 @@ public class Aweme {
|
|||||||
public AwemeStatistics getStatistics() {
|
public AwemeStatistics getStatistics() {
|
||||||
throw new UnsupportedOperationException("Stub");
|
throw new UnsupportedOperationException("Stub");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getShareUrl() {
|
||||||
|
throw new UnsupportedOperationException("Stub");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.ss.android.ugc.aweme.follow.presenter;
|
||||||
|
|
||||||
|
import com.ss.android.ugc.aweme.feed.model.Aweme;
|
||||||
|
|
||||||
|
//Dummy class
|
||||||
|
public class FollowFeed {
|
||||||
|
public Aweme aweme;
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.ss.android.ugc.aweme.follow.presenter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
//Dummy class
|
||||||
|
public class FollowFeedList {
|
||||||
|
public List<FollowFeed> mItems;
|
||||||
|
}
|
@ -2,6 +2,8 @@ package app.revanced.extension.youtube;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.view.Window;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
@ -102,4 +104,21 @@ public class ThemeHelper {
|
|||||||
|
|
||||||
return Utils.getColorFromString(colorName);
|
return Utils.getColorFromString(colorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the system navigation bar color for the activity.
|
||||||
|
* Applies the background color obtained from {@link #getBackgroundColor()} to the navigation bar.
|
||||||
|
* For Android 10 (API 29) and above, enforces navigation bar contrast to ensure visibility.
|
||||||
|
*/
|
||||||
|
public static void setNavigationBarColor(@Nullable Window window) {
|
||||||
|
if (window == null) {
|
||||||
|
Logger.printDebug(() -> "Cannot set navigation bar color, window is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.setNavigationBarColor(getBackgroundColor());
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||||
|
window.setNavigationBarContrastEnforced(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package app.revanced.extension.youtube.patches;
|
||||||
|
|
||||||
|
import static app.revanced.extension.shared.StringRef.sf;
|
||||||
|
|
||||||
|
import app.revanced.extension.shared.Logger;
|
||||||
|
import app.revanced.extension.shared.Utils;
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
public class AccountCredentialsInvalidTextPatch {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injection point.
|
||||||
|
*/
|
||||||
|
public static String getOfflineNetworkErrorString(String original) {
|
||||||
|
try {
|
||||||
|
if (Utils.isNetworkConnected()) {
|
||||||
|
Logger.printDebug(() -> "Network appears to be online, but app is showing offline error");
|
||||||
|
return '\n' + sf("microg_offline_account_login_error").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.printDebug(() -> "Network is offline");
|
||||||
|
} catch (Exception ex) {
|
||||||
|
Logger.printException(() -> "getOfflineNetworkErrorString failure", ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
return original;
|
||||||
|
}
|
||||||
|
}
|
@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import app.revanced.extension.shared.Logger;
|
import app.revanced.extension.shared.Logger;
|
||||||
|
import app.revanced.extension.shared.settings.Setting;
|
||||||
import app.revanced.extension.youtube.settings.Settings;
|
import app.revanced.extension.youtube.settings.Settings;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -81,6 +82,13 @@ public final class ChangeStartPagePatch {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class ChangeStartPageTypeAvailability implements Setting.Availability {
|
||||||
|
@Override
|
||||||
|
public boolean isAvailable() {
|
||||||
|
return Settings.CHANGE_START_PAGE.get() != StartPage.DEFAULT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Intent action when YouTube is cold started from the launcher.
|
* Intent action when YouTube is cold started from the launcher.
|
||||||
* <p>
|
* <p>
|
||||||
@ -93,6 +101,8 @@ public final class ChangeStartPagePatch {
|
|||||||
|
|
||||||
private static final StartPage START_PAGE = Settings.CHANGE_START_PAGE.get();
|
private static final StartPage START_PAGE = Settings.CHANGE_START_PAGE.get();
|
||||||
|
|
||||||
|
private static final boolean CHANGE_START_PAGE_ALWAYS = Settings.CHANGE_START_PAGE_ALWAYS.get();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* There is an issue where the back button on the toolbar doesn't work properly.
|
* There is an issue where the back button on the toolbar doesn't work properly.
|
||||||
* As a workaround for this issue, instead of overriding the browserId multiple times, just override it once.
|
* As a workaround for this issue, instead of overriding the browserId multiple times, just override it once.
|
||||||
@ -104,13 +114,13 @@ public final class ChangeStartPagePatch {
|
|||||||
return original;
|
return original;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appLaunched) {
|
if (!CHANGE_START_PAGE_ALWAYS && appLaunched) {
|
||||||
Logger.printDebug(() -> "Ignore override browseId as the app already launched");
|
Logger.printDebug(() -> "Ignore override browseId as the app already launched");
|
||||||
return original;
|
return original;
|
||||||
}
|
}
|
||||||
appLaunched = true;
|
appLaunched = true;
|
||||||
|
|
||||||
Logger.printDebug(() -> "Changing browseId to " + START_PAGE.id);
|
Logger.printDebug(() -> "Changing browseId to: " + START_PAGE.id);
|
||||||
return START_PAGE.id;
|
return START_PAGE.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,14 +135,14 @@ public final class ChangeStartPagePatch {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appLaunched) {
|
if (!CHANGE_START_PAGE_ALWAYS && appLaunched) {
|
||||||
Logger.printDebug(() -> "Ignore override intent action as the app already launched");
|
Logger.printDebug(() -> "Ignore override intent action as the app already launched");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
appLaunched = true;
|
appLaunched = true;
|
||||||
|
|
||||||
String intentAction = START_PAGE.id;
|
String intentAction = START_PAGE.id;
|
||||||
Logger.printDebug(() -> "Changing intent action to " + intentAction);
|
Logger.printDebug(() -> "Changing intent action to: " + intentAction);
|
||||||
intent.setAction(intentAction);
|
intent.setAction(intentAction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,7 @@ public class CustomPlayerOverlayOpacityPatch {
|
|||||||
|
|
||||||
if (opacity < 0 || opacity > 100) {
|
if (opacity < 0 || opacity > 100) {
|
||||||
Utils.showToastLong(str("revanced_player_overlay_opacity_invalid_toast"));
|
Utils.showToastLong(str("revanced_player_overlay_opacity_invalid_toast"));
|
||||||
Settings.PLAYER_OVERLAY_OPACITY.resetToDefault();
|
opacity = Settings.PLAYER_OVERLAY_OPACITY.resetToDefault();
|
||||||
opacity = Settings.PLAYER_OVERLAY_OPACITY.defaultValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PLAYER_OVERLAY_OPACITY_LEVEL = (opacity * 255) / 100;
|
PLAYER_OVERLAY_OPACITY_LEVEL = (opacity * 255) / 100;
|
||||||
|
@ -1,20 +1,23 @@
|
|||||||
package app.revanced.extension.youtube.patches;
|
package app.revanced.extension.youtube.patches;
|
||||||
|
|
||||||
import app.revanced.extension.youtube.settings.Settings;
|
import app.revanced.extension.youtube.settings.Settings;
|
||||||
import app.revanced.extension.youtube.shared.ShortsPlayerState;
|
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class DisableAutoCaptionsPatch {
|
public class DisableAutoCaptionsPatch {
|
||||||
|
|
||||||
/**
|
private static volatile boolean captionsButtonStatus;
|
||||||
* Used by injected code. Do not delete.
|
|
||||||
*/
|
|
||||||
public static boolean captionsButtonDisabled;
|
|
||||||
|
|
||||||
public static boolean autoCaptionsEnabled() {
|
/**
|
||||||
return Settings.AUTO_CAPTIONS.get()
|
* Injection point.
|
||||||
// Do not use auto captions for Shorts.
|
*/
|
||||||
&& ShortsPlayerState.isOpen();
|
public static boolean disableAutoCaptions() {
|
||||||
|
return Settings.DISABLE_AUTO_CAPTIONS.get() && !captionsButtonStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injection point.
|
||||||
|
*/
|
||||||
|
public static void setCaptionsButtonStatus(boolean status) {
|
||||||
|
captionsButtonStatus = status;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -162,8 +162,7 @@ public final class MiniplayerPatch {
|
|||||||
|
|
||||||
if (opacity < 0 || opacity > 100) {
|
if (opacity < 0 || opacity > 100) {
|
||||||
Utils.showToastLong(str("revanced_miniplayer_opacity_invalid_toast"));
|
Utils.showToastLong(str("revanced_miniplayer_opacity_invalid_toast"));
|
||||||
Settings.MINIPLAYER_OPACITY.resetToDefault();
|
opacity = Settings.MINIPLAYER_OPACITY.resetToDefault();
|
||||||
opacity = Settings.MINIPLAYER_OPACITY.defaultValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OPACITY_LEVEL = (opacity * 255) / 100;
|
OPACITY_LEVEL = (opacity * 255) / 100;
|
||||||
|
@ -2,6 +2,8 @@ package app.revanced.extension.youtube.patches;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -76,7 +78,7 @@ public class ShortsAutoplayPatch {
|
|||||||
/**
|
/**
|
||||||
* Injection point.
|
* Injection point.
|
||||||
*/
|
*/
|
||||||
public static Enum<?> changeShortsRepeatBehavior(Enum<?> original) {
|
public static Enum<?> changeShortsRepeatBehavior(@Nullable Enum<?> original) {
|
||||||
try {
|
try {
|
||||||
final boolean autoplay;
|
final boolean autoplay;
|
||||||
|
|
||||||
@ -98,17 +100,35 @@ public class ShortsAutoplayPatch {
|
|||||||
: ShortsLoopBehavior.REPEAT;
|
: ShortsLoopBehavior.REPEAT;
|
||||||
|
|
||||||
if (behavior.ytEnumValue != null) {
|
if (behavior.ytEnumValue != null) {
|
||||||
Logger.printDebug(() -> behavior.ytEnumValue == original
|
Logger.printDebug(() -> {
|
||||||
? "Changing Shorts repeat behavior from: " + original.name() + " to: " + behavior.ytEnumValue
|
String name = (original == null ? "unknown (null)" : original.name());
|
||||||
: "Behavior setting is same as original. Using original: " + original.name()
|
return behavior == original
|
||||||
);
|
? "Behavior setting is same as original. Using original: " + name
|
||||||
|
: "Changing Shorts repeat behavior from: " + name + " to: " + behavior.name();
|
||||||
|
});
|
||||||
|
|
||||||
return behavior.ytEnumValue;
|
return behavior.ytEnumValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (original == null) {
|
||||||
|
// Cannot return null, as null is used to indicate Short was auto played.
|
||||||
|
// Unpatched app replaces null with unknown enum type (appears to fix for bad api data).
|
||||||
|
Enum<?> unknown = ShortsLoopBehavior.UNKNOWN.ytEnumValue;
|
||||||
|
Logger.printDebug(() -> "Original is null, returning: " + unknown.name());
|
||||||
|
return unknown;
|
||||||
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Logger.printException(() -> "changeShortsRepeatState failure", ex);
|
Logger.printException(() -> "changeShortsRepeatBehavior failure", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
return original;
|
return original;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injection point.
|
||||||
|
*/
|
||||||
|
public static boolean isAutoPlay(Enum<?> original) {
|
||||||
|
return ShortsLoopBehavior.SINGLE_PLAY.ytEnumValue == original;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,48 @@
|
|||||||
package app.revanced.extension.youtube.patches;
|
package app.revanced.extension.youtube.patches;
|
||||||
|
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.util.TypedValue;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import app.revanced.extension.shared.Logger;
|
||||||
|
import app.revanced.extension.shared.Utils;
|
||||||
import app.revanced.extension.youtube.settings.Settings;
|
import app.revanced.extension.youtube.settings.Settings;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public final class WideSearchbarPatch {
|
public final class WideSearchbarPatch {
|
||||||
|
|
||||||
|
private static final Boolean WIDE_SEARCHBAR_ENABLED = Settings.WIDE_SEARCHBAR.get();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injection point.
|
||||||
|
*/
|
||||||
public static boolean enableWideSearchbar(boolean original) {
|
public static boolean enableWideSearchbar(boolean original) {
|
||||||
return Settings.WIDE_SEARCHBAR.get() || original;
|
return WIDE_SEARCHBAR_ENABLED || original;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injection point.
|
||||||
|
*/
|
||||||
|
public static void setActionBar(View view) {
|
||||||
|
try {
|
||||||
|
if (!WIDE_SEARCHBAR_ENABLED) return;
|
||||||
|
|
||||||
|
View searchBarView = Utils.getChildViewByResourceName(view, "search_bar");
|
||||||
|
|
||||||
|
final int paddingLeft = searchBarView.getPaddingLeft();
|
||||||
|
final int paddingRight = searchBarView.getPaddingRight();
|
||||||
|
final int paddingTop = searchBarView.getPaddingTop();
|
||||||
|
final int paddingBottom = searchBarView.getPaddingBottom();
|
||||||
|
final int paddingStart = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
|
||||||
|
8, Resources.getSystem().getDisplayMetrics());
|
||||||
|
|
||||||
|
if (Utils.isRightToLeftTextLayout()) {
|
||||||
|
searchBarView.setPadding(paddingLeft, paddingTop, paddingStart, paddingBottom);
|
||||||
|
} else {
|
||||||
|
searchBarView.setPadding(paddingStart, paddingTop, paddingRight, paddingBottom);
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
Logger.printException(() -> "setActionBar failure", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ final class ButtonsFilter extends Filter {
|
|||||||
|
|
||||||
bufferFilterPathGroup = new StringFilterGroup(
|
bufferFilterPathGroup = new StringFilterGroup(
|
||||||
null,
|
null,
|
||||||
"|ContainerType|button.eml|"
|
"|ContainerType|button.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
addPathCallbacks(
|
addPathCallbacks(
|
||||||
@ -43,7 +43,7 @@ final class ButtonsFilter extends Filter {
|
|||||||
),
|
),
|
||||||
new StringFilterGroup(
|
new StringFilterGroup(
|
||||||
Settings.HIDE_DOWNLOAD_BUTTON,
|
Settings.HIDE_DOWNLOAD_BUTTON,
|
||||||
"|download_button.eml|"
|
"|download_button.eml"
|
||||||
),
|
),
|
||||||
new StringFilterGroup(
|
new StringFilterGroup(
|
||||||
Settings.HIDE_PLAYLIST_BUTTON,
|
Settings.HIDE_PLAYLIST_BUTTON,
|
||||||
@ -51,7 +51,7 @@ final class ButtonsFilter extends Filter {
|
|||||||
),
|
),
|
||||||
new StringFilterGroup(
|
new StringFilterGroup(
|
||||||
Settings.HIDE_CLIP_BUTTON,
|
Settings.HIDE_CLIP_BUTTON,
|
||||||
"|clip_button.eml|"
|
"|clip_button.eml"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -68,15 +68,19 @@ final class ButtonsFilter extends Filter {
|
|||||||
Settings.HIDE_REMIX_BUTTON,
|
Settings.HIDE_REMIX_BUTTON,
|
||||||
"yt_outline_youtube_shorts_plus"
|
"yt_outline_youtube_shorts_plus"
|
||||||
),
|
),
|
||||||
|
new ByteArrayFilterGroup(
|
||||||
|
Settings.HIDE_THANKS_BUTTON,
|
||||||
|
"yt_outline_dollar_sign_heart"
|
||||||
|
),
|
||||||
|
new ByteArrayFilterGroup(
|
||||||
|
Settings.HIDE_ASK_BUTTON,
|
||||||
|
"yt_fill_spark"
|
||||||
|
),
|
||||||
// Check for clip button both here and using a path filter,
|
// Check for clip button both here and using a path filter,
|
||||||
// as there's a chance the path is a generic action button and won't contain 'clip_button'
|
// as there's a chance the path is a generic action button and won't contain 'clip_button'
|
||||||
new ByteArrayFilterGroup(
|
new ByteArrayFilterGroup(
|
||||||
Settings.HIDE_CLIP_BUTTON,
|
Settings.HIDE_CLIP_BUTTON,
|
||||||
"yt_outline_scissors"
|
"yt_outline_scissors"
|
||||||
),
|
|
||||||
new ByteArrayFilterGroup(
|
|
||||||
Settings.HIDE_THANKS_BUTTON,
|
|
||||||
"yt_outline_dollar_sign_heart"
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,10 @@ public final class LayoutComponentsFilter extends Filter {
|
|||||||
"post_base_wrapper_slim.eml",
|
"post_base_wrapper_slim.eml",
|
||||||
"poll_post_root.eml",
|
"poll_post_root.eml",
|
||||||
"videos_post_root.eml",
|
"videos_post_root.eml",
|
||||||
"post_shelf_slim.eml"
|
"post_shelf_slim.eml",
|
||||||
|
"videos_post_responsive_root.eml",
|
||||||
|
"text_post_responsive_root.eml",
|
||||||
|
"poll_post_responsive_root.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
final var communityGuidelines = new StringFilterGroup(
|
final var communityGuidelines = new StringFilterGroup(
|
||||||
@ -211,7 +214,7 @@ public final class LayoutComponentsFilter extends Filter {
|
|||||||
|
|
||||||
compactChannelBarInnerButton = new StringFilterGroup(
|
compactChannelBarInnerButton = new StringFilterGroup(
|
||||||
null,
|
null,
|
||||||
"|button.eml|"
|
"|button.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
joinMembershipButton = new ByteArrayFilterGroup(
|
joinMembershipButton = new ByteArrayFilterGroup(
|
||||||
|
@ -40,7 +40,7 @@ public class PlayerFlyoutMenuItemsFilter extends Filter {
|
|||||||
|
|
||||||
addPathCallbacks(
|
addPathCallbacks(
|
||||||
videoQualityMenuFooter,
|
videoQualityMenuFooter,
|
||||||
new StringFilterGroup(null, "overflow_menu_item.eml|")
|
new StringFilterGroup(null, "overflow_menu_item.eml")
|
||||||
);
|
);
|
||||||
|
|
||||||
flyoutFilterGroupList.addAll(
|
flyoutFilterGroupList.addAll(
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package app.revanced.extension.youtube.patches.components;
|
package app.revanced.extension.youtube.patches.components;
|
||||||
|
|
||||||
import static app.revanced.extension.shared.Utils.hideViewUnderCondition;
|
|
||||||
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
|
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
|
||||||
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -52,6 +51,7 @@ public final class ShortsFilter extends Filter {
|
|||||||
private final StringFilterGroup suggestedAction;
|
private final StringFilterGroup suggestedAction;
|
||||||
private final ByteArrayFilterGroupList suggestedActionsGroupList = new ByteArrayFilterGroupList();
|
private final ByteArrayFilterGroupList suggestedActionsGroupList = new ByteArrayFilterGroupList();
|
||||||
|
|
||||||
|
private final StringFilterGroup shortsActionBar;
|
||||||
private final StringFilterGroup actionButton;
|
private final StringFilterGroup actionButton;
|
||||||
private final ByteArrayFilterGroupList videoActionButtonGroupList = new ByteArrayFilterGroupList();
|
private final ByteArrayFilterGroupList videoActionButtonGroupList = new ByteArrayFilterGroupList();
|
||||||
|
|
||||||
@ -141,6 +141,16 @@ public final class ShortsFilter extends Filter {
|
|||||||
"like_fountain.eml"
|
"like_fountain.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
StringFilterGroup likeButton = new StringFilterGroup(
|
||||||
|
Settings.HIDE_SHORTS_LIKE_BUTTON,
|
||||||
|
"shorts_like_button.eml"
|
||||||
|
);
|
||||||
|
|
||||||
|
StringFilterGroup dislikeButton = new StringFilterGroup(
|
||||||
|
Settings.HIDE_SHORTS_DISLIKE_BUTTON,
|
||||||
|
"shorts_dislike_button.eml"
|
||||||
|
);
|
||||||
|
|
||||||
joinButton = new StringFilterGroup(
|
joinButton = new StringFilterGroup(
|
||||||
Settings.HIDE_SHORTS_JOIN_BUTTON,
|
Settings.HIDE_SHORTS_JOIN_BUTTON,
|
||||||
"sponsor_button"
|
"sponsor_button"
|
||||||
@ -156,9 +166,15 @@ public final class ShortsFilter extends Filter {
|
|||||||
"reel_player_disclosure.eml"
|
"reel_player_disclosure.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
shortsActionBar = new StringFilterGroup(
|
||||||
|
null,
|
||||||
|
"shorts_action_bar.eml"
|
||||||
|
);
|
||||||
|
|
||||||
actionButton = new StringFilterGroup(
|
actionButton = new StringFilterGroup(
|
||||||
null,
|
null,
|
||||||
"shorts_video_action_button.eml"
|
// Can be simply 'button.eml' or 'shorts_video_action_button.eml'
|
||||||
|
"button.eml"
|
||||||
);
|
);
|
||||||
|
|
||||||
suggestedAction = new StringFilterGroup(
|
suggestedAction = new StringFilterGroup(
|
||||||
@ -167,27 +183,16 @@ public final class ShortsFilter extends Filter {
|
|||||||
);
|
);
|
||||||
|
|
||||||
addPathCallbacks(
|
addPathCallbacks(
|
||||||
shortsCompactFeedVideoPath, suggestedAction, actionButton, joinButton, subscribeButton,
|
shortsCompactFeedVideoPath, joinButton, subscribeButton, paidPromotionButton,
|
||||||
paidPromotionButton, pausedOverlayButtons, channelBar, fullVideoLinkLabel, videoTitle,
|
shortsActionBar, suggestedAction, pausedOverlayButtons, channelBar,
|
||||||
reelSoundMetadata, soundButton, infoPanel, stickers, likeFountain
|
fullVideoLinkLabel, videoTitle, reelSoundMetadata, soundButton, infoPanel,
|
||||||
|
stickers, likeFountain, likeButton, dislikeButton
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Action buttons
|
// All other action buttons.
|
||||||
//
|
//
|
||||||
videoActionButtonGroupList.addAll(
|
videoActionButtonGroupList.addAll(
|
||||||
// This also appears as the path item 'shorts_like_button.eml'
|
|
||||||
new ByteArrayFilterGroup(
|
|
||||||
Settings.HIDE_SHORTS_LIKE_BUTTON,
|
|
||||||
"reel_like_button",
|
|
||||||
"reel_like_toggled_button"
|
|
||||||
),
|
|
||||||
// This also appears as the path item 'shorts_dislike_button.eml'
|
|
||||||
new ByteArrayFilterGroup(
|
|
||||||
Settings.HIDE_SHORTS_DISLIKE_BUTTON,
|
|
||||||
"reel_dislike_button",
|
|
||||||
"reel_dislike_toggled_button"
|
|
||||||
),
|
|
||||||
new ByteArrayFilterGroup(
|
new ByteArrayFilterGroup(
|
||||||
Settings.HIDE_SHORTS_COMMENTS_BUTTON,
|
Settings.HIDE_SHORTS_COMMENTS_BUTTON,
|
||||||
"reel_comment_button"
|
"reel_comment_button"
|
||||||
@ -286,9 +291,11 @@ public final class ShortsFilter extends Filter {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Video action buttons (like, dislike, comment, share, remix) have the same path.
|
// Video action buttons (comment, share, remix) have the same path.
|
||||||
if (matchedGroup == actionButton) {
|
// Like and dislike are separate path filters and don't require buffer searching.
|
||||||
if (videoActionButtonGroupList.check(protobufBufferArray).isFiltered()) {
|
if (matchedGroup == shortsActionBar) {
|
||||||
|
if (actionButton.check(path).isFiltered()
|
||||||
|
&& videoActionButtonGroupList.check(protobufBufferArray).isFiltered()) {
|
||||||
return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex);
|
return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -392,37 +399,6 @@ public final class ShortsFilter extends Filter {
|
|||||||
return original;
|
return original;
|
||||||
}
|
}
|
||||||
|
|
||||||
// region Hide the buttons in older versions of YouTube. New versions use Litho.
|
|
||||||
|
|
||||||
public static void hideLikeButton(final View likeButtonView) {
|
|
||||||
// Cannot set the visibility to gone for like/dislike,
|
|
||||||
// as some other unknown YT code also sets the visibility after this hook.
|
|
||||||
//
|
|
||||||
// Setting the view to 0dp works, but that leaves a blank space where
|
|
||||||
// the button was (only relevant for dislikes button).
|
|
||||||
//
|
|
||||||
// Instead remove the view from the parent.
|
|
||||||
Utils.hideViewByRemovingFromParentUnderCondition(Settings.HIDE_SHORTS_LIKE_BUTTON, likeButtonView);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void hideDislikeButton(final View dislikeButtonView) {
|
|
||||||
Utils.hideViewByRemovingFromParentUnderCondition(Settings.HIDE_SHORTS_DISLIKE_BUTTON, dislikeButtonView);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void hideShortsCommentsButton(final View commentsButtonView) {
|
|
||||||
hideViewUnderCondition(Settings.HIDE_SHORTS_COMMENTS_BUTTON, commentsButtonView);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void hideShortsRemixButton(final View remixButtonView) {
|
|
||||||
hideViewUnderCondition(Settings.HIDE_SHORTS_REMIX_BUTTON, remixButtonView);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void hideShortsShareButton(final View shareButtonView) {
|
|
||||||
hideViewUnderCondition(Settings.HIDE_SHORTS_SHARE_BUTTON, shareButtonView);
|
|
||||||
}
|
|
||||||
|
|
||||||
// endregion
|
|
||||||
|
|
||||||
public static void setNavigationBar(PivotBar view) {
|
public static void setNavigationBar(PivotBar view) {
|
||||||
pivotBarRef = new WeakReference<>(view);
|
pivotBarRef = new WeakReference<>(view);
|
||||||
}
|
}
|
||||||
|
@ -54,12 +54,12 @@ public class CustomPlaybackSpeedPatch {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
final float holdSpeed = Settings.SPEED_TAP_AND_HOLD.get();
|
final float holdSpeed = Settings.SPEED_TAP_AND_HOLD.get();
|
||||||
|
|
||||||
if (holdSpeed > 0 && holdSpeed <= PLAYBACK_SPEED_MAXIMUM) {
|
if (holdSpeed > 0 && holdSpeed <= PLAYBACK_SPEED_MAXIMUM) {
|
||||||
TAP_AND_HOLD_SPEED = holdSpeed;
|
TAP_AND_HOLD_SPEED = holdSpeed;
|
||||||
} else {
|
} else {
|
||||||
showInvalidCustomSpeedToast();
|
showInvalidCustomSpeedToast();
|
||||||
Settings.SPEED_TAP_AND_HOLD.resetToDefault();
|
TAP_AND_HOLD_SPEED = Settings.SPEED_TAP_AND_HOLD.resetToDefault();
|
||||||
TAP_AND_HOLD_SPEED = Settings.SPEED_TAP_AND_HOLD.get();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loadCustomSpeeds();
|
loadCustomSpeeds();
|
||||||
|
@ -84,6 +84,7 @@ public class LicenseActivityHook {
|
|||||||
public static void initialize(Activity licenseActivity) {
|
public static void initialize(Activity licenseActivity) {
|
||||||
try {
|
try {
|
||||||
ThemeHelper.setActivityTheme(licenseActivity);
|
ThemeHelper.setActivityTheme(licenseActivity);
|
||||||
|
ThemeHelper.setNavigationBarColor(licenseActivity.getWindow());
|
||||||
licenseActivity.setContentView(getResourceIdentifier(
|
licenseActivity.setContentView(getResourceIdentifier(
|
||||||
"revanced_settings_with_toolbar", "layout"));
|
"revanced_settings_with_toolbar", "layout"));
|
||||||
|
|
||||||
@ -126,7 +127,7 @@ public class LicenseActivityHook {
|
|||||||
// This is required to fix submenu title alignment issue with Android ASOP 15+
|
// This is required to fix submenu title alignment issue with Android ASOP 15+
|
||||||
ViewGroup toolBarParent = activity.findViewById(
|
ViewGroup toolBarParent = activity.findViewById(
|
||||||
getResourceIdentifier("revanced_toolbar_parent", "id"));
|
getResourceIdentifier("revanced_toolbar_parent", "id"));
|
||||||
ViewGroup dummyToolbar = Utils.getChildViewByResourceName(toolBarParent,"revanced_toolbar");
|
ViewGroup dummyToolbar = Utils.getChildViewByResourceName(toolBarParent, "revanced_toolbar");
|
||||||
toolbarLayoutParams = dummyToolbar.getLayoutParams();
|
toolbarLayoutParams = dummyToolbar.getLayoutParams();
|
||||||
toolBarParent.removeView(dummyToolbar);
|
toolBarParent.removeView(dummyToolbar);
|
||||||
|
|
||||||
@ -149,5 +150,4 @@ public class LicenseActivityHook {
|
|||||||
|
|
||||||
toolBarParent.addView(toolbar, 0);
|
toolBarParent.addView(toolbar, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -7,6 +7,7 @@ import static app.revanced.extension.shared.settings.Setting.migrateOldSettingTo
|
|||||||
import static app.revanced.extension.shared.settings.Setting.parent;
|
import static app.revanced.extension.shared.settings.Setting.parent;
|
||||||
import static app.revanced.extension.shared.settings.Setting.parentsAny;
|
import static app.revanced.extension.shared.settings.Setting.parentsAny;
|
||||||
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
|
import static app.revanced.extension.youtube.patches.ChangeFormFactorPatch.FormFactor;
|
||||||
|
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.ChangeStartPageTypeAvailability;
|
||||||
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
|
import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage;
|
||||||
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
|
import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode;
|
||||||
import static app.revanced.extension.youtube.patches.ForceOriginalAudioPatch.ForceOriginalAudioAvailability;
|
import static app.revanced.extension.youtube.patches.ForceOriginalAudioPatch.ForceOriginalAudioAvailability;
|
||||||
@ -24,6 +25,7 @@ import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehavi
|
|||||||
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.MANUAL_SKIP;
|
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.MANUAL_SKIP;
|
||||||
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY;
|
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY;
|
||||||
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY_ONCE;
|
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY_ONCE;
|
||||||
|
import app.revanced.extension.youtube.swipecontrols.SwipeControlsConfigurationProvider.SwipeOverlayStyle;
|
||||||
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
|
||||||
@ -124,6 +126,7 @@ public class Settings extends BaseSettings {
|
|||||||
// Player
|
// Player
|
||||||
public static final BooleanSetting COPY_VIDEO_URL = new BooleanSetting("revanced_copy_video_url", FALSE);
|
public static final BooleanSetting COPY_VIDEO_URL = new BooleanSetting("revanced_copy_video_url", FALSE);
|
||||||
public static final BooleanSetting COPY_VIDEO_URL_TIMESTAMP = new BooleanSetting("revanced_copy_video_url_timestamp", TRUE);
|
public static final BooleanSetting COPY_VIDEO_URL_TIMESTAMP = new BooleanSetting("revanced_copy_video_url_timestamp", TRUE);
|
||||||
|
public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true);
|
||||||
public static final BooleanSetting DISABLE_FULLSCREEN_AMBIENT_MODE = new BooleanSetting("revanced_disable_fullscreen_ambient_mode", TRUE, true);
|
public static final BooleanSetting DISABLE_FULLSCREEN_AMBIENT_MODE = new BooleanSetting("revanced_disable_fullscreen_ambient_mode", TRUE, true);
|
||||||
public static final BooleanSetting DISABLE_ROLLING_NUMBER_ANIMATIONS = new BooleanSetting("revanced_disable_rolling_number_animations", FALSE);
|
public static final BooleanSetting DISABLE_ROLLING_NUMBER_ANIMATIONS = new BooleanSetting("revanced_disable_rolling_number_animations", FALSE);
|
||||||
public static final EnumSetting<FullscreenMode> EXIT_FULLSCREEN = new EnumSetting<>("revanced_exit_fullscreen", FullscreenMode.DISABLED);
|
public static final EnumSetting<FullscreenMode> EXIT_FULLSCREEN = new EnumSetting<>("revanced_exit_fullscreen", FullscreenMode.DISABLED);
|
||||||
@ -196,6 +199,7 @@ public class Settings extends BaseSettings {
|
|||||||
public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE);
|
public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE);
|
||||||
public static final BooleanSetting HIDE_SHARE_BUTTON = new BooleanSetting("revanced_hide_share_button", FALSE);
|
public static final BooleanSetting HIDE_SHARE_BUTTON = new BooleanSetting("revanced_hide_share_button", FALSE);
|
||||||
public static final BooleanSetting HIDE_THANKS_BUTTON = new BooleanSetting("revanced_hide_thanks_button", TRUE);
|
public static final BooleanSetting HIDE_THANKS_BUTTON = new BooleanSetting("revanced_hide_thanks_button", TRUE);
|
||||||
|
public static final BooleanSetting HIDE_ASK_BUTTON = new BooleanSetting("revanced_hide_ask_button", FALSE);
|
||||||
// Player flyout menu items
|
// Player flyout menu items
|
||||||
public static final BooleanSetting HIDE_PLAYER_FLYOUT_ADDITIONAL_SETTINGS = new BooleanSetting("revanced_hide_player_flyout_additional_settings", FALSE);
|
public static final BooleanSetting HIDE_PLAYER_FLYOUT_ADDITIONAL_SETTINGS = new BooleanSetting("revanced_hide_player_flyout_additional_settings", FALSE);
|
||||||
public static final BooleanSetting HIDE_PLAYER_FLYOUT_AMBIENT_MODE = new BooleanSetting("revanced_hide_player_flyout_ambient_mode", FALSE);
|
public static final BooleanSetting HIDE_PLAYER_FLYOUT_AMBIENT_MODE = new BooleanSetting("revanced_hide_player_flyout_ambient_mode", FALSE);
|
||||||
@ -221,6 +225,8 @@ public class Settings extends BaseSettings {
|
|||||||
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
|
public static final BooleanSetting SPOOF_APP_VERSION = new BooleanSetting("revanced_spoof_app_version", FALSE, true, "revanced_spoof_app_version_user_dialog_message");
|
||||||
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
|
public static final BooleanSetting WIDE_SEARCHBAR = new BooleanSetting("revanced_wide_searchbar", FALSE, true);
|
||||||
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.DEFAULT, true);
|
public static final EnumSetting<StartPage> CHANGE_START_PAGE = new EnumSetting<>("revanced_change_start_page", StartPage.DEFAULT, true);
|
||||||
|
public static final BooleanSetting CHANGE_START_PAGE_ALWAYS = new BooleanSetting("revanced_change_start_page_always", FALSE, true,
|
||||||
|
new ChangeStartPageTypeAvailability());
|
||||||
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", "19.01.34", true, parent(SPOOF_APP_VERSION));
|
public static final StringSetting SPOOF_APP_VERSION_TARGET = new StringSetting("revanced_spoof_app_version_target", "19.01.34", true, parent(SPOOF_APP_VERSION));
|
||||||
// Custom filter
|
// Custom filter
|
||||||
public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE);
|
public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE);
|
||||||
@ -294,7 +300,6 @@ public class Settings extends BaseSettings {
|
|||||||
// Misc
|
// Misc
|
||||||
public static final BooleanSetting ANNOUNCEMENTS = new BooleanSetting("revanced_announcements", TRUE);
|
public static final BooleanSetting ANNOUNCEMENTS = new BooleanSetting("revanced_announcements", TRUE);
|
||||||
public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1, false, false);
|
public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1, false, false);
|
||||||
public static final BooleanSetting AUTO_CAPTIONS = new BooleanSetting("revanced_auto_captions", FALSE);
|
|
||||||
public static final BooleanSetting AUTO_REPEAT = new BooleanSetting("revanced_auto_repeat", FALSE);
|
public static final BooleanSetting AUTO_REPEAT = new BooleanSetting("revanced_auto_repeat", FALSE);
|
||||||
public static final BooleanSetting BYPASS_URL_REDIRECTS = new BooleanSetting("revanced_bypass_url_redirects", TRUE);
|
public static final BooleanSetting BYPASS_URL_REDIRECTS = new BooleanSetting("revanced_bypass_url_redirects", TRUE);
|
||||||
public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false);
|
public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false);
|
||||||
@ -320,12 +325,14 @@ public class Settings extends BaseSettings {
|
|||||||
public static final IntegerSetting SWIPE_MAGNITUDE_THRESHOLD = new IntegerSetting("revanced_swipe_threshold", 30, true,
|
public static final IntegerSetting SWIPE_MAGNITUDE_THRESHOLD = new IntegerSetting("revanced_swipe_threshold", 30, true,
|
||||||
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
public static final IntegerSetting SWIPE_VOLUME_SENSITIVITY = new IntegerSetting("revanced_swipe_volume_sensitivity", 1, true, parent(SWIPE_VOLUME));
|
public static final IntegerSetting SWIPE_VOLUME_SENSITIVITY = new IntegerSetting("revanced_swipe_volume_sensitivity", 1, true, parent(SWIPE_VOLUME));
|
||||||
public static final BooleanSetting SWIPE_SHOW_CIRCULAR_OVERLAY = new BooleanSetting("revanced_swipe_show_circular_overlay", FALSE, true,
|
public static final EnumSetting<SwipeOverlayStyle> SWIPE_OVERLAY_STYLE = new EnumSetting<>("revanced_swipe_overlay_style", SwipeOverlayStyle.HORIZONTAL,true,
|
||||||
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
public static final BooleanSetting SWIPE_OVERLAY_MINIMAL_STYLE = new BooleanSetting("revanced_swipe_overlay_minimal_style", FALSE, true,
|
public static final IntegerSetting SWIPE_OVERLAY_TEXT_SIZE = new IntegerSetting("revanced_swipe_text_overlay_size", 14, true,
|
||||||
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
public static final IntegerSetting SWIPE_OVERLAY_OPACITY = new IntegerSetting("revanced_swipe_overlay_background_opacity", 60, true,
|
public static final IntegerSetting SWIPE_OVERLAY_OPACITY = new IntegerSetting("revanced_swipe_overlay_background_opacity", 60, true,
|
||||||
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
|
public static final StringSetting SWIPE_OVERLAY_PROGRESS_COLOR = new StringSetting("revanced_swipe_overlay_progress_color", "#FFFFFF", true,
|
||||||
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
public static final LongSetting SWIPE_OVERLAY_TIMEOUT = new LongSetting("revanced_swipe_overlay_timeout", 500L, true,
|
public static final LongSetting SWIPE_OVERLAY_TIMEOUT = new LongSetting("revanced_swipe_overlay_timeout", 500L, true,
|
||||||
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME));
|
||||||
public static final BooleanSetting SWIPE_SAVE_AND_RESTORE_BRIGHTNESS = new BooleanSetting("revanced_swipe_save_and_restore_brightness", TRUE, true, parent(SWIPE_BRIGHTNESS));
|
public static final BooleanSetting SWIPE_SAVE_AND_RESTORE_BRIGHTNESS = new BooleanSetting("revanced_swipe_save_and_restore_brightness", TRUE, true, parent(SWIPE_BRIGHTNESS));
|
||||||
@ -403,6 +410,7 @@ public class Settings extends BaseSettings {
|
|||||||
private static final StringSetting DEPRECATED_SEEKBAR_CUSTOM_COLOR_PRIMARY = new StringSetting("revanced_seekbar_custom_color_value", "#FF0033");
|
private static final StringSetting DEPRECATED_SEEKBAR_CUSTOM_COLOR_PRIMARY = new StringSetting("revanced_seekbar_custom_color_value", "#FF0033");
|
||||||
private static final BooleanSetting DEPRECATED_DISABLE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_disable_suggested_video_end_screen", FALSE);
|
private static final BooleanSetting DEPRECATED_DISABLE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_disable_suggested_video_end_screen", FALSE);
|
||||||
private static final BooleanSetting DEPRECATED_RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
|
private static final BooleanSetting DEPRECATED_RESTORE_OLD_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_restore_old_video_quality_menu", TRUE);
|
||||||
|
private static final BooleanSetting DEPRECATED_AUTO_CAPTIONS = new BooleanSetting("revanced_auto_captions", FALSE);
|
||||||
|
|
||||||
static {
|
static {
|
||||||
// region Migration
|
// region Migration
|
||||||
@ -456,6 +464,11 @@ public class Settings extends BaseSettings {
|
|||||||
SPOOF_APP_VERSION_TARGET.resetToDefault();
|
SPOOF_APP_VERSION_TARGET.resetToDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!DEPRECATED_AUTO_CAPTIONS.isSetToDefault()) {
|
||||||
|
DISABLE_AUTO_CAPTIONS.save(true);
|
||||||
|
DEPRECATED_AUTO_CAPTIONS.resetToDefault();
|
||||||
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region SB import/export callbacks
|
// region SB import/export callbacks
|
||||||
|
@ -138,6 +138,9 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
|
|||||||
.findViewById(android.R.id.content)
|
.findViewById(android.R.id.content)
|
||||||
.getParent();
|
.getParent();
|
||||||
|
|
||||||
|
// Fix the system navigation bar color for submenus.
|
||||||
|
ThemeHelper.setNavigationBarColor(preferenceScreenDialog.getWindow());
|
||||||
|
|
||||||
// Fix edge-to-edge screen with Android 15 and YT 19.45+
|
// Fix edge-to-edge screen with Android 15 and YT 19.45+
|
||||||
// https://developer.android.com/develop/ui/views/layout/edge-to-edge#system-bars-insets
|
// https://developer.android.com/develop/ui/views/layout/edge-to-edge#system-bars-insets
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
@ -1,95 +1,98 @@
|
|||||||
package app.revanced.extension.youtube.swipecontrols
|
package app.revanced.extension.youtube.swipecontrols
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
|
import app.revanced.extension.shared.Logger
|
||||||
import app.revanced.extension.shared.StringRef.str
|
import app.revanced.extension.shared.StringRef.str
|
||||||
import app.revanced.extension.shared.Utils
|
import app.revanced.extension.shared.Utils
|
||||||
import app.revanced.extension.youtube.settings.Settings
|
import app.revanced.extension.youtube.settings.Settings
|
||||||
import app.revanced.extension.youtube.shared.PlayerType
|
import app.revanced.extension.youtube.shared.PlayerType
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* provider for configuration for volume and brightness swipe controls
|
* Provides configuration settings for volume and brightness swipe controls in the YouTube player.
|
||||||
|
* Manages enabling/disabling gestures, overlay appearance, and behavior preferences.
|
||||||
*/
|
*/
|
||||||
class SwipeControlsConfigurationProvider {
|
class SwipeControlsConfigurationProvider {
|
||||||
//region swipe enable
|
//region swipe enable
|
||||||
/**
|
/**
|
||||||
* should swipe controls be enabled? (global setting)
|
* Indicates whether swipe controls are enabled globally.
|
||||||
|
* Returns true if either volume or brightness controls are enabled and the video is in fullscreen mode.
|
||||||
*/
|
*/
|
||||||
val enableSwipeControls: Boolean
|
val enableSwipeControls: Boolean
|
||||||
get() = (enableVolumeControls || enableBrightnessControl) && isFullscreenVideo
|
get() = (enableVolumeControls || enableBrightnessControl) && isFullscreenVideo
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* should swipe controls for volume be enabled?
|
* Indicates whether swipe controls for adjusting volume are enabled.
|
||||||
*/
|
*/
|
||||||
val enableVolumeControls = Settings.SWIPE_VOLUME.get()
|
val enableVolumeControls = Settings.SWIPE_VOLUME.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* should swipe controls for volume be enabled?
|
* Indicates whether swipe controls for adjusting brightness are enabled.
|
||||||
*/
|
*/
|
||||||
val enableBrightnessControl = Settings.SWIPE_BRIGHTNESS.get()
|
val enableBrightnessControl = Settings.SWIPE_BRIGHTNESS.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* is the video player currently in fullscreen mode?
|
* Checks if the video player is currently in fullscreen mode.
|
||||||
*/
|
*/
|
||||||
private val isFullscreenVideo: Boolean
|
private val isFullscreenVideo: Boolean
|
||||||
get() = PlayerType.current == PlayerType.WATCH_WHILE_FULLSCREEN
|
get() = PlayerType.current == PlayerType.WATCH_WHILE_FULLSCREEN
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region keys enable
|
//region keys enable
|
||||||
/**
|
/**
|
||||||
* should volume key controls be overwritten? (global setting)
|
* Indicates whether volume key controls should be overridden by swipe controls.
|
||||||
|
* Returns true if volume controls are enabled and the video is in fullscreen mode.
|
||||||
*/
|
*/
|
||||||
val overwriteVolumeKeyControls: Boolean
|
val overwriteVolumeKeyControls: Boolean
|
||||||
get() = enableVolumeControls && isFullscreenVideo
|
get() = enableVolumeControls && isFullscreenVideo
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region gesture adjustments
|
//region gesture adjustments
|
||||||
/**
|
/**
|
||||||
* should press-to-swipe be enabled?
|
* Indicates whether press-to-swipe mode is enabled, requiring a press before swiping to activate controls.
|
||||||
*/
|
*/
|
||||||
val shouldEnablePressToSwipe: Boolean
|
val shouldEnablePressToSwipe: Boolean
|
||||||
get() = Settings.SWIPE_PRESS_TO_ENGAGE.get()
|
get() = Settings.SWIPE_PRESS_TO_ENGAGE.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* threshold for swipe detection
|
* The threshold for detecting swipe gestures, in pixels.
|
||||||
* this may be called rapidly in onScroll, so we have to load it once and then leave it constant
|
* Loaded once to ensure consistent behavior during rapid scroll events.
|
||||||
*/
|
*/
|
||||||
val swipeMagnitudeThreshold: Int
|
val swipeMagnitudeThreshold: Int
|
||||||
get() = Settings.SWIPE_MAGNITUDE_THRESHOLD.get()
|
get() = Settings.SWIPE_MAGNITUDE_THRESHOLD.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How much volume will change by single swipe.
|
* The sensitivity of volume swipe gestures, determining how much volume changes per swipe.
|
||||||
* If it is set to 0, it will reset to the default value because 0 would disable swiping.
|
* Resets to default if set to 0, as it would disable swiping.
|
||||||
* */
|
*/
|
||||||
val volumeSwipeSensitivity: Int
|
val volumeSwipeSensitivity: Int
|
||||||
get() {
|
get() {
|
||||||
val sensitivity = Settings.SWIPE_VOLUME_SENSITIVITY.get()
|
val sensitivity = Settings.SWIPE_VOLUME_SENSITIVITY.get()
|
||||||
|
|
||||||
if (sensitivity < 1) {
|
if (sensitivity < 1) {
|
||||||
Settings.SWIPE_VOLUME_SENSITIVITY.resetToDefault()
|
return Settings.SWIPE_VOLUME_SENSITIVITY.resetToDefault()
|
||||||
|
|
||||||
return Settings.SWIPE_VOLUME_SENSITIVITY.get()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return sensitivity
|
return sensitivity
|
||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region overlay adjustments
|
//region overlay adjustments
|
||||||
/**
|
/**
|
||||||
* should the overlay enable haptic feedback?
|
* Indicates whether haptic feedback should be enabled for swipe control interactions.
|
||||||
*/
|
*/
|
||||||
val shouldEnableHapticFeedback: Boolean
|
val shouldEnableHapticFeedback: Boolean
|
||||||
get() = Settings.SWIPE_HAPTIC_FEEDBACK.get()
|
get() = Settings.SWIPE_HAPTIC_FEEDBACK.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* how long the overlay should be shown on changes
|
* The duration in milliseconds that the overlay should remain visible after a change.
|
||||||
*/
|
*/
|
||||||
val overlayShowTimeoutMillis: Long
|
val overlayShowTimeoutMillis: Long
|
||||||
get() = Settings.SWIPE_OVERLAY_TIMEOUT.get()
|
get() = Settings.SWIPE_OVERLAY_TIMEOUT.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the opacity value (0-100%) is converted to an alpha value (0-255) for transparency.
|
* The background opacity of the overlay, converted from a percentage (0-100) to an alpha value (0-255).
|
||||||
* If the opacity value is out of range, it resets to the default and displays a warning message.
|
* Resets to default and shows a toast if the value is out of range.
|
||||||
*/
|
*/
|
||||||
val overlayBackgroundOpacity: Int
|
val overlayBackgroundOpacity: Int
|
||||||
get() {
|
get() {
|
||||||
@ -97,8 +100,7 @@ class SwipeControlsConfigurationProvider {
|
|||||||
|
|
||||||
if (opacity < 0 || opacity > 100) {
|
if (opacity < 0 || opacity > 100) {
|
||||||
Utils.showToastLong(str("revanced_swipe_overlay_background_opacity_invalid_toast"))
|
Utils.showToastLong(str("revanced_swipe_overlay_background_opacity_invalid_toast"))
|
||||||
Settings.SWIPE_OVERLAY_OPACITY.resetToDefault()
|
opacity = Settings.SWIPE_OVERLAY_OPACITY.resetToDefault()
|
||||||
opacity = Settings.SWIPE_OVERLAY_OPACITY.get()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
opacity = opacity * 255 / 100
|
opacity = opacity * 255 / 100
|
||||||
@ -106,55 +108,125 @@ class SwipeControlsConfigurationProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color of the progress overlay.
|
* The color of the progress bar in the overlay.
|
||||||
|
* Resets to default and shows a toast if the color string is invalid or empty.
|
||||||
*/
|
*/
|
||||||
val overlayProgressColor: Int
|
val overlayProgressColor: Int
|
||||||
get() = 0xBFFFFFFF.toInt()
|
get() {
|
||||||
|
try {
|
||||||
|
@SuppressLint("UseKtx")
|
||||||
|
val color = Color.parseColor(Settings.SWIPE_OVERLAY_PROGRESS_COLOR.get())
|
||||||
|
return (0xBF000000.toInt() or (color and 0xFFFFFF))
|
||||||
|
} catch (ex: IllegalArgumentException) {
|
||||||
|
Logger.printDebug({ "Could not parse color" }, ex)
|
||||||
|
Utils.showToastLong(str("revanced_swipe_overlay_progress_color_invalid_toast"))
|
||||||
|
Settings.SWIPE_OVERLAY_PROGRESS_COLOR.resetToDefault()
|
||||||
|
return overlayProgressColor // Recursively return.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color used for the background of the progress overlay fill.
|
* The background color used for the filled portion of the progress bar in the overlay.
|
||||||
*/
|
*/
|
||||||
val overlayFillBackgroundPaint: Int
|
val overlayFillBackgroundPaint: Int
|
||||||
get() = 0x80D3D3D3.toInt()
|
get() = 0x80D3D3D3.toInt()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color used for the text and icons in the overlay.
|
* The color used for text and icons in the overlay.
|
||||||
*/
|
*/
|
||||||
val overlayTextColor: Int
|
val overlayTextColor: Int
|
||||||
get() = Color.WHITE
|
get() = Color.WHITE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A flag that determines if the overlay should only show the icon.
|
* The text size in the overlay, in density-independent pixels (dp).
|
||||||
|
* Must be between 1 and 30 dp; resets to default and shows a toast if invalid.
|
||||||
*/
|
*/
|
||||||
val overlayShowOverlayMinimalStyle: Boolean
|
val overlayTextSize: Int
|
||||||
get() = Settings.SWIPE_OVERLAY_MINIMAL_STYLE.get()
|
get() {
|
||||||
|
val size = Settings.SWIPE_OVERLAY_TEXT_SIZE.get()
|
||||||
|
if (size < 1 || size > 30) {
|
||||||
|
Utils.showToastLong(str("revanced_swipe_text_overlay_size_invalid_toast"))
|
||||||
|
return Settings.SWIPE_OVERLAY_TEXT_SIZE.resetToDefault()
|
||||||
|
}
|
||||||
|
return size
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A flag that determines if the progress bar should be circular.
|
* Defines the style of the swipe controls overlay, determining its layout and appearance.
|
||||||
|
*
|
||||||
|
* @property isMinimal Indicates whether the style is minimalistic, omitting detailed progress indicators.
|
||||||
|
* @property isHorizontalMinimalCenter Indicates whether the style is a minimal horizontal bar centered vertically.
|
||||||
|
* @property isCircular Indicates whether the style uses a circular progress bar.
|
||||||
|
* @property isVertical Indicates whether the style uses a vertical progress bar.
|
||||||
*/
|
*/
|
||||||
val isCircularProgressBar: Boolean
|
@Suppress("unused")
|
||||||
get() = Settings.SWIPE_SHOW_CIRCULAR_OVERLAY.get()
|
enum class SwipeOverlayStyle(
|
||||||
//endregion
|
val isMinimal: Boolean = false,
|
||||||
|
val isHorizontalMinimalCenter: Boolean = false,
|
||||||
//region behaviour
|
val isCircular: Boolean = false,
|
||||||
|
val isVertical: Boolean = false
|
||||||
|
) {
|
||||||
|
/**
|
||||||
|
* A full horizontal progress bar with detailed indicators.
|
||||||
|
*/
|
||||||
|
HORIZONTAL,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* should the brightness be saved and restored when exiting or entering fullscreen
|
* A minimal horizontal progress bar positioned at the top.
|
||||||
|
*/
|
||||||
|
HORIZONTAL_MINIMAL_TOP(isMinimal = true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A minimal horizontal progress bar centered vertically.
|
||||||
|
*/
|
||||||
|
HORIZONTAL_MINIMAL_CENTER(isMinimal = true, isHorizontalMinimalCenter = true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A full circular progress bar with detailed indicators.
|
||||||
|
*/
|
||||||
|
CIRCULAR(isCircular = true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A minimal circular progress bar.
|
||||||
|
*/
|
||||||
|
CIRCULAR_MINIMAL(isMinimal = true, isCircular = true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A full vertical progress bar with detailed indicators.
|
||||||
|
*/
|
||||||
|
VERTICAL(isVertical = true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A minimal vertical progress bar.
|
||||||
|
*/
|
||||||
|
VERTICAL_MINIMAL(isMinimal = true, isVertical = true)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The current style of the overlay, determining its layout and appearance.
|
||||||
|
*/
|
||||||
|
val overlayStyle: SwipeOverlayStyle
|
||||||
|
get() = Settings.SWIPE_OVERLAY_STYLE.get()
|
||||||
|
//endregion
|
||||||
|
|
||||||
|
//region behaviour
|
||||||
|
/**
|
||||||
|
* Indicates whether the brightness level should be saved and restored when entering or exiting fullscreen mode.
|
||||||
*/
|
*/
|
||||||
val shouldSaveAndRestoreBrightness: Boolean
|
val shouldSaveAndRestoreBrightness: Boolean
|
||||||
get() = Settings.SWIPE_SAVE_AND_RESTORE_BRIGHTNESS.get()
|
get() = Settings.SWIPE_SAVE_AND_RESTORE_BRIGHTNESS.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* should auto-brightness be enabled at the lowest value of the brightness gesture
|
* Indicates whether auto-brightness should be enabled when the brightness gesture reaches its lowest value.
|
||||||
*/
|
*/
|
||||||
val shouldLowestValueEnableAutoBrightness: Boolean
|
val shouldLowestValueEnableAutoBrightness: Boolean
|
||||||
get() = Settings.SWIPE_LOWEST_VALUE_ENABLE_AUTO_BRIGHTNESS.get()
|
get() = Settings.SWIPE_LOWEST_VALUE_ENABLE_AUTO_BRIGHTNESS.get()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* variable that stores the brightness gesture value in the settings
|
* The saved brightness value for the swipe gesture, used to restore brightness in fullscreen mode.
|
||||||
*/
|
*/
|
||||||
var savedScreenBrightnessValue: Float
|
var savedScreenBrightnessValue: Float
|
||||||
get() = Settings.SWIPE_BRIGHTNESS_VALUE.get()
|
get() = Settings.SWIPE_BRIGHTNESS_VALUE.get()
|
||||||
set(value) = Settings.SWIPE_BRIGHTNESS_VALUE.save(value)
|
set(value) = Settings.SWIPE_BRIGHTNESS_VALUE.save(value)
|
||||||
//endregion
|
//endregion
|
||||||
}
|
}
|
@ -23,9 +23,7 @@ import java.lang.ref.WeakReference
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The main controller for volume and brightness swipe controls.
|
* The main controller for volume and brightness swipe controls.
|
||||||
* note that the superclass is overwritten to the superclass of the MainActivity at patch time
|
* note that the superclass is overwritten to the superclass of the MainActivity at patch time.
|
||||||
*
|
|
||||||
* @smali Lapp/revanced/extension/swipecontrols/SwipeControlsHostActivity;
|
|
||||||
*/
|
*/
|
||||||
class SwipeControlsHostActivity : Activity() {
|
class SwipeControlsHostActivity : Activity() {
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package app.revanced.extension.youtube.swipecontrols.views
|
package app.revanced.extension.youtube.swipecontrols.views
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.res.Resources
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
|
import android.graphics.Rect
|
||||||
import android.graphics.RectF
|
import android.graphics.RectF
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
@ -11,14 +14,23 @@ import android.util.AttributeSet
|
|||||||
import android.view.HapticFeedbackConstants
|
import android.view.HapticFeedbackConstants
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.RelativeLayout
|
import android.widget.RelativeLayout
|
||||||
|
import app.revanced.extension.shared.StringRef.str
|
||||||
import app.revanced.extension.shared.Utils
|
import app.revanced.extension.shared.Utils
|
||||||
import app.revanced.extension.youtube.swipecontrols.SwipeControlsConfigurationProvider
|
import app.revanced.extension.youtube.swipecontrols.SwipeControlsConfigurationProvider
|
||||||
import app.revanced.extension.youtube.swipecontrols.misc.SwipeControlsOverlay
|
import app.revanced.extension.youtube.swipecontrols.misc.SwipeControlsOverlay
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
import kotlin.math.max
|
||||||
import kotlin.math.round
|
import kotlin.math.round
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main overlay layout for displaying volume and brightness level with both circular and horizontal progress bars.
|
* Convert dp to pixels based on system display density.
|
||||||
|
*/
|
||||||
|
fun Float.toDisplayPixels(): Float {
|
||||||
|
return this * Resources.getSystem().displayMetrics.density
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main overlay layout for displaying volume and brightness level with circular, horizontal and vertical progress bars.
|
||||||
*/
|
*/
|
||||||
class SwipeControlsOverlayLayout(
|
class SwipeControlsOverlayLayout(
|
||||||
context: Context,
|
context: Context,
|
||||||
@ -51,18 +63,21 @@ class SwipeControlsOverlayLayout(
|
|||||||
// Initialize progress bars
|
// Initialize progress bars
|
||||||
private val circularProgressView: CircularProgressView
|
private val circularProgressView: CircularProgressView
|
||||||
private val horizontalProgressView: HorizontalProgressView
|
private val horizontalProgressView: HorizontalProgressView
|
||||||
|
private val verticalBrightnessProgressView: VerticalProgressView
|
||||||
|
private val verticalVolumeProgressView: VerticalProgressView
|
||||||
|
|
||||||
init {
|
init {
|
||||||
// Initialize circular progress bar
|
// Initialize circular progress bar
|
||||||
circularProgressView = CircularProgressView(
|
circularProgressView = CircularProgressView(
|
||||||
context,
|
context,
|
||||||
config.overlayBackgroundOpacity,
|
config.overlayBackgroundOpacity,
|
||||||
config.overlayShowOverlayMinimalStyle,
|
config.overlayStyle.isMinimal,
|
||||||
config.overlayProgressColor,
|
config.overlayProgressColor,
|
||||||
config.overlayFillBackgroundPaint,
|
config.overlayFillBackgroundPaint,
|
||||||
config.overlayTextColor
|
config.overlayTextColor,
|
||||||
|
config.overlayTextSize
|
||||||
).apply {
|
).apply {
|
||||||
layoutParams = LayoutParams(300, 300).apply {
|
layoutParams = LayoutParams(100f.toDisplayPixels().toInt(), 100f.toDisplayPixels().toInt()).apply {
|
||||||
addRule(CENTER_IN_PARENT, TRUE)
|
addRule(CENTER_IN_PARENT, TRUE)
|
||||||
}
|
}
|
||||||
visibility = GONE // Initially hidden
|
visibility = GONE // Initially hidden
|
||||||
@ -71,22 +86,65 @@ class SwipeControlsOverlayLayout(
|
|||||||
|
|
||||||
// Initialize horizontal progress bar
|
// Initialize horizontal progress bar
|
||||||
val screenWidth = resources.displayMetrics.widthPixels
|
val screenWidth = resources.displayMetrics.widthPixels
|
||||||
val layoutWidth = (screenWidth * 2 / 3).toInt() // 2/3 of screen width
|
val layoutWidth = (screenWidth * 4 / 5).toInt() // Cap at ~360dp
|
||||||
horizontalProgressView = HorizontalProgressView(
|
horizontalProgressView = HorizontalProgressView(
|
||||||
context,
|
context,
|
||||||
config.overlayBackgroundOpacity,
|
config.overlayBackgroundOpacity,
|
||||||
config.overlayShowOverlayMinimalStyle,
|
config.overlayStyle.isMinimal,
|
||||||
config.overlayProgressColor,
|
config.overlayProgressColor,
|
||||||
config.overlayFillBackgroundPaint,
|
config.overlayFillBackgroundPaint,
|
||||||
config.overlayTextColor
|
config.overlayTextColor,
|
||||||
|
config.overlayTextSize
|
||||||
).apply {
|
).apply {
|
||||||
layoutParams = LayoutParams(layoutWidth, 100).apply {
|
layoutParams = LayoutParams(layoutWidth, 32f.toDisplayPixels().toInt()).apply {
|
||||||
addRule(CENTER_HORIZONTAL)
|
addRule(CENTER_HORIZONTAL)
|
||||||
topMargin = 40 // Top margin
|
if (config.overlayStyle.isHorizontalMinimalCenter) {
|
||||||
|
addRule(CENTER_VERTICAL)
|
||||||
|
} else {
|
||||||
|
topMargin = 20f.toDisplayPixels().toInt()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
visibility = GONE // Initially hidden
|
visibility = GONE // Initially hidden
|
||||||
}
|
}
|
||||||
addView(horizontalProgressView)
|
addView(horizontalProgressView)
|
||||||
|
|
||||||
|
// Initialize vertical progress bar for brightness (right side)
|
||||||
|
verticalBrightnessProgressView = VerticalProgressView(
|
||||||
|
context,
|
||||||
|
config.overlayBackgroundOpacity,
|
||||||
|
config.overlayStyle.isMinimal,
|
||||||
|
config.overlayProgressColor,
|
||||||
|
config.overlayFillBackgroundPaint,
|
||||||
|
config.overlayTextColor,
|
||||||
|
config.overlayTextSize
|
||||||
|
).apply {
|
||||||
|
layoutParams = LayoutParams(40f.toDisplayPixels().toInt(), 150f.toDisplayPixels().toInt()).apply {
|
||||||
|
addRule(ALIGN_PARENT_RIGHT)
|
||||||
|
rightMargin = 40f.toDisplayPixels().toInt()
|
||||||
|
addRule(CENTER_VERTICAL)
|
||||||
|
}
|
||||||
|
visibility = GONE // Initially hidden
|
||||||
|
}
|
||||||
|
addView(verticalBrightnessProgressView)
|
||||||
|
|
||||||
|
// Initialize vertical progress bar for volume (left side)
|
||||||
|
verticalVolumeProgressView = VerticalProgressView(
|
||||||
|
context,
|
||||||
|
config.overlayBackgroundOpacity,
|
||||||
|
config.overlayStyle.isMinimal,
|
||||||
|
config.overlayProgressColor,
|
||||||
|
config.overlayFillBackgroundPaint,
|
||||||
|
config.overlayTextColor,
|
||||||
|
config.overlayTextSize
|
||||||
|
).apply {
|
||||||
|
layoutParams = LayoutParams(40f.toDisplayPixels().toInt(), 150f.toDisplayPixels().toInt()).apply {
|
||||||
|
addRule(ALIGN_PARENT_LEFT)
|
||||||
|
leftMargin = 40f.toDisplayPixels().toInt()
|
||||||
|
addRule(CENTER_VERTICAL)
|
||||||
|
}
|
||||||
|
visibility = GONE // Initially hidden
|
||||||
|
}
|
||||||
|
addView(verticalVolumeProgressView)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handler and callback for hiding progress bars
|
// Handler and callback for hiding progress bars
|
||||||
@ -94,6 +152,8 @@ class SwipeControlsOverlayLayout(
|
|||||||
private val feedbackHideCallback = Runnable {
|
private val feedbackHideCallback = Runnable {
|
||||||
circularProgressView.visibility = GONE
|
circularProgressView.visibility = GONE
|
||||||
horizontalProgressView.visibility = GONE
|
horizontalProgressView.visibility = GONE
|
||||||
|
verticalBrightnessProgressView.visibility = GONE
|
||||||
|
verticalVolumeProgressView.visibility = GONE
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,7 +163,11 @@ class SwipeControlsOverlayLayout(
|
|||||||
feedbackHideHandler.removeCallbacks(feedbackHideCallback)
|
feedbackHideHandler.removeCallbacks(feedbackHideCallback)
|
||||||
feedbackHideHandler.postDelayed(feedbackHideCallback, config.overlayShowTimeoutMillis)
|
feedbackHideHandler.postDelayed(feedbackHideCallback, config.overlayShowTimeoutMillis)
|
||||||
|
|
||||||
val viewToShow = if (config.isCircularProgressBar) circularProgressView else horizontalProgressView
|
val viewToShow = when {
|
||||||
|
config.overlayStyle.isCircular -> circularProgressView
|
||||||
|
config.overlayStyle.isVertical -> if (isBrightness) verticalBrightnessProgressView else verticalVolumeProgressView
|
||||||
|
else -> horizontalProgressView
|
||||||
|
}
|
||||||
viewToShow.apply {
|
viewToShow.apply {
|
||||||
setProgress(progress, max, value, isBrightness)
|
setProgress(progress, max, value, isBrightness)
|
||||||
this.icon = icon
|
this.icon = icon
|
||||||
@ -126,7 +190,9 @@ class SwipeControlsOverlayLayout(
|
|||||||
// Handle brightness change
|
// Handle brightness change
|
||||||
override fun onBrightnessChanged(brightness: Double) {
|
override fun onBrightnessChanged(brightness: Double) {
|
||||||
if (config.shouldLowestValueEnableAutoBrightness && brightness <= 0) {
|
if (config.shouldLowestValueEnableAutoBrightness && brightness <= 0) {
|
||||||
showFeedbackView("Auto", 0, 100, autoBrightnessIcon, isBrightness = true)
|
val displayText = if (config.overlayStyle.isVertical) "А"
|
||||||
|
else str("revanced_swipe_lowest_value_enable_auto_brightness_overlay_text")
|
||||||
|
showFeedbackView(displayText, 0, 100, autoBrightnessIcon, isBrightness = true)
|
||||||
} else {
|
} else {
|
||||||
val brightnessValue = round(brightness).toInt()
|
val brightnessValue = round(brightness).toInt()
|
||||||
val icon = when {
|
val icon = when {
|
||||||
@ -135,7 +201,8 @@ class SwipeControlsOverlayLayout(
|
|||||||
brightnessValue < 75 -> highBrightnessIcon
|
brightnessValue < 75 -> highBrightnessIcon
|
||||||
else -> fullBrightnessIcon
|
else -> fullBrightnessIcon
|
||||||
}
|
}
|
||||||
showFeedbackView("$brightnessValue%", brightnessValue, 100, icon, isBrightness = true)
|
val displayText = if (config.overlayStyle.isVertical) "$brightnessValue" else "$brightnessValue%"
|
||||||
|
showFeedbackView(displayText, brightnessValue, 100, icon, isBrightness = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,11 +223,12 @@ class SwipeControlsOverlayLayout(
|
|||||||
*/
|
*/
|
||||||
abstract class AbstractProgressView(
|
abstract class AbstractProgressView(
|
||||||
context: Context,
|
context: Context,
|
||||||
protected val overlayBackgroundOpacity: Int,
|
overlayBackgroundOpacity: Int,
|
||||||
protected val overlayShowOverlayMinimalStyle: Boolean,
|
protected val isMinimalStyle: Boolean,
|
||||||
protected val overlayProgressColor: Int,
|
overlayProgressColor: Int,
|
||||||
protected val overlayFillBackgroundPaint: Int,
|
overlayFillBackgroundPaint: Int,
|
||||||
protected val overlayTextColor: Int,
|
private val overlayTextColor: Int,
|
||||||
|
protected val overlayTextSize: Int,
|
||||||
attrs: AttributeSet? = null,
|
attrs: AttributeSet? = null,
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : View(context, attrs, defStyleAttr) {
|
) : View(context, attrs, defStyleAttr) {
|
||||||
@ -174,26 +242,25 @@ abstract class AbstractProgressView(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Initialize paints
|
// Initialize paints
|
||||||
public val backgroundPaint = createPaint(overlayBackgroundOpacity, style = Paint.Style.FILL)
|
val backgroundPaint = createPaint(overlayBackgroundOpacity, style = Paint.Style.FILL)
|
||||||
public val progressPaint = createPaint(overlayProgressColor, style = Paint.Style.STROKE, strokeCap = Paint.Cap.ROUND, strokeWidth = 20f)
|
val progressPaint = createPaint(overlayProgressColor, style = Paint.Style.STROKE, strokeCap = Paint.Cap.ROUND, strokeWidth = 6f.toDisplayPixels())
|
||||||
public val fillBackgroundPaint = createPaint(overlayFillBackgroundPaint, style = Paint.Style.FILL)
|
val fillBackgroundPaint = createPaint(overlayFillBackgroundPaint, style = Paint.Style.FILL)
|
||||||
public val textPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
|
val textPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
|
||||||
color = overlayTextColor
|
color = overlayTextColor
|
||||||
textAlign = Paint.Align.CENTER
|
textAlign = Paint.Align.CENTER
|
||||||
textSize = 40f // Can adjust based on need
|
textSize = overlayTextSize.toFloat().toDisplayPixels()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Rect for text measurement
|
||||||
|
protected val textBounds = Rect()
|
||||||
|
|
||||||
protected var progress = 0
|
protected var progress = 0
|
||||||
protected var maxProgress = 100
|
protected var maxProgress = 100
|
||||||
protected var displayText: String = "0"
|
protected var displayText: String = "0"
|
||||||
protected var isBrightness = true
|
protected var isBrightness = true
|
||||||
public var icon: Drawable? = null
|
var icon: Drawable? = null
|
||||||
|
|
||||||
init {
|
open fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
|
||||||
// Stroke widths are now set in createPaint for progressPaint and fillBackgroundPaint
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
|
|
||||||
progress = value
|
progress = value
|
||||||
maxProgress = max
|
maxProgress = max
|
||||||
displayText = text
|
displayText = text
|
||||||
@ -201,6 +268,11 @@ abstract class AbstractProgressView(
|
|||||||
invalidate()
|
invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected fun measureTextWidth(text: String, paint: Paint): Int {
|
||||||
|
paint.getTextBounds(text, 0, text.length, textBounds)
|
||||||
|
return textBounds.width()
|
||||||
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
// Base class implementation can be empty
|
// Base class implementation can be empty
|
||||||
}
|
}
|
||||||
@ -209,31 +281,33 @@ abstract class AbstractProgressView(
|
|||||||
/**
|
/**
|
||||||
* Custom view for rendering a circular progress indicator with icons and text.
|
* Custom view for rendering a circular progress indicator with icons and text.
|
||||||
*/
|
*/
|
||||||
|
@SuppressLint("ViewConstructor")
|
||||||
class CircularProgressView(
|
class CircularProgressView(
|
||||||
context: Context,
|
context: Context,
|
||||||
overlayBackgroundOpacity: Int,
|
overlayBackgroundOpacity: Int,
|
||||||
overlayShowOverlayMinimalStyle: Boolean,
|
isMinimalStyle: Boolean,
|
||||||
overlayProgressColor: Int,
|
overlayProgressColor: Int,
|
||||||
overlayFillBackgroundPaint: Int,
|
overlayFillBackgroundPaint: Int,
|
||||||
overlayTextColor: Int,
|
overlayTextColor: Int,
|
||||||
|
overlayTextSize: Int,
|
||||||
attrs: AttributeSet? = null,
|
attrs: AttributeSet? = null,
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : AbstractProgressView(
|
) : AbstractProgressView(
|
||||||
context,
|
context,
|
||||||
overlayBackgroundOpacity,
|
overlayBackgroundOpacity,
|
||||||
overlayShowOverlayMinimalStyle,
|
isMinimalStyle,
|
||||||
overlayProgressColor,
|
overlayProgressColor,
|
||||||
overlayFillBackgroundPaint,
|
overlayFillBackgroundPaint,
|
||||||
overlayTextColor,
|
overlayTextColor,
|
||||||
|
overlayTextSize,
|
||||||
attrs,
|
attrs,
|
||||||
defStyleAttr
|
defStyleAttr
|
||||||
) {
|
) {
|
||||||
private val rectF = RectF()
|
private val rectF = RectF()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
textPaint.textSize = 40f // Override default text size for circular view
|
progressPaint.strokeWidth = 6f.toDisplayPixels()
|
||||||
progressPaint.strokeWidth = 20f
|
fillBackgroundPaint.strokeWidth = 6f.toDisplayPixels()
|
||||||
fillBackgroundPaint.strokeWidth = 20f
|
|
||||||
progressPaint.strokeCap = Paint.Cap.ROUND
|
progressPaint.strokeCap = Paint.Cap.ROUND
|
||||||
fillBackgroundPaint.strokeCap = Paint.Cap.BUTT
|
fillBackgroundPaint.strokeCap = Paint.Cap.BUTT
|
||||||
progressPaint.style = Paint.Style.STROKE
|
progressPaint.style = Paint.Style.STROKE
|
||||||
@ -244,7 +318,8 @@ class CircularProgressView(
|
|||||||
super.onDraw(canvas)
|
super.onDraw(canvas)
|
||||||
|
|
||||||
val size = min(width, height).toFloat()
|
val size = min(width, height).toFloat()
|
||||||
rectF.set(20f, 20f, size - 20f, size - 20f)
|
val inset = 6f.toDisplayPixels()
|
||||||
|
rectF.set(inset, inset, size - inset, size - inset)
|
||||||
|
|
||||||
canvas.drawOval(rectF, fillBackgroundPaint) // Draw the outer ring.
|
canvas.drawOval(rectF, fillBackgroundPaint) // Draw the outer ring.
|
||||||
canvas.drawCircle(width / 2f, height / 2f, size / 3, backgroundPaint) // Draw the inner circle.
|
canvas.drawCircle(width / 2f, height / 2f, size / 3, backgroundPaint) // Draw the inner circle.
|
||||||
@ -255,124 +330,307 @@ class CircularProgressView(
|
|||||||
|
|
||||||
// Draw the icon in the center.
|
// Draw the icon in the center.
|
||||||
icon?.let {
|
icon?.let {
|
||||||
val iconSize = if (overlayShowOverlayMinimalStyle) 100 else 80
|
val iconSize = (if (isMinimalStyle) 36f else 24f).toDisplayPixels().toInt()
|
||||||
val iconX = (width - iconSize) / 2
|
val iconX = (width - iconSize) / 2
|
||||||
val iconY = (height / 2) - if (overlayShowOverlayMinimalStyle) 50 else 80
|
val iconY = if (isMinimalStyle) {
|
||||||
|
(height - iconSize) / 2
|
||||||
|
} else {
|
||||||
|
(height / 2) - 24f.toDisplayPixels().toInt()
|
||||||
|
}
|
||||||
it.setBounds(iconX, iconY, iconX + iconSize, iconY + iconSize)
|
it.setBounds(iconX, iconY, iconX + iconSize, iconY + iconSize)
|
||||||
it.draw(canvas)
|
it.draw(canvas)
|
||||||
}
|
}
|
||||||
|
|
||||||
// If not a minimal style mode, draw the text inside the ring.
|
// If not a minimal style mode, draw the text inside the ring.
|
||||||
if (!overlayShowOverlayMinimalStyle) {
|
if (!isMinimalStyle) {
|
||||||
canvas.drawText(displayText, width / 2f, height / 2f + 60f, textPaint)
|
canvas.drawText(displayText, width / 2f, height / 2f + 20f.toDisplayPixels(), textPaint)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
|
||||||
|
super.setProgress(value, max, text, isBrightnessMode)
|
||||||
|
requestLayout()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom view for rendering a rectangular progress bar with icons and text.
|
* Custom view for rendering a rectangular progress bar with icons and text.
|
||||||
*/
|
*/
|
||||||
|
@SuppressLint("ViewConstructor")
|
||||||
class HorizontalProgressView(
|
class HorizontalProgressView(
|
||||||
context: Context,
|
context: Context,
|
||||||
overlayBackgroundOpacity: Int,
|
overlayBackgroundOpacity: Int,
|
||||||
overlayShowOverlayMinimalStyle: Boolean,
|
isMinimalStyle: Boolean,
|
||||||
overlayProgressColor: Int,
|
overlayProgressColor: Int,
|
||||||
overlayFillBackgroundPaint: Int,
|
overlayFillBackgroundPaint: Int,
|
||||||
overlayTextColor: Int,
|
overlayTextColor: Int,
|
||||||
|
overlayTextSize: Int,
|
||||||
attrs: AttributeSet? = null,
|
attrs: AttributeSet? = null,
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : AbstractProgressView(
|
) : AbstractProgressView(
|
||||||
context,
|
context,
|
||||||
overlayBackgroundOpacity,
|
overlayBackgroundOpacity,
|
||||||
overlayShowOverlayMinimalStyle,
|
isMinimalStyle,
|
||||||
overlayProgressColor,
|
overlayProgressColor,
|
||||||
overlayFillBackgroundPaint,
|
overlayFillBackgroundPaint,
|
||||||
overlayTextColor,
|
overlayTextColor,
|
||||||
|
overlayTextSize,
|
||||||
attrs,
|
attrs,
|
||||||
defStyleAttr
|
defStyleAttr
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val iconSize = 60f
|
private val iconSize = 20f.toDisplayPixels()
|
||||||
private val padding = 40f
|
private val padding = 12f.toDisplayPixels()
|
||||||
|
private var textWidth = 0f
|
||||||
|
private val progressBarHeight = 3f.toDisplayPixels()
|
||||||
|
private val progressBarWidth: Float = resources.displayMetrics.widthPixels / 4f
|
||||||
|
|
||||||
init {
|
init {
|
||||||
textPaint.textSize = 36f // Override default text size for horizontal view
|
|
||||||
progressPaint.strokeWidth = 0f
|
progressPaint.strokeWidth = 0f
|
||||||
progressPaint.strokeCap = Paint.Cap.BUTT
|
progressPaint.strokeCap = Paint.Cap.BUTT
|
||||||
progressPaint.style = Paint.Style.FILL
|
progressPaint.style = Paint.Style.FILL
|
||||||
fillBackgroundPaint.style = Paint.Style.FILL
|
fillBackgroundPaint.style = Paint.Style.FILL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate required width based on content
|
||||||
|
* @return Required width to display all elements
|
||||||
|
*/
|
||||||
|
private fun calculateRequiredWidth(): Float {
|
||||||
|
textWidth = measureTextWidth(displayText, textPaint).toFloat()
|
||||||
|
|
||||||
|
return if (!isMinimalStyle) {
|
||||||
|
padding + iconSize + padding + progressBarWidth + padding + textWidth + padding
|
||||||
|
} else {
|
||||||
|
padding + iconSize + padding + textWidth + padding
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
||||||
|
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||||
|
|
||||||
|
val suggestedWidth = MeasureSpec.getSize(widthMeasureSpec)
|
||||||
|
val suggestedHeight = MeasureSpec.getSize(heightMeasureSpec)
|
||||||
|
|
||||||
|
val height = suggestedHeight
|
||||||
|
val requiredWidth = calculateRequiredWidth().toInt()
|
||||||
|
val width = min(max(100, requiredWidth), suggestedWidth)
|
||||||
|
|
||||||
|
setMeasuredDimension(width, height)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
super.onDraw(canvas)
|
super.onDraw(canvas)
|
||||||
|
|
||||||
val width = width.toFloat()
|
val viewWidth = width.toFloat()
|
||||||
val height = height.toFloat()
|
val viewHeight = height.toFloat()
|
||||||
|
val viewHeightHalf = viewHeight / 2
|
||||||
|
|
||||||
// Radius for rounded corners
|
textWidth = measureTextWidth(displayText, textPaint).toFloat()
|
||||||
val cornerRadius = min(width, height) / 2
|
|
||||||
|
|
||||||
// Calculate the total width for the elements
|
val cornerRadius = viewHeightHalf
|
||||||
val minimalElementWidth = 5 * padding + iconSize
|
|
||||||
|
|
||||||
// Calculate the starting point (X) to center the elements
|
val startX = padding
|
||||||
val minimalStartX = (width - minimalElementWidth) / 2
|
val iconEndX = startX + iconSize
|
||||||
|
|
||||||
// Draw the background
|
val textStartX = (viewWidth - 1.5f * padding - textWidth)
|
||||||
if (!overlayShowOverlayMinimalStyle) {
|
|
||||||
canvas.drawRoundRect(0f, 0f, width, height, cornerRadius, cornerRadius, backgroundPaint)
|
|
||||||
} else {
|
|
||||||
canvas.drawRoundRect(minimalStartX, 0f, minimalStartX + minimalElementWidth, height, cornerRadius, cornerRadius, backgroundPaint)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!overlayShowOverlayMinimalStyle) {
|
|
||||||
// Draw the fill background
|
|
||||||
val startX = 2 * padding + iconSize
|
|
||||||
val endX = width - 4 * padding
|
|
||||||
val fillWidth = endX - startX
|
|
||||||
|
|
||||||
canvas.drawRoundRect(
|
canvas.drawRoundRect(
|
||||||
startX,
|
0f, 0f, viewWidth, viewHeight,
|
||||||
height / 2 - 5f,
|
cornerRadius, cornerRadius, backgroundPaint
|
||||||
endX,
|
)
|
||||||
height / 2 + 5f,
|
|
||||||
10f, 10f,
|
icon?.let {
|
||||||
|
val iconY = viewHeightHalf - iconSize / 2
|
||||||
|
it.setBounds(
|
||||||
|
startX.toInt(),
|
||||||
|
iconY.toInt(),
|
||||||
|
(startX + iconSize).toInt(),
|
||||||
|
(iconY + iconSize).toInt()
|
||||||
|
)
|
||||||
|
it.draw(canvas)
|
||||||
|
}
|
||||||
|
|
||||||
|
val textY = viewHeightHalf + textPaint.textSize / 3
|
||||||
|
textPaint.textAlign = Paint.Align.LEFT
|
||||||
|
|
||||||
|
if (isMinimalStyle) {
|
||||||
|
canvas.drawText(displayText, textStartX, textY, textPaint)
|
||||||
|
} else {
|
||||||
|
val progressStartX = iconEndX + padding
|
||||||
|
val progressEndX = textStartX - padding
|
||||||
|
val progressWidth = progressEndX - progressStartX
|
||||||
|
|
||||||
|
if (progressWidth > 50) {
|
||||||
|
val progressBarHeightHalf = progressBarHeight / 2.0f
|
||||||
|
val viewHeightHalfMinusProgressBarHeightHalf = viewHeightHalf - progressBarHeightHalf
|
||||||
|
val viewHeightHalfPlusProgressBarHeightHalf = viewHeightHalf + progressBarHeightHalf
|
||||||
|
|
||||||
|
canvas.drawRoundRect(
|
||||||
|
progressStartX,
|
||||||
|
viewHeightHalfMinusProgressBarHeightHalf,
|
||||||
|
progressEndX,
|
||||||
|
viewHeightHalfPlusProgressBarHeightHalf,
|
||||||
|
progressBarHeightHalf,
|
||||||
|
progressBarHeightHalf,
|
||||||
fillBackgroundPaint
|
fillBackgroundPaint
|
||||||
)
|
)
|
||||||
|
|
||||||
// Draw the progress
|
val progressValue = (progress.toFloat() / maxProgress) * progressWidth
|
||||||
val progressWidth = (progress.toFloat() / maxProgress) * fillWidth
|
|
||||||
canvas.drawRoundRect(
|
canvas.drawRoundRect(
|
||||||
startX,
|
progressStartX,
|
||||||
height / 2 - 5f,
|
viewHeightHalfMinusProgressBarHeightHalf,
|
||||||
startX + progressWidth,
|
progressStartX + progressValue,
|
||||||
height / 2 + 5f,
|
viewHeightHalfPlusProgressBarHeightHalf,
|
||||||
10f, 10f,
|
progressBarHeightHalf,
|
||||||
|
progressBarHeightHalf,
|
||||||
progressPaint
|
progressPaint
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw the icon
|
canvas.drawText(displayText, textStartX, textY, textPaint)
|
||||||
icon?.let {
|
|
||||||
val iconX = if (!overlayShowOverlayMinimalStyle) {
|
|
||||||
padding
|
|
||||||
} else {
|
|
||||||
padding + minimalStartX
|
|
||||||
}
|
}
|
||||||
val iconY = height / 2 - iconSize / 2
|
}
|
||||||
it.setBounds(iconX.toInt(), iconY.toInt(), (iconX + iconSize).toInt(), (iconY + iconSize).toInt())
|
|
||||||
|
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
|
||||||
|
super.setProgress(value, max, text, isBrightnessMode)
|
||||||
|
requestLayout()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom view for rendering a vertical progress bar with icons and text.
|
||||||
|
*/
|
||||||
|
@SuppressLint("ViewConstructor")
|
||||||
|
class VerticalProgressView(
|
||||||
|
context: Context,
|
||||||
|
overlayBackgroundOpacity: Int,
|
||||||
|
isMinimalStyle: Boolean,
|
||||||
|
overlayProgressColor: Int,
|
||||||
|
overlayFillBackgroundPaint: Int,
|
||||||
|
overlayTextColor: Int,
|
||||||
|
overlayTextSize: Int,
|
||||||
|
attrs: AttributeSet? = null,
|
||||||
|
defStyleAttr: Int = 0
|
||||||
|
) : AbstractProgressView(
|
||||||
|
context,
|
||||||
|
overlayBackgroundOpacity,
|
||||||
|
isMinimalStyle,
|
||||||
|
overlayProgressColor,
|
||||||
|
overlayFillBackgroundPaint,
|
||||||
|
overlayTextColor,
|
||||||
|
overlayTextSize,
|
||||||
|
attrs,
|
||||||
|
defStyleAttr
|
||||||
|
) {
|
||||||
|
|
||||||
|
private val iconSize = 20f.toDisplayPixels()
|
||||||
|
private val padding = 12f.toDisplayPixels()
|
||||||
|
private val progressBarWidth = 3f.toDisplayPixels()
|
||||||
|
private val progressBarHeight: Float = resources.displayMetrics.widthPixels / 3f
|
||||||
|
|
||||||
|
init {
|
||||||
|
progressPaint.strokeWidth = 0f
|
||||||
|
progressPaint.strokeCap = Paint.Cap.BUTT
|
||||||
|
progressPaint.style = Paint.Style.FILL
|
||||||
|
fillBackgroundPaint.style = Paint.Style.FILL
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate required height based on content
|
||||||
|
* @return Required height to display all elements
|
||||||
|
*/
|
||||||
|
private fun calculateRequiredHeight(): Float {
|
||||||
|
return if (!isMinimalStyle) {
|
||||||
|
padding + iconSize + padding + progressBarHeight + padding + textPaint.textSize + padding
|
||||||
|
} else {
|
||||||
|
padding + iconSize + padding + textPaint.textSize + padding
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
||||||
|
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||||
|
|
||||||
|
val suggestedWidth = MeasureSpec.getSize(widthMeasureSpec)
|
||||||
|
val suggestedHeight = MeasureSpec.getSize(heightMeasureSpec)
|
||||||
|
|
||||||
|
val requiredHeight = calculateRequiredHeight().toInt()
|
||||||
|
val height = min(max(100, requiredHeight), suggestedHeight)
|
||||||
|
|
||||||
|
setMeasuredDimension(suggestedWidth, height)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDraw(canvas: Canvas) {
|
||||||
|
super.onDraw(canvas)
|
||||||
|
|
||||||
|
val viewWidth = width.toFloat()
|
||||||
|
val viewHeight = height.toFloat()
|
||||||
|
val viewWidthHalf = viewWidth / 2
|
||||||
|
val cornerRadius = viewWidthHalf
|
||||||
|
|
||||||
|
val startY = padding
|
||||||
|
val iconEndY = startY + iconSize
|
||||||
|
|
||||||
|
val textStartY = viewHeight - padding - textPaint.textSize / 2
|
||||||
|
|
||||||
|
canvas.drawRoundRect(
|
||||||
|
0f, 0f, viewWidth, viewHeight,
|
||||||
|
cornerRadius, cornerRadius, backgroundPaint
|
||||||
|
)
|
||||||
|
|
||||||
|
icon?.let {
|
||||||
|
val iconX = viewWidthHalf - iconSize / 2
|
||||||
|
it.setBounds(
|
||||||
|
iconX.toInt(),
|
||||||
|
startY.toInt(),
|
||||||
|
(iconX + iconSize).toInt(),
|
||||||
|
(startY + iconSize).toInt()
|
||||||
|
)
|
||||||
it.draw(canvas)
|
it.draw(canvas)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw the text on the right
|
val textX = viewWidthHalf
|
||||||
val textX = if (!overlayShowOverlayMinimalStyle) {
|
textPaint.textAlign = Paint.Align.CENTER
|
||||||
width - 2 * padding
|
|
||||||
} else {
|
|
||||||
minimalStartX + minimalElementWidth - 2 * padding
|
|
||||||
}
|
|
||||||
val textY = height / 2 + textPaint.textSize / 3
|
|
||||||
|
|
||||||
// Draw the text
|
if (isMinimalStyle) {
|
||||||
canvas.drawText(displayText, textX, textY, textPaint)
|
canvas.drawText(displayText, textX, textStartY, textPaint)
|
||||||
|
} else {
|
||||||
|
val progressStartY = (iconEndY + padding).toFloat()
|
||||||
|
val progressEndY = textStartY - textPaint.textSize - padding
|
||||||
|
val progressHeight = progressEndY - progressStartY
|
||||||
|
|
||||||
|
if (progressHeight > 50) {
|
||||||
|
val progressBarWidthHalf = progressBarWidth / 2
|
||||||
|
val viewHeightHalfMinusProgressBarHeightHalf = viewWidthHalf - progressBarWidthHalf
|
||||||
|
val viewHeightHalfPlusProgressBarHeightHalf = viewWidthHalf + progressBarWidthHalf
|
||||||
|
|
||||||
|
canvas.drawRoundRect(
|
||||||
|
viewHeightHalfMinusProgressBarHeightHalf,
|
||||||
|
progressStartY,
|
||||||
|
viewHeightHalfPlusProgressBarHeightHalf,
|
||||||
|
progressEndY,
|
||||||
|
progressBarWidthHalf,
|
||||||
|
progressBarWidthHalf,
|
||||||
|
fillBackgroundPaint
|
||||||
|
)
|
||||||
|
|
||||||
|
val progressValue = (progress.toFloat() / maxProgress) * progressHeight
|
||||||
|
canvas.drawRoundRect(
|
||||||
|
viewHeightHalfMinusProgressBarHeightHalf,
|
||||||
|
progressEndY - progressValue,
|
||||||
|
viewHeightHalfPlusProgressBarHeightHalf,
|
||||||
|
progressEndY,
|
||||||
|
progressBarWidthHalf,
|
||||||
|
progressBarWidthHalf,
|
||||||
|
progressPaint
|
||||||
|
)
|
||||||
|
}
|
||||||
|
canvas.drawText(displayText, textX, textStartY, textPaint)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun setProgress(value: Int, max: Int, text: String, isBrightnessMode: Boolean) {
|
||||||
|
super.setProgress(value, max, text, isBrightnessMode)
|
||||||
|
requestLayout()
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
android.useAndroidX = true
|
android.useAndroidX = true
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 5.21.0-dev.3
|
version = 5.22.0
|
||||||
|
@ -642,14 +642,12 @@ public abstract class app/revanced/patches/shared/misc/settings/preference/BaseP
|
|||||||
public static final field Companion Lapp/revanced/patches/shared/misc/settings/preference/BasePreference$Companion;
|
public static final field Companion Lapp/revanced/patches/shared/misc/settings/preference/BasePreference$Companion;
|
||||||
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
|
||||||
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
public fun equals (Ljava/lang/Object;)Z
|
|
||||||
public final fun getIcon ()Ljava/lang/String;
|
public final fun getIcon ()Ljava/lang/String;
|
||||||
public final fun getKey ()Ljava/lang/String;
|
public final fun getKey ()Ljava/lang/String;
|
||||||
public final fun getLayout ()Ljava/lang/String;
|
public final fun getLayout ()Ljava/lang/String;
|
||||||
public final fun getSummaryKey ()Ljava/lang/String;
|
public final fun getSummaryKey ()Ljava/lang/String;
|
||||||
public final fun getTag ()Ljava/lang/String;
|
public final fun getTag ()Ljava/lang/String;
|
||||||
public final fun getTitleKey ()Ljava/lang/String;
|
public final fun getTitleKey ()Ljava/lang/String;
|
||||||
public fun hashCode ()I
|
|
||||||
public fun serialize (Lorg/w3c/dom/Document;Lkotlin/jvm/functions/Function1;)Lorg/w3c/dom/Element;
|
public fun serialize (Lorg/w3c/dom/Document;Lkotlin/jvm/functions/Function1;)Lorg/w3c/dom/Element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,15 +10,28 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference
|
import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference
|
||||||
import com.android.tools.smali.dexlib2.util.MethodUtil
|
import com.android.tools.smali.dexlib2.util.MethodUtil
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/all/spoof/adb/SpoofAdbPatch;"
|
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/all/misc/hide/adb/HideAdbPatch;"
|
||||||
|
|
||||||
private val SETTINGS_GLOBAL_GET_INT_METHOD_REFERENCE = ImmutableMethodReference(
|
private val SETTINGS_GLOBAL_GET_INT_OR_THROW_METHOD_REFERENCE = ImmutableMethodReference(
|
||||||
"Landroid/provider/Settings\$Global;",
|
"Landroid/provider/Settings\$Global;",
|
||||||
"getInt",
|
"getInt",
|
||||||
emptyList(),
|
listOf("Landroid/content/ContentResolver;", "Ljava/lang/String;"),
|
||||||
"I"
|
"I"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private val SETTINGS_GLOBAL_GET_INT_OR_DEFAULT_METHOD_REFERENCE = ImmutableMethodReference(
|
||||||
|
"Landroid/provider/Settings\$Global;",
|
||||||
|
"getInt",
|
||||||
|
listOf("Landroid/content/ContentResolver;", "Ljava/lang/String;", "I"),
|
||||||
|
"I"
|
||||||
|
)
|
||||||
|
|
||||||
|
private fun MethodReference.anyMethodSignatureMatches(vararg anyOf: MethodReference): Boolean {
|
||||||
|
return anyOf.any {
|
||||||
|
MethodUtil.methodSignaturesMatch(it, this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
val hideAdbStatusPatch = bytecodePatch(
|
val hideAdbStatusPatch = bytecodePatch(
|
||||||
name = "Hide ADB status",
|
name = "Hide ADB status",
|
||||||
@ -33,7 +46,12 @@ val hideAdbStatusPatch = bytecodePatch(
|
|||||||
val reference = instruction
|
val reference = instruction
|
||||||
.takeIf { it.opcode == Opcode.INVOKE_STATIC }
|
.takeIf { it.opcode == Opcode.INVOKE_STATIC }
|
||||||
?.getReference<MethodReference>()
|
?.getReference<MethodReference>()
|
||||||
?.takeIf { MethodUtil.methodSignaturesMatch(SETTINGS_GLOBAL_GET_INT_METHOD_REFERENCE, it) }
|
?.takeIf {
|
||||||
|
it.anyMethodSignatureMatches(it,
|
||||||
|
SETTINGS_GLOBAL_GET_INT_OR_THROW_METHOD_REFERENCE,
|
||||||
|
SETTINGS_GLOBAL_GET_INT_OR_DEFAULT_METHOD_REFERENCE
|
||||||
|
)
|
||||||
|
}
|
||||||
?: return@filterMap null
|
?: return@filterMap null
|
||||||
|
|
||||||
Triple(instruction as Instruction35c, instructionIndex, reference.parameterTypes)
|
Triple(instruction as Instruction35c, instructionIndex, reference.parameterTypes)
|
||||||
|
@ -6,7 +6,7 @@ import app.revanced.patches.all.misc.transformation.filterMapInstruction35c
|
|||||||
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch
|
import app.revanced.patches.all.misc.transformation.transformInstructionsPatch
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
||||||
"Lapp/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch"
|
"Lapp/revanced/extension/all/misc/connectivity/wifi/spoof/SpoofWifiPatch"
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ private val removeCaptureRestrictionResourcePatch = resourcePatch(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
||||||
"Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch"
|
"Lapp/revanced/extension/all/misc/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch"
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
|
@ -10,7 +10,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction22c
|
|||||||
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX =
|
||||||
"Lapp/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch"
|
"Lapp/revanced/extension/all/misc/screenshot/removerestriction/RemoveScreenshotRestrictionPatch"
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;"
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
|
@ -52,8 +52,8 @@ fun gmsCoreSupportPatch(
|
|||||||
block: BytecodePatchBuilder.() -> Unit = {},
|
block: BytecodePatchBuilder.() -> Unit = {},
|
||||||
) = bytecodePatch(
|
) = bytecodePatch(
|
||||||
name = "GmsCore support",
|
name = "GmsCore support",
|
||||||
description = "Allows patched Google apps to run without root and under a different package name " +
|
description = "Allows the app to work without root by using a different package name when patched " +
|
||||||
"by using GmsCore instead of Google Play Services.",
|
"using a GmsCore instead of Google Play Services.",
|
||||||
) {
|
) {
|
||||||
val gmsCoreVendorGroupIdOption = stringOption(
|
val gmsCoreVendorGroupIdOption = stringOption(
|
||||||
key = "gmsCoreVendorGroupId",
|
key = "gmsCoreVendorGroupId",
|
||||||
|
@ -51,26 +51,6 @@ abstract class BasePreference(
|
|||||||
layout?.let { setAttribute("android:layout", layout) }
|
layout?.let { setAttribute("android:layout", layout) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hashCode(): Int {
|
|
||||||
var result = key?.hashCode() ?: 0
|
|
||||||
result = 31 * result + titleKey.hashCode()
|
|
||||||
result = 31 * result + tag.hashCode()
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun equals(other: Any?): Boolean {
|
|
||||||
if (this === other) return true
|
|
||||||
if (javaClass != other?.javaClass) return false
|
|
||||||
|
|
||||||
other as BasePreference
|
|
||||||
|
|
||||||
if (key != other.key) return false
|
|
||||||
if (titleKey != other.titleKey) return false
|
|
||||||
if (tag != other.tag) return false
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun Element.addSummary(summaryKey: String, summaryType: SummaryType = SummaryType.DEFAULT) =
|
fun Element.addSummary(summaryKey: String, summaryType: SummaryType = SummaryType.DEFAULT) =
|
||||||
setAttribute("android:${summaryType.type}", "@string/$summaryKey")
|
setAttribute("android:${summaryType.type}", "@string/$summaryKey")
|
||||||
|
@ -9,6 +9,8 @@ import app.revanced.patches.tiktok.misc.settings.settingsStatusLoadFingerprint
|
|||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
|
||||||
|
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/tiktok/feedfilter/FeedItemsFilter;"
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
val feedFilterPatch = bytecodePatch(
|
val feedFilterPatch = bytecodePatch(
|
||||||
name = "Feed filter",
|
name = "Feed filter",
|
||||||
@ -26,14 +28,15 @@ val feedFilterPatch = bytecodePatch(
|
|||||||
)
|
)
|
||||||
|
|
||||||
execute {
|
execute {
|
||||||
feedApiServiceLIZFingerprint.method.apply {
|
arrayOf(
|
||||||
val returnFeedItemInstruction = instructions.first { it.opcode == Opcode.RETURN_OBJECT }
|
feedApiServiceLIZFingerprint.method to "$EXTENSION_CLASS_DESCRIPTOR->filter(Lcom/ss/android/ugc/aweme/feed/model/FeedItemList;)V",
|
||||||
val feedItemsRegister = (returnFeedItemInstruction as OneRegisterInstruction).registerA
|
followFeedFingerprint.method to "$EXTENSION_CLASS_DESCRIPTOR->filter(Lcom/ss/android/ugc/aweme/follow/presenter/FollowFeedList;)V"
|
||||||
|
).forEach { (method, filterSignature) ->
|
||||||
addInstruction(
|
val returnInstruction = method.instructions.first { it.opcode == Opcode.RETURN_OBJECT }
|
||||||
returnFeedItemInstruction.location.index,
|
val register = (returnInstruction as OneRegisterInstruction).registerA
|
||||||
"invoke-static { v$feedItemsRegister }, " +
|
method.addInstruction(
|
||||||
"Lapp/revanced/extension/tiktok/feedfilter/FeedItemsFilter;->filter(Lcom/ss/android/ugc/aweme/feed/model/FeedItemList;)V",
|
returnInstruction.location.index,
|
||||||
|
"invoke-static { v$register }, $filterSignature"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,4 +45,5 @@ val feedFilterPatch = bytecodePatch(
|
|||||||
"invoke-static {}, Lapp/revanced/extension/tiktok/settings/SettingsStatus;->enableFeedFilter()V",
|
"invoke-static {}, Lapp/revanced/extension/tiktok/settings/SettingsStatus;->enableFeedFilter()V",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,22 @@
|
|||||||
package app.revanced.patches.tiktok.feedfilter
|
package app.revanced.patches.tiktok.feedfilter
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint
|
import app.revanced.patcher.fingerprint
|
||||||
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
|
||||||
internal val feedApiServiceLIZFingerprint = fingerprint {
|
internal val feedApiServiceLIZFingerprint = fingerprint {
|
||||||
custom { method, classDef ->
|
custom { method, classDef ->
|
||||||
classDef.endsWith("/FeedApiService;") && method.name == "fetchFeedList"
|
classDef.endsWith("/FeedApiService;") && method.name == "fetchFeedList"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val followFeedFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
|
||||||
|
returns("Lcom/ss/android/ugc/aweme/follow/presenter/FollowFeedList;")
|
||||||
|
strings("getFollowFeedList")
|
||||||
|
opcodes(
|
||||||
|
Opcode.INVOKE_INTERFACE_RANGE,
|
||||||
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
|
Opcode.INVOKE_INTERFACE
|
||||||
|
)
|
||||||
|
}
|
@ -6,6 +6,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMu
|
|||||||
import app.revanced.patches.all.misc.resources.addResources
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
import app.revanced.patches.shared.misc.settings.preference.InputType
|
import app.revanced.patches.shared.misc.settings.preference.InputType
|
||||||
|
import app.revanced.patches.shared.misc.settings.preference.ListPreference
|
||||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||||
import app.revanced.patches.shared.misc.settings.preference.TextPreference
|
import app.revanced.patches.shared.misc.settings.preference.TextPreference
|
||||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
@ -42,9 +43,13 @@ private val swipeControlsResourcePatch = resourcePatch {
|
|||||||
SwitchPreference("revanced_swipe_haptic_feedback"),
|
SwitchPreference("revanced_swipe_haptic_feedback"),
|
||||||
SwitchPreference("revanced_swipe_save_and_restore_brightness"),
|
SwitchPreference("revanced_swipe_save_and_restore_brightness"),
|
||||||
SwitchPreference("revanced_swipe_lowest_value_enable_auto_brightness"),
|
SwitchPreference("revanced_swipe_lowest_value_enable_auto_brightness"),
|
||||||
SwitchPreference("revanced_swipe_show_circular_overlay"),
|
ListPreference(
|
||||||
SwitchPreference("revanced_swipe_overlay_minimal_style"),
|
"revanced_swipe_overlay_style",
|
||||||
|
summaryKey = null,
|
||||||
|
),
|
||||||
TextPreference("revanced_swipe_overlay_background_opacity", inputType = InputType.NUMBER),
|
TextPreference("revanced_swipe_overlay_background_opacity", inputType = InputType.NUMBER),
|
||||||
|
TextPreference("revanced_swipe_overlay_progress_color", inputType = InputType.TEXT_CAP_CHARACTERS),
|
||||||
|
TextPreference("revanced_swipe_text_overlay_size", inputType = InputType.NUMBER),
|
||||||
TextPreference("revanced_swipe_overlay_timeout", inputType = InputType.NUMBER),
|
TextPreference("revanced_swipe_overlay_timeout", inputType = InputType.NUMBER),
|
||||||
TextPreference("revanced_swipe_threshold", inputType = InputType.NUMBER),
|
TextPreference("revanced_swipe_threshold", inputType = InputType.NUMBER),
|
||||||
TextPreference("revanced_swipe_volume_sensitivity", inputType = InputType.NUMBER),
|
TextPreference("revanced_swipe_volume_sensitivity", inputType = InputType.NUMBER),
|
||||||
|
@ -8,7 +8,9 @@ import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
|||||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||||
import app.revanced.patches.youtube.shared.subtitleButtonControllerFingerprint
|
|
||||||
|
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||||
|
"Lapp/revanced/extension/youtube/patches/DisableAutoCaptionsPatch;"
|
||||||
|
|
||||||
val autoCaptionsPatch = bytecodePatch(
|
val autoCaptionsPatch = bytecodePatch(
|
||||||
name = "Disable auto captions",
|
name = "Disable auto captions",
|
||||||
@ -36,35 +38,33 @@ val autoCaptionsPatch = bytecodePatch(
|
|||||||
addResources("youtube", "layout.autocaptions.autoCaptionsPatch")
|
addResources("youtube", "layout.autocaptions.autoCaptionsPatch")
|
||||||
|
|
||||||
PreferenceScreen.PLAYER.addPreferences(
|
PreferenceScreen.PLAYER.addPreferences(
|
||||||
SwitchPreference("revanced_auto_captions"),
|
SwitchPreference("revanced_disable_auto_captions"),
|
||||||
|
)
|
||||||
|
|
||||||
|
subtitleTrackFingerprint.method.addInstructions(
|
||||||
|
0,
|
||||||
|
"""
|
||||||
|
invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableAutoCaptions()Z
|
||||||
|
move-result v0
|
||||||
|
if-eqz v0, :auto_captions_enabled
|
||||||
|
const/4 v0, 0x1
|
||||||
|
return v0
|
||||||
|
:auto_captions_enabled
|
||||||
|
nop
|
||||||
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
mapOf(
|
mapOf(
|
||||||
startVideoInformerFingerprint to 0,
|
startVideoInformerFingerprint to 0,
|
||||||
subtitleButtonControllerFingerprint to 1,
|
storyboardRendererDecoderRecommendedLevelFingerprint to 1
|
||||||
).forEach { (fingerprint, enabled) ->
|
).forEach { (fingerprint, enabled) ->
|
||||||
fingerprint.method.addInstructions(
|
fingerprint.method.addInstructions(
|
||||||
0,
|
0,
|
||||||
"""
|
"""
|
||||||
const/4 v0, 0x$enabled
|
const/4 v0, 0x$enabled
|
||||||
sput-boolean v0, Lapp/revanced/extension/youtube/patches/DisableAutoCaptionsPatch;->captionsButtonDisabled:Z
|
invoke-static { v0 }, $EXTENSION_CLASS_DESCRIPTOR->setCaptionsButtonStatus(Z)V
|
||||||
""",
|
"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
subtitleTrackFingerprint.method.addInstructions(
|
|
||||||
0,
|
|
||||||
"""
|
|
||||||
invoke-static {}, Lapp/revanced/extension/youtube/patches/DisableAutoCaptionsPatch;->autoCaptionsEnabled()Z
|
|
||||||
move-result v0
|
|
||||||
if-eqz v0, :auto_captions_enabled
|
|
||||||
sget-boolean v0, Lapp/revanced/extension/youtube/patches/DisableAutoCaptionsPatch;->captionsButtonDisabled:Z
|
|
||||||
if-nez v0, :auto_captions_enabled
|
|
||||||
const/4 v0, 0x1
|
|
||||||
return v0
|
|
||||||
:auto_captions_enabled
|
|
||||||
nop
|
|
||||||
""",
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,13 @@ internal val startVideoInformerFingerprint = fingerprint {
|
|||||||
strings("pc")
|
strings("pc")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val storyboardRendererDecoderRecommendedLevelFingerprint = fingerprint {
|
||||||
|
returns("V")
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
parameters("L")
|
||||||
|
strings("#-1#")
|
||||||
|
}
|
||||||
|
|
||||||
internal val subtitleTrackFingerprint = fingerprint {
|
internal val subtitleTrackFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
returns("Z")
|
returns("Z")
|
||||||
@ -28,6 +35,6 @@ internal val subtitleTrackFingerprint = fingerprint {
|
|||||||
)
|
)
|
||||||
strings("DISABLE_CAPTIONS_OPTION")
|
strings("DISABLE_CAPTIONS_OPTION")
|
||||||
custom { _, classDef ->
|
custom { _, classDef ->
|
||||||
classDef.endsWith("SubtitleTrack;")
|
classDef.endsWith("/SubtitleTrack;")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,10 +46,11 @@ val hideButtonsPatch = resourcePatch(
|
|||||||
SwitchPreference("revanced_hide_remix_button"),
|
SwitchPreference("revanced_hide_remix_button"),
|
||||||
SwitchPreference("revanced_hide_download_button"),
|
SwitchPreference("revanced_hide_download_button"),
|
||||||
SwitchPreference("revanced_hide_thanks_button"),
|
SwitchPreference("revanced_hide_thanks_button"),
|
||||||
|
SwitchPreference("revanced_hide_ask_button"),
|
||||||
SwitchPreference("revanced_hide_clip_button"),
|
SwitchPreference("revanced_hide_clip_button"),
|
||||||
SwitchPreference("revanced_hide_playlist_button"),
|
SwitchPreference("revanced_hide_playlist_button"),
|
||||||
),
|
)
|
||||||
),
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
addLithoFilter("Lapp/revanced/extension/youtube/patches/components/ButtonsFilter;")
|
addLithoFilter("Lapp/revanced/extension/youtube/patches/components/ButtonsFilter;")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package app.revanced.patches.youtube.layout.hide.general
|
package app.revanced.patches.youtube.layout.hide.general
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint
|
import app.revanced.patcher.fingerprint
|
||||||
|
import app.revanced.patches.youtube.layout.searchbar.wideSearchbarLayoutFingerprint
|
||||||
import app.revanced.util.literal
|
import app.revanced.util.literal
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
@ -67,6 +68,9 @@ internal val showWatermarkFingerprint = fingerprint {
|
|||||||
parameters("L", "L")
|
parameters("L", "L")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Matches same method as [wideSearchbarLayoutFingerprint].
|
||||||
|
*/
|
||||||
internal val yoodlesImageViewFingerprint = fingerprint {
|
internal val yoodlesImageViewFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
returns("Landroid/view/View;")
|
returns("Landroid/view/View;")
|
||||||
|
@ -44,14 +44,12 @@ var crowdfundingBoxId = -1L
|
|||||||
private set
|
private set
|
||||||
var youTubeLogo = -1L
|
var youTubeLogo = -1L
|
||||||
private set
|
private set
|
||||||
|
|
||||||
var filterBarHeightId = -1L
|
var filterBarHeightId = -1L
|
||||||
private set
|
private set
|
||||||
var relatedChipCloudMarginId = -1L
|
var relatedChipCloudMarginId = -1L
|
||||||
private set
|
private set
|
||||||
var barContainerHeightId = -1L
|
var barContainerHeightId = -1L
|
||||||
private set
|
private set
|
||||||
|
|
||||||
var fabButtonId = -1L
|
var fabButtonId = -1L
|
||||||
private set
|
private set
|
||||||
|
|
||||||
|
@ -25,11 +25,6 @@ internal val shortsBottomBarContainerFingerprint = fingerprint {
|
|||||||
literal { bottomBarContainer }
|
literal { bottomBarContainer }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val createShortsButtonsFingerprint = fingerprint {
|
|
||||||
returns("V")
|
|
||||||
literal { reelPlayerRightCellButtonHeight }
|
|
||||||
}
|
|
||||||
|
|
||||||
internal val renderBottomNavigationBarFingerprint = fingerprint {
|
internal val renderBottomNavigationBarFingerprint = fingerprint {
|
||||||
returns("V")
|
returns("V")
|
||||||
parameters("Ljava/lang/String;")
|
parameters("Ljava/lang/String;")
|
||||||
|
@ -6,7 +6,6 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
|||||||
import app.revanced.patcher.patch.booleanOption
|
import app.revanced.patcher.patch.booleanOption
|
||||||
import app.revanced.patcher.patch.bytecodePatch
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
import app.revanced.patcher.patch.resourcePatch
|
import app.revanced.patcher.patch.resourcePatch
|
||||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
|
||||||
import app.revanced.patches.all.misc.resources.addResources
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
import app.revanced.patches.shared.misc.mapping.get
|
import app.revanced.patches.shared.misc.mapping.get
|
||||||
@ -22,14 +21,14 @@ import app.revanced.patches.youtube.misc.playservice.is_19_41_or_greater
|
|||||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||||
import app.revanced.util.*
|
import app.revanced.util.findElementByAttributeValueOrThrow
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import app.revanced.util.forEachLiteralValueInstruction
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
import app.revanced.util.indexOfFirstLiteralInstruction
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
|
||||||
internal var reelPlayerRightCellButtonHeight = -1L
|
|
||||||
private set
|
|
||||||
internal var bottomBarContainer = -1L
|
internal var bottomBarContainer = -1L
|
||||||
private set
|
private set
|
||||||
internal var reelPlayerRightPivotV2Size = -1L
|
internal var reelPlayerRightPivotV2Size = -1L
|
||||||
@ -137,11 +136,6 @@ private val hideShortsComponentsResourcePatch = resourcePatch {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reelPlayerRightCellButtonHeight = resourceMappings[
|
|
||||||
"dimen",
|
|
||||||
"reel_player_right_cell_button_height",
|
|
||||||
]
|
|
||||||
|
|
||||||
bottomBarContainer = resourceMappings[
|
bottomBarContainer = resourceMappings[
|
||||||
"id",
|
"id",
|
||||||
"bottom_bar_container",
|
"bottom_bar_container",
|
||||||
@ -186,15 +180,6 @@ val hideShortsComponentsPatch = bytecodePatch(
|
|||||||
hideShortsWidgetOption()
|
hideShortsWidgetOption()
|
||||||
|
|
||||||
execute {
|
execute {
|
||||||
// region Hide the Shorts buttons in older versions of YouTube.
|
|
||||||
|
|
||||||
// Some Shorts buttons are views, hide them by setting their visibility to GONE.
|
|
||||||
ShortsButtons.entries.forEach { button -> button.injectHideCall(createShortsButtonsFingerprint.method) }
|
|
||||||
|
|
||||||
// endregion
|
|
||||||
|
|
||||||
// region Hide the Shorts buttons in newer versions of YouTube.
|
|
||||||
|
|
||||||
addLithoFilter(FILTER_CLASS_DESCRIPTOR)
|
addLithoFilter(FILTER_CLASS_DESCRIPTOR)
|
||||||
|
|
||||||
forEachLiteralValueInstruction(
|
forEachLiteralValueInstruction(
|
||||||
@ -211,7 +196,7 @@ val hideShortsComponentsPatch = bytecodePatch(
|
|||||||
"""
|
"""
|
||||||
invoke-static { v$sizeRegister }, $FILTER_CLASS_DESCRIPTOR->getSoundButtonSize(I)I
|
invoke-static { v$sizeRegister }, $FILTER_CLASS_DESCRIPTOR->getSoundButtonSize(I)I
|
||||||
move-result v$sizeRegister
|
move-result v$sizeRegister
|
||||||
""",
|
"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,31 +246,10 @@ val hideShortsComponentsPatch = bytecodePatch(
|
|||||||
"""
|
"""
|
||||||
invoke-static { v$heightRegister }, $FILTER_CLASS_DESCRIPTOR->getNavigationBarHeight(I)I
|
invoke-static { v$heightRegister }, $FILTER_CLASS_DESCRIPTOR->getNavigationBarHeight(I)I
|
||||||
move-result v$heightRegister
|
move-result v$heightRegister
|
||||||
""",
|
"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum class ShortsButtons(private val resourceName: String, private val methodName: String) {
|
|
||||||
LIKE("reel_dyn_like", "hideLikeButton"),
|
|
||||||
DISLIKE("reel_dyn_dislike", "hideDislikeButton"),
|
|
||||||
COMMENTS("reel_dyn_comment", "hideShortsCommentsButton"),
|
|
||||||
REMIX("reel_dyn_remix", "hideShortsRemixButton"),
|
|
||||||
SHARE("reel_dyn_share", "hideShortsShareButton"),
|
|
||||||
;
|
|
||||||
|
|
||||||
fun injectHideCall(method: MutableMethod) {
|
|
||||||
val referencedIndex = method.indexOfFirstResourceIdOrThrow(resourceName)
|
|
||||||
|
|
||||||
val setIdIndex = method.indexOfFirstInstructionOrThrow(referencedIndex) {
|
|
||||||
opcode == Opcode.INVOKE_VIRTUAL && getReference<MethodReference>()?.name == "setId"
|
|
||||||
}
|
|
||||||
|
|
||||||
val viewRegister = method.getInstruction<FiveRegisterInstruction>(setIdIndex).registerC
|
|
||||||
|
|
||||||
method.injectHideViewCall(setIdIndex + 1, viewRegister, FILTER_CLASS_DESCRIPTOR, methodName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -1,31 +1,27 @@
|
|||||||
package app.revanced.patches.youtube.layout.searchbar
|
package app.revanced.patches.youtube.layout.searchbar
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint
|
import app.revanced.patcher.fingerprint
|
||||||
|
import app.revanced.patches.youtube.layout.hide.general.yoodlesImageViewFingerprint
|
||||||
|
import app.revanced.util.containsLiteralInstruction
|
||||||
|
import app.revanced.util.literal
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
|
||||||
|
|
||||||
internal val createSearchSuggestionsFingerprint = fingerprint {
|
|
||||||
opcodes(
|
|
||||||
Opcode.INVOKE_STATIC,
|
|
||||||
Opcode.MOVE_RESULT,
|
|
||||||
Opcode.CONST_4,
|
|
||||||
)
|
|
||||||
strings("ss_rds")
|
|
||||||
}
|
|
||||||
|
|
||||||
internal val setWordmarkHeaderFingerprint = fingerprint {
|
internal val setWordmarkHeaderFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
returns("V")
|
returns("V")
|
||||||
parameters("Landroid/widget/ImageView;")
|
parameters("Landroid/widget/ImageView;")
|
||||||
opcodes(
|
custom { methodDef, _ ->
|
||||||
Opcode.IGET_OBJECT,
|
methodDef.containsLiteralInstruction(ytPremiumWordmarkHeaderId) &&
|
||||||
Opcode.INVOKE_STATIC,
|
methodDef.containsLiteralInstruction(ytWordmarkHeaderId)
|
||||||
Opcode.MOVE_RESULT,
|
}
|
||||||
Opcode.IF_NEZ,
|
}
|
||||||
Opcode.IGET_BOOLEAN,
|
|
||||||
Opcode.IF_EQZ,
|
/**
|
||||||
Opcode.IGET_OBJECT,
|
* Matches the same method as [yoodlesImageViewFingerprint].
|
||||||
Opcode.CONST,
|
*/
|
||||||
null, // invoke-static or invoke-virtual.
|
internal val wideSearchbarLayoutFingerprint = fingerprint {
|
||||||
)
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
returns("Landroid/view/View;")
|
||||||
|
parameters("L", "L")
|
||||||
|
literal { actionBarRingoId }
|
||||||
}
|
}
|
||||||
|
@ -1,30 +1,67 @@
|
|||||||
package app.revanced.patches.youtube.layout.searchbar
|
package app.revanced.patches.youtube.layout.searchbar
|
||||||
|
|
||||||
import app.revanced.patcher.Fingerprint
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||||
import app.revanced.patcher.patch.BytecodePatchContext
|
|
||||||
import app.revanced.patcher.patch.bytecodePatch
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
import app.revanced.patcher.patch.resourcePatch
|
||||||
import app.revanced.patches.all.misc.resources.addResources
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
|
import app.revanced.patches.shared.misc.mapping.get
|
||||||
|
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
||||||
|
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
||||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||||
|
import app.revanced.util.addInstructionsAtControlFlowLabel
|
||||||
|
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
||||||
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||||
"Lapp/revanced/extension/youtube/patches/WideSearchbarPatch;"
|
"Lapp/revanced/extension/youtube/patches/WideSearchbarPatch;"
|
||||||
|
|
||||||
|
internal var ytWordmarkHeaderId = -1L
|
||||||
|
private set
|
||||||
|
internal var ytPremiumWordmarkHeaderId = -1L
|
||||||
|
private set
|
||||||
|
internal var actionBarRingoId = -1L
|
||||||
|
private set
|
||||||
|
|
||||||
|
private val wideSearchbarResourcePatch = resourcePatch {
|
||||||
|
dependsOn(resourceMappingPatch)
|
||||||
|
|
||||||
|
execute {
|
||||||
|
ytWordmarkHeaderId = resourceMappings[
|
||||||
|
"attr",
|
||||||
|
"ytWordmarkHeader",
|
||||||
|
]
|
||||||
|
|
||||||
|
ytPremiumWordmarkHeaderId = resourceMappings[
|
||||||
|
"attr",
|
||||||
|
"ytPremiumWordmarkHeader",
|
||||||
|
]
|
||||||
|
|
||||||
|
actionBarRingoId = resourceMappings[
|
||||||
|
"layout",
|
||||||
|
"action_bar_ringo",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val wideSearchbarPatch = bytecodePatch(
|
val wideSearchbarPatch = bytecodePatch(
|
||||||
name = "Wide search bar",
|
name = "Wide search bar",
|
||||||
description = "Adds an option to replace the search icon with a wide search bar. This will hide the YouTube logo when active.",
|
description = "Adds an option to replace the search icon with a wide search bar. " +
|
||||||
|
"This will hide the YouTube logo when active.",
|
||||||
) {
|
) {
|
||||||
dependsOn(
|
dependsOn(
|
||||||
sharedExtensionPatch,
|
sharedExtensionPatch,
|
||||||
settingsPatch,
|
settingsPatch,
|
||||||
addResourcesPatch,
|
addResourcesPatch,
|
||||||
|
wideSearchbarResourcePatch,
|
||||||
)
|
)
|
||||||
|
|
||||||
compatibleWith(
|
compatibleWith(
|
||||||
@ -46,37 +83,45 @@ val wideSearchbarPatch = bytecodePatch(
|
|||||||
SwitchPreference("revanced_wide_searchbar"),
|
SwitchPreference("revanced_wide_searchbar"),
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
setWordmarkHeaderFingerprint.let {
|
||||||
* Navigate a fingerprints method at a given index mutably.
|
// Navigate to the method that checks if the YT logo is shown beside the search bar.
|
||||||
*
|
val shouldShowLogoMethod = with(it.originalMethod) {
|
||||||
* @param index The index to navigate to.
|
val invokeStaticIndex = indexOfFirstInstructionOrThrow {
|
||||||
* @param from The fingerprint to navigate the method on.
|
opcode == Opcode.INVOKE_STATIC &&
|
||||||
* @return The [MutableMethod] which was navigated on.
|
getReference<MethodReference>()?.returnType == "Z"
|
||||||
*/
|
}
|
||||||
fun BytecodePatchContext.walkMutable(index: Int, from: Fingerprint) =
|
navigate(this).to(invokeStaticIndex).stop()
|
||||||
navigate(from.originalMethod).to(index).stop()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Injects instructions required for certain methods.
|
|
||||||
*/
|
|
||||||
fun MutableMethod.injectSearchBarHook() {
|
|
||||||
val insertIndex = implementation!!.instructions.size - 1
|
|
||||||
val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
|
|
||||||
|
|
||||||
addInstructions(
|
|
||||||
insertIndex,
|
|
||||||
"""
|
|
||||||
invoke-static {v$insertRegister}, $EXTENSION_CLASS_DESCRIPTOR->enableWideSearchbar(Z)Z
|
|
||||||
move-result v$insertRegister
|
|
||||||
""",
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mapOf(
|
shouldShowLogoMethod.apply {
|
||||||
setWordmarkHeaderFingerprint to 1,
|
findInstructionIndicesReversedOrThrow(Opcode.RETURN).forEach { index ->
|
||||||
createSearchSuggestionsFingerprint to createSearchSuggestionsFingerprint.patternMatch!!.startIndex,
|
val register = getInstruction<OneRegisterInstruction>(index).registerA
|
||||||
).forEach { (fingerprint, callIndex) ->
|
|
||||||
walkMutable(callIndex, fingerprint).injectSearchBarHook()
|
addInstructionsAtControlFlowLabel(
|
||||||
|
index,
|
||||||
|
"""
|
||||||
|
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->enableWideSearchbar(Z)Z
|
||||||
|
move-result v$register
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix missing left padding when using wide searchbar.
|
||||||
|
wideSearchbarLayoutFingerprint.method.apply {
|
||||||
|
findInstructionIndicesReversedOrThrow {
|
||||||
|
val reference = getReference<MethodReference>()
|
||||||
|
reference?.definingClass == "Landroid/view/LayoutInflater;"
|
||||||
|
&& reference.name == "inflate"
|
||||||
|
}.forEach { inflateIndex ->
|
||||||
|
val register = getInstruction<OneRegisterInstruction>(inflateIndex + 1).registerA
|
||||||
|
|
||||||
|
addInstruction(
|
||||||
|
inflateIndex + 2,
|
||||||
|
"invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setActionBar(Landroid/view/View;)V"
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
package app.revanced.patches.youtube.layout.shortsautoplay
|
package app.revanced.patches.youtube.layout.shortsautoplay
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint
|
import app.revanced.patcher.fingerprint
|
||||||
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstruction
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
import com.android.tools.smali.dexlib2.iface.Method
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
|
||||||
internal val reelEnumConstructorFingerprint = fingerprint {
|
internal val reelEnumConstructorFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
||||||
@ -20,3 +25,27 @@ internal val reelPlaybackRepeatFingerprint = fingerprint {
|
|||||||
parameters("L")
|
parameters("L")
|
||||||
strings("YoutubePlayerState is in throwing an Error.")
|
strings("YoutubePlayerState is in throwing an Error.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val reelPlaybackFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
returns("V")
|
||||||
|
parameters("J")
|
||||||
|
custom { method, _ ->
|
||||||
|
indexOfMilliSecondsInstruction(method) >= 0 &&
|
||||||
|
indexOfInitializationInstruction(method) >= 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun indexOfMilliSecondsInstruction(method: Method) =
|
||||||
|
method.indexOfFirstInstruction {
|
||||||
|
getReference<FieldReference>()?.name == "MILLISECONDS"
|
||||||
|
}
|
||||||
|
|
||||||
|
internal fun indexOfInitializationInstruction(method: Method) =
|
||||||
|
method.indexOfFirstInstruction {
|
||||||
|
val reference = getReference<MethodReference>()
|
||||||
|
opcode == Opcode.INVOKE_DIRECT &&
|
||||||
|
reference?.name == "<init>" &&
|
||||||
|
reference.parameterTypes.size == 3 &&
|
||||||
|
reference.parameterTypes.firstOrNull() == "I"
|
||||||
|
}
|
||||||
|
@ -2,21 +2,32 @@ package app.revanced.patches.youtube.layout.shortsautoplay
|
|||||||
|
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||||
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||||
import app.revanced.patcher.patch.bytecodePatch
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
|
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable
|
||||||
import app.revanced.patches.all.misc.resources.addResources
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
|
||||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
import app.revanced.patches.youtube.misc.playservice.is_19_34_or_greater
|
import app.revanced.patches.youtube.misc.playservice.is_19_34_or_greater
|
||||||
|
import app.revanced.patches.youtube.misc.playservice.is_20_09_or_greater
|
||||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||||
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
|
import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint
|
||||||
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
import app.revanced.util.findInstructionIndicesReversedOrThrow
|
||||||
import app.revanced.util.getReference
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
||||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
|
||||||
|
import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter
|
||||||
|
|
||||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ShortsAutoplayPatch;"
|
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ShortsAutoplayPatch;"
|
||||||
|
|
||||||
@ -98,5 +109,84 @@ val shortsAutoplayPatch = bytecodePatch(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// As of YouTube 20.09, Google has removed the code for 'Autoplay' and 'Pause' from this method.
|
||||||
|
// Manually restore the removed 'Autoplay' code.
|
||||||
|
if (is_20_09_or_greater) {
|
||||||
|
// Variable names are only a rough guess of what these methods do.
|
||||||
|
val userActionMethodIndex = indexOfInitializationInstruction(reelPlaybackFingerprint.method)
|
||||||
|
val userActionMethodReference = reelPlaybackFingerprint.method
|
||||||
|
.getInstruction<ReferenceInstruction>(userActionMethodIndex).reference as MethodReference
|
||||||
|
val reelSequenceControllerMethodIndex = reelPlaybackFingerprint.method
|
||||||
|
.indexOfFirstInstructionOrThrow(userActionMethodIndex, Opcode.INVOKE_VIRTUAL)
|
||||||
|
val reelSequenceControllerMethodReference = reelPlaybackFingerprint.method
|
||||||
|
.getInstruction<ReferenceInstruction>(reelSequenceControllerMethodIndex).reference as MethodReference
|
||||||
|
|
||||||
|
reelPlaybackRepeatFingerprint.method.apply {
|
||||||
|
// Find the first call modified by extension code above.
|
||||||
|
val extensionReturnResultIndex = indexOfFirstInstructionOrThrow {
|
||||||
|
opcode == Opcode.INVOKE_STATIC &&
|
||||||
|
getReference<MethodReference>()?.definingClass == EXTENSION_CLASS_DESCRIPTOR
|
||||||
|
} + 1
|
||||||
|
val enumRegister = getInstruction<OneRegisterInstruction>(extensionReturnResultIndex).registerA
|
||||||
|
val getReelSequenceControllerIndex = indexOfFirstInstructionOrThrow(extensionReturnResultIndex) {
|
||||||
|
val reference = getReference<FieldReference>()
|
||||||
|
opcode == Opcode.IGET_OBJECT &&
|
||||||
|
reference?.definingClass == definingClass &&
|
||||||
|
reference.type == reelSequenceControllerMethodReference.definingClass
|
||||||
|
}
|
||||||
|
val getReelSequenceControllerReference =
|
||||||
|
getInstruction<ReferenceInstruction>(getReelSequenceControllerIndex).reference
|
||||||
|
|
||||||
|
// Add a helper method to avoid finding multiple free registers.
|
||||||
|
// If enum is autoplay then method performs autoplay and returns null,
|
||||||
|
// otherwise returns the same enum.
|
||||||
|
val helperClass = definingClass
|
||||||
|
val helperName = "patch_handleAutoPlay"
|
||||||
|
val helperReturnType = "Ljava/lang/Enum;"
|
||||||
|
val helperMethod = ImmutableMethod(
|
||||||
|
helperClass,
|
||||||
|
helperName,
|
||||||
|
listOf(ImmutableMethodParameter("Ljava/lang/Enum;", null, null)),
|
||||||
|
helperReturnType,
|
||||||
|
AccessFlags.PRIVATE.value,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
MutableMethodImplementation(7),
|
||||||
|
).toMutable().apply {
|
||||||
|
addInstructionsWithLabels(
|
||||||
|
0,
|
||||||
|
"""
|
||||||
|
invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->isAutoPlay(Ljava/lang/Enum;)Z
|
||||||
|
move-result v0
|
||||||
|
if-eqz v0, :ignore
|
||||||
|
new-instance v0, ${userActionMethodReference.definingClass}
|
||||||
|
const/4 v1, 0x3
|
||||||
|
const/4 v2, 0x0
|
||||||
|
invoke-direct { v0, v1, v2, v2 }, $userActionMethodReference
|
||||||
|
iget-object v3, p0, $getReelSequenceControllerReference
|
||||||
|
invoke-virtual { v3, v0 }, $reelSequenceControllerMethodReference
|
||||||
|
const/4 v4, 0x0
|
||||||
|
return-object v4
|
||||||
|
:ignore
|
||||||
|
return-object p1
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
}
|
||||||
|
reelPlaybackRepeatFingerprint.classDef.methods.add(helperMethod)
|
||||||
|
|
||||||
|
addInstructionsWithLabels(
|
||||||
|
extensionReturnResultIndex + 1,
|
||||||
|
"""
|
||||||
|
invoke-direct { p0, v$enumRegister }, $helperClass->$helperName(Ljava/lang/Enum;)$helperReturnType
|
||||||
|
move-result-object v$enumRegister
|
||||||
|
if-nez v$enumRegister, :ignore
|
||||||
|
return-void # Autoplay was performed.
|
||||||
|
:ignore
|
||||||
|
nop
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ val spoofAppVersionPatch = bytecodePatch(
|
|||||||
|
|
||||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||||
// Group the switch and list preference together, since General menu is sorted by name
|
// Group the switch and list preference together, since General menu is sorted by name
|
||||||
// and the preferences can be scattered apart with non English langauges.
|
// and the preferences can be scattered apart with non English languages.
|
||||||
PreferenceCategory(
|
PreferenceCategory(
|
||||||
titleKey = null,
|
titleKey = null,
|
||||||
sorting = Sorting.UNSORTED,
|
sorting = Sorting.UNSORTED,
|
||||||
@ -122,16 +122,17 @@ val spoofAppVersionPatch = bytecodePatch(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
val insertIndex = spoofAppVersionFingerprint.patternMatch!!.startIndex + 1
|
spoofAppVersionFingerprint.apply {
|
||||||
val buildOverrideNameRegister =
|
val startIndex = patternMatch!!.startIndex
|
||||||
spoofAppVersionFingerprint.method.getInstruction<OneRegisterInstruction>(insertIndex - 1).registerA
|
val buildOverrideNameRegister = method.getInstruction<OneRegisterInstruction>(startIndex).registerA
|
||||||
|
|
||||||
spoofAppVersionFingerprint.method.addInstructions(
|
method.addInstructions(
|
||||||
insertIndex,
|
startIndex + 1,
|
||||||
"""
|
"""
|
||||||
invoke-static {v$buildOverrideNameRegister}, $EXTENSION_CLASS_DESCRIPTOR->getYouTubeVersionOverride(Ljava/lang/String;)Ljava/lang/String;
|
invoke-static {v$buildOverrideNameRegister}, $EXTENSION_CLASS_DESCRIPTOR->getYouTubeVersionOverride(Ljava/lang/String;)Ljava/lang/String;
|
||||||
move-result-object v$buildOverrideNameRegister
|
move-result-object v$buildOverrideNameRegister
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,9 @@ import app.revanced.patcher.patch.bytecodePatch
|
|||||||
import app.revanced.patches.all.misc.resources.addResources
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
import app.revanced.patches.shared.misc.settings.preference.ListPreference
|
import app.revanced.patches.shared.misc.settings.preference.ListPreference
|
||||||
|
import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory
|
||||||
|
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
|
||||||
|
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||||
@ -43,10 +46,18 @@ val changeStartPagePatch = bytecodePatch(
|
|||||||
addResources("youtube", "layout.startpage.changeStartPagePatch")
|
addResources("youtube", "layout.startpage.changeStartPagePatch")
|
||||||
|
|
||||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||||
|
PreferenceCategory(
|
||||||
|
titleKey = null,
|
||||||
|
sorting = Sorting.UNSORTED,
|
||||||
|
tag = "app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory",
|
||||||
|
preferences = setOf(
|
||||||
ListPreference(
|
ListPreference(
|
||||||
key = "revanced_change_start_page",
|
key = "revanced_change_start_page",
|
||||||
summaryKey = null,
|
summaryKey = null,
|
||||||
),
|
),
|
||||||
|
SwitchPreference("revanced_change_start_page_always")
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
// Hook browseId.
|
// Hook browseId.
|
||||||
|
@ -0,0 +1,83 @@
|
|||||||
|
package app.revanced.patches.youtube.misc.gms
|
||||||
|
|
||||||
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||||
|
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||||
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
|
import app.revanced.patcher.patch.resourcePatch
|
||||||
|
import app.revanced.patches.all.misc.resources.addResources
|
||||||
|
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||||
|
import app.revanced.patches.shared.misc.mapping.get
|
||||||
|
import app.revanced.patches.shared.misc.mapping.resourceMappings
|
||||||
|
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||||
|
import app.revanced.util.getReference
|
||||||
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
|
||||||
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||||
|
|
||||||
|
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||||
|
"Lapp/revanced/extension/youtube/patches/AccountCredentialsInvalidTextPatch;"
|
||||||
|
|
||||||
|
internal var ic_offline_no_content_upside_down = -1L
|
||||||
|
private set
|
||||||
|
internal var offline_no_content_body_text_not_offline_eligible = -1L
|
||||||
|
private set
|
||||||
|
|
||||||
|
private val accountCredentialsInvalidTextResourcePatch = resourcePatch {
|
||||||
|
execute {
|
||||||
|
ic_offline_no_content_upside_down = resourceMappings[
|
||||||
|
"drawable",
|
||||||
|
"ic_offline_no_content_upside_down"
|
||||||
|
]
|
||||||
|
|
||||||
|
offline_no_content_body_text_not_offline_eligible = resourceMappings[
|
||||||
|
"string",
|
||||||
|
"offline_no_content_body_text_not_offline_eligible"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal val accountCredentialsInvalidTextPatch = bytecodePatch {
|
||||||
|
dependsOn(
|
||||||
|
sharedExtensionPatch,
|
||||||
|
accountCredentialsInvalidTextResourcePatch,
|
||||||
|
addResourcesPatch
|
||||||
|
)
|
||||||
|
|
||||||
|
execute {
|
||||||
|
addResources("youtube", "misc.gms.accountCredentialsInvalidTextPatch")
|
||||||
|
|
||||||
|
// If the user recently changed their account password,
|
||||||
|
// the app can show "You're offline. Check your internet connection."
|
||||||
|
// even when the internet is available. For this situation
|
||||||
|
// YouTube + MicroG shows an offline error message.
|
||||||
|
//
|
||||||
|
// Change the error text to inform the user to uninstall and reinstall MicroG.
|
||||||
|
// The user can also fix this by deleting the MicroG account but
|
||||||
|
// MicroG accounts look almost identical to Google device accounts
|
||||||
|
// and it's more foolproof to instead uninstall/reinstall.
|
||||||
|
arrayOf(
|
||||||
|
specificNetworkErrorViewControllerFingerprint,
|
||||||
|
loadingFrameLayoutControllerFingerprint
|
||||||
|
).forEach { fingerprint ->
|
||||||
|
fingerprint.method.apply {
|
||||||
|
val resourceIndex = indexOfFirstLiteralInstructionOrThrow(
|
||||||
|
offline_no_content_body_text_not_offline_eligible
|
||||||
|
)
|
||||||
|
val getStringIndex = indexOfFirstInstructionOrThrow(resourceIndex) {
|
||||||
|
val reference = getReference<MethodReference>()
|
||||||
|
reference?.name == "getString"
|
||||||
|
}
|
||||||
|
val register = getInstruction<OneRegisterInstruction>(getStringIndex + 1).registerA
|
||||||
|
|
||||||
|
addInstructions(
|
||||||
|
getStringIndex + 2,
|
||||||
|
"""
|
||||||
|
invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getOfflineNetworkErrorString(Ljava/lang/String;)Ljava/lang/String;
|
||||||
|
move-result-object v$register
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package app.revanced.patches.youtube.misc.gms
|
||||||
|
|
||||||
|
import app.revanced.patcher.fingerprint
|
||||||
|
import app.revanced.util.containsLiteralInstruction
|
||||||
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
|
||||||
|
internal val specificNetworkErrorViewControllerFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
returns("V")
|
||||||
|
parameters()
|
||||||
|
custom { method, _ ->
|
||||||
|
method.containsLiteralInstruction(ic_offline_no_content_upside_down)
|
||||||
|
&& method.containsLiteralInstruction(offline_no_content_body_text_not_offline_eligible)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// It's not clear if this second class is ever used and it may be dead code,
|
||||||
|
// but it the layout image/text is identical to the network error fingerprint above.
|
||||||
|
internal val loadingFrameLayoutControllerFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
returns("V")
|
||||||
|
parameters("L")
|
||||||
|
custom { method, _ ->
|
||||||
|
method.containsLiteralInstruction(ic_offline_no_content_upside_down)
|
||||||
|
&& method.containsLiteralInstruction(offline_no_content_body_text_not_offline_eligible)
|
||||||
|
}
|
||||||
|
}
|
@ -68,5 +68,5 @@ private fun gmsCoreSupportResourcePatch(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
dependsOn(settingsPatch, addResourcesPatch)
|
dependsOn(settingsPatch, addResourcesPatch, accountCredentialsInvalidTextPatch)
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -459,29 +459,38 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">تمكين إيماءة السطوع التلقائي</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">تمكين إيماءة السطوع التلقائي</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">التمرير لأسفل إلى أدنى قيمة للسطوع يمكّن السطوع التلقائي</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">التمرير لأسفل إلى أدنى قيمة للسطوع يمكّن السطوع التلقائي</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">لا يؤدي التمرير لأسفل إلى أدنى قيمة إلى تمكين السطوع التلقائي</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">لا يؤدي التمرير لأسفل إلى أدنى قيمة إلى تمكين السطوع التلقائي</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">تلقائي</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">مهلة واجهة التمرير</string>
|
<string name="revanced_swipe_overlay_timeout_title">مهلة واجهة التمرير</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">مقدار الوقت الذي تظهر فيه واجهة التمرير بعد التغيير بجزء الثانية</string>
|
<string name="revanced_swipe_overlay_timeout_summary">مقدار الوقت الذي تظهر فيه واجهة التمرير بعد التغيير بجزء الثانية</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">تعتيم خلفية واجهة التمرير السريع</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">تعتيم خلفية واجهة التمرير السريع</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">قيمة التعتيم بين 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">قيمة التعتيم بين 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">يجب أن يكون تعتيم التمرير السريع بين 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">يجب أن يكون تعتيم التمرير السريع بين 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">لون شريط تقدم واجهة التمرير</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">لون شريط التقدم لعناصر التحكم في مستوى الصوت والسطوع</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">لون شريط التقدم غير صالح</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">حجم نص واجهة التمرير</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">حجم النص لواجهة التمرير بين 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">يجب أن يكون حجم النص بين 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">مقدار حد التمرير</string>
|
<string name="revanced_swipe_threshold_title">مقدار حد التمرير</string>
|
||||||
<string name="revanced_swipe_threshold_summary">الحد الأدنى من التمرير قبل اكتشاف الإيماءة</string>
|
<string name="revanced_swipe_threshold_summary">الحد الأدنى من التمرير قبل اكتشاف الإيماءة</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">حساسية إيماءة تمرير مستوى الصوت</string>
|
<string name="revanced_swipe_volume_sensitivity_title">حساسية إيماءة تمرير مستوى الصوت</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">مقدار تغير مستوى الصوت لكل تمريرة</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">مقدار تغير مستوى الصوت لكل تمريرة</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">عرض الواجهة الدائرية</string>
|
<string name="revanced_swipe_overlay_style_title">نمط واجهة التمرير</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">يتم عرض التراكب الدائري</string>
|
<string name="revanced_swipe_overlay_style_entry_1">واجهة أفقية</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">يتم عرض التراكب الأفقي</string>
|
<string name="revanced_swipe_overlay_style_entry_2">واجهة أفقية (الأدنى - الأعلى)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">تمكين النمط الأدنى</string>
|
<string name="revanced_swipe_overlay_style_entry_3">واجهة أفقية (الأدنى - المنتصف)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">تم تمكين النمط الواجهة الأدنى</string>
|
<string name="revanced_swipe_overlay_style_entry_4">واجهة دائرية</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">تم تعطيل نمط الواجهة الأدنى</string>
|
<string name="revanced_swipe_overlay_style_entry_5">واجهة دائرية (الأدنى)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">واجهة عمودية</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">واجهة عمودية (الأدنى)</string>
|
||||||
<string name="revanced_swipe_change_video_title">تمكين إيماءة التمرير لتغيير الفيديو</string>
|
<string name="revanced_swipe_change_video_title">تمكين إيماءة التمرير لتغيير الفيديو</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">سيؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق</string>
|
<string name="revanced_swipe_change_video_summary_on">سيؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">لن يؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق</string>
|
<string name="revanced_swipe_change_video_summary_off">لن يؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">تعطيل التَّرْجَمَة التلقائية</string>
|
<string name="revanced_disable_auto_captions_title">تعطيل الترجمة التلقائية</string>
|
||||||
<string name="revanced_auto_captions_summary_on">تم تعطيل التَّرْجَمَة التلقائية</string>
|
<string name="revanced_disable_auto_captions_summary_on">تم تعطيل الترجمة التلقائية</string>
|
||||||
<string name="revanced_auto_captions_summary_off">تم تمكين التَّرْجَمَة التلقائية</string>
|
<string name="revanced_disable_auto_captions_summary_off">تم تمكين الترجمة التلقائية</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">أزرار الإجراء</string>
|
<string name="revanced_hide_buttons_screen_title">أزرار الإجراء</string>
|
||||||
@ -513,6 +522,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">إخفاء شكرًا</string>
|
<string name="revanced_hide_thanks_button_title">إخفاء شكرًا</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">تم إخفاء زر شكرًا</string>
|
<string name="revanced_hide_thanks_button_summary_on">تم إخفاء زر شكرًا</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">يتم عرض زر شكرًا</string>
|
<string name="revanced_hide_thanks_button_summary_off">يتم عرض زر شكرًا</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">إخفاء \"Ask\"</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">تم إخفاء زر \"Ask\"</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">يتم عرض زر \"Ask\"</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">إخفاء المقطع</string>
|
<string name="revanced_hide_clip_button_title">إخفاء المقطع</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">تم إخفاء زر إنشاء مقطع</string>
|
<string name="revanced_hide_clip_button_summary_on">تم إخفاء زر إنشاء مقطع</string>
|
||||||
@ -832,8 +846,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">زر أعجبني مصمم لأدنى عرض</string>
|
<string name="revanced_ryd_compact_layout_summary_on">زر أعجبني مصمم لأدنى عرض</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">زر أعجبني مصمم لأفضل مظهر</string>
|
<string name="revanced_ryd_compact_layout_summary_off">زر أعجبني مصمم لأفضل مظهر</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">عرض الإعجابات المقدرة</string>
|
<string name="revanced_ryd_estimated_like_title">عرض الإعجابات المقدرة</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">يتم عرض الإعجابات المقدرة</string>
|
<string name="revanced_ryd_estimated_like_summary_on">يتم عرض عدد تقديري للإعجابات في مقاطع الفيديو التي تم تعطيل الإعجابات فيها</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">تم إخفاء الإعجابات المقدرة</string>
|
<string name="revanced_ryd_estimated_like_summary_off">لا يتم عرض عدد الإعجابات المقدرة</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">عرض ملاحظة إذا كان API غير متاح</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">عرض ملاحظة إذا كان API غير متاح</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike</string>
|
||||||
@ -1107,7 +1121,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - استعادة أيقونات التنقل القديمة</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - استعادة أيقونات التنقل القديمة</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">تعيين صفحة البداية</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_default">الافتراضي</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">كلّ الاشتراكات</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>
|
||||||
@ -1132,6 +1146,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">الواقع الافتراضي</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">الواقع الافتراضي</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">شاهد لاحقًا</string>
|
<string name="revanced_change_start_page_entry_watch_later">شاهد لاحقًا</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">فيديوهاتك</string>
|
<string name="revanced_change_start_page_entry_your_clips">فيديوهاتك</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">تغيير صفحة البداية دائمًا</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"يتم تغيير صفحة البداية دائمًا
|
||||||
|
|
||||||
|
القيد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">يتم تغيير صفحة البداية فقط عند بدء تشغيل التطبيق</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">تعطيل استئناف مشغل Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">تعطيل استئناف مشغل Shorts</string>
|
||||||
@ -1292,6 +1311,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="microg_settings_title">إعدادات GmsCore</string>
|
<string name="microg_settings_title">إعدادات GmsCore</string>
|
||||||
<string name="microg_settings_summary">إعدادات لـ GmsCore</string>
|
<string name="microg_settings_summary">إعدادات لـ GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فأزل تثبيت MicroG ثم أعد تثبيته.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">تجاوز إعادة توجيه URL</string>
|
<string name="revanced_bypass_url_redirects_title">تجاوز إعادة توجيه URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">تم تجاوز إعادة توجيه عنوان URL</string>
|
<string name="revanced_bypass_url_redirects_summary_on">تم تجاوز إعادة توجيه عنوان URL</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -197,6 +199,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -136,7 +136,7 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."</string>
|
|||||||
• Son xəbərlər
|
• Son xəbərlər
|
||||||
• İzləməyə davam et
|
• İzləməyə davam et
|
||||||
• Daha çox kanallar kəşf et
|
• Daha çox kanallar kəşf et
|
||||||
• Alış-veriş
|
• Mağaza
|
||||||
• Təkrar izlə"</string>
|
• Təkrar izlə"</string>
|
||||||
<string name="revanced_hide_horizontal_shelves_summary_off">Hissələr göstərilir</string>
|
<string name="revanced_hide_horizontal_shelves_summary_off">Hissələr göstərilir</string>
|
||||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||||
@ -355,7 +355,7 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
|||||||
<string name="revanced_hide_buttoned_ads_title">Düyməli reklamları gizlət</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_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_buttoned_ads_summary_off">Düyməli reklamlar göstərilir</string>
|
||||||
<string name="revanced_hide_paid_promotion_label_title">Ödənişli reklam etiketini gizlət</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_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>
|
<string name="revanced_hide_paid_promotion_label_summary_off">Ödənişli reklam etiketi göstərilir</string>
|
||||||
<string name="revanced_hide_self_sponsor_ads_title">Öz-sponsorlu kartları gizlət</string>
|
<string name="revanced_hide_self_sponsor_ads_title">Öz-sponsorlu kartları gizlət</string>
|
||||||
@ -367,14 +367,14 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur"</string>
|
|||||||
<string name="revanced_hide_end_screen_store_banner_title">Son ekran mağaza etiketini gizlət</string>
|
<string name="revanced_hide_end_screen_store_banner_title">Son ekran mağaza etiketini gizlət</string>
|
||||||
<string name="revanced_hide_end_screen_store_banner_summary_on">Mağaza etiketi gizlidir</string>
|
<string name="revanced_hide_end_screen_store_banner_summary_on">Mağaza etiketi gizlidir</string>
|
||||||
<string name="revanced_hide_end_screen_store_banner_summary_off">Mağaza etiketi görünür</string>
|
<string name="revanced_hide_end_screen_store_banner_summary_off">Mağaza etiketi görünür</string>
|
||||||
<string name="revanced_hide_player_store_shelf_title">Oynadıcı alış-veriş bölməsin gizlət</string>
|
<string name="revanced_hide_player_store_shelf_title">Oynadıcı mağaza bölməsin gizlət</string>
|
||||||
<string name="revanced_hide_player_store_shelf_summary_on">Alış-veriş rəfi gizlidir</string>
|
<string name="revanced_hide_player_store_shelf_summary_on">Alış-veriş rəfi gizlidir</string>
|
||||||
<string name="revanced_hide_player_store_shelf_summary_off">Alış-veriş rəfi göstərilir</string>
|
<string name="revanced_hide_player_store_shelf_summary_off">Alış-veriş rəfi göstərilir</string>
|
||||||
<string name="revanced_hide_shopping_links_title">Video açıqlamada alış-veriş linklərin gizlə</string>
|
<string name="revanced_hide_shopping_links_title">Video təsvirdə mağaza linklərin gizlə</string>
|
||||||
<string name="revanced_hide_shopping_links_summary_on">Video təsvirində alış-veriş linkləri gizlədilib</string>
|
<string name="revanced_hide_shopping_links_summary_on">Video təsvirində alış-veriş linkləri gizlədilib</string>
|
||||||
<string name="revanced_hide_shopping_links_summary_off">Video təsvirində alış-veriş linkləri görünür</string>
|
<string name="revanced_hide_shopping_links_summary_off">Video təsvirində alış-veriş linkləri görünür</string>
|
||||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya ziyarət\" düyməsin gizlə</string>
|
<string name="revanced_hide_visit_store_button_title">Kanalda \"Mağazaya baxın\" düyməsin gizlə</string>
|
||||||
<string name="revanced_hide_visit_store_button_summary_on">Kanal səhifəsindəki düymə gizlidir</string>
|
<string name="revanced_hide_visit_store_button_summary_on">Kanal səhifəsindəki düymə gizlidir</string>
|
||||||
<string name="revanced_hide_visit_store_button_summary_off">Kanal səhifəsindəki düymə görünür</string>
|
<string name="revanced_hide_visit_store_button_summary_off">Kanal səhifəsindəki düymə görünür</string>
|
||||||
<string name="revanced_hide_web_search_results_title">Veb axtarış nəticələrini gizlət</string>
|
<string name="revanced_hide_web_search_results_title">Veb axtarış nəticələrini gizlət</string>
|
||||||
@ -459,27 +459,38 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Avto-parlaqlıq jestini aktivləşdir</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Avto-parlaqlıq jestini aktivləşdir</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Parlaqlıq ən aşağı dəyərinə sürüşdürüləndə avto-parlaqlıq aktivləşir</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Parlaqlıq ən aşağı dəyərinə sürüşdürüləndə avto-parlaqlıq aktivləşir</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Parlaqlığı ən aşağı dəyərə sürüşdürəndə avto-parlaqlıq aktivləşmir</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Parlaqlığı ən aşağı dəyərə sürüşdürəndə avto-parlaqlıq aktivləşmir</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Avtomatik</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Sürüşdürmə örtüyü müddəti</string>
|
<string name="revanced_swipe_overlay_timeout_title">Sürüşdürmə örtüyü müddəti</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Örtüyün göründüyü millisaniyələrin sayı</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Örtüyün göründüyü millisaniyələrin sayı</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Sürüşdürmə cildi arxa plan qeyri-şəffaflığı</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Sürüşdürmə cildi arxa plan qeyri-şəffaflığı</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 arası qeyri-şəffaflıq dəyəri</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 arası qeyri-şəffaflıq dəyəri</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Sürüşmə qeyri-şəffaflığı 0-100 arası olmalıdır</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Sürüşmə qeyri-şəffaflığı 0-100 arası olmalıdır</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Sürüşdürmə örtüyü irəliləyiş cizgisi rəngi</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Səs səviyyəsinə və parlaqlığa nəzarət üçün irəliləyiş cizgisi rəngi</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Yanlış irəliləyiş cizgisi rəngi</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Sürüşdürmə örtüyü mətn ölçüsü</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Sürüşmə üçün mətn ölçüsü 1-30 arasındadır</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Mətn ölçüsü 1-30 arası olmalıdır</string>
|
||||||
<string name="revanced_swipe_threshold_title">Sürüşdürmə böyüklük həddi</string>
|
<string name="revanced_swipe_threshold_title">Sürüşdürmə böyüklük həddi</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Sürüşdürmənin icra edilməsi üçün son dəyər</string>
|
<string name="revanced_swipe_threshold_summary">Sürüşdürmənin icra edilməsi üçün son dəyər</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Dairəvi örtüyü göstər</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Səs səviyyəsin sürüşdürmə təzyiqi</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Dairəvi örtük göstərilir</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Hər sürüşdürmədə səs səviyyəsi nə qədər dəyişir</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Düzünə örtük göstərilir</string>
|
<string name="revanced_swipe_overlay_style_title">Sürüşmə örtüyü üslubu</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Ən kiçik üslubu aktivləşdir</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Üfüqi örtük</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Ən kiçik örtük üslubu aktivləşdirilib</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Üfüqi örtük (ən kiçik- yüksək)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Ən kiçik örtük üslubu qapalıdır</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Üfüqi örtük (ən kiçik - mərkəz)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_4">Dairəvi örtük</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_5">Dairəvi örtük (ən kiçik)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Şaquli örtük</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Şaquli örtük (ən kiçik)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Videoları ötürmək üçün sürüşdürməni aktiv et</string>
|
<string name="revanced_swipe_change_video_title">Videoları ötürmək üçün sürüşdürməni aktiv et</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürəcək</string>
|
<string name="revanced_swipe_change_video_summary_on">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürəcək</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürməyəcək</string>
|
<string name="revanced_swipe_change_video_summary_off">Tam ekran rejimində sürüşdürmə növbəti/əvvəlki videoya ötürməyəcək</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Avtomatik titrləri qeyri-aktiv et</string>
|
<string name="revanced_disable_auto_captions_title">Avtomatik titrləri qapat</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Avtomatik titrlər qeyri-aktivdir</string>
|
<string name="revanced_disable_auto_captions_summary_on">Avtomatik titrlər qapalıdır</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Avtomatik titrlər aktivdir</string>
|
<string name="revanced_disable_auto_captions_summary_off">Avtomatik titrlər aktivdir</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Fəaliyyət düymələri</string>
|
<string name="revanced_hide_buttons_screen_title">Fəaliyyət düymələri</string>
|
||||||
@ -511,6 +522,11 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
|
|||||||
<string name="revanced_hide_thanks_button_title">\"Təşəkkürlər\"i gizlət</string>
|
<string name="revanced_hide_thanks_button_title">\"Təşəkkürlər\"i gizlət</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>
|
<string name="revanced_hide_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Təşəkkür düyməsi göstərilir</string>
|
<string name="revanced_hide_thanks_button_summary_off">Təşəkkür düyməsi göstərilir</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Soruş\'u Gizlət</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Soruş düyməsi gizlidir</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">\"Soruş\" düyməsi göstərilir</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Kəsmə/ gizlət</string>
|
<string name="revanced_hide_clip_button_title">Kəsmə/ gizlət</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Kəsmə düyməsi gizlidir</string>
|
<string name="revanced_hide_clip_button_summary_on">Kəsmə düyməsi gizlidir</string>
|
||||||
@ -829,8 +845,8 @@ Məhdudiyyət: Bəyənməmələr gizli rejimdə görünməyə bilər"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Daha kiçik en üçün hazırlanmış Bəyən düyməsi</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Daha kiçik en üçün hazırlanmış Bəyən düyməsi</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Ən yaxşı görünüş üçün tərtib edilmiş Bəyən düyməsi</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Ən yaxşı görünüş üçün tərtib edilmiş Bəyən düyməsi</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Təxmini bəyənmələri göstər</string>
|
<string name="revanced_ryd_estimated_like_title">Təxmini bəyənmələri göstər</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Təxmini bəyənmələr göstərilir</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Bəyənmələri olmayan videolar təxmini bəyənmə sayını göstərir</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Təxmini bəyənmələr gizlədilir</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Təxmini bəyənmələr göstərilmir</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">API əlçatan deyilsə ani bildiriş göstər</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">API əlçatan deyilsə ani bildiriş göstər</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstər</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstər</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstərmə</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike əlçatan deyilsə ani bildiriş göstərmə</string>
|
||||||
@ -1104,7 +1120,7 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Köhnə fəaliyyət simvolların bərpa et</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Köhnə fəaliyyət simvolların bərpa et</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Başlanğıc səhifəsini təyin et</string>
|
<string name="revanced_change_start_page_title">Başlatma səhifəsini dəyişdir</string>
|
||||||
<string name="revanced_change_start_page_entry_default">İlkin</string>
|
<string name="revanced_change_start_page_entry_default">İlkin</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Bütün abunəliklər</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Bütün abunəliklər</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Kanallara nəzər yetir</string>
|
<string name="revanced_change_start_page_entry_browse">Kanallara nəzər yetir</string>
|
||||||
@ -1122,13 +1138,18 @@ Sonradan qapadılarsa, UI səhvlərin önləmək üçün tətbiq məlumatların
|
|||||||
<string name="revanced_change_start_page_entry_notifications">Bildirişlər</string>
|
<string name="revanced_change_start_page_entry_notifications">Bildirişlər</string>
|
||||||
<string name="revanced_change_start_page_entry_playlists">Pleylistlər</string>
|
<string name="revanced_change_start_page_entry_playlists">Pleylistlər</string>
|
||||||
<string name="revanced_change_start_page_entry_search">Axtarış</string>
|
<string name="revanced_change_start_page_entry_search">Axtarış</string>
|
||||||
<string name="revanced_change_start_page_entry_shopping">Alış-Veriş</string>
|
<string name="revanced_change_start_page_entry_shopping">Mağaza</string>
|
||||||
<string name="revanced_change_start_page_entry_sports">İdman</string>
|
<string name="revanced_change_start_page_entry_sports">İdman</string>
|
||||||
<string name="revanced_change_start_page_entry_subscriptions">Abunəliklər</string>
|
<string name="revanced_change_start_page_entry_subscriptions">Abunəliklər</string>
|
||||||
<string name="revanced_change_start_page_entry_trending">Trendlər</string>
|
<string name="revanced_change_start_page_entry_trending">Trendlər</string>
|
||||||
<string name="revanced_change_start_page_entry_virtual_reality">Faktiki Həyat</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Faktiki Həyat</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Sonra izlə</string>
|
<string name="revanced_change_start_page_entry_watch_later">Sonra izlə</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Klipləriniz</string>
|
<string name="revanced_change_start_page_entry_your_clips">Klipləriniz</string>
|
||||||
|
<string name="revanced_change_start_page_always_title"> Başlatma səhifəsini həmişə dəyişdir</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Başlatma səhifəsi həmişə dəyişdirilir
|
||||||
|
|
||||||
|
Məhdudiyyət: Alətlər cizgisindəki geri düyməsin istifadə işləməyə bilər"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Başlatma səhifəsi yalnız tətbiq işə salındıqda dəyişdirilir</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını qapat</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Shorts oynadıcı başladıcını qapat</string>
|
||||||
@ -1234,7 +1255,7 @@ Bunu aktivləşdirmə, bəzi regionlarda əngəllənib silinən şəkilləri dü
|
|||||||
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Orijinal miniatürlər</string>
|
<string name="revanced_alt_thumbnail_options_entry_2">DeArrow & Orijinal miniatürlər</string>
|
||||||
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow & Kadr çəkilişlər</string>
|
<string name="revanced_alt_thumbnail_options_entry_3">DeArrow & Kadr çəkilişlər</string>
|
||||||
<string name="revanced_alt_thumbnail_options_entry_4">Kadr çəkilişləri</string>
|
<string name="revanced_alt_thumbnail_options_entry_4">Kadr çəkilişləri</string>
|
||||||
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow YouTube videoları üçün izdiham mənbəli miniatürlər təqdim edir. Bu miniatürlər YouTube tərəfindən təqdim edilənlərdən dəfələrlə daha uyğundur.
|
<string name="revanced_alt_thumbnail_dearrow_about_summary">"DeArrow YouTube videoları üçün çox mənbəli miniatürlər təqdim edir. Bu miniatürlər YouTube tərəfindən təqdim edilənlərdən dəfələrlə daha uyğundur.
|
||||||
|
|
||||||
Aktivləşdirilərsə, video URL-lər API alıcısına göndəriləcək və başqa məlumat göndərilməyəcək. Videonun DeArrow miniatürləri yoxdursa, orijinal və ya hələ də çəkilişlər göstərilir.
|
Aktivləşdirilərsə, video URL-lər API alıcısına göndəriləcək və başqa məlumat göndərilməyəcək. Videonun DeArrow miniatürləri yoxdursa, orijinal və ya hələ də çəkilişlər göstərilir.
|
||||||
|
|
||||||
@ -1289,6 +1310,9 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər
|
|||||||
<string name="microg_settings_title">GmsCore Tənzimləmələri</string>
|
<string name="microg_settings_title">GmsCore Tənzimləmələri</string>
|
||||||
<string name="microg_settings_summary">GmsCore üçün Tənzimləmələr</string>
|
<string name="microg_settings_summary">GmsCore üçün Tənzimləmələr</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Bu yaxınlarda hesabınıza giriş məlumatlarınızı dəyişmisinizsə, MicroG-ni silin və təkrar quraşdırın.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">URL yönləndirmələrini ötür</string>
|
<string name="revanced_bypass_url_redirects_title">URL yönləndirmələrini ötür</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL yönləndirmələri ötürülür</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL yönləndirmələri ötürülür</string>
|
||||||
|
@ -459,29 +459,38 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Уключыць жэст аўтаматычнай яркасці</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Уключыць жэст аўтаматычнай яркасці</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Правядзіце пальцам уніз да самага нізкага значэння яркасці, каб уключыць аўтаматычную яркасць</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Правядзіце пальцам уніз да самага нізкага значэння яркасці, каб уключыць аўтаматычную яркасць</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Правядзенне пальцам уніз да самага нізкага значэння не ўключае аўтаматычную яркасць</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Правядзенне пальцам уніз да самага нізкага значэння не ўключае аўтаматычную яркасць</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Аўто</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Тайм-аўт накладання пальцам</string>
|
<string name="revanced_swipe_overlay_timeout_title">Тайм-аўт накладання пальцам</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Працягласць бачнага накладання ў мілісекундах</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Працягласць бачнага накладання ў мілісекундах</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Непразрыстасць фону накладкі пракруткі</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Непразрыстасць фону накладкі пракруткі</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Значэнне непразрыстасці паміж 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Значэнне непразрыстасці паміж 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непразрыстасць пракруткі павінна быць паміж 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непразрыстасць пракруткі павінна быць паміж 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Колер слупка прагрэсу накладкі правядзення</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Колер слупка прагрэсу для рэгулявання гучнасці і яркасці</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Несапраўдны колер слупка прагрэсу</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Памер тэксту накладкі правядзення</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Памер тэксту для накладкі правядзення ад 1 да 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Памер тэксту павінен быць у межах ад 1 да 30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Парог велічыні пальцам</string>
|
<string name="revanced_swipe_threshold_title">Парог велічыні пальцам</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Велічыня парогавага значэння для правядзення пальцам</string>
|
<string name="revanced_swipe_threshold_summary">Велічыня парогавага значэння для правядзення пальцам</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Адчувальнасць правядзення для гучнасці</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Адчувальнасць правядзення для гучнасці</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Наколькі змяняецца гучнасць пры кожным правядзенні</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Наколькі змяняецца гучнасць пры кожным правядзенні</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Паказваць кругавое накладанне</string>
|
<string name="revanced_swipe_overlay_style_title">Стыль накладкі правядзення</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Кругавое накладанне паказваецца</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Гарызантальная накладка</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Гарызантальнае накладанне паказваецца</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Гарызантальная накладка (мінімальная — зверху)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Уключыць мінімальны стыль</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Гарызантальная накладка (мінімальная — па цэнтры)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Уключаны мінімальны стыль накладання</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Кругавая накладка</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Мінімальны стыль накладання выключаны</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Кругавая накладка (мінімальная)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Вертыкальная накладка</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Вертыкальная накладка (мінімальная)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Уключыць зьмену відэа праз правядзенне пальцам</string>
|
<string name="revanced_swipe_change_video_title">Уключыць зьмену відэа праз правядзенне пальцам</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Правядзенне пальцам у рэжыме поўнага экрана зьменіць відэа на наступнае/папярэдняе</string>
|
<string name="revanced_swipe_change_video_summary_on">Правядзенне пальцам у рэжыме поўнага экрана зьменіць відэа на наступнае/папярэдняе</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Правядзенне пальцам у рэжыме поўнага экрана не зьменіць відэа на наступнае/папярэдняе</string>
|
<string name="revanced_swipe_change_video_summary_off">Правядзенне пальцам у рэжыме поўнага экрана не зьменіць відэа на наступнае/папярэдняе</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Адключыць аўтаматычныя цітры</string>
|
<string name="revanced_disable_auto_captions_title">Адключыць аўтаматычныя цітры</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Аўтаматычныя цітры адключаны</string>
|
<string name="revanced_disable_auto_captions_summary_on">Аўтаматычныя субцітры адключаны</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Аўтаматычныя цітры ўключаны</string>
|
<string name="revanced_disable_auto_captions_summary_off">Аўтаматычныя субцітры ўключаны</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Кнопкі дзеянняў</string>
|
<string name="revanced_hide_buttons_screen_title">Кнопкі дзеянняў</string>
|
||||||
@ -513,6 +522,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Схаваць Дзякуй</string>
|
<string name="revanced_hide_thanks_button_title">Схаваць Дзякуй</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Кнопка падзякі схавана</string>
|
<string name="revanced_hide_thanks_button_summary_on">Кнопка падзякі схавана</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Паказана кнопка падзякі</string>
|
<string name="revanced_hide_thanks_button_summary_off">Паказана кнопка падзякі</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Схаваць кнопку «Запытацца»</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Кнопка «Запытацца» схаваная</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Кнопка «Запытацца» паказаная</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Схаваць кліп</string>
|
<string name="revanced_hide_clip_button_title">Схаваць кліп</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Кнопка кліпа схавана</string>
|
<string name="revanced_hide_clip_button_summary_on">Кнопка кліпа схавана</string>
|
||||||
@ -832,8 +846,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Кнопка \"Падабаецца\" ў стылі мінімальнай шырыні</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Кнопка \"Падабаецца\" ў стылі мінімальнай шырыні</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Кнопка \"Падабаецца\", аформленая для лепшага выгляду</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Кнопка \"Падабаецца\", аформленая для лепшага выгляду</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Паказваць прыблізную колькасць падабаек</string>
|
<string name="revanced_ryd_estimated_like_title">Паказваць прыблізную колькасць падабаек</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Паказана прыблізная колькасць падабаек</string>
|
<string name="revanced_ryd_estimated_like_summary_on">У відэа з адключанымі лайкамі паказваецца прыблізная колькасць лайкаў</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Прыблізная колькасць падабаек схавана</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Прыблізныя лайкі не паказваюцца</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Паказаць тост, калі API недаступны</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Паказаць тост, калі API недаступны</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Тост паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Тост паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Тост не паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Тост не паказваецца, калі функцыя \"Вярнуць не падабаецца YouTube\" недаступная</string>
|
||||||
@ -1108,7 +1122,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Аднаўленне старых значкоў навігацыі</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Аднаўленне старых значкоў навігацыі</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Усталяваць стартавую старонку</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_default">Па змаўчанні</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Усе падпіскі</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>
|
||||||
@ -1133,6 +1147,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Віртуальная рэальнасць</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Віртуальная рэальнасць</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Посмотреть позже</string>
|
<string name="revanced_change_start_page_entry_watch_later">Посмотреть позже</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Вашыя кліпы</string>
|
<string name="revanced_change_start_page_entry_your_clips">Вашыя кліпы</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Заўсёды змяняць стартавую старонку</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Стартавая старонка заўсёды зменена
|
||||||
|
|
||||||
|
Абмежаванне: выкарыстанне кнопкі «Назад» на панэлі інструментаў можа не працаваць"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Стартавая старонка змяняецца толькі пры запуску праграмы</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Адключыць аднаўленне прайгравання Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Адключыць аднаўленне прайгравання Shorts</string>
|
||||||
@ -1293,6 +1312,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="microg_settings_title">Налады GmsCore</string>
|
<string name="microg_settings_title">Налады GmsCore</string>
|
||||||
<string name="microg_settings_summary">Налады для GmsCore</string>
|
<string name="microg_settings_summary">Налады для GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Калі вы нядаўна змянілі даныя для ўваходу ў свой уліковы запіс, выдаліце і пераўсталюйце MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Абыход URL-перанакіраванняў</string>
|
<string name="revanced_bypass_url_redirects_title">Абыход URL-перанакіраванняў</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Перанакіраванне URL абыходзіць</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Перанакіраванне URL абыходзіць</string>
|
||||||
|
@ -459,29 +459,38 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Задаване на яркост чрез плъзгане</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Задаване на яркост чрез плъзгане</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Плъзгането надолу до най-ниската стойност на жеста за яркост, за да се активира автоматичната яркост</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Плъзгането надолу до най-ниската стойност на жеста за яркост, за да се активира автоматичната яркост</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Плъзгането надолу до най-ниската стойност на жеста за яркост, без дасе активира автоматичната яркост</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Плъзгането надолу до най-ниската стойност на жеста за яркост, без дасе активира автоматичната яркост</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Авто</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Задръжка на плъзгащата контрола за показване</string>
|
<string name="revanced_swipe_overlay_timeout_title">Задръжка на плъзгащата контрола за показване</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Време за което плъзгащата контрола е видима.</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Време за което плъзгащата контрола е видима.</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Плъзгане на фона на наслагването непрозрачност</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Плъзгане на фона на наслагването непрозрачност</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Стойност на непрозрачността между 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Стойност на непрозрачността между 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непрозрачността на плъзгането трябва да е между 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Непрозрачността на плъзгането трябва да е между 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Цвят на лентата за напредък при плъзгане</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Цветът на лентата за напредък за контролите за сила на звука и яркост</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Невалиден цвят на лентата за напредък</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Размер на текста на наслагването при плъзгане</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Размерът на текста за наслагването при плъзгане между 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Размерът на текста трябва да е между 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Праг на величината на плъзгане</string>
|
<string name="revanced_swipe_threshold_title">Праг на величината на плъзгане</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Праг преди да се осъществи плъзгането</string>
|
<string name="revanced_swipe_threshold_summary">Праг преди да се осъществи плъзгането</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Чувствителност при плъзгане за сила на звука</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Чувствителност при плъзгане за сила на звука</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Колко се променя силата на звука при всяко плъзгане</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Колко се променя силата на звука при всяко плъзгане</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Показване на кръгъл овърлей</string>
|
<string name="revanced_swipe_overlay_style_title">Стил на наслагване при плъзгане</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Показва се кръгъл овърлей</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Хоризонтално наслагване</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Показва се хоризонтален овърлей</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Хоризонтално наслагване (минимално – отгоре)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Активиране на минимален стил</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Хоризонтално наслагване (минимално – център)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Минималният стил на наслагване е активиран</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Кръгово наслагване</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Минималният стил на овърлея е деактивиран</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Кръгово наслагване (минимално)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Вертикално наслагване</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Вертикално наслагване (минимално)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Включване на превключване на видеото чрез плъзване</string>
|
<string name="revanced_swipe_change_video_title">Включване на превключване на видеото чрез плъзване</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Плъзването в режим на цял екран ще превключи към следващото/предишно видео</string>
|
<string name="revanced_swipe_change_video_summary_on">Плъзването в режим на цял екран ще превключи към следващото/предишно видео</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Плъзването в режим на цял екран няма да превключи към следващото/предишно видео</string>
|
<string name="revanced_swipe_change_video_summary_off">Плъзването в режим на цял екран няма да превключи към следващото/предишно видео</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Автоматични Субтитри</string>
|
<string name="revanced_disable_auto_captions_title">Автоматични Субтитри</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Автоматичните Субтитри са деактивирани</string>
|
<string name="revanced_disable_auto_captions_summary_on">Автоматичните надписи са деактивирани</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Автоматичните Субтитри са активирани</string>
|
<string name="revanced_disable_auto_captions_summary_off">Автоматичните надписи са активирани</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Бутони за действия</string>
|
<string name="revanced_hide_buttons_screen_title">Бутони за действия</string>
|
||||||
@ -513,6 +522,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Бутон за благодарност</string>
|
<string name="revanced_hide_thanks_button_title">Бутон за благодарност</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Бутона за благодарност е скрит</string>
|
<string name="revanced_hide_thanks_button_summary_on">Бутона за благодарност е скрит</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Бутона за благодарност се показва</string>
|
<string name="revanced_hide_thanks_button_summary_off">Бутона за благодарност се показва</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Скриване на \"Попитай\"</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Бутонът \"Попитай\" е скрит</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Бутонът \"Попитай\" е показан</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Бутон за създаване на клип</string>
|
<string name="revanced_hide_clip_button_title">Бутон за създаване на клип</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Бутона за клип е скрит</string>
|
<string name="revanced_hide_clip_button_summary_on">Бутона за клип е скрит</string>
|
||||||
@ -832,8 +846,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Включен компактен бутон \"Харесва ми\"</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Включен компактен бутон \"Харесва ми\"</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Най-добър изглед на бутона за харесване</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Най-добър изглед на бутона за харесване</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Показване на прогнозни харесвания</string>
|
<string name="revanced_ryd_estimated_like_title">Показване на прогнозни харесвания</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Показват се прогнозни харесвания</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Видеата с деактивирани харесвания показват прогнозен брой харесвания</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Прогнозните харесвания са скрити</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Прогнозните харесвания не се показват</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Показване на известие, ако API не е наличен</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Показване на известие, ако API не е наличен</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Показва известие, ако Return YouTube Dislike не е наличен</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Показва известие, ако Return YouTube Dislike не е наличен</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Не се показва известие, ако ReturnYouTube Dislike не е наличен</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Не се показва известие, ако ReturnYouTube Dislike не е наличен</string>
|
||||||
@ -1107,7 +1121,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Възстановяване на стари икони за навигация</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Възстановяване на стари икони за навигация</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Задай начална страница</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_default">По подразбиране</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Всички абонаменти</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>
|
||||||
@ -1132,6 +1146,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Виртуална реалност</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Виртуална реалност</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Гледай по-късно</string>
|
<string name="revanced_change_start_page_entry_watch_later">Гледай по-късно</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Вашите клипове</string>
|
<string name="revanced_change_start_page_entry_your_clips">Вашите клипове</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Винаги променяйте началната страница</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Началната страница винаги се променя
|
||||||
|
|
||||||
|
Ограничение: Използването на бутона за връщане назад в лентата с инструменти може да не работи"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Началната страница се променя само при стартиране на приложението</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Скриване на Shorts плейъра при стартиране</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Скриване на Shorts плейъра при стартиране</string>
|
||||||
@ -1292,6 +1311,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="microg_settings_title">GmsCore Настройки</string>
|
<string name="microg_settings_title">GmsCore Настройки</string>
|
||||||
<string name="microg_settings_summary">Настройки на GmsCore</string>
|
<string name="microg_settings_summary">Настройки на GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Ако наскоро сте променили данните си за вход в профила, деинсталирайте и инсталирайте отново MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Заобикаляне на URL пренасочване</string>
|
<string name="revanced_bypass_url_redirects_title">Заобикаляне на URL пренасочване</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL пренасочванията се заобикалят</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL пренасочванията се заобикалят</string>
|
||||||
|
@ -459,29 +459,38 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">স্বয়ংক্রিয়-উজ্জ্বলতার অঙ্গভঙ্গি সক্রিয় করুন</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">স্বয়ংক্রিয়-উজ্জ্বলতার অঙ্গভঙ্গি সক্রিয় করুন</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">উজ্জ্বলতার অঙ্গভঙ্গির সর্বনিম্ন মানে সোয়াইপ ডাউন করলে অটো-উজ্জ্বলতা সক্ষম হয়</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">উজ্জ্বলতার অঙ্গভঙ্গির সর্বনিম্ন মানে সোয়াইপ ডাউন করলে অটো-উজ্জ্বলতা সক্ষম হয়</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">সর্বনিম্ন মানে সোয়াইপ ডাউন করলে অটো-উজ্জ্বলতা সক্ষম হয় না</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">সর্বনিম্ন মানে সোয়াইপ ডাউন করলে অটো-উজ্জ্বলতা সক্ষম হয় না</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">স্বতস্ফূর্তভাবে</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">ওভার-লে টাইম আউট</string>
|
<string name="revanced_swipe_overlay_timeout_title">ওভার-লে টাইম আউট</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">কত মিলিসেকেন্ডের জন্য ওভারলে দৃশ্যমান হবে</string>
|
<string name="revanced_swipe_overlay_timeout_summary">কত মিলিসেকেন্ডের জন্য ওভারলে দৃশ্যমান হবে</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">অস্বচ্ছতা</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">অস্বচ্ছতা</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 এর মধ্যে অস্বচ্ছতার মান</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">0-100 এর মধ্যে অস্বচ্ছতার মান</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">সোয়াইপের অস্বচ্ছতা অবশ্যই 0-100 এর মধ্যে হতে হবে</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">সোয়াইপের অস্বচ্ছতা অবশ্যই 0-100 এর মধ্যে হতে হবে</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">সোয়াইপ ওভারলে প্রগ্রেস বার এর রং</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">ভলিউম এবং উজ্জ্বলতা নিয়ন্ত্রণের জন্য প্রগ্রেস বার এর রং</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">অবৈধ প্রগ্রেস বার রং</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">সোয়াইপ ওভারলে টেক্সট সাইজ</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">সোয়াইপ ওভারলে-এর জন্য টেক্সট সাইজ ১-৩০ এর মধ্যে</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">টেক্সট সাইজ অবশ্যই ১-৩০ এর মধ্যে হতে হবে</string>
|
||||||
<string name="revanced_swipe_threshold_title">সোয়াইপ থ্রেশহোল্ড এর মাত্রা</string>
|
<string name="revanced_swipe_threshold_title">সোয়াইপ থ্রেশহোল্ড এর মাত্রা</string>
|
||||||
<string name="revanced_swipe_threshold_summary">সোয়াইপ করার থ্রেশহোল্ডের পরিমাণ</string>
|
<string name="revanced_swipe_threshold_summary">সোয়াইপ করার থ্রেশহোল্ডের পরিমাণ</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">ভলিউম সোয়াইপ সংবেদনশীলতা</string>
|
<string name="revanced_swipe_volume_sensitivity_title">ভলিউম সোয়াইপ সংবেদনশীলতা</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">প্রতি সোয়াইপে ভলিউম কতটা পরিবর্তিত হয়</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">প্রতি সোয়াইপে ভলিউম কতটা পরিবর্তিত হয়</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">বৃত্তাকার ওভারলে দেখান</string>
|
<string name="revanced_swipe_overlay_style_title">সোয়াইপ ওভারলে শৈলী</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">বৃত্তাকার ওভারলে দেখানো হয়েছে</string>
|
<string name="revanced_swipe_overlay_style_entry_1">অনুভূমিক ওভারলে</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">অনুভূমিক ওভারলে দেখানো হয়েছে</string>
|
<string name="revanced_swipe_overlay_style_entry_2">অনুভূমিক ওভারলে (ন্যূনতম - উপরে)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">ন্যূনতম শৈলী সক্ষম করুন</string>
|
<string name="revanced_swipe_overlay_style_entry_3">অনুভূমিক ওভারলে (ন্যূনতম - কেন্দ্র)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimal overlay style enabled করা হয়েছে</string>
|
<string name="revanced_swipe_overlay_style_entry_4">বৃত্তাকার ওভারলে</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">ন্যূনতম ওভারলে শৈলী নিষ্ক্রিয় করা হয়েছে</string>
|
<string name="revanced_swipe_overlay_style_entry_5">বৃত্তাকার ওভারলে (ন্যূনতম)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">উল্লম্ব ওভারলে</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">উল্লম্ব ওভারলে (ন্যূনতম)</string>
|
||||||
<string name="revanced_swipe_change_video_title">ভিডিও পরিবর্তন করতে সোয়াইপ করে সক্ষম করুন</string>
|
<string name="revanced_swipe_change_video_title">ভিডিও পরিবর্তন করতে সোয়াইপ করে সক্ষম করুন</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী/পূর্ববর্তী ভিডিওতে পরিবর্তন হবে</string>
|
<string name="revanced_swipe_change_video_summary_on">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী/পূর্ববর্তী ভিডিওতে পরিবর্তন হবে</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী /পূর্ববর্তী ভিডিওতে পরিবর্তন হবে না</string>
|
<string name="revanced_swipe_change_video_summary_off">ফুলস্ক্রিন মোডে সোয়াইপ করলে পরবর্তী /পূর্ববর্তী ভিডিওতে পরিবর্তন হবে না</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">স্বয়ংক্রিয় ক্যাপশন বন্ধ করুন</string>
|
<string name="revanced_disable_auto_captions_title">স্বয়ংক্রিয় ক্যাপশন বন্ধ করুন</string>
|
||||||
<string name="revanced_auto_captions_summary_on">অটো ক্যাপশন বন্ধ করা হয়েছে</string>
|
<string name="revanced_disable_auto_captions_summary_on">অটো ক্যাপশনগুলি নিষ্ক্রিয় করা হয়েছে</string>
|
||||||
<string name="revanced_auto_captions_summary_off">অটো ক্যাপশন চালু করা হয়েছে</string>
|
<string name="revanced_disable_auto_captions_summary_off">অটো ক্যাপশনগুলি সক্রিয় করা হয়েছে</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">অ্যাকশন বোতাম</string>
|
<string name="revanced_hide_buttons_screen_title">অ্যাকশন বোতাম</string>
|
||||||
@ -513,6 +522,11 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
|
|||||||
<string name="revanced_hide_thanks_button_title">ধন্যবাদ লুকান</string>
|
<string name="revanced_hide_thanks_button_title">ধন্যবাদ লুকান</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">ধন্যবাদ বোতাম লুকানো আছে</string>
|
<string name="revanced_hide_thanks_button_summary_on">ধন্যবাদ বোতাম লুকানো আছে</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">ধন্যবাদ বোতাম দেখানো হয়</string>
|
<string name="revanced_hide_thanks_button_summary_off">ধন্যবাদ বোতাম দেখানো হয়</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">জিজ্ঞাসা লুকান</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">জিজ্ঞাসা বোতাম লুকানো আছে</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">জিজ্ঞাসা বোতাম দেখানো হয়েছে</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">ক্লিপ লুকান</string>
|
<string name="revanced_hide_clip_button_title">ক্লিপ লুকান</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">ক্লিপ বোতাম লুকিয়ে রয়েছে</string>
|
<string name="revanced_hide_clip_button_summary_on">ক্লিপ বোতাম লুকিয়ে রয়েছে</string>
|
||||||
@ -832,8 +846,8 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">পছন্দ বোতামটি ন্যূনতম প্রস্থের জন্য সাজানো হয়েছে</string>
|
<string name="revanced_ryd_compact_layout_summary_on">পছন্দ বোতামটি ন্যূনতম প্রস্থের জন্য সাজানো হয়েছে</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">পছন্দ বোতামটি সেরা চেহারার জন্য সাজানো হয়েছে</string>
|
<string name="revanced_ryd_compact_layout_summary_off">পছন্দ বোতামটি সেরা চেহারার জন্য সাজানো হয়েছে</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">অনুমানিত লাইক দেখান</string>
|
<string name="revanced_ryd_estimated_like_title">অনুমানিত লাইক দেখান</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">অনুমানিত লাইক দেখানো হয়েছে</string>
|
<string name="revanced_ryd_estimated_like_summary_on">পছন্দগুলি অক্ষম করা ভিডিওগুলি একটি আনুমানিক পছন্দের সংখ্যা দেখায়</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">অনুমানিত লাইক লুকানো হয়েছে</string>
|
<string name="revanced_ryd_estimated_like_summary_off">আনুমানিক পছন্দগুলি দেখানো হয় না</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">API উপলভ্য না থাকলে একটি টোস্ট দেখান</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">API উপলভ্য না থাকলে একটি টোস্ট দেখান</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে না</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Return YouTube Dislike উপলভ্য না থাকলে টোস্ট দেখানো হবে না</string>
|
||||||
@ -1107,7 +1121,7 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - পুরনো নেভিগেশন আইকন পুনরুদ্ধার করুন</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">শুরুর পৃষ্ঠা সেট করুন</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_default">পূর্ব-নির্ধারিত</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">অন্য়াসব রভর্বাশার চিয়ুট</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>
|
||||||
@ -1132,6 +1146,11 @@ YouTube সেটিংসে অটো প্লে পরিবর্তন
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">বির্চুভ্য়াল টিএলিটি</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">বির্চুভ্য়াল টিএলিটি</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">পরে দেখুন</string>
|
<string name="revanced_change_start_page_entry_watch_later">পরে দেখুন</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">আপ্নার কলিপ</string>
|
<string name="revanced_change_start_page_entry_your_clips">আপ্নার কলিপ</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">সর্বদা শুরুর পৃষ্ঠা পরিবর্তন করুন</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"শুরুর পৃষ্ঠা সবসময় পরিবর্তিত হয়
|
||||||
|
|
||||||
|
সীমাবদ্ধতা: টুলবারে পিছনের বোতাম ব্যবহার করলে কাজ নাও করতে পারে"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">অ্যাপ শুরু করার সময় শুধুমাত্র শুরুর পৃষ্ঠা পরিবর্তন করা হয়</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Shorts প্লেয়ার আবার চালানো নিষ্ক্রিয় করুন</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Shorts প্লেয়ার আবার চালানো নিষ্ক্রিয় করুন</string>
|
||||||
@ -1292,6 +1311,9 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট
|
|||||||
<string name="microg_settings_title">GmsCore সেটিং</string>
|
<string name="microg_settings_title">GmsCore সেটিং</string>
|
||||||
<string name="microg_settings_summary">GmsCore এর জন্য সেটিং</string>
|
<string name="microg_settings_summary">GmsCore এর জন্য সেটিং</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">আপনি যদি সম্প্রতি আপনার অ্যাকাউন্ট লগইন বিশদ পরিবর্তন করে থাকেন, তবে MicroG আনইনস্টল করুন এবং পুনরায় ইনস্টল করুন।</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">URL পুনঃনির্দেশ বাইপাস করুন</string>
|
<string name="revanced_bypass_url_redirects_title">URL পুনঃনির্দেশ বাইপাস করুন</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL পুনঃনির্দেশ বাইপাস করছে</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL পুনঃনির্দেশ বাইপাস করছে</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -459,29 +459,38 @@ Ajusteu el volum lliscant verticalment a la part dreta de la pantalla"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activa el gest de la brillantor automàtica</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activa el gest de la brillantor automàtica</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Deslizar hacia abajo hasta el valor más bajo del gesto de brillo activa el brillo automático</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Deslizar hacia abajo hasta el valor más bajo del gesto de brillo activa el brillo automático</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Deslizar hacia abajo hasta el valor más bajo no activa el brillo automático</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Deslizar hacia abajo hasta el valor más bajo no activa el brillo automático</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automàtic</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Temps límite de superposició de lliscament</string>
|
<string name="revanced_swipe_overlay_timeout_title">Temps límite de superposició de lliscament</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">La quantitat de mil·lisegons que la superposició és visible</string>
|
<string name="revanced_swipe_overlay_timeout_summary">La quantitat de mil·lisegons que la superposició és visible</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Opacitat del fons de la superposició de lliscament</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Opacitat del fons de la superposició de lliscament</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Valor d\'opacitat entre 0 i 100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Valor d\'opacitat entre 0 i 100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacitat de lliscament ha d\'estar entre 0 i 100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacitat de lliscament ha d\'estar entre 0 i 100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Color de la barra de progrés de la superposició lliscant</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">El color de la barra de progrés per als controls de volum i brillantor</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Color de barra de progrés no vàlid</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Mida del text de la superposició lliscant</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">La mida del text per a la superposició lliscant entre 1 i 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">La mida del text ha d\'estar entre 1 i 30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Llindar de magnitud de lliscament</string>
|
<string name="revanced_swipe_threshold_title">Llindar de magnitud de lliscament</string>
|
||||||
<string name="revanced_swipe_threshold_summary">La quantitat de llindar per a què es produeixi el desplaçament</string>
|
<string name="revanced_swipe_threshold_summary">La quantitat de llindar per a què es produeixi el desplaçament</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Sensibilitat del lliscament de volum</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Sensibilitat del lliscament de volum</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Quant canvia el volum per lliscament</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Quant canvia el volum per lliscament</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Mostra la superposició circular</string>
|
<string name="revanced_swipe_overlay_style_title">Estil de superposició de lliscament</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Es mostra la superposició circular</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Superposició horitzontal</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Es mostra la superposició horitzontal</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Superposició horitzontal (mínima - part superior)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Activa l\'estil minimalista</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Superposició horitzontal (mínima - centre)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">S\'ha activat l\'estil de superposició minimalista</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Superposició circular</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">L\'estil de superposició mínima està desactivat</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Superposició circular (mínima)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Superposició vertical</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Superposició vertical (mínima)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Activa la funció de lliscament per canviar vídeos</string>
|
<string name="revanced_swipe_change_video_title">Activa la funció de lliscament per canviar vídeos</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Lliscar en mode de pantalla completa canviarà al vídeo següent/anterior</string>
|
<string name="revanced_swipe_change_video_summary_on">Lliscar en mode de pantalla completa canviarà al vídeo següent/anterior</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Lliscar en mode de pantalla completa no canviarà al vídeo següent/anterior</string>
|
<string name="revanced_swipe_change_video_summary_off">Lliscar en mode de pantalla completa no canviarà al vídeo següent/anterior</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Desactiva els subtítols automàtics</string>
|
<string name="revanced_disable_auto_captions_title">Desactiva els subtítols automàtics</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Els subtítols automàtics estan desactivats</string>
|
<string name="revanced_disable_auto_captions_summary_on">Les subtítols Auto estan desactivats</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Els subtítols automàtics estan activats</string>
|
<string name="revanced_disable_auto_captions_summary_off">Els subtítols Auto estan habilitats</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Botons d\'acció</string>
|
<string name="revanced_hide_buttons_screen_title">Botons d\'acció</string>
|
||||||
@ -513,6 +522,11 @@ Ajusteu el volum lliscant verticalment a la part dreta de la pantalla"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Amaga Gràcies</string>
|
<string name="revanced_hide_thanks_button_title">Amaga Gràcies</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">S\'ha amagat el botó de gràcies</string>
|
<string name="revanced_hide_thanks_button_summary_on">S\'ha amagat el botó de gràcies</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">El botó Gràcies es mostra</string>
|
<string name="revanced_hide_thanks_button_summary_off">El botó Gràcies es mostra</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Amaga la sol·licitud</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">El botó de sol·licitud està amagat</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">El botó de sol·licitud es mostra</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Amaga Clip</string>
|
<string name="revanced_hide_clip_button_title">Amaga Clip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">El botó Clip s\'amaga</string>
|
<string name="revanced_hide_clip_button_summary_on">El botó Clip s\'amaga</string>
|
||||||
@ -832,8 +846,8 @@ Limitació: és possible que els \"no m'agrada\" no apareguin en mode d'incògni
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Botó \"m\'agrada\" estilitzat per a l\'amplada mínima</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Botó \"m\'agrada\" estilitzat per a l\'amplada mínima</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Botó \"m\'agrada\" estilitzat per a la millor aparença</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Botó \"m\'agrada\" estilitzat per a la millor aparença</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Mostra els \"m\'agrada\" estimats</string>
|
<string name="revanced_ryd_estimated_like_title">Mostra els \"m\'agrada\" estimats</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Es mostren els \"m\'agrada\" estimats</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Els vídeos amb els \"m\'agrada\" desactivats mostren un recompte de \"m\'agrada\" estimat</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">S\'han amagat els \"m\'agrada\" estimats</string>
|
<string name="revanced_ryd_estimated_like_summary_off">No es mostren els \"m\'agrada\" estimats</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar una \"toast\" si l\'API no està disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar una \"toast\" si l\'API no està disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">La \"toast\" es mostra si Return YouTube Dislike no està disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">La \"toast\" es mostra si Return YouTube Dislike no està disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">La \"toast\" no es mostra si Return YouTube Dislike no està disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">La \"toast\" no es mostra si Return YouTube Dislike no està disponible</string>
|
||||||
@ -1106,7 +1120,7 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaura les icones de navegació antigues</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaura les icones de navegació antigues</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Defineix la pàgina d\'inici</string>
|
<string name="revanced_change_start_page_title">Canvia la pàgina d\'inici</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Per defecte</string>
|
<string name="revanced_change_start_page_entry_default">Per defecte</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Totes les subscripcions</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Totes les subscripcions</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Explora canals</string>
|
<string name="revanced_change_start_page_entry_browse">Explora canals</string>
|
||||||
@ -1131,6 +1145,11 @@ Si després es desactiva, es recomana esborrar les dades de l'aplicació per evi
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Realitat virtual</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Realitat virtual</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Veure més tard</string>
|
<string name="revanced_change_start_page_entry_watch_later">Veure més tard</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Els teus clips</string>
|
<string name="revanced_change_start_page_entry_your_clips">Els teus clips</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Canvia sempre la pàgina d\'inici</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"La pàgina d'inici sempre es canvia
|
||||||
|
|
||||||
|
Limitació: és possible que el botó Enrere de la barra d'eines no funcioni"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">La pàgina d\'inici només es canvia en iniciar l\'aplicació</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Desactiva la represa del reproductor de Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Desactiva la represa del reproductor de Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Si actives aquesta opció, es poden desbloquejar qualitats de vídeo més altes"
|
|||||||
<string name="microg_settings_title">Configuració de GmsCore</string>
|
<string name="microg_settings_title">Configuració de GmsCore</string>
|
||||||
<string name="microg_settings_summary">Configuració de GmsCore</string>
|
<string name="microg_settings_summary">Configuració de GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Si recentment heu canviat les dades d\'inici de sessió del vostre compte, desinstal·leu i torneu a instal·lar MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Omet les redireccions d\'URL</string>
|
<string name="revanced_bypass_url_redirects_title">Omet les redireccions d\'URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Les redireccions d\'URL s\'ometent</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Les redireccions d\'URL s\'ometent</string>
|
||||||
|
@ -459,29 +459,38 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Povolit gesto pro automatický jas</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Povolit gesto pro automatický jas</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Přejetím dolů na nejnižší hodnotu gesta pro jas aktivujete automatický jas</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Přejetím dolů na nejnižší hodnotu gesta pro jas aktivujete automatický jas</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Přejetím dolů na nejnižší hodnotu neaktivujete automatický jas</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Přejetím dolů na nejnižší hodnotu neaktivujete automatický jas</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automaticky</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Timeout překrytí gesta</string>
|
<string name="revanced_swipe_overlay_timeout_title">Timeout překrytí gesta</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Doba v milisekundách, po kterou je překrytí viditelné</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Doba v milisekundách, po kterou je překrytí viditelné</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Průsvitnost pozadí překrytí tažením</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Průsvitnost pozadí překrytí tažením</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Hodnota průsvitnosti mezi 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Hodnota průsvitnosti mezi 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Průsvitnost tažení musí být mezi 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Průsvitnost tažení musí být mezi 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Barva ukazatele průběhu překrytí přejetím</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Barva ukazatele průběhu pro ovládání hlasitosti a jasu</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Neplatná barva ukazatele průběhu</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Velikost textu překrytí přejetím</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Velikost textu překrytí přejetím mezi 1–30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Velikost textu musí být mezi 1–30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Práh vynucení gesta</string>
|
<string name="revanced_swipe_threshold_title">Práh vynucení gesta</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Velikost prahu pro provedení gesta</string>
|
<string name="revanced_swipe_threshold_summary">Velikost prahu pro provedení gesta</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Citlivost přejetí hlasitosti</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Citlivost přejetí hlasitosti</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">O kolik se změní hlasitost na jedno přejetí</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">O kolik se změní hlasitost na jedno přejetí</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Zobrazit kruhovou překryvnou vrstvu</string>
|
<string name="revanced_swipe_overlay_style_title">Styl překrytí přejetím</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Zobrazuje se kruhová překryvná vrstva</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Vodorovné překrytí</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Zobrazuje se vodorovná překryvná vrstva</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Vodorovné překrytí (minimalistické – nahoře)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Povolit minimální styl</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Vodorovné překrytí (minimalistické – uprostřed)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimální styl překrytí je povolen</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Kruhové překrytí</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimální styl překryvné vrstvy je zakázán</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Kruhové překrytí (minimalistické)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Svislé překrytí</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Svislé překrytí (minimalistické)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Povolit přejetí prstem pro změnu videa</string>
|
<string name="revanced_swipe_change_video_title">Povolit přejetí prstem pro změnu videa</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Přejetí prstem v režimu celé obrazovky změní video na další/předchozí</string>
|
<string name="revanced_swipe_change_video_summary_on">Přejetí prstem v režimu celé obrazovky změní video na další/předchozí</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Přejetí prstem v režimu celé obrazovky nebude video měnit na další/předchozí</string>
|
<string name="revanced_swipe_change_video_summary_off">Přejetí prstem v režimu celé obrazovky nebude video měnit na další/předchozí</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Zakázat automatické titulky</string>
|
<string name="revanced_disable_auto_captions_title">Zakázat automatické titulky</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Automatické titulky jsou zakázány</string>
|
<string name="revanced_disable_auto_captions_summary_on">Automatické titulky jsou zakázány</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Automatické titulky jsou povoleny</string>
|
<string name="revanced_disable_auto_captions_summary_off">Automatické titulky jsou povoleny</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Akční tlačítka</string>
|
<string name="revanced_hide_buttons_screen_title">Akční tlačítka</string>
|
||||||
@ -513,6 +522,11 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Skrýt Poděkování</string>
|
<string name="revanced_hide_thanks_button_title">Skrýt Poděkování</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Tlačítko Poděkování je skryto</string>
|
<string name="revanced_hide_thanks_button_summary_on">Tlačítko Poděkování je skryto</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Tlačítko Poděkování je zobrazeno</string>
|
<string name="revanced_hide_thanks_button_summary_off">Tlačítko Poděkování je zobrazeno</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Skrýt Zeptat se</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Tlačítko Zeptat se je skryté</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Tlačítko Zeptat se je zobrazeno</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Skrýt Klip</string>
|
<string name="revanced_hide_clip_button_title">Skrýt Klip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Tlačítko Klip je skryto</string>
|
<string name="revanced_hide_clip_button_summary_on">Tlačítko Klip je skryto</string>
|
||||||
@ -832,8 +846,8 @@ Omezení: Počty „Nelíbí se mi“ se nemusí zobrazit v anonymním režimu"<
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Tlačítko lajku stylizované pro minimální šířku</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Tlačítko lajku stylizované pro minimální šířku</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Tlačítko lajku stylizované pro nejlepší vzhled</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Tlačítko lajku stylizované pro nejlepší vzhled</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Zobrazit odhadované počty To se mi líbí</string>
|
<string name="revanced_ryd_estimated_like_title">Zobrazit odhadované počty To se mi líbí</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Zobrazují se odhadované počty To se mi líbí</string>
|
<string name="revanced_ryd_estimated_like_summary_on">U videí s vypnutými hodnoceními se zobrazuje odhadovaný počet hodnocení</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Odhadované počty To se mi líbí jsou skryté</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Odhadovaná hodnocení se nezobrazují</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Zobrazit toast, pokud API není dostupné</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Zobrazit toast, pokud API není dostupné</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se zobrazí, pokud Return YouTube Dislike není dostupný</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se zobrazí, pokud Return YouTube Dislike není dostupný</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast se nezobrazí, pokud Return YouTube Dislike není dostupný</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast se nezobrazí, pokud Return YouTube Dislike není dostupný</string>
|
||||||
@ -1106,7 +1120,7 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 – Obnovit staré ikony navigace</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 – Obnovit staré ikony navigace</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Nastavit úvodní stránku</string>
|
<string name="revanced_change_start_page_title">Změnit úvodní stránku</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Výchozí</string>
|
<string name="revanced_change_start_page_entry_default">Výchozí</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Všechna předplatná</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Všechna předplatná</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Procházet kanály</string>
|
<string name="revanced_change_start_page_entry_browse">Procházet kanály</string>
|
||||||
@ -1131,6 +1145,11 @@ Pokud bude později vypnuta, doporučujeme vymazat data aplikace, aby se zabrán
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtuální realita</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtuální realita</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Sledovat později</string>
|
<string name="revanced_change_start_page_entry_watch_later">Sledovat později</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Vaše klipy</string>
|
<string name="revanced_change_start_page_entry_your_clips">Vaše klipy</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Vždy změnit úvodní stránku</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Úvodní stránka je vždy změněna
|
||||||
|
|
||||||
|
Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Úvodní stránka se změní pouze při spuštění aplikace</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Zakázat obnovení přehrávače Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Zakázat obnovení přehrávače Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Povolením této funkce lze odemknout vyšší kvality videa"</string>
|
|||||||
<string name="microg_settings_title">Nastavení GmsCore</string>
|
<string name="microg_settings_title">Nastavení GmsCore</string>
|
||||||
<string name="microg_settings_summary">Nastavení pro GmsCore</string>
|
<string name="microg_settings_summary">Nastavení pro GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Pokud jste nedávno změnili přihlašovací údaje svého účtu, odinstalujte a znovu nainstalujte MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Obcházet přesměrování URL</string>
|
<string name="revanced_bypass_url_redirects_title">Obcházet přesměrování URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Přesměrování URL jsou obcházena</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Přesměrování URL jsou obcházena</string>
|
||||||
|
@ -423,29 +423,38 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Aktivér auto-lysstyrke-bevægelse</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Aktivér auto-lysstyrke-bevægelse</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Stryg ned til den laveste værdi af lysstyrke-bevægelsen aktiverer auto-lysstyrke</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Stryg ned til den laveste værdi af lysstyrke-bevægelsen aktiverer auto-lysstyrke</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Stryg ned til den laveste værdi aktiverer ikke auto-lysstyrke</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Stryg ned til den laveste værdi aktiverer ikke auto-lysstyrke</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatisk</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Stryg overlay timeout</string>
|
<string name="revanced_swipe_overlay_timeout_title">Stryg overlay timeout</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Mængden af millisekunder, overlayet er synlig</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Mængden af millisekunder, overlayet er synlig</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Baggrundsgennemsigtighed for swipe-overlay</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Baggrundsgennemsigtighed for swipe-overlay</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Gennemsigtighedsværdi mellem 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Gennemsigtighedsværdi mellem 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Gennemsigtighed for swipe skal være mellem 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Gennemsigtighed for swipe skal være mellem 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Farve på statuslinje for strygeoverlejring</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Farven på statuslinjen for lydstyrke- og lysstyrkeknapper</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Ugyldig farve til statuslinjen</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Tekststørrelse for strygeoverlejring</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Tekststørrelsen for strygeoverlejring mellem 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Tekststørrelsen skal være mellem 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Stryg størrelse tærskel</string>
|
<string name="revanced_swipe_threshold_title">Stryg størrelse tærskel</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Beløbet for tærskelværdi for stryg der skal ske</string>
|
<string name="revanced_swipe_threshold_summary">Beløbet for tærskelværdi for stryg der skal ske</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Volumen strygefølsomhed</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Volumen strygefølsomhed</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Hvor meget lydstyrken ændres pr. strygning</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Hvor meget lydstyrken ændres pr. strygning</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Vis cirkulært overlejring</string>
|
<string name="revanced_swipe_overlay_style_title">Stil for stryge-overlay</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Cirkulært overlejring vises</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Horisontalt overlay</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Horisontalt overlejring vises</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Horisontalt overlay (minimal - top)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Aktiver minimal stil</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Horisontalt overlay (minimal - center)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimal overlay-stil er aktiveret</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Cirkulært overlay</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimal overlejringsstil er deaktiveret</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Cirkulært overlay (minimal)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Vertikalt overlay</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Vertikalt overlay (minimal)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Aktivér swipe for at skifte videoer</string>
|
<string name="revanced_swipe_change_video_title">Aktivér swipe for at skifte videoer</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Strygning i fuldskærmstilstand vil ændre til den næste/forrige video</string>
|
<string name="revanced_swipe_change_video_summary_on">Strygning i fuldskærmstilstand vil ændre til den næste/forrige video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Strygning i fuldskærmstilstand vil ikke ændre til den næste/forrige video</string>
|
<string name="revanced_swipe_change_video_summary_off">Strygning i fuldskærmstilstand vil ikke ændre til den næste/forrige video</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Deaktivér auto-billedtekster</string>
|
<string name="revanced_disable_auto_captions_title">Deaktivér auto-billedtekster</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Auto billedtekster er deaktiveret</string>
|
<string name="revanced_disable_auto_captions_summary_on">Automatiske billedtekster er deaktiveret</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Auto billedtekster er aktiveret</string>
|
<string name="revanced_disable_auto_captions_summary_off">Automatiske billedtekster er aktiveret</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Handlingsknapper</string>
|
<string name="revanced_hide_buttons_screen_title">Handlingsknapper</string>
|
||||||
@ -476,6 +485,11 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Skjul Tak</string>
|
<string name="revanced_hide_thanks_button_title">Skjul Tak</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Tak knappen er skjult</string>
|
<string name="revanced_hide_thanks_button_summary_on">Tak knappen er skjult</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Tak knappen er vist</string>
|
<string name="revanced_hide_thanks_button_summary_off">Tak knappen er vist</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Skjul Spørg</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Spørg-knappen er skjult</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Spørg-knappen vises</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Skjul klip</string>
|
<string name="revanced_hide_clip_button_title">Skjul klip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Klip knappen er skjult</string>
|
<string name="revanced_hide_clip_button_summary_on">Klip knappen er skjult</string>
|
||||||
@ -788,8 +802,8 @@ Indstillinger → Afspilning → Afspil næste video automatisk"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Lideknap stylet for mindste bredde</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Lideknap stylet for mindste bredde</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Ligesom knap stylet for bedste udseende</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Ligesom knap stylet for bedste udseende</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Vis anslåede Synes godt om</string>
|
<string name="revanced_ryd_estimated_like_title">Vis anslåede Synes godt om</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Anslåede Synes godt om vises</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Videoer med deaktiverede Synes godt om viser et anslået antal Synes godt om</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Anslåede Synes godt om er skjult</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Anslåede Synes godt om vises ikke</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Vis en toast hvis API ikke er tilgængelig</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Vis en toast hvis API ikke er tilgængelig</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast vises, hvis Return YouTube Dislike ikke er tilgængelig</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast vises, hvis Return YouTube Dislike ikke er tilgængelig</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast vises ikke, hvis Return YouTube Dislike ikke er tilgængelig</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast vises ikke, hvis Return YouTube Dislike ikke er tilgængelig</string>
|
||||||
@ -1052,7 +1066,7 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
|
|||||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Gendan gamle Shorts player ikoner</string>
|
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Gendan gamle Shorts player ikoner</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Indstil startside</string>
|
<string name="revanced_change_start_page_title">Skift startside</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Standard</string>
|
<string name="revanced_change_start_page_entry_default">Standard</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Alle abonnementer</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Alle abonnementer</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Gennemse kanaler</string>
|
<string name="revanced_change_start_page_entry_browse">Gennemse kanaler</string>
|
||||||
@ -1077,6 +1091,11 @@ Hvis det senere slås fra, anbefales det at rydde app-dataene for at forhindre U
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Se senere</string>
|
<string name="revanced_change_start_page_entry_watch_later">Se senere</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Dine klip</string>
|
<string name="revanced_change_start_page_entry_your_clips">Dine klip</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Skift altid startside</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Startside ændres altid
|
||||||
|
|
||||||
|
Begrænsning: Brug af tilbage-knappen på værktøjslinjen fungerer muligvis ikke"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Startsiden ændres kun ved appstart</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Deaktivér genoptagelse af Shorts spiller</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Deaktivér genoptagelse af Shorts spiller</string>
|
||||||
@ -1233,6 +1252,9 @@ Aktivering af dette kan låse op for højere videokvalitet"</string>
|
|||||||
<string name="microg_settings_title">GmsCore Indstillinger</string>
|
<string name="microg_settings_title">GmsCore Indstillinger</string>
|
||||||
<string name="microg_settings_summary">Indstillinger for GmsCore</string>
|
<string name="microg_settings_summary">Indstillinger for GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Hvis du for nylig har ændret dine kontooplysninger, skal du afinstallere og geninstallere MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Bypass URL omdirigeringer</string>
|
<string name="revanced_bypass_url_redirects_title">Bypass URL omdirigeringer</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL omdirigeringer er omgået</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL omdirigeringer er omgået</string>
|
||||||
|
@ -452,29 +452,38 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Auto-Helligkeit Geste aktivieren</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Auto-Helligkeit Geste aktivieren</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Wische runter auf den niedrigsten Wert der Helligkeitsgeste, um die automatische Helligkeit zu aktivieren</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Wische runter auf den niedrigsten Wert der Helligkeitsgeste, um die automatische Helligkeit zu aktivieren</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Wenn man zum niedrigsten Wert wischt, aktiviert man die automatische Helligkeit nicht</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Wenn man zum niedrigsten Wert wischt, aktiviert man die automatische Helligkeit nicht</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Autom</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Wischüberlagerungs-Timeout</string>
|
<string name="revanced_swipe_overlay_timeout_title">Wischüberlagerungs-Timeout</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Die Anzahl der Millisekunden, die das Overlay sichtbar ist</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Die Anzahl der Millisekunden, die das Overlay sichtbar ist</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Bildschirmüberlagerung Deckkraft Swipe</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Bildschirmüberlagerung Deckkraft Swipe</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Deckkraftwert zwischen 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Deckkraftwert zwischen 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Die Wischdeckkraft muss zwischen 0 und 100 liegen</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Die Wischdeckkraft muss zwischen 0 und 100 liegen</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Farbe des Fortschrittsbalkens für die Wischgesten-Überlagerung</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Die Farbe des Fortschrittsbalkens für Lautstärke- und Helligkeitsregler</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Ungültige Farbe für den Fortschrittsbalken</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Textgröße der Wischgesten-Überlagerung</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Die Textgröße für die Wischgesten-Überlagerung zwischen 1 und 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Die Textgröße muss zwischen 1 und 30 liegen</string>
|
||||||
<string name="revanced_swipe_threshold_title">Wischgrößenschwelle</string>
|
<string name="revanced_swipe_threshold_title">Wischgrößenschwelle</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Der Schwellenwert für Wischen</string>
|
<string name="revanced_swipe_threshold_summary">Der Schwellenwert für Wischen</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Lautstärke-Wischgestenempfindlichkeit</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Lautstärke-Wischgestenempfindlichkeit</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Wie stark sich die Lautstärke pro Wisch ändert</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Wie stark sich die Lautstärke pro Wisch ändert</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Kreisförmiges Overlay anzeigen</string>
|
<string name="revanced_swipe_overlay_style_title">Design des Wisch-Overlays</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Kreisförmiges Overlay wird angezeigt</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Horizontales Overlay</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Horizontales Overlay wird angezeigt</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Horizontales Overlay (minimal - oben)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Minimalen Stil aktivieren</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Horizontales Overlay (minimal - Mitte)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimaler Overlay-Stil ist aktiviert</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Kreisförmiges Overlay</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimaler Overlay-Stil ist deaktiviert</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Kreisförmiges Overlay (minimal)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Vertikales Overlay</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Vertikales Overlay (minimal)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Mit Wischen wechseln Sie zu den Videos</string>
|
<string name="revanced_swipe_change_video_title">Mit Wischen wechseln Sie zu den Videos</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Im Vollbildmodus wischen, um zum nächsten/vorherigen Video zu wechseln</string>
|
<string name="revanced_swipe_change_video_summary_on">Im Vollbildmodus wischen, um zum nächsten/vorherigen Video zu wechseln</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Im Vollbildmodus wischen, um nicht zum nächsten/vorherigen Video zu wechseln</string>
|
<string name="revanced_swipe_change_video_summary_off">Im Vollbildmodus wischen, um nicht zum nächsten/vorherigen Video zu wechseln</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Autounterschriften deaktivieren</string>
|
<string name="revanced_disable_auto_captions_title">Autounterschriften deaktivieren</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Autounterschriften sind deaktiviert</string>
|
<string name="revanced_disable_auto_captions_summary_on">Automatische Untertitel sind deaktiviert</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Automatische Beschriftungen sind aktiviert</string>
|
<string name="revanced_disable_auto_captions_summary_off">Automatische Untertitel sind aktiviert</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Aktionstasten</string>
|
<string name="revanced_hide_buttons_screen_title">Aktionstasten</string>
|
||||||
@ -506,6 +515,11 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
|
|||||||
<string name="revanced_hide_thanks_button_title">Dank ausblenden</string>
|
<string name="revanced_hide_thanks_button_title">Dank ausblenden</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Dankeschön-Taste ist ausgeblendet</string>
|
<string name="revanced_hide_thanks_button_summary_on">Dankeschön-Taste ist ausgeblendet</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Dankeschön Button wird angezeigt</string>
|
<string name="revanced_hide_thanks_button_summary_off">Dankeschön Button wird angezeigt</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Ask ausblenden</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Ask-Button ist ausgeblendet</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Ask-Button wird angezeigt</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Clip ausblenden</string>
|
<string name="revanced_hide_clip_button_title">Clip ausblenden</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Clip-Button ist ausgeblendet</string>
|
<string name="revanced_hide_clip_button_summary_on">Clip-Button ist ausgeblendet</string>
|
||||||
@ -825,8 +839,8 @@ Einschränkung: Dislikes werden möglicherweise nicht im Inkognito-Modus angezei
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">\"Gefällt mir\" Button für minimale Breite</string>
|
<string name="revanced_ryd_compact_layout_summary_on">\"Gefällt mir\" Button für minimale Breite</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">\"Gefällt mir\" Button für das beste Aussehen</string>
|
<string name="revanced_ryd_compact_layout_summary_off">\"Gefällt mir\" Button für das beste Aussehen</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Geschätzte \"Gefällt mir\"-Angaben anzeigen</string>
|
<string name="revanced_ryd_estimated_like_title">Geschätzte \"Gefällt mir\"-Angaben anzeigen</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Geschätzte \"Gefällt mir\"-Angaben werden angezeigt</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Videos mit deaktivierten \"Gefällt mir\"-Angaben zeigen eine geschätzte Anzahl von \"Gefällt mir\"-Angaben</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Geschätzte \"Gefällt mir\"-Angaben sind verborgen</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Geschätzte \"Gefällt mir\"-Angaben werden nicht angezeigt</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Einen Toast anzeigen, wenn die API nicht verfügbar ist</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Einen Toast anzeigen, wenn die API nicht verfügbar ist</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast wird angezeigt, wenn YouTube-Ablehnung nicht verfügbar ist</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast wird angezeigt, wenn YouTube-Ablehnung nicht verfügbar ist</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast wird nicht angezeigt, wenn YouTube-Dislike nicht verfügbar ist</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast wird nicht angezeigt, wenn YouTube-Dislike nicht verfügbar ist</string>
|
||||||
@ -1100,7 +1114,7 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Alte Navigations-Symbole wiederherstellen</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Alte Navigations-Symbole wiederherstellen</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Startseite festlegen</string>
|
<string name="revanced_change_start_page_title">Startseite ändern</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Standard</string>
|
<string name="revanced_change_start_page_entry_default">Standard</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Alle Abonnements</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Alle Abonnements</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Kanäle durchsuchen</string>
|
<string name="revanced_change_start_page_entry_browse">Kanäle durchsuchen</string>
|
||||||
@ -1125,6 +1139,11 @@ Wenn Sie die Funktion später deaktivieren, wird empfohlen, die App-Daten zu lö
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtuelle Realität</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtuelle Realität</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Später ansehen</string>
|
<string name="revanced_change_start_page_entry_watch_later">Später ansehen</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Deine Clips</string>
|
<string name="revanced_change_start_page_entry_your_clips">Deine Clips</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Startseite immer ändern</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Die Startseite wird immer geändert.
|
||||||
|
|
||||||
|
Einschränkung: Die Verwendung der Zurück-Taste auf der Symbolleiste funktioniert möglicherweise nicht."</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Die Startseite wird nur beim Start der App geändert</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Fortsetzen des Shorts Players deaktivieren</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Fortsetzen des Shorts Players deaktivieren</string>
|
||||||
@ -1285,6 +1304,9 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w
|
|||||||
<string name="microg_settings_title">GmsCore Einstellungen</string>
|
<string name="microg_settings_title">GmsCore Einstellungen</string>
|
||||||
<string name="microg_settings_summary">Einstellungen für GmsCore</string>
|
<string name="microg_settings_summary">Einstellungen für GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Wenn Sie kürzlich Ihre Kontoanmeldedaten geändert haben, deinstallieren Sie MicroG und installieren Sie es erneut.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">URL-Weiterleitungen umgehen</string>
|
<string name="revanced_bypass_url_redirects_title">URL-Weiterleitungen umgehen</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL-Umleitungen werden umgangen</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL-Umleitungen werden umgangen</string>
|
||||||
|
@ -86,7 +86,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_settings_screen_03_feed_title">Ροή</string>
|
<string name="revanced_settings_screen_03_feed_title">Ροή</string>
|
||||||
<string name="revanced_settings_screen_04_general_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_05_player_title">Οθόνη αναπαραγωγής</string>
|
||||||
<string name="revanced_settings_screen_07_seekbar_title">Γραμμή προόδου βίντεο</string>
|
<string name="revanced_settings_screen_07_seekbar_title">Γραμμή προόδου</string>
|
||||||
<string name="revanced_settings_screen_08_swipe_controls_title">Έλεγχος με σάρωση οθόνης</string>
|
<string name="revanced_settings_screen_08_swipe_controls_title">Έλεγχος με σάρωση οθόνης</string>
|
||||||
<string name="revanced_settings_screen_11_misc_title">Διάφορα</string>
|
<string name="revanced_settings_screen_11_misc_title">Διάφορα</string>
|
||||||
<string name="revanced_settings_screen_12_video_title">Βίντεο</string>
|
<string name="revanced_settings_screen_12_video_title">Βίντεο</string>
|
||||||
@ -461,29 +461,38 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Ενεργοποίηση χειρονομίας αυτόματης φωτεινότητας</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Ενεργοποίηση χειρονομίας αυτόματης φωτεινότητας</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Η σάρωση προς τα κάτω στη χαμηλότερη τιμή της χειρονομίας φωτεινότητας ενεργοποιεί την αυτόματη φωτεινότητα</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Η σάρωση προς τα κάτω στη χαμηλότερη τιμή της χειρονομίας φωτεινότητας ενεργοποιεί την αυτόματη φωτεινότητα</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Η σάρωση προς τα κάτω στη χαμηλότερη τιμή δεν ενεργοποιεί την αυτόματη φωτεινότητα</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Η σάρωση προς τα κάτω στη χαμηλότερη τιμή δεν ενεργοποιεί την αυτόματη φωτεινότητα</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Αυτόματη</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Χρονικό όριο εμφάνισης πλαισίου σάρωσης</string>
|
<string name="revanced_swipe_overlay_timeout_title">Χρονικό όριο εμφάνισης πλαισίου σάρωσης</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Το χρονικό διάστημα χιλιοστών του δευτερολέπτου που είναι ορατό το πλαίσιο σάρωσης</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Το χρονικό διάστημα χιλιοστών του δευτερολέπτου που είναι ορατό το πλαίσιο σάρωσης</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Αδιαφάνεια φόντου σάρωσης</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Αδιαφάνεια φόντου σάρωσης</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Τιμή αδιαφάνειας μεταξύ 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Τιμή αδιαφάνειας μεταξύ 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Η αδιαφάνεια σάρωσης πρέπει να είναι μεταξύ 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Η αδιαφάνεια σάρωσης πρέπει να είναι μεταξύ 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Χρώμα γραμμής προόδου σάρωσης</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Το χρώμα της γραμμής προόδου για τα στοιχεία ελέγχου έντασης ήχου και φωτεινότητας</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Μη έγκυρο χρώμα γραμμής προόδου</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Μέγεθος κειμένου σάρωσης</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Το μέγεθος κειμένου για τα στοιχεία ελέγχου σάρωσης μεταξύ 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Το μέγεθος κειμένου πρέπει να είναι μεταξύ 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Κατώτατο όριο μεγέθους σάρωσης</string>
|
<string name="revanced_swipe_threshold_title">Κατώτατο όριο μεγέθους σάρωσης</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Η ελάχιστη απόσταση που θα διανύσετε με το δάκτυλο σας για να είναι αναγνωρίσιμη η χειρονομία σάρωσης</string>
|
<string name="revanced_swipe_threshold_summary">Η ελάχιστη απόσταση που θα διανύσετε με το δάκτυλο σας για να είναι αναγνωρίσιμη η χειρονομία σάρωσης</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Ευαισθησία σάρωσης έντασης ήχου</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Ευαισθησία σάρωσης έντασης ήχου</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Πόσο αλλάζει η ένταση ήχου ανά σάρωση</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Πόσο αλλάζει η ένταση ήχου ανά σάρωση</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Εμφάνιση κυκλικής διάταξης</string>
|
<string name="revanced_swipe_overlay_style_title">Στυλ διάταξης σάρωσης</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Η διάταξη των ελέγχων σάρωσης είναι κυκλική</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Οριζόντια διάταξη</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Η διάταξη των ελέγχων σάρωσης είναι οριζόντια</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Οριζόντια διάταξη (ελάχιστη - κορυφή)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Διάταξη μινιμαλιστικού στυλ</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Οριζόντια διάταξη (ελάχιστη - κέντρο)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Το μινιμαλιστικό στυλ διάταξης των ελέγχων σάρωσης είναι ενεργοποιημένο</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Κυκλική διάταξη</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Το μινιμαλιστικό στυλ διάταξης των ελέγχων σάρωσης είναι απενεργοποιημένο</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Κυκλική διάταξη (ελάχιστη)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Κάθετη διάταξη</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Κάθετη διάταξη (ελάχιστη)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Χειρονομία εναλλαγής βίντεο στην πλήρη οθόνη</string>
|
<string name="revanced_swipe_change_video_title">Χειρονομία εναλλαγής βίντεο στην πλήρη οθόνη</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Σάρωση αριστερά/δεξιά κατά τη λειτουργία πλήρους οθόνης για αλλαγή σε επόμενο/προηγούμενο βίντεο</string>
|
<string name="revanced_swipe_change_video_summary_on">Σάρωση αριστερά/δεξιά κατά τη λειτουργία πλήρους οθόνης για αλλαγή σε επόμενο/προηγούμενο βίντεο</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Η χειρονομία αλλαγής βίντεο κατά τη λειτουργία πλήρους οθόνης είναι ανενεργή</string>
|
<string name="revanced_swipe_change_video_summary_off">Η χειρονομία αλλαγής βίντεο κατά τη λειτουργία πλήρους οθόνης είναι ανενεργή</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Απενεργοποίηση αυτόματων υπότιτλων</string>
|
<string name="revanced_disable_auto_captions_title">Απενεργοποίηση αυτόματων υπότιτλων</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Οι αυτόματοι υπότιτλοι είναι απενεργοποιημένοι</string>
|
<string name="revanced_disable_auto_captions_summary_on">Οι αυτόματοι υπότιτλοι είναι απενεργοποιημένοι</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Οι αυτόματοι υπότιτλοι είναι ενεργοποιημένοι</string>
|
<string name="revanced_disable_auto_captions_summary_off">Οι αυτόματοι υπότιτλοι είναι ενεργοποιημένοι</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Κουμπιά ενεργειών</string>
|
<string name="revanced_hide_buttons_screen_title">Κουμπιά ενεργειών</string>
|
||||||
@ -515,6 +524,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Κουμπί «Σας ευχαριστούμε»</string>
|
<string name="revanced_hide_thanks_button_title">Κουμπί «Σας ευχαριστούμε»</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Κρυμμένο</string>
|
<string name="revanced_hide_thanks_button_summary_on">Κρυμμένο</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Εμφανίζεται</string>
|
<string name="revanced_hide_thanks_button_summary_off">Εμφανίζεται</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Κουμπί «Ερώτηση»</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Κρυμμένο</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Εμφανίζεται</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Κουμπί «Κλιπ»</string>
|
<string name="revanced_hide_clip_button_title">Κουμπί «Κλιπ»</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Κρυμμένο</string>
|
<string name="revanced_hide_clip_button_summary_on">Κρυμμένο</string>
|
||||||
@ -834,7 +848,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για ελάχιστο μέγεθος</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για ελάχιστο μέγεθος</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για καλύτερη εμφάνιση</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Το κουμπί «Μου αρέσει» είναι διαμορφωμένο για καλύτερη εμφάνιση</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Εμφάνιση των εκτιμώμενων «Μου αρέσει»</string>
|
<string name="revanced_ryd_estimated_like_title">Εμφάνιση των εκτιμώμενων «Μου αρέσει»</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Τα εκτιμώμενα «Μου αρέσει» εμφανίζονται</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Τα βίντεο με απενεργοποιημένα «Μου αρέσει» εμφανίζουν έναν εκτιμώμενο αριθμό «Μου αρέσει»</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Τα εκτιμώμενα «Μου αρέσει» δεν εμφανίζονται</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Τα εκτιμώμενα «Μου αρέσει» δεν εμφανίζονται</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Εμφάνιση μηνύματος αν το API δεν είναι διαθέσιμο</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Εμφάνιση μηνύματος αν το API δεν είναι διαθέσιμο</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Να εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν το Return YouTube Dislike δεν είναι διαθέσιμο</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Να εμφανίζεται μήνυμα στο κάτω μέρος της οθόνης αν το Return YouTube Dislike δεν είναι διαθέσιμο</string>
|
||||||
@ -1108,7 +1122,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Αλλαγή της αρχικής σελίδας</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_default">Προεπιλογή</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Όλες οι εγγραφές</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>
|
||||||
@ -1133,6 +1147,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Εικονική Πραγματικότητα</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Εικονική Πραγματικότητα</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Παρακολούθηση αργότερα</string>
|
<string name="revanced_change_start_page_entry_watch_later">Παρακολούθηση αργότερα</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Τα κλιπ σας</string>
|
<string name="revanced_change_start_page_entry_your_clips">Τα κλιπ σας</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Να αλλάζει πάντα η αρχική σελίδα</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Η αρχική σελίδα αλλάζει πάντα
|
||||||
|
|
||||||
|
Περιορισμός: Η χρήση του κουμπιού επιστροφής στη γραμμή εργαλείων ενδέχεται να μην λειτουργεί"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Η αρχική σελίδα αλλάζει μόνο κατά την εκκίνηση της εφαρμογής</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Απενεργοποίηση συνέχισης των Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Απενεργοποίηση συνέχισης των Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="microg_settings_title">Ρυθμίσεις GmsCore</string>
|
<string name="microg_settings_title">Ρυθμίσεις GmsCore</string>
|
||||||
<string name="microg_settings_summary">Ρυθμίσεις για το MicroG GmsCore</string>
|
<string name="microg_settings_summary">Ρυθμίσεις για το MicroG GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Εάν αλλάξατε πρόσφατα τα στοιχεία σύνδεσης του λογαριασμού σας, απεγκαταστήστε και εγκαταστήστε ξανά το MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Παράκαμψη ανακατευθύνσεων συνδέσμων</string>
|
<string name="revanced_bypass_url_redirects_title">Παράκαμψη ανακατευθύνσεων συνδέσμων</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Οι ανακατευθύνσεις συνδέσμων URL παρακάμπτονται</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Οι ανακατευθύνσεις συνδέσμων URL παρακάμπτονται</string>
|
||||||
|
@ -456,29 +456,38 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activar gesto de brillo automático</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activar gesto de brillo automático</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Deslizar hacia abajo hasta el valor más bajo del gesto de brillo permite el brillo automático</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Deslizar hacia abajo hasta el valor más bajo del gesto de brillo permite el brillo automático</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Deslizar hacia abajo hasta el valor más bajo no habilita el brillo automático</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Deslizar hacia abajo hasta el valor más bajo no habilita el brillo automático</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automático</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Tiempo de espera del deslizado</string>
|
<string name="revanced_swipe_overlay_timeout_title">Tiempo de espera del deslizado</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">La cantidad de milisegundos que la superposición es visible</string>
|
<string name="revanced_swipe_overlay_timeout_summary">La cantidad de milisegundos que la superposición es visible</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Opacidad del fondo de la superposición de deslizamiento</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Opacidad del fondo de la superposición de deslizamiento</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Valor de opacidad entre 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Valor de opacidad entre 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">La opacidad de la superposición de deslizamiento debe estar entre 0 y 100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">La opacidad de la superposición de deslizamiento debe estar entre 0 y 100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Color de la barra de progreso de la superposición de deslizamiento</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">El color de la barra de progreso para los controles de volumen y brillo</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Color de barra de progreso no válido</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Tamaño del texto de la superposición de deslizamiento</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">El tamaño del texto para la superposición de deslizamiento entre 1 y 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">El tamaño del texto debe estar entre 1 y 30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Umbral de magnitud del deslizamiento</string>
|
<string name="revanced_swipe_threshold_title">Umbral de magnitud del deslizamiento</string>
|
||||||
<string name="revanced_swipe_threshold_summary">La cantidad de umbral para que se desliza</string>
|
<string name="revanced_swipe_threshold_summary">La cantidad de umbral para que se desliza</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Sensibilidad del deslizamiento de volumen</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Sensibilidad del deslizamiento de volumen</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Cuánto cambia el volumen por deslizamiento</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Cuánto cambia el volumen por deslizamiento</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Mostrar superposición circular</string>
|
<string name="revanced_swipe_overlay_style_title">Estilo de superposición de deslizamiento</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Se muestra la superposición circular</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Superposición horizontal</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Se muestra la superposición horizontal</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Superposición horizontal (mínima - superior)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Habilitar estilo minimalista</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Superposición horizontal (mínima - centro)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">El estilo de superposición mínima está habilitado</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Superposición circular</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">El estilo de superposición mínima está desactivado</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Superposición circular (mínima)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Superposición vertical</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Superposición vertical (mínima)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Habilita el deslizamiento para cambiar videos</string>
|
<string name="revanced_swipe_change_video_title">Habilita el deslizamiento para cambiar videos</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Deslizar en modo de pantalla completa cambiará al video siguiente/anterior</string>
|
<string name="revanced_swipe_change_video_summary_on">Deslizar en modo de pantalla completa cambiará al video siguiente/anterior</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Deslizar en modo de pantalla completa no cambiará al video siguiente/anterior</string>
|
<string name="revanced_swipe_change_video_summary_off">Deslizar en modo de pantalla completa no cambiará al video siguiente/anterior</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Desactivar auto subtítulos</string>
|
<string name="revanced_disable_auto_captions_title">Desactivar auto subtítulos</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Los títulos automáticos están desactivados</string>
|
<string name="revanced_disable_auto_captions_summary_on">Los subtítulos Auto están desactivados</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Los títulos automáticos están habilitados</string>
|
<string name="revanced_disable_auto_captions_summary_off">Los subtítulos Auto están activados</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Botones de acción</string>
|
<string name="revanced_hide_buttons_screen_title">Botones de acción</string>
|
||||||
@ -510,6 +519,11 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"</s
|
|||||||
<string name="revanced_hide_thanks_button_title">Ocultar Gracias</string>
|
<string name="revanced_hide_thanks_button_title">Ocultar Gracias</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">El botón de gracias está oculto</string>
|
<string name="revanced_hide_thanks_button_summary_on">El botón de gracias está oculto</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Se muestra el botón de gracias</string>
|
<string name="revanced_hide_thanks_button_summary_off">Se muestra el botón de gracias</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Ocultar pregunta</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">El botón \"Preguntar\" está oculto</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Se muestra el botón \"Preguntar\"</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Ocultar Recortar</string>
|
<string name="revanced_hide_clip_button_title">Ocultar Recortar</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">El botón del recortar está oculto</string>
|
<string name="revanced_hide_clip_button_summary_on">El botón del recortar está oculto</string>
|
||||||
@ -829,8 +843,8 @@ Limitación: Es posible que los Dislikes no aparezcan en el modo de incógnito"<
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Botón \"Me gusta\" para el ancho mínimo</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Botón \"Me gusta\" para el ancho mínimo</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Botón \"Me gusta\" para una mejor apariencia</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Botón \"Me gusta\" para una mejor apariencia</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Mostrar estimación de \"me gusta\"</string>
|
<string name="revanced_ryd_estimated_like_title">Mostrar estimación de \"me gusta\"</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Se muestra la estimación de \"me gusta\"</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Los vídeos con \"me gusta\" desactivados muestran un recuento estimado de \"me gusta\"</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Se oculta la estimación de \"me gusta\"</string>
|
<string name="revanced_ryd_estimated_like_summary_off">No se muestran los \"me gusta\" estimados</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar un brindis si la API no está disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Mostrar un brindis si la API no está disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se muestra si Devolución de YouTube Dislike no está disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Toast se muestra si Devolución de YouTube Dislike no está disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast no se muestra si Devolución de YouTube Dislike no está disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Toast no se muestra si Devolución de YouTube Dislike no está disponible</string>
|
||||||
@ -1095,7 +1109,7 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar iconos de navegación antiguos</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurar iconos de navegación antiguos</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Establecer página de inicio</string>
|
<string name="revanced_change_start_page_title">Cambiar página de inicio</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Predeterminado</string>
|
<string name="revanced_change_start_page_entry_default">Predeterminado</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Todas las suscripciones</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Todas las suscripciones</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Navegar canales</string>
|
<string name="revanced_change_start_page_entry_browse">Navegar canales</string>
|
||||||
@ -1120,6 +1134,11 @@ Si se desactiva posteriormente, se recomienda borrar los datos de la aplicación
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Realidad virtual</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Realidad virtual</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Ver más tarde</string>
|
<string name="revanced_change_start_page_entry_watch_later">Ver más tarde</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Tus clips</string>
|
<string name="revanced_change_start_page_entry_your_clips">Tus clips</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Cambiar siempre la página de inicio</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"La página de inicio siempre se cambia
|
||||||
|
|
||||||
|
Limitación: Es posible que el uso del botón de retroceso en la barra de herramientas no funcione"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">La página de inicio se cambia solo al iniciar la aplicación</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Desactivar reanudación del reproductor de Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Desactivar reanudación del reproductor de Shorts</string>
|
||||||
@ -1280,6 +1299,9 @@ Habilitar esto puede desbloquear calidades de vídeo más altas"</string>
|
|||||||
<string name="microg_settings_title">Ajustes de GmsCore</string>
|
<string name="microg_settings_title">Ajustes de GmsCore</string>
|
||||||
<string name="microg_settings_summary">Configuración de GmsCore</string>
|
<string name="microg_settings_summary">Configuración de GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Si has cambiado recientemente los datos de inicio de sesión de tu cuenta, desinstala y vuelve a instalar MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Evitar redirecciones de URL</string>
|
<string name="revanced_bypass_url_redirects_title">Evitar redirecciones de URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Se omiten las redirecciones de URL</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Se omiten las redirecciones de URL</string>
|
||||||
|
@ -459,29 +459,38 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Luba automaatse heleduse žest</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Luba automaatse heleduse žest</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Pühkige alla heleduse žesti madalaima väärtuseni, et lubada automaatne heleduse</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Pühkige alla heleduse žesti madalaima väärtuseni, et lubada automaatne heleduse</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pühkimine alla madalaima väärtuseni ei luba automaatset heleduse</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pühkimine alla madalaima väärtuseni ei luba automaatset heleduse</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Auto</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Pühkimise katte aegumisaeg</string>
|
<string name="revanced_swipe_overlay_timeout_title">Pühkimise katte aegumisaeg</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Katte näitamise millisekundite arv</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Katte näitamise millisekundite arv</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Pühkiva katte tausta läbipaistvus</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Pühkiva katte tausta läbipaistvus</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Läbipaistvuse väärtus vahemikus 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Läbipaistvuse väärtus vahemikus 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Pühkiva katte läbipaistvus peab olema vahemikus 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Pühkiva katte läbipaistvus peab olema vahemikus 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Liigutamise ülekatte edenemisriba värv</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Helitugevuse ja heleduse juhtnuppude edenemisriba värv</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Vigane edenemisriba värv</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Liigutamise ülekatte teksti suurus</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Liigutamise ülekatte teksti suurus vahemikus 1–30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Teksti suurus peab olema vahemikus 1–30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Pühkimise suuruse lävi</string>
|
<string name="revanced_swipe_threshold_title">Pühkimise suuruse lävi</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Lävi väärtus pühkimise toimimiseks</string>
|
<string name="revanced_swipe_threshold_summary">Lävi väärtus pühkimise toimimiseks</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Helitugevuse libistamise tundlikkus</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Helitugevuse libistamise tundlikkus</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Kui palju helitugevus ühe libistusega muutub</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Kui palju helitugevus ühe libistusega muutub</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Kuva ümmargune ülekattekiht</string>
|
<string name="revanced_swipe_overlay_style_title">Nipsa ülekattestiil</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Ümmargune ülekattekiht on nähtav</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Horisontaalne ülekate</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Horisontaalne ülekattekiht on nähtav</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Horisontaalne ülekate (minimaalne – üleval)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Luba minimaalne stiil</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Horisontaalne ülekate (minimaalne – keskel)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimaalne kattekihi stiil on lubatud</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Ümmargune ülekate</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimaalne ülekattekihi stiil on keelatud</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Ümmargune ülekate (minimaalne)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Vertikaalne ülekate</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Vertikaalne ülekate (minimaalne)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Luba pühkimine videote vahetamiseks</string>
|
<string name="revanced_swipe_change_video_title">Luba pühkimine videote vahetamiseks</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Täisekraanrežiimis pühkimine vahetab järgmise/eelmise video</string>
|
<string name="revanced_swipe_change_video_summary_on">Täisekraanrežiimis pühkimine vahetab järgmise/eelmise video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Täisekraanrežiimis pühkimine ei vaheta järgmise/eelmise video</string>
|
<string name="revanced_swipe_change_video_summary_off">Täisekraanrežiimis pühkimine ei vaheta järgmise/eelmise video</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Keela automaatsed pealdised</string>
|
<string name="revanced_disable_auto_captions_title">Keela automaatsed pealdised</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Automaatsed pealdised on keelatud</string>
|
<string name="revanced_disable_auto_captions_summary_on">Automaatsed subtiitrid on keelatud</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Automaatsed pealdised on lubatud</string>
|
<string name="revanced_disable_auto_captions_summary_off">Automaatsed subtiitrid on lubatud</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Tegevuse nupud</string>
|
<string name="revanced_hide_buttons_screen_title">Tegevuse nupud</string>
|
||||||
@ -513,6 +522,11 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"</st
|
|||||||
<string name="revanced_hide_thanks_button_title">Peida Tänan</string>
|
<string name="revanced_hide_thanks_button_title">Peida Tänan</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Tänan nupp on peidetud</string>
|
<string name="revanced_hide_thanks_button_summary_on">Tänan nupp on peidetud</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Tänan nupp on nähtav</string>
|
<string name="revanced_hide_thanks_button_summary_off">Tänan nupp on nähtav</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Peida küsi</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Küsi nupp on peidetud</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Küsi nupp on nähtav</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Peida Lõik</string>
|
<string name="revanced_hide_clip_button_title">Peida Lõik</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Lõigu nupp on peidetud</string>
|
<string name="revanced_hide_clip_button_summary_on">Lõigu nupp on peidetud</string>
|
||||||
@ -832,8 +846,8 @@ Piirang: Ei meeldimised ei pruugi inkognito režiimis kuvada"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Meeldimise nupp on stiilitud minimaalse laiusena</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Meeldimise nupp on stiilitud minimaalse laiusena</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Meeldimise nupp on stiilitud parima välimusega</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Meeldimise nupp on stiilitud parima välimusega</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Näita hinnangulisi meeldimisi</string>
|
<string name="revanced_ryd_estimated_like_title">Näita hinnangulisi meeldimisi</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Hinnangulised meeldimised on näidatud</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Videod, millel on keelatud meeldimised, näitavad meeldimiste arvu ligikaudset väärtust</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Hinnangulised meeldimised on peidetud</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Ligikaudsed meeldimised ei ole näidatud</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Näita teadet, kui API pole saadaval</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Näita teadet, kui API pole saadaval</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Teade näidatakse, kui Return YouTube Dislike pole saadaval</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Teade näidatakse, kui Return YouTube Dislike pole saadaval</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Teadet ei näidata, kui Return YouTube Dislike pole saadaval</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Teadet ei näidata, kui Return YouTube Dislike pole saadaval</string>
|
||||||
@ -1107,7 +1121,7 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 – Taasta vanad navigeerimisikoonid</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 – Taasta vanad navigeerimisikoonid</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Määra algusleht</string>
|
<string name="revanced_change_start_page_title">Muuda alguslehte</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Vaikimisi</string>
|
<string name="revanced_change_start_page_entry_default">Vaikimisi</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Kõik tellimused</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Kõik tellimused</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Sirvi kanaleid</string>
|
<string name="revanced_change_start_page_entry_browse">Sirvi kanaleid</string>
|
||||||
@ -1132,6 +1146,11 @@ Kui see hiljem välja lülitatakse, on soovitatav rakenduse andmed kustutada, et
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalne Reaalsus</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalne Reaalsus</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Vaata hiljem</string>
|
<string name="revanced_change_start_page_entry_watch_later">Vaata hiljem</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Teie klipid</string>
|
<string name="revanced_change_start_page_entry_your_clips">Teie klipid</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Muuda alati avalehte</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Alguslehte muudetakse alati
|
||||||
|
|
||||||
|
Piirang: tööriistaribal tagasinupp ei pruugi töötada"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Avalehte muudetakse ainult rakenduse käivitamisel</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Keela Shortsi esitaja jätkamine</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Keela Shortsi esitaja jätkamine</string>
|
||||||
@ -1292,6 +1311,9 @@ Selle lubamine võib avada kõrgema video kvaliteedi"</string>
|
|||||||
<string name="microg_settings_title">GmsCore seaded</string>
|
<string name="microg_settings_title">GmsCore seaded</string>
|
||||||
<string name="microg_settings_summary">GmsCore seaded</string>
|
<string name="microg_settings_summary">GmsCore seaded</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Kui sa hiljuti muutsid oma konto sisselogimisandmeid, siis eemalda ja installeeri MicroG uuesti.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Ümbersuunamiste URL-id mööda minna</string>
|
<string name="revanced_bypass_url_redirects_title">Ümbersuunamiste URL-id mööda minna</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Ümbersuunamiste URL-id mööda minnakse</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Ümbersuunamiste URL-id mööda minnakse</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -104,6 +104,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -215,6 +217,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -459,6 +459,7 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Ota automaattisen kirkkauden ele käyttöön</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Ota automaattisen kirkkauden ele käyttöön</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Automaattinen kirkkaus otetaan käyttöön pyyhkäisemällä alhaisimpaan arvoon</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Automaattinen kirkkaus otetaan käyttöön pyyhkäisemällä alhaisimpaan arvoon</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pienimpään arvoon alas pyyhkäiseminen ei ota käyttöön automaattista kirkkautta</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Pienimpään arvoon alas pyyhkäiseminen ei ota käyttöön automaattista kirkkautta</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automaattinen</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Pyyhkäisyikkunan aikakatkaisu</string>
|
<string name="revanced_swipe_overlay_timeout_title">Pyyhkäisyikkunan aikakatkaisu</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Kuinka monta millisekuntia ikkuna on näkyvissä</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Kuinka monta millisekuntia ikkuna on näkyvissä</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Pyyhkäisypeittokuvan taustan läpinäkymättömyys</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Pyyhkäisypeittokuvan taustan läpinäkymättömyys</string>
|
||||||
@ -468,20 +469,14 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
|
|||||||
<string name="revanced_swipe_threshold_summary">Pyyhkäisyä varten tarvittavan kynnyksen määrä</string>
|
<string name="revanced_swipe_threshold_summary">Pyyhkäisyä varten tarvittavan kynnyksen määrä</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Äänenvoimakkuuden pyyhkäisyn herkkyys</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Äänenvoimakkuuden pyyhkäisyn herkkyys</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Kuinka paljon äänenvoimakkuus muuttuu pyyhkäisyä kohden</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Kuinka paljon äänenvoimakkuus muuttuu pyyhkäisyä kohden</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Näytä pyöreä peittokuva</string>
|
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Pyöreä peittokuva näytetään</string>
|
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Vaakasuora peittokuva näytetään</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Käytä minimaalista tyyliä</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Minimaalinen peittokuva on käytössä</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Minimaalinen peittokuva ei ole käytössä</string>
|
|
||||||
<string name="revanced_swipe_change_video_title">Ota videon vaihto pyyhkäisemällä käyttöön</string>
|
<string name="revanced_swipe_change_video_title">Ota videon vaihto pyyhkäisemällä käyttöön</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Pyyhkäisemällä kokoruututilassa siirrytään seuraavaan/edelliseen videoon</string>
|
<string name="revanced_swipe_change_video_summary_on">Pyyhkäisemällä kokoruututilassa siirrytään seuraavaan/edelliseen videoon</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Pyyhkäisemällä kokoruututilassa ei siirrytä seuraavaan/edelliseen videoon</string>
|
<string name="revanced_swipe_change_video_summary_off">Pyyhkäisemällä kokoruututilassa ei siirrytä seuraavaan/edelliseen videoon</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Poista automaattiset tekstitykset käytöstä</string>
|
<string name="revanced_disable_auto_captions_title">Poista automaattiset tekstitykset käytöstä</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Automaattiset tekstitykset eivät ole käytössä</string>
|
<string name="revanced_disable_auto_captions_summary_on">Automaattiset tekstitykset eivät ole käytössä</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Automaattiset tekstitykset ovat käytössä</string>
|
<string name="revanced_disable_auto_captions_summary_off">Automaattiset tekstitykset ovat käytössä</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Toimintopainikkeet</string>
|
<string name="revanced_hide_buttons_screen_title">Toimintopainikkeet</string>
|
||||||
@ -513,6 +508,8 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu
|
|||||||
<string name="revanced_hide_thanks_button_title">Piilota Kiitos</string>
|
<string name="revanced_hide_thanks_button_title">Piilota Kiitos</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Kiitos-painike on piilotettu</string>
|
<string name="revanced_hide_thanks_button_summary_on">Kiitos-painike on piilotettu</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Kiitos-painike näytetään</string>
|
<string name="revanced_hide_thanks_button_summary_off">Kiitos-painike näytetään</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Piilota Klippi</string>
|
<string name="revanced_hide_clip_button_title">Piilota Klippi</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Klippi-painike on piilotettu</string>
|
<string name="revanced_hide_clip_button_summary_on">Klippi-painike on piilotettu</string>
|
||||||
@ -832,8 +829,8 @@ Rajoitus: Ei-tykkäykset eivät välttämättä näy incognito-tilassa"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Tykkää-painike on muotoiltu mahdollisimman kapeaksi</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Tykkää-painike on muotoiltu mahdollisimman kapeaksi</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Tykkää-painike on muotoiltu parhaan näköiseksi</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Tykkää-painike on muotoiltu parhaan näköiseksi</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Näytä arvioidut tykkäykset</string>
|
<string name="revanced_ryd_estimated_like_title">Näytä arvioidut tykkäykset</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Arvioidut tykkäykset näytetään</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Videot, joiden tykkäykset on poistettu käytöstä, näyttävät arvioidun tykkäysten määrän</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Arvioidut tykkäykset on piilotettu</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Arvioituja tykkäyksiä ei näytetä</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Näytä ponnahdusilmoitus, jos API ei ole käytettävissä</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Näytä ponnahdusilmoitus, jos API ei ole käytettävissä</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ponnahdusilmoitus näytetään, jos Return YouTube Dislike ei ole käytettävissä</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ponnahdusilmoitus näytetään, jos Return YouTube Dislike ei ole käytettävissä</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Ponnahdusilmoitusta ei näytetä, jos Return YouTube Dislike ei ole käytettävissä</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Ponnahdusilmoitusta ei näytetä, jos Return YouTube Dislike ei ole käytettävissä</string>
|
||||||
@ -1107,7 +1104,7 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Palauta vanhat navigointikuvakkeet</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Palauta vanhat navigointikuvakkeet</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Aseta aloitussivu</string>
|
<string name="revanced_change_start_page_title">Vaihda aloitussivua</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Oletus</string>
|
<string name="revanced_change_start_page_entry_default">Oletus</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Kaikki tilaukset</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Kaikki tilaukset</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Selaa kanavia</string>
|
<string name="revanced_change_start_page_entry_browse">Selaa kanavia</string>
|
||||||
@ -1132,6 +1129,11 @@ Jos tämä poistetaan myöhemmin käytöstä, on suositeltavaa tyhjentää sovel
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalitodellisuus</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtuaalitodellisuus</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Katso myöhemmin</string>
|
<string name="revanced_change_start_page_entry_watch_later">Katso myöhemmin</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Omat klipit</string>
|
<string name="revanced_change_start_page_entry_your_clips">Omat klipit</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Vaihda aloitussivu aina</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Aloitussivu vaihdetaan aina
|
||||||
|
|
||||||
|
Rajoitus: Työkalupalkin takaisin-painikkeen käyttäminen ei välttämättä toimi"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Aloitussivu vaihdetaan vain sovelluksen käynnistyessä</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Poista Shorts-soittimen jatkaminen käytöstä</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Poista Shorts-soittimen jatkaminen käytöstä</string>
|
||||||
@ -1292,6 +1294,8 @@ Tämä voi avata korkealaatuisemmat videot"</string>
|
|||||||
<string name="microg_settings_title">GmsCore-asetukset</string>
|
<string name="microg_settings_title">GmsCore-asetukset</string>
|
||||||
<string name="microg_settings_summary">GmsCoren asetukset</string>
|
<string name="microg_settings_summary">GmsCoren asetukset</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Ohita URL-osoitteen uudelleenohjaukset</string>
|
<string name="revanced_bypass_url_redirects_title">Ohita URL-osoitteen uudelleenohjaukset</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL-osoitteen uudelleenohjaukset ohitetaan</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL-osoitteen uudelleenohjaukset ohitetaan</string>
|
||||||
|
@ -459,29 +459,38 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">I-enable ang galaw ng auto-brightness</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">I-enable ang galaw ng auto-brightness</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Ang pag-swipe pababa sa pinakamababang halaga ng brightness gesture ay nagbibigay-daan sa auto-brightness</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Ang pag-swipe pababa sa pinakamababang halaga ng brightness gesture ay nagbibigay-daan sa auto-brightness</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Ang pag-swipe pababa sa pinakamababang halaga ay hindi nagpapagana ng auto-brightness</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Ang pag-swipe pababa sa pinakamababang halaga ay hindi nagpapagana ng auto-brightness</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Awtomatik</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Mag-swipe overlay timeout</string>
|
<string name="revanced_swipe_overlay_timeout_title">Mag-swipe overlay timeout</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Ang dami ng millisecond na nakikita ang overlay</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Ang dami ng millisecond na nakikita ang overlay</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Transparency ng background ng swipe overlay</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Transparency ng background ng swipe overlay</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Halaga ng opacity sa pagitan ng 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Halaga ng opacity sa pagitan ng 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Ang opacity ng swipe ay dapat nasa pagitan ng 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Ang opacity ng swipe ay dapat nasa pagitan ng 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Kulay ng progress bar ng swipe overlay</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Ang kulay ng progress bar para sa mga kontrol ng volume at brightness</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Hindi wasto ang kulay ng progress bar</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Laki ng teksto ng swipe overlay</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Ang laki ng teksto para sa swipe overlay sa pagitan ng 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Ang laki ng teksto ay dapat sa pagitan ng 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">I-swipe ang magnitude threshold</string>
|
<string name="revanced_swipe_threshold_title">I-swipe ang magnitude threshold</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Ang halaga ng threshold para sa pag-swipe na magaganap</string>
|
<string name="revanced_swipe_threshold_summary">Ang halaga ng threshold para sa pag-swipe na magaganap</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Pagkasensitibo sa pag-swipe ng volume</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Pagkasensitibo sa pag-swipe ng volume</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Gaano karami ang pagbabago ng volume sa bawat swipe</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Gaano karami ang pagbabago ng volume sa bawat swipe</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Ipakita ang pabilog na overlay</string>
|
<string name="revanced_swipe_overlay_style_title">Estilo ng swipe overlay</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Ipinapakita ang pabilog na overlay</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Pahalang na overlay</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Ipinapakita ang pahalang na overlay</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Pahalang na overlay (minimal - itaas)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">I-enable ang minimal na istilo</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Pahalang na overlay (minimal - gitna)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Naka-enable ang minimal na istilo ng overlay</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Pabilog na overlay</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Hindi pinagana ang minimal na istilo ng overlay</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Pabilog na overlay (minimal)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Patayong overlay</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Patayong overlay (minimal)</string>
|
||||||
<string name="revanced_swipe_change_video_title">I-enable ang swipe para magpalit ng mga video</string>
|
<string name="revanced_swipe_change_video_title">I-enable ang swipe para magpalit ng mga video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Ang pag-swipe sa full screen mode ay magpapalit sa susunod/nakaraang video</string>
|
<string name="revanced_swipe_change_video_summary_on">Ang pag-swipe sa full screen mode ay magpapalit sa susunod/nakaraang video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Ang pag-swipe sa full screen ay hindi magpapalit sa susunod/nakaraang video</string>
|
<string name="revanced_swipe_change_video_summary_off">Ang pag-swipe sa full screen ay hindi magpapalit sa susunod/nakaraang video</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Huwag paganahin ang mga auto caption</string>
|
<string name="revanced_disable_auto_captions_title">Huwag paganahin ang mga auto caption</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Naka-disable ang mga auto caption</string>
|
<string name="revanced_disable_auto_captions_summary_on">Naka-disable ang mga Auto caption</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Ang mga auto caption ay pinagana</string>
|
<string name="revanced_disable_auto_captions_summary_off">Naka-enable ang mga Auto caption</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Mga pindutan ng pagkilos</string>
|
<string name="revanced_hide_buttons_screen_title">Mga pindutan ng pagkilos</string>
|
||||||
@ -513,6 +522,11 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc
|
|||||||
<string name="revanced_hide_thanks_button_title">Itago Salamat</string>
|
<string name="revanced_hide_thanks_button_title">Itago Salamat</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Nakatago ang buton ng salamat</string>
|
<string name="revanced_hide_thanks_button_summary_on">Nakatago ang buton ng salamat</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Ang pindutan ng salamat ay ipinapakita</string>
|
<string name="revanced_hide_thanks_button_summary_off">Ang pindutan ng salamat ay ipinapakita</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Itago ang Tanong</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Nakatago ang button na Tanong</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Ipinapakita ang button na Tanong</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Itago ang Clip</string>
|
<string name="revanced_hide_clip_button_title">Itago ang Clip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Nakatago ang clip button</string>
|
<string name="revanced_hide_clip_button_summary_on">Nakatago ang clip button</string>
|
||||||
@ -830,8 +844,8 @@ Limitasyon: Maaaring hindi lumabas ang mga Dislike sa incognito mode"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Like button na naka-istilong para sa minimum na lapad</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Like button na naka-istilong para sa minimum na lapad</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">I-style na button para sa pinakamahusay na hitsura</string>
|
<string name="revanced_ryd_compact_layout_summary_off">I-style na button para sa pinakamahusay na hitsura</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Ipakita ang tinantyang mga gusto</string>
|
<string name="revanced_ryd_estimated_like_title">Ipakita ang tinantyang mga gusto</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Ipinapakita ang tinantyang mga gusto</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Ipinapakita ng mga video na naka-disable ang mga like ang tinatayang bilang ng mga like</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Nakatago ang tinantyang mga gusto</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Hindi ipinapakita ang mga tinatayang like</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Magpakita ng toast kung hindi available ang API</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Magpakita ng toast kung hindi available ang API</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ipapakita ang toast kung hindi available ang Return YouTube Dislike</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Ipapakita ang toast kung hindi available ang Return YouTube Dislike</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Hindi ipinapakita ang toast kung hindi available ang Return YouTube Dislike</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Hindi ipinapakita ang toast kung hindi available ang Return YouTube Dislike</string>
|
||||||
@ -1105,7 +1119,7 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ibalik ang mga lumang icon ng navigation</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ibalik ang mga lumang icon ng navigation</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Itakda ang panimulang pahina</string>
|
<string name="revanced_change_start_page_title">Baguhin ang panimulang pahina</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Regular</string>
|
<string name="revanced_change_start_page_entry_default">Regular</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Lahat ng mga subscription</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Lahat ng mga subscription</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Mag-browse ng mga channel</string>
|
<string name="revanced_change_start_page_entry_browse">Mag-browse ng mga channel</string>
|
||||||
@ -1130,6 +1144,11 @@ Kung mamaya ay patayin, inirerekumenda na i-clear ang data ng app upang maiwasan
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtual Reality</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Panoorin mamaya</string>
|
<string name="revanced_change_start_page_entry_watch_later">Panoorin mamaya</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Mga clip mo</string>
|
<string name="revanced_change_start_page_entry_your_clips">Mga clip mo</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Palaging baguhin ang panimulang pahina</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Palaging binabago ang panimulang pahina
|
||||||
|
|
||||||
|
Limitasyon: Maaaring hindi gumana ang paggamit ng back button sa toolbar"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Binago ang panimulang pahina sa pagbukas lang ng app</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Huwag paganahin ang pagpapatuloy na manlalaro ng Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Huwag paganahin ang pagpapatuloy na manlalaro ng Shorts</string>
|
||||||
@ -1290,6 +1309,9 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"</st
|
|||||||
<string name="microg_settings_title">Mga Setting ng GmsCore</string>
|
<string name="microg_settings_title">Mga Setting ng GmsCore</string>
|
||||||
<string name="microg_settings_summary">Mga setting para sa GmsCore</string>
|
<string name="microg_settings_summary">Mga setting para sa GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Kung kamakailan mo lang binago ang mga detalye sa pag-login sa iyong account, i-uninstall at muling i-install ang MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">I-bypass ang mga pag-redirect ng URL</string>
|
<string name="revanced_bypass_url_redirects_title">I-bypass ang mga pag-redirect ng URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Ang mga pag-redirect ng URL ay na-bypass</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Ang mga pag-redirect ng URL ay na-bypass</string>
|
||||||
|
@ -459,29 +459,38 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activer le geste de luminosité automatique</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Activer le geste de luminosité automatique</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Balayer vers le bas jusqu\'à la valeur minimum du geste de contrôle de la luminosité active la luminosité automatique</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Balayer vers le bas jusqu\'à la valeur minimum du geste de contrôle de la luminosité active la luminosité automatique</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Balayer vers le bas jusqu\'à la valeur minimum n\'active pas la luminosité automatique</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Balayer vers le bas jusqu\'à la valeur minimum n\'active pas la luminosité automatique</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatique</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Délai avant disparition de l\'overlay des gestes</string>
|
<string name="revanced_swipe_overlay_timeout_title">Délai avant disparition de l\'overlay des gestes</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">La durée en millisecondes pendant laquelle l\'overlay est visible</string>
|
<string name="revanced_swipe_overlay_timeout_summary">La durée en millisecondes pendant laquelle l\'overlay est visible</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Opacité de l\'arrière-plan de l\'overlay des gestes</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Opacité de l\'arrière-plan de l\'overlay des gestes</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Valeur de l\'opacité entre 0 et 100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Valeur de l\'opacité entre 0 et 100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacité doit être comprise entre 0 et 100 pour les gestes</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacité doit être comprise entre 0 et 100 pour les gestes</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Couleur de la barre de progression de l\'overlay des gestes</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">La couleur de la barre de progression pour les commandes de volume et de luminosité</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Couleur de barre de progression invalide</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Taille du texte de l\'overlay des gestes</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">La taille du texte de l\'overlay des gestes comprise entre 1 et 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">La taille du texte doit être comprise entre 1 et 30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Seuil d\'intensité des balayages</string>
|
<string name="revanced_swipe_threshold_title">Seuil d\'intensité des balayages</string>
|
||||||
<string name="revanced_swipe_threshold_summary">L\'intensité du mouvement à effectuer pour qu\'un balayage soit pris en compte</string>
|
<string name="revanced_swipe_threshold_summary">L\'intensité du mouvement à effectuer pour qu\'un balayage soit pris en compte</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Sensibilité du geste de contrôle du volume</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Sensibilité du geste de contrôle du volume</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Quantité de modification du volume à chaque balayage</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Quantité de modification du volume à chaque balayage</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Afficher l\'overlay circulaire</string>
|
<string name="revanced_swipe_overlay_style_title">Style de l\'overlay des gestes</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">L\'overlay circulaire est affiché</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Overlay horizontal</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">L\'overlay horizontal est affiché</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Overlay horizontal (minimal, haut)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Activer le style minimaliste</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Overlay horizontal (minimal, centre)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Le style minimaliste d\'overlay est activé</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Overlay circulaire</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Le style minimaliste d\'overlay est désactivé</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Overlay circulaire (minimal)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Overlay vertical</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Overlay vertical (minimal)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Activer Balayer pour changer de vidéo</string>
|
<string name="revanced_swipe_change_video_title">Activer Balayer pour changer de vidéo</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">En mode plein écran, vous passerez à la vidéo précédente/suivante en balayant l\'écran</string>
|
<string name="revanced_swipe_change_video_summary_on">En mode plein écran, vous passerez à la vidéo précédente/suivante en balayant l\'écran</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">En mode plein écran, vous ne changerez pas de vidéo en balayant l\'écran</string>
|
<string name="revanced_swipe_change_video_summary_off">En mode plein écran, vous ne changerez pas de vidéo en balayant l\'écran</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Désactiver les sous-titres automatiques</string>
|
<string name="revanced_disable_auto_captions_title">Désactiver les sous-titres automatiques</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Les sous-titres automatiques sont désactivés</string>
|
<string name="revanced_disable_auto_captions_summary_on">Les sous-titres automatiques sont désactivés</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Les sous-titres automatiques sont activés</string>
|
<string name="revanced_disable_auto_captions_summary_off">Les sous-titres automatiques sont activés</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Boutons d\'action</string>
|
<string name="revanced_hide_buttons_screen_title">Boutons d\'action</string>
|
||||||
@ -513,6 +522,11 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
|
|||||||
<string name="revanced_hide_thanks_button_title">Masquer \"Merci\"</string>
|
<string name="revanced_hide_thanks_button_title">Masquer \"Merci\"</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Le bouton Merci est masqué</string>
|
<string name="revanced_hide_thanks_button_summary_on">Le bouton Merci est masqué</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Le bouton Merci est affiché</string>
|
<string name="revanced_hide_thanks_button_summary_off">Le bouton Merci est affiché</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Masquer Demander</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Le bouton Demander est masqué</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Le bouton Demander est affiché</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Masquer \"Clip\"</string>
|
<string name="revanced_hide_clip_button_title">Masquer \"Clip\"</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Le bouton Clip est masqué</string>
|
<string name="revanced_hide_clip_button_summary_on">Le bouton Clip est masqué</string>
|
||||||
@ -832,8 +846,8 @@ Limitation : Il se peut que les \"Je n'aime pas\" n'apparaissent pas en mode na
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Bouton J\'aime optimisé pour minimiser la taille</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Bouton J\'aime optimisé pour minimiser la taille</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Bouton J\'aime optimisé pour l\'apparence</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Bouton J\'aime optimisé pour l\'apparence</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Afficher les \"J\'aime\" estimés</string>
|
<string name="revanced_ryd_estimated_like_title">Afficher les \"J\'aime\" estimés</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Les \"J\'aime\" estimés sont affichés</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Un nombre estimé de \"J\'aime\" est affiché sous les vidéos où les \"J\'aime\" sont désactivés</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Les \"J\'aime\" estimés sont masqués</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Les \"J\'aime\" estimés ne sont pas affichés</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Afficher un message toast si l\'API n\'est pas disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Afficher un message toast si l\'API n\'est pas disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Un message toast est affiché si Return YouTube Dislike n\'est pas disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Un message toast est affiché si Return YouTube Dislike n\'est pas disponible</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Aucun message toast affiché si Return YouTube Dislike n\'est pas disponible</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Aucun message toast affiché si Return YouTube Dislike n\'est pas disponible</string>
|
||||||
@ -1106,7 +1120,7 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurer les anciennes icônes de navigation</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Restaurer les anciennes icônes de navigation</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Définir la page ouverte au lancement</string>
|
<string name="revanced_change_start_page_title">Modifier la page de démarrage</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Par défaut</string>
|
<string name="revanced_change_start_page_entry_default">Par défaut</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Tous les abonnements</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Tous les abonnements</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Parcourir les chaînes</string>
|
<string name="revanced_change_start_page_entry_browse">Parcourir les chaînes</string>
|
||||||
@ -1131,6 +1145,11 @@ Si désactivé ultérieurement, il est recommandé d'effacer les données de l'a
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Réalité virtuelle</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Réalité virtuelle</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">À regarder plus tard</string>
|
<string name="revanced_change_start_page_entry_watch_later">À regarder plus tard</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Vos clips</string>
|
<string name="revanced_change_start_page_entry_your_clips">Vos clips</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Toujours modifier la page de démarrage</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"La page de démarrage est toujours modifiée
|
||||||
|
|
||||||
|
Limitation : Il se peut que le bouton Retour dans la barre d'outils ne fonctionne pas"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">La page de démarrage est modifiée uniquement au démarrage de l\'application</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Désactiver la reprise du lecteur Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Désactiver la reprise du lecteur Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"</str
|
|||||||
<string name="microg_settings_title">Paramètres GmsCore</string>
|
<string name="microg_settings_title">Paramètres GmsCore</string>
|
||||||
<string name="microg_settings_summary">Paramètres relatifs à GmsCore</string>
|
<string name="microg_settings_summary">Paramètres relatifs à GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Si vous avez récemment modifié vos informations de connexion, désinstallez et réinstallez MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Contourner les redirections d\'URL</string>
|
<string name="revanced_bypass_url_redirects_title">Contourner les redirections d\'URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Les redirections d\'URL sont contournées</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Les redirections d\'URL sont contournées</string>
|
||||||
|
@ -459,29 +459,38 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Cumasaigh gotha uathoibríoch</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Cumasaigh gotha uathoibríoch</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Cumasaíonn scioradh síos go dtí an luach is ísle den chomhartha gile uathoibríoch</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Cumasaíonn scioradh síos go dtí an luach is ísle den chomhartha gile uathoibríoch</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Ní chumasaíonn uathoibríoch a tharraingt síos go dtí an luach is ísle</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Ní chumasaíonn uathoibríoch a tharraingt síos go dtí an luach is ísle</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Uathoibríoch</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Amach forleagtha Swipe</string>
|
<string name="revanced_swipe_overlay_timeout_title">Amach forleagtha Swipe</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Tá méid na milleasoicind an forleagan le feiceáil</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Tá méid na milleasoicind an forleagan le feiceáil</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Réabhlóid thrasláiteachta na gcúlra léaráidí</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Réabhlóid thrasláiteachta na gcúlra léaráidí</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Luach léaráidí idir 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Luach léaráidí idir 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Caithfidh léaráidí traslaithe a bheith idir 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Caithfidh léaráidí traslaithe a bheith idir 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Dath an bharra dul chun cinn forleagain swipe</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Dath an bharra dul chun cinn le haghaidh rialuithe toirte agus gile</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Dath barra dul chun cinn neamhbhailí</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Méid téacs an fhorleagain swipe</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Méid téacs an fhorleagain swipe idir 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Caithfidh an méid téacs a bheith idir 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Tairseach méid swipe</string>
|
<string name="revanced_swipe_threshold_title">Tairseach méid swipe</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Méid an tairseach le haghaidh sruthú tarlú</string>
|
<string name="revanced_swipe_threshold_summary">Méid an tairseach le haghaidh sruthú tarlú</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Íogaireacht swipe toirte</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Íogaireacht swipe toirte</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">An méid a athraíonn an toirt in aghaidh gach swipe</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">An méid a athraíonn an toirt in aghaidh gach swipe</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Taispeáin forleagan ciorclach</string>
|
<string name="revanced_swipe_overlay_style_title">Stíl forleagain swipe</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Léirítear forleagan ciorclach</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Forleagan cothrománach</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Taispeántar forleagan cothrománach</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Forleagan cothrománach (íosta - barr)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Cumasaigh stíl íosta</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Forleagan cothrománach (íosta - lár)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Tá stíl íosta forleagain cumasaithe</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Forleagan ciorclach</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Tá an stíl fhorleagan íosta díchumasaithe</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Forleagan ciorclach (íosta)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Forleagan ingearach</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Forleagan ingearach (íosta)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Cumasaigh swipe chun físeáin a athrú</string>
|
<string name="revanced_swipe_change_video_title">Cumasaigh swipe chun físeáin a athrú</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Achlaigh i mód lán-scáile chun athrú go dtí an físeán chéanna/arís</string>
|
<string name="revanced_swipe_change_video_summary_on">Achlaigh i mód lán-scáile chun athrú go dtí an físeán chéanna/arís</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Ní athróidh achlaigh i mód lán-scáile go dtí an físeán chéanna/arís</string>
|
<string name="revanced_swipe_change_video_summary_off">Ní athróidh achlaigh i mód lán-scáile go dtí an físeán chéanna/arís</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Díchumasaigh fotheidil uathoibríoch</string>
|
<string name="revanced_disable_auto_captions_title">Díchumasaigh fotheidil uathoibríoch</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Tá fotheidil uathoibríoch díchumasaithe</string>
|
<string name="revanced_disable_auto_captions_summary_on">Tá fotheidil uathoibríocha díchumasaithe</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Tá fotheidil uathoibríoch cumasaithe</string>
|
<string name="revanced_disable_auto_captions_summary_off">Tá fotheidil uathoibríocha cumasaithe</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Cnaipí gníomh</string>
|
<string name="revanced_hide_buttons_screen_title">Cnaipí gníomh</string>
|
||||||
@ -513,6 +522,11 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile
|
|||||||
<string name="revanced_hide_thanks_button_title">Folaigh Go raibh maith agat</string>
|
<string name="revanced_hide_thanks_button_title">Folaigh Go raibh maith agat</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Tá cnaipe buíochas i bhfolach</string>
|
<string name="revanced_hide_thanks_button_summary_on">Tá cnaipe buíochas i bhfolach</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Taispeántar cnaipe buíochas</string>
|
<string name="revanced_hide_thanks_button_summary_off">Taispeántar cnaipe buíochas</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Folaigh Fiafraigh</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Tá cnaipe Fiafraigh i bhfolach</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Taispeántar cnaipe Fiafraigh</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Folaigh Gearrthóg</string>
|
<string name="revanced_hide_clip_button_title">Folaigh Gearrthóg</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Tá an cnaipe gearrthóg i bhfolach</string>
|
<string name="revanced_hide_clip_button_summary_on">Tá an cnaipe gearrthóg i bhfolach</string>
|
||||||
@ -832,8 +846,8 @@ Srianadh: Bíodh easaontais gan teacht ar taispeáint sa mhodh incognito"</strin
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Cosúil le cnaipe stíleáilte don leithead íosta</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Cosúil le cnaipe stíleáilte don leithead íosta</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Cosúil le cnaipe stíleáilte don chuma is fearr</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Cosúil le cnaipe stíleáilte don chuma is fearr</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Taispeáin na rudaí is maith leis</string>
|
<string name="revanced_ryd_estimated_like_title">Taispeáin na rudaí is maith leis</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Taispeántar cosúlachtaí measta</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Taispeánann físeáin le maith díchumasaithe comhaireamh measta maith</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Tá a leithéidí measta i bhfolach</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Ní thaispeántar maith measta</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Taispeáin tósta mura bhfuil API ar fáil</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Taispeáin tósta mura bhfuil API ar fáil</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Taispeántar tósta mura bhfuil Return YouTube Dislike ar fáil</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Taispeántar tósta mura bhfuil Return YouTube Dislike ar fáil</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Ní thaispeántar tóst mura bhfuil Return YouTube Dislike ar fáil</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Ní thaispeántar tóst mura bhfuil Return YouTube Dislike ar fáil</string>
|
||||||
@ -1107,7 +1121,7 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Athchóiriú Sean Icóin Treorach</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Athchóiriú Sean Icóin Treorach</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Socraigh leathanach tosaigh</string>
|
<string name="revanced_change_start_page_title">Athraigh an leathanach tosaigh</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Réamhshocraithe</string>
|
<string name="revanced_change_start_page_entry_default">Réamhshocraithe</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Uile shuibhscríbhinní</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Uile shuibhscríbhinní</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Brabhsáil cainéil</string>
|
<string name="revanced_change_start_page_entry_browse">Brabhsáil cainéil</string>
|
||||||
@ -1132,6 +1146,11 @@ Má dhiúltaítear é níos déanaí, moltar sonraí an aip a ghlanadh chun buga
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Fíor-Rialtas</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Fíor-Rialtas</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Féach ar níos déanaí</string>
|
<string name="revanced_change_start_page_entry_watch_later">Féach ar níos déanaí</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Do chlipbhoirt</string>
|
<string name="revanced_change_start_page_entry_your_clips">Do chlipbhoirt</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Athraigh an leathanach tosaigh i gcónaí</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Athraítear an leathanach tosaigh i gcónaí
|
||||||
|
|
||||||
|
Teorainn: Seans nach n-oibreoidh úsáid a bhaint as an gcnaipe cúil ar an mbarra uirlisí"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Ní athraítear an leathanach tosaigh ach amháin ar tosú an aip</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Díchumasaigh an t-imreoir Shorts atá ag tosú arís</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Díchumasaigh an t-imreoir Shorts atá ag tosú arís</string>
|
||||||
@ -1292,6 +1311,9 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil"</string>
|
|||||||
<string name="microg_settings_title">Socruithe GmsCore</string>
|
<string name="microg_settings_title">Socruithe GmsCore</string>
|
||||||
<string name="microg_settings_summary">Socruithe le haghaidh GmsCore</string>
|
<string name="microg_settings_summary">Socruithe le haghaidh GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Má d’athraigh tú sonraí logála isteach do chuntais le déanaí, ansin díshuiteáil agus athshuiteáil MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Atreoracha seachbhóthar URL</string>
|
<string name="revanced_bypass_url_redirects_title">Atreoracha seachbhóthar URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Seachnaítear atreoruithe URL</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Seachnaítear atreoruithe URL</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -459,29 +459,38 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"</st
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Auto fényerő gesztus engedélyezése</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Auto fényerő gesztus engedélyezése</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">A fényerő kézmozdulat legalacsonyabb értékig csúsztatása engedélyezi az auto fényerőt</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">A fényerő kézmozdulat legalacsonyabb értékig csúsztatása engedélyezi az auto fényerőt</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">A legalacsonyabb értékig csúsztatás nem engedélyezi az auto fényerőt</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">A legalacsonyabb értékig csúsztatás nem engedélyezi az auto fényerőt</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatikus</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Csúsztatási átfedés időkorlátja</string>
|
<string name="revanced_swipe_overlay_timeout_title">Csúsztatási átfedés időkorlátja</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Az átfedés láthatóságának időtartama ezredmásodpercben</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Az átfedés láthatóságának időtartama ezredmásodpercben</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Az áthúzás átfedésének átlátszósága</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Az áthúzás átfedésének átlátszósága</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Az átlátszóság értéke 0-100 között legyen</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Az átlátszóság értéke 0-100 között legyen</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">A csúsztatás átlátszóságának 0 és 100 között kell lennie</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">A csúsztatás átlátszóságának 0 és 100 között kell lennie</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Áthúzás fedvény folyamatjelző sáv színe</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">A hangerő és fényerő szabályozók folyamatjelző sávjának színe</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Érvénytelen folyamatjelző sávszín</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Áthúzás fedvény szövegmérete</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Az áthúzás fedvény szövegmérete 1-30 között</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">A szövegméretnek 1-30 között kell lennie</string>
|
||||||
<string name="revanced_swipe_threshold_title">A csúsztatás küszöbértéke</string>
|
<string name="revanced_swipe_threshold_title">A csúsztatás küszöbértéke</string>
|
||||||
<string name="revanced_swipe_threshold_summary">A csúsztatáshoz szükséges küszöbérték</string>
|
<string name="revanced_swipe_threshold_summary">A csúsztatáshoz szükséges küszöbérték</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Hangerő-görgetés érzékenysége</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Hangerő-görgetés érzékenysége</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Mennyit változzon a hangerő görgetésenként</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Mennyit változzon a hangerő görgetésenként</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Kör alakú fedvény megjelenítése</string>
|
<string name="revanced_swipe_overlay_style_title">Áthúzásos fedvény stílusa</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Kör alakú fedvény megjelenik</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Vízszintes fedvény</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Vízszintes fedvény megjelenik</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Vízszintes fedvény (minimalista – felül)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Minimál stílus engedélyezése</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Vízszintes fedvény (minimalista – középen)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">A minimál fedési stílus engedélyezve van</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Körkörös fedvény</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">A minimalista fedvény stílus le van tiltva</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Körkörös fedvény (minimalista)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Függőleges fedvény</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Függőleges fedvény (minimalista)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Engedélyezze az ujjbegyújtással történő videóváltást</string>
|
<string name="revanced_swipe_change_video_title">Engedélyezze az ujjbegyújtással történő videóváltást</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Teljes képernyős módban történő ujjbegyújtás megváltoztatja a következő/előző videóra</string>
|
<string name="revanced_swipe_change_video_summary_on">Teljes képernyős módban történő ujjbegyújtás megváltoztatja a következő/előző videóra</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Teljes képernyős módban történő ujjbegyújtás nem változtatja meg a következő/előző videóra</string>
|
<string name="revanced_swipe_change_video_summary_off">Teljes képernyős módban történő ujjbegyújtás nem változtatja meg a következő/előző videóra</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Automatikus feliratok letiltása</string>
|
<string name="revanced_disable_auto_captions_title">Automatikus feliratok letiltása</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Az automatikus feliratok le vannak tiltva</string>
|
<string name="revanced_disable_auto_captions_summary_on">Az automatikus feliratok ki vannak kapcsolva</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Az automatikus feliratok engedélyezve vannak</string>
|
<string name="revanced_disable_auto_captions_summary_off">Az automatikus feliratok be vannak kapcsolva</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Művelet gombok</string>
|
<string name="revanced_hide_buttons_screen_title">Művelet gombok</string>
|
||||||
@ -513,6 +522,11 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"</st
|
|||||||
<string name="revanced_hide_thanks_button_title">Köszönet elrejtése</string>
|
<string name="revanced_hide_thanks_button_title">Köszönet elrejtése</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">A köszönet gomb el van rejtve</string>
|
<string name="revanced_hide_thanks_button_summary_on">A köszönet gomb el van rejtve</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">A köszönet gomb látható</string>
|
<string name="revanced_hide_thanks_button_summary_off">A köszönet gomb látható</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Ask elrejtése</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Az Ask gomb el van rejtve</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Az Ask gomb látható</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Vágás gomb elrejtése</string>
|
<string name="revanced_hide_clip_button_title">Vágás gomb elrejtése</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">A klip gomb el van rejtve</string>
|
<string name="revanced_hide_clip_button_summary_on">A klip gomb el van rejtve</string>
|
||||||
@ -832,8 +846,8 @@ Korlátozás: A nem tetszések inkognitómódban nem jelenhetnek meg"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">A tetszik gomb minimális szélességre formázva</string>
|
<string name="revanced_ryd_compact_layout_summary_on">A tetszik gomb minimális szélességre formázva</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">A tetszik gomb a legjobb megjelenésre formázva</string>
|
<string name="revanced_ryd_compact_layout_summary_off">A tetszik gomb a legjobb megjelenésre formázva</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Becsült kedvelések mutatása</string>
|
<string name="revanced_ryd_estimated_like_title">Becsült kedvelések mutatása</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">A becsült kedvelések láthatók</string>
|
<string name="revanced_ryd_estimated_like_summary_on">A letiltott kedvelésekkel rendelkező videók a becsült kedvelések számát mutatják</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">A becsült kedvelések rejtve vannak</string>
|
<string name="revanced_ryd_estimated_like_summary_off">A becsült kedvelések nem jelennek meg</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Üzenet megjelenítése, ha az API nem elérhető</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Üzenet megjelenítése, ha az API nem elérhető</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Üzenet megjelenítése, ha a Return YouTube Dislike nem elérhető</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Üzenet megjelenítése, ha a Return YouTube Dislike nem elérhető</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nem jelenik meg üzenet, ha a Return YouTube Dislike nem elérhető</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nem jelenik meg üzenet, ha a Return YouTube Dislike nem elérhető</string>
|
||||||
@ -1106,7 +1120,7 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Állítsa vissza a régi navigációs ikonokat</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Állítsa vissza a régi navigációs ikonokat</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Kezdőlap beállítása</string>
|
<string name="revanced_change_start_page_title">Kezdőlap módosítása</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Alapértelmezett</string>
|
<string name="revanced_change_start_page_entry_default">Alapértelmezett</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Összes feliratkozás</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Összes feliratkozás</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Csatornák böngészése</string>
|
<string name="revanced_change_start_page_entry_browse">Csatornák böngészése</string>
|
||||||
@ -1131,6 +1145,9 @@ Ha később kikapcsolja, akkor ajánlott az alkalmazás adatait törölni, hogy
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Virtuális valóság</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Virtuális valóság</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Megnézem később</string>
|
<string name="revanced_change_start_page_entry_watch_later">Megnézem később</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">A saját klipjeid</string>
|
<string name="revanced_change_start_page_entry_your_clips">A saját klipjeid</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Mindig módosítsa a kezdőoldalt</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"A kezdőlap mindig módosítva van\n\nKorlátozás: A visszalépés gomb a eszköztáron nem biztos, hogy működik"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">A kezdőoldal csak az alkalmazás indításakor változik meg</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">A Shorts lejátszás folytatásának kikapcsolása</string>
|
<string name="revanced_disable_resuming_shorts_player_title">A Shorts lejátszás folytatásának kikapcsolása</string>
|
||||||
@ -1291,6 +1308,9 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"</s
|
|||||||
<string name="microg_settings_title">GmsCore beállítások</string>
|
<string name="microg_settings_title">GmsCore beállítások</string>
|
||||||
<string name="microg_settings_summary">A GmsCore beállításai</string>
|
<string name="microg_settings_summary">A GmsCore beállításai</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Ha nemrég módosította a fiókja bejelentkezési adatait, távolítsa el, majd telepítse újra a MicroG-t.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">URL átirányítások kikerülése</string>
|
<string name="revanced_bypass_url_redirects_title">URL átirányítások kikerülése</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL átirányítások kikerülve</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL átirányítások kikerülve</string>
|
||||||
|
@ -459,29 +459,38 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Միացնել ավտոմատ լուսավորության ժեստը</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Միացնել ավտոմատ լուսավորության ժեստը</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Լուսավորության ժեստի ամենացածր արժեքին իջնելը միացնում է ավտոմատ լուսավորությունը</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Լուսավորության ժեստի ամենացածր արժեքին իջնելը միացնում է ավտոմատ լուսավորությունը</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Լուսավորության ժեստի ամենացածր արժեքին իջնելը չի միացնում ավտոմատ լուսավորությունը</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Լուսավորության ժեստի ամենացածր արժեքին իջնելը չի միացնում ավտոմատ լուսավորությունը</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Ավտո</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Սահմանման վերածումը հետաձգելու ժամանակը</string>
|
<string name="revanced_swipe_overlay_timeout_title">Սահմանման վերածումը հետաձգելու ժամանակը</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Վերածման ցուցադրման տևողությունը միլիվայրկյաններով</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Վերածման ցուցադրման տևողությունը միլիվայրկյաններով</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Սողացման ծածկույթի ֆոնի անթափանցություն</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Սողացման ծածկույթի ֆոնի անթափանցություն</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Անթափանցության արժեք 0-100 միջակայքում</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Անթափանցության արժեք 0-100 միջակայքում</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Սողալու անթափանցությունը պետք է լինի 0-100 միջակայքում</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Սողալու անթափանցությունը պետք է լինի 0-100 միջակայքում</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Սահեցրեք շերտի առաջընթացի սանդղակի գույնը</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Ձայնի և պայծառության կառավարման համար նախատեսված առաջընթացի սանդղակի գույնը</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Առաջընթացի սանդղակի անվավեր գույն</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Սահեցրեք շերտի տեքստի չափը</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Սահեցրեք շերտի տեքստի չափը 1-30 միջակայքում</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Տեքստի չափը պետք է լինի 1-30 միջակայքում</string>
|
||||||
<string name="revanced_swipe_threshold_title">Սահմանման վերածման չափը</string>
|
<string name="revanced_swipe_threshold_title">Սահմանման վերածման չափը</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Սահմանման վերածման չափը</string>
|
<string name="revanced_swipe_threshold_summary">Սահմանման վերածման չափը</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Ձայնի սահեցման զգայունություն</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Ձայնի սահեցման զգայունություն</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Թե որքան է ձայնի բարձրությունը փոխվում մեկ սահեցմամբ</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Թե որքան է ձայնի բարձրությունը փոխվում մեկ սահեցմամբ</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Ցույց տալ շրջանաձև ծածկույթը</string>
|
<string name="revanced_swipe_overlay_style_title">Սահեցրեք էկրանի ծածկույթի ոճը</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Ցուցադրված է շրջանաձև ծածկույթ</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Հորիզոնական ծածկույթ</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Հորիզոնական ծածկույթը ցուցադրվում է</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Հորիզոնական ծածկույթ (նվազագույն - վերևում)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Միացնել նվազագույն ոճը</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Հորիզոնական ծածկույթ (նվազագույն - կենտրոնում)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Միացված է նվազագույն վերադրման ոճը</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Շրջանաձև ծածկույթ</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Նվազագույն ծածկույթի ոճն անջատված է</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Շրջանաձև ծածկույթ (նվազագույն)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Ուղղահայաց ծածկույթ</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Ուղղահայաց ծածկույթ (նվազագույն)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Վայրէջքով տեսանյութերը փոխելու ակտիվացում</string>
|
<string name="revanced_swipe_change_video_title">Վայրէջքով տեսանյութերը փոխելու ակտիվացում</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Լիարժեք ռեժիմով վայրէջքը կփոխվի հաջորդ / նախորդ տեսանյութին</string>
|
<string name="revanced_swipe_change_video_summary_on">Լիարժեք ռեժիմով վայրէջքը կփոխվի հաջորդ / նախորդ տեսանյութին</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Լիարժեք ռեժիմով վայրէջքը չի փոխվի հաջորդ / նախորդ տեսանյութին</string>
|
<string name="revanced_swipe_change_video_summary_off">Լիարժեք ռեժիմով վայրէջքը չի փոխվի հաջորդ / նախորդ տեսանյութին</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Անջատել ավտոմատ ենթագրերը</string>
|
<string name="revanced_disable_auto_captions_title">Անջատել ավտոմատ ենթագրերը</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Ավտոմատ ենթագրերը անջատված են</string>
|
<string name="revanced_disable_auto_captions_summary_on">Auto ենթագրերը անջատված են</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Ավտոմատ ենթագրերը միացված են</string>
|
<string name="revanced_disable_auto_captions_summary_off">Auto ենթագրերը միացված են</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Գործողության կոճակներ</string>
|
<string name="revanced_hide_buttons_screen_title">Գործողության կոճակներ</string>
|
||||||
@ -513,6 +522,11 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
|||||||
<string name="revanced_hide_thanks_button_title">Թաքցնել Thanks</string>
|
<string name="revanced_hide_thanks_button_title">Թաքցնել Thanks</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Thanks կոճակը թաքցված է</string>
|
<string name="revanced_hide_thanks_button_summary_on">Thanks կոճակը թաքցված է</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Thanks կոճակը ցուցադրվում է</string>
|
<string name="revanced_hide_thanks_button_summary_off">Thanks կոճակը ցուցադրվում է</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Թաքցնել հարցումը</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Հարցման կոճակը թաքցված է</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Հարցման կոճակը երևում է</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Թաքցնել Clip</string>
|
<string name="revanced_hide_clip_button_title">Թաքցնել Clip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Clip կոճակը թաքցված է</string>
|
<string name="revanced_hide_clip_button_summary_on">Clip կոճակը թաքցված է</string>
|
||||||
@ -832,8 +846,8 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">\"Like\" կոճակը ոճավորված է մինիմալ մեծության համար</string>
|
<string name="revanced_ryd_compact_layout_summary_on">\"Like\" կոճակը ոճավորված է մինիմալ մեծության համար</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">\"Like\" կոճակը ոճավորված է լավագույն հայացքի համար</string>
|
<string name="revanced_ryd_compact_layout_summary_off">\"Like\" կոճակը ոճավորված է լավագույն հայացքի համար</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Ցույց տալ մոտավոր հավանումները</string>
|
<string name="revanced_ryd_estimated_like_title">Ցույց տալ մոտավոր հավանումները</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Ցուցադրվում են մոտավոր հավանումները</string>
|
<string name="revanced_ryd_estimated_like_summary_on">«Հավանումներն» անջատված տեսանյութերը ցույց են տալիս հավանումների մոտավոր քանակը</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Մոտավոր հավանումները թաքցված են</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Մոտավոր հավանումները չեն ցուցադրվում</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Ցուցադրել \"toast\", եթե API-ն հասանելի չէ</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Ցուցադրել \"toast\", եթե API-ն հասանելի չէ</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">\"Toast\"-ը ցուցադրվում է, եթե Return YouTube Dislike-ը հասանելի չէ</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">\"Toast\"-ը ցուցադրվում է, եթե Return YouTube Dislike-ը հասանելի չէ</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">\"Toast\"-ը չի ցուցադրվում, եթե Return YouTube Dislike-ը հասանելի չէ</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">\"Toast\"-ը չի ցուցադրվում, եթե Return YouTube Dislike-ը հասանելի չէ</string>
|
||||||
@ -1107,7 +1121,7 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Վերականգնել հին նավիգացիոն պատկերակները</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Վերականգնել հին նավիգացիոն պատկերակները</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Սահմանել մեկնարկային էջ</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_default">Ըստ լռելյայնի</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Բոլոր բաժանորդագրությունները</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>
|
||||||
@ -1132,6 +1146,11 @@ Seekbar thumbnails-ները կօգտագործեն նույն որակը, ինչ
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Վիրտուալ իրականություն</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Վիրտուալ իրականություն</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Դիտել հետո</string>
|
<string name="revanced_change_start_page_entry_watch_later">Դիտել հետո</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Your clips</string>
|
<string name="revanced_change_start_page_entry_your_clips">Your clips</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Միշտ փոխել մեկնարկային էջը</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Մեկնարկային էջը միշտ փոխված է
|
||||||
|
|
||||||
|
Սահմանափակում. գործիքագոտու վրա հետադարձ կոճակն օգտագործելը կարող է չաշխատել"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Մեկնարկային էջը փոխվում է միայն հավելվածի գործարկման ժամանակ</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Անջատել Shorts պլեյերի վերսկսումը</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Անջատել Shorts պլեյերի վերսկսումը</string>
|
||||||
@ -1292,6 +1311,9 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի
|
|||||||
<string name="microg_settings_title">GmsCore կարգավորումներ</string>
|
<string name="microg_settings_title">GmsCore կարգավորումներ</string>
|
||||||
<string name="microg_settings_summary">GmsCore-ի կարգավորումներ</string>
|
<string name="microg_settings_summary">GmsCore-ի կարգավորումներ</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Եթե վերջերս փոխել եք ձեր հաշվի մուտքի տվյալները, ապա ջնջեք և նորից տեղադրեք MicroG-ն:</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">URL-ի վերահղումների հնարավորությունը անջատել</string>
|
<string name="revanced_bypass_url_redirects_title">URL-ի վերահղումների հնարավորությունը անջատել</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">URL-ի վերահղումները անջատված են</string>
|
<string name="revanced_bypass_url_redirects_summary_on">URL-ի վերահղումները անջատված են</string>
|
||||||
|
@ -459,29 +459,38 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"</string
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Aktifkan gerakan kecerahan otomatis</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Aktifkan gerakan kecerahan otomatis</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Mengusap ke bawah ke nilai terendah dari gerakan kecerahan akan menyalakan kecerahan otomatis</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Mengusap ke bawah ke nilai terendah dari gerakan kecerahan akan menyalakan kecerahan otomatis</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Mengusap ke bawah ke nilai terendah tidak mengaktifkan kecerahan otomatis</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Mengusap ke bawah ke nilai terendah tidak mengaktifkan kecerahan otomatis</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Otomatis</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Batas waktu hamparan usap</string>
|
<string name="revanced_swipe_overlay_timeout_title">Batas waktu hamparan usap</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">Jumlah milidetik hamparan terlihat</string>
|
<string name="revanced_swipe_overlay_timeout_summary">Jumlah milidetik hamparan terlihat</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Opasitas latar belakang hamparan geser</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Opasitas latar belakang hamparan geser</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Nilai opasitas antara 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Nilai opasitas antara 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Opasitas geser harus antara 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Opasitas geser harus antara 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Warna bilah kemajuan lapisan usap</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Warna bilah kemajuan untuk kontrol volume dan kecerahan</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Warna bilah kemajuan tidak sah</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Ukuran teks lapisan usap</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">Ukuran teks untuk lapisan usap antara 1-30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">Ukuran teks harus antara 1-30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Ambang batas magnitudo usap</string>
|
<string name="revanced_swipe_threshold_title">Ambang batas magnitudo usap</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Jumlah ambang batas untuk terjadinya usapan</string>
|
<string name="revanced_swipe_threshold_summary">Jumlah ambang batas untuk terjadinya usapan</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Sensitivitas gesek volume</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Sensitivitas volume usap</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">Seberapa besar perubahan volume per gesekan</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">Seberapa besar perubahan volume per usapan</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Tampilkan hamparan melingkar</string>
|
<string name="revanced_swipe_overlay_style_title">Gaya hamparan usap</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">Hamparan melingkar ditampilkan</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Hamparan horizontal</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">Hamparan horizontal ditampilkan</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Hamparan horizontal (minimal - atas)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Aktifkan gaya minimal</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Hamparan horizontal (minimal - tengah)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Gaya hamparan minimal diaktifkan</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Hamparan melingkar</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Gaya hamparan minimal dinonaktifkan</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Hamparan melingkar (minimal)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Hamparan vertikal</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Hamparan vertikal (minimal)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Aktifkan usapan untuk beralih video</string>
|
<string name="revanced_swipe_change_video_title">Aktifkan usapan untuk beralih video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Mengusap dalam mode layar penuh akan beralih ke video berikutnya/sebelumnya</string>
|
<string name="revanced_swipe_change_video_summary_on">Mengusap dalam mode layar penuh akan beralih ke video berikutnya/sebelumnya</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Mengusap dalam mode layar penuh tidak akan beralih ke video berikutnya/sebelumnya</string>
|
<string name="revanced_swipe_change_video_summary_off">Mengusap dalam mode layar penuh tidak akan beralih ke video berikutnya/sebelumnya</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Matikan teks otomatis</string>
|
<string name="revanced_disable_auto_captions_title">Matikan teks otomatis</string>
|
||||||
<string name="revanced_auto_captions_summary_on">Teks otomatis dinonaktifkan</string>
|
<string name="revanced_disable_auto_captions_summary_on">Teks otomatis dinonaktifkan</string>
|
||||||
<string name="revanced_auto_captions_summary_off">Teks otomatis diaktifkan</string>
|
<string name="revanced_disable_auto_captions_summary_off">Teks otomatis diaktifkan</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Tombol tindakan</string>
|
<string name="revanced_hide_buttons_screen_title">Tombol tindakan</string>
|
||||||
@ -513,6 +522,11 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"</string
|
|||||||
<string name="revanced_hide_thanks_button_title">Sembunyikan Terima kasih</string>
|
<string name="revanced_hide_thanks_button_title">Sembunyikan Terima kasih</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Tombol terima kasih disembunyikan</string>
|
<string name="revanced_hide_thanks_button_summary_on">Tombol terima kasih disembunyikan</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Tombol terima kasih ditampilkan</string>
|
<string name="revanced_hide_thanks_button_summary_off">Tombol terima kasih ditampilkan</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Sembunyikan Tanya</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Tombol Tanya disembunyikan</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Tombol Tanya ditampilkan</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Sembunyikan Klip</string>
|
<string name="revanced_hide_clip_button_title">Sembunyikan Klip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Tombol klip disembunyikan</string>
|
<string name="revanced_hide_clip_button_summary_on">Tombol klip disembunyikan</string>
|
||||||
@ -832,8 +846,8 @@ Batasan: Dislike mungkin tidak muncul dalam mode penyamaran"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Tombol suka ditata untuk lebar minimum</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Tombol suka ditata untuk lebar minimum</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Tombol suka ditata untuk tampilan terbaik</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Tombol suka ditata untuk tampilan terbaik</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Tampilkan perkiraan suka</string>
|
<string name="revanced_ryd_estimated_like_title">Tampilkan perkiraan suka</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Perkiraan suka ditampilkan</string>
|
<string name="revanced_ryd_estimated_like_summary_on">Video dengan suka yang dinonaktifkan menampilkan perkiraan jumlah suka</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">Perkiraan suka disembunyikan</string>
|
<string name="revanced_ryd_estimated_like_summary_off">Perkiraan jumlah suka tidak ditampilkan</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Tampilkan pesan timbul jika API tidak tersedia</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Tampilkan pesan timbul jika API tidak tersedia</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Pesan timbul tidak ditampilkan jika Return YouTube Dislike tidak tersedia</string>
|
||||||
@ -1106,7 +1120,7 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Pulihkan ikon navigasi lama</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Pulihkan ikon navigasi lama</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Tetapkan halaman awal</string>
|
<string name="revanced_change_start_page_title">Ubah halaman awal</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Bawaan</string>
|
<string name="revanced_change_start_page_entry_default">Bawaan</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Semua langganan</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Semua langganan</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Jelajahi saluran</string>
|
<string name="revanced_change_start_page_entry_browse">Jelajahi saluran</string>
|
||||||
@ -1131,6 +1145,11 @@ Jika kemudian dimatikan, disarankan untuk menghapus data aplikasi untuk mencegah
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Realitas Virtual</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Realitas Virtual</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Tonton nanti</string>
|
<string name="revanced_change_start_page_entry_watch_later">Tonton nanti</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Klip Anda</string>
|
<string name="revanced_change_start_page_entry_your_clips">Klip Anda</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Selalu ubah halaman awal</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"Halaman awal selalu diubah
|
||||||
|
|
||||||
|
Batasan: Menggunakan tombol kembali pada toolbar mungkin tidak berfungsi"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">Halaman awal hanya diubah saat aplikasi dimulai</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Matikan melanjutkan pemutar video Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Matikan melanjutkan pemutar video Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi"</string>
|
|||||||
<string name="microg_settings_title">Pengaturan GmsCore</string>
|
<string name="microg_settings_title">Pengaturan GmsCore</string>
|
||||||
<string name="microg_settings_summary">Pengaturan untuk GmsCore</string>
|
<string name="microg_settings_summary">Pengaturan untuk GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Jika Anda baru saja mengubah detail login akun Anda, hapus pemasangan dan ulangi memasang MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Abaikan pengalihan URL</string>
|
<string name="revanced_bypass_url_redirects_title">Abaikan pengalihan URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">Pengalihan URL diabaikan</string>
|
<string name="revanced_bypass_url_redirects_summary_on">Pengalihan URL diabaikan</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -459,29 +459,38 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Attiva il gesto della luminosità automatica</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Attiva il gesto della luminosità automatica</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Scorri verso il basso fino al valore più basso del gesto luminosità per abilitare la luminosità automatica</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Scorri verso il basso fino al valore più basso del gesto luminosità per abilitare la luminosità automatica</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Scorrendo verso il basso, il valore più basso non abilita la luminosità automatica</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Scorrendo verso il basso, il valore più basso non abilita la luminosità automatica</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatico</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">Timeout sovrapposizione dello scorrimento</string>
|
<string name="revanced_swipe_overlay_timeout_title">Timeout sovrapposizione dello scorrimento</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">La visibilità in millisecondi della sovrapposizione</string>
|
<string name="revanced_swipe_overlay_timeout_summary">La visibilità in millisecondi della sovrapposizione</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">Opacità di sfondo della sovrapposizione di scorrimento</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">Opacità di sfondo della sovrapposizione di scorrimento</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">Valore di opacità tra 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">Valore di opacità tra 0-100</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacità di scorrimento deve essere tra 0-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">L\'opacità di scorrimento deve essere tra 0-100</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">Colore della barra di avanzamento della sovrapposizione a scorrimento</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">Il colore della barra di avanzamento per i controlli di volume e luminosità</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">Colore della barra di avanzamento non valido</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">Dimensione del testo della sovrapposizione a scorrimento</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">La dimensione del testo per la sovrapposizione a scorrimento tra 1 e 30</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">La dimensione del testo deve essere compresa tra 1 e 30</string>
|
||||||
<string name="revanced_swipe_threshold_title">Ampiezza limite della soglia di scorrimento</string>
|
<string name="revanced_swipe_threshold_title">Ampiezza limite della soglia di scorrimento</string>
|
||||||
<string name="revanced_swipe_threshold_summary">Il limite di ampiezza entro cui deve avvenire lo scorrimento</string>
|
<string name="revanced_swipe_threshold_summary">Il limite di ampiezza entro cui deve avvenire lo scorrimento</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">Sensibilità allo scorrimento del volume</string>
|
<string name="revanced_swipe_volume_sensitivity_title">Sensibilità allo scorrimento del volume</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">La quantità di volume che cambia per scorrimento</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">La quantità di volume che cambia per scorrimento</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">Mostra sovrapposizione circolare</string>
|
<string name="revanced_swipe_overlay_style_title">Stile sovrapposizione a scorrimento</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">La sovrapposizione circolare viene mostrata</string>
|
<string name="revanced_swipe_overlay_style_entry_1">Sovrapposizione orizzontale</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">La sovrapposizione orizzontale viene mostrata</string>
|
<string name="revanced_swipe_overlay_style_entry_2">Sovrapposizione orizzontale (minima - in alto)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">Abilita stile minimale</string>
|
<string name="revanced_swipe_overlay_style_entry_3">Sovrapposizione orizzontale (minima - al centro)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">Lo stile di sovrapposizione minimale è abilitato</string>
|
<string name="revanced_swipe_overlay_style_entry_4">Sovrapposizione circolare</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">Lo stile di sovrapposizione minimale è disabilitato</string>
|
<string name="revanced_swipe_overlay_style_entry_5">Sovrapposizione circolare (minima)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">Sovrapposizione verticale</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">Sovrapposizione verticale (minima)</string>
|
||||||
<string name="revanced_swipe_change_video_title">Attiva il gesto per cambiare video</string>
|
<string name="revanced_swipe_change_video_title">Attiva il gesto per cambiare video</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">Lo scorrimento in modalità a schermo intero passerà al video successivo/precedente</string>
|
<string name="revanced_swipe_change_video_summary_on">Lo scorrimento in modalità a schermo intero passerà al video successivo/precedente</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">Lo scorrimento in modalità schermo intero non cambierà al video successivo/precedente</string>
|
<string name="revanced_swipe_change_video_summary_off">Lo scorrimento in modalità schermo intero non cambierà al video successivo/precedente</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">Disabilita i sottotitoli automatici </string>
|
<string name="revanced_disable_auto_captions_title">Disabilita i sottotitoli automatici </string>
|
||||||
<string name="revanced_auto_captions_summary_on">I sottotitoli automatici sono disabilitati</string>
|
<string name="revanced_disable_auto_captions_summary_on">I sottotitoli Auto sono disabilitati</string>
|
||||||
<string name="revanced_auto_captions_summary_off">I sottotitoli automatici sono abilitati</string>
|
<string name="revanced_disable_auto_captions_summary_off">I sottotitoli Auto sono abilitati</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">Pulsanti azione</string>
|
<string name="revanced_hide_buttons_screen_title">Pulsanti azione</string>
|
||||||
@ -513,6 +522,11 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">Nascondi Grazie</string>
|
<string name="revanced_hide_thanks_button_title">Nascondi Grazie</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Grazie pulsante è nascosto</string>
|
<string name="revanced_hide_thanks_button_summary_on">Grazie pulsante è nascosto</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Il pulsante Grazie è visibile</string>
|
<string name="revanced_hide_thanks_button_summary_off">Il pulsante Grazie è visibile</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">Nascondi richiesta</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">Il pulsante Richiedi è nascosto</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">Il pulsante Richiedi è visibile</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">Nascondi Clip</string>
|
<string name="revanced_hide_clip_button_title">Nascondi Clip</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">Il pulsante Clip è nascosto</string>
|
<string name="revanced_hide_clip_button_summary_on">Il pulsante Clip è nascosto</string>
|
||||||
@ -832,8 +846,8 @@ Limitazione: i \"Non mi piace\" potrebbero non apparire in modalità incognito"<
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">Pulsante Mi Piace riadattato per una larghezza minima</string>
|
<string name="revanced_ryd_compact_layout_summary_on">Pulsante Mi Piace riadattato per una larghezza minima</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">Pulsante Mi Piace riadattato per la migliore visualizzazione</string>
|
<string name="revanced_ryd_compact_layout_summary_off">Pulsante Mi Piace riadattato per la migliore visualizzazione</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">Mostra \"Mi piace\" stimati</string>
|
<string name="revanced_ryd_estimated_like_title">Mostra \"Mi piace\" stimati</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">Vengono mostrati i \"Mi piace\" stimati</string>
|
<string name="revanced_ryd_estimated_like_summary_on">I video con </string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">I \"Mi piace\" stimati sono nascosti</string>
|
<string name="revanced_ryd_estimated_like_summary_off">I \"Mi piace\" stimati non sono mostrati</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">Mostra un toast se l\'API non è disponibile</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">Mostra un toast se l\'API non è disponibile</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Una notifica è mostrata se Return YouTube Dislike non è disponibile</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">Una notifica è mostrata se Return YouTube Dislike non è disponibile</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nessuna notifica viene mostrata se Return YouTube Dislike non è disponibile</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">Nessuna notifica viene mostrata se Return YouTube Dislike non è disponibile</string>
|
||||||
@ -1106,7 +1120,7 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ripristina le vecchie icone di navigazione</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Ripristina le vecchie icone di navigazione</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">Imposta pagina iniziale</string>
|
<string name="revanced_change_start_page_title">Cambia pagina iniziale</string>
|
||||||
<string name="revanced_change_start_page_entry_default">Predefinito</string>
|
<string name="revanced_change_start_page_entry_default">Predefinito</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">Tutte le iscrizioni</string>
|
<string name="revanced_change_start_page_entry_all_subscriptions">Tutte le iscrizioni</string>
|
||||||
<string name="revanced_change_start_page_entry_browse">Sfoglia canali</string>
|
<string name="revanced_change_start_page_entry_browse">Sfoglia canali</string>
|
||||||
@ -1131,6 +1145,11 @@ Se in seguito verrà disattivato, si consiglia di cancellare i dati dell'app per
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">Realtà Virtuale</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">Realtà Virtuale</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">Guarda più tardi</string>
|
<string name="revanced_change_start_page_entry_watch_later">Guarda più tardi</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">Le tue clip</string>
|
<string name="revanced_change_start_page_entry_your_clips">Le tue clip</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">Cambia sempre la pagina iniziale</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"La pagina iniziale viene sempre modificata
|
||||||
|
|
||||||
|
Limitazione: l'utilizzo del pulsante Indietro sulla barra degli strumenti potrebbe non funzionare"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">La pagina iniziale viene modificata solo all\'avvio dell\'app</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">Disabilita la ripresa del player Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">Disabilita la ripresa del player Shorts</string>
|
||||||
@ -1291,6 +1310,9 @@ Abilitare questa opzione può sbloccare qualità video più elevate"</string>
|
|||||||
<string name="microg_settings_title">Impostazioni di GmsCore</string>
|
<string name="microg_settings_title">Impostazioni di GmsCore</string>
|
||||||
<string name="microg_settings_summary">Impostazioni per GmsCore</string>
|
<string name="microg_settings_summary">Impostazioni per GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">Se di recente hai modificato i dettagli di accesso al tuo account, disinstalla e reinstalla MicroG.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">Aggira reindirizzamenti dell\'URL</string>
|
<string name="revanced_bypass_url_redirects_title">Aggira reindirizzamenti dell\'URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">I reindirizzamenti URL sono aggirati</string>
|
<string name="revanced_bypass_url_redirects_summary_on">I reindirizzamenti URL sono aggirati</string>
|
||||||
|
@ -42,6 +42,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_settings_import_reset">הגדרות ReVanced אופסו לברירת מחדל</string>
|
<string name="revanced_settings_import_reset">הגדרות ReVanced אופסו לברירת מחדל</string>
|
||||||
<string name="revanced_settings_import_success">%d הגדרות יובאו</string>
|
<string name="revanced_settings_import_success">%d הגדרות יובאו</string>
|
||||||
<string name="revanced_settings_import_failure_parse">ייבוא נכשל: %s</string>
|
<string name="revanced_settings_import_failure_parse">ייבוא נכשל: %s</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_title">שפת ReVanced</string>
|
||||||
<string name="revanced_language_user_dialog_message">"תרגומים לשפות מסוימות עשויים להיות חסרים או לא שלמים.
|
<string name="revanced_language_user_dialog_message">"תרגומים לשפות מסוימות עשויים להיות חסרים או לא שלמים.
|
||||||
|
|
||||||
@ -225,6 +228,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_artist_cards_title">הסתר כרטיסי אמן</string>
|
<string name="revanced_hide_artist_cards_title">הסתר כרטיסי אמן</string>
|
||||||
<string name="revanced_hide_artist_cards_summary_on">כרטיסי אמן מוסתרים</string>
|
<string name="revanced_hide_artist_cards_summary_on">כרטיסי אמן מוסתרים</string>
|
||||||
<string name="revanced_hide_artist_cards_summary_off">כרטיסי אמן מוצגים</string>
|
<string name="revanced_hide_artist_cards_summary_off">כרטיסי אמן מוצגים</string>
|
||||||
|
<string name="revanced_hide_ai_generated_video_summary_section_title">הסתר את \'סיכום הווידאו שנוצר על ידי בינה מלאכותית\'</string>
|
||||||
|
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">מדור סיכום הסרטון מוסתר</string>
|
||||||
|
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">מדור סיכום הסרטון מוצג</string>
|
||||||
<string name="revanced_hide_attributes_section_title">הסתר מאפיינים</string>
|
<string name="revanced_hide_attributes_section_title">הסתר מאפיינים</string>
|
||||||
<string name="revanced_hide_attributes_section_summary_on">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוסתרים</string>
|
<string name="revanced_hide_attributes_section_summary_on">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוסתרים</string>
|
||||||
<string name="revanced_hide_attributes_section_summary_off">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוצגים</string>
|
<string name="revanced_hide_attributes_section_summary_off">המדורים \'מקומות שמככבים בסרטון\', \'משחקים\', \'מוזיקה\', ו\'אנשים שאוזכרו\' מוצגים</string>
|
||||||
@ -261,8 +267,12 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">מוצג בסרטונים קשורים</string>
|
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">מוצג בסרטונים קשורים</string>
|
||||||
<string name="revanced_comments_screen_title">תגובות</string>
|
<string name="revanced_comments_screen_title">תגובות</string>
|
||||||
<string name="revanced_comments_screen_summary">הסתר או הצג רכיבי מדור תגובות</string>
|
<string name="revanced_comments_screen_summary">הסתר או הצג רכיבי מדור תגובות</string>
|
||||||
|
<string name="revanced_hide_comments_ai_chat_summary_title">הסתר סיכום צ\'אט של בינה מלאכותית</string>
|
||||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">סיכום צ\'אט מוסתר</string>
|
<string name="revanced_hide_comments_ai_chat_summary_summary_on">סיכום צ\'אט מוסתר</string>
|
||||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">סיכום צ\'אט מוצג</string>
|
<string name="revanced_hide_comments_ai_chat_summary_summary_off">סיכום צ\'אט מוצג</string>
|
||||||
|
<string name="revanced_hide_comments_ai_summary_title">הסתר סיכום תגובות AI</string>
|
||||||
|
<string name="revanced_hide_comments_ai_summary_summary_on">סיכום תגובות מוסתר</string>
|
||||||
|
<string name="revanced_hide_comments_ai_summary_summary_off">סיכום התגובות מוצג</string>
|
||||||
<string name="revanced_hide_comments_by_members_header_title">הסתר כותרת \'תגובות של חברי מועדון\'</string>
|
<string name="revanced_hide_comments_by_members_header_title">הסתר כותרת \'תגובות של חברי מועדון\'</string>
|
||||||
<string name="revanced_hide_comments_by_members_header_summary_on">כותרת \'תגובות של חברי מועדון\' מוסתרת</string>
|
<string name="revanced_hide_comments_by_members_header_summary_on">כותרת \'תגובות של חברי מועדון\' מוסתרת</string>
|
||||||
<string name="revanced_hide_comments_by_members_header_summary_off">כותרת \'תגובות של חברי מועדון\' מוצגת</string>
|
<string name="revanced_hide_comments_by_members_header_summary_off">כותרת \'תגובות של חברי מועדון\' מוצגת</string>
|
||||||
@ -422,6 +432,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_disable_precise_seeking_gesture_summary_off">מחווה מופעלת</string>
|
<string name="revanced_disable_precise_seeking_gesture_summary_off">מחווה מופעלת</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
<patch id="interaction.seekbar.enableSeekbarTappingPatch">
|
||||||
|
<string name="revanced_seekbar_tapping_title">הפעל הקשה כדי לדלג</string>
|
||||||
|
<string name="revanced_seekbar_tapping_summary_on">הקשה כדי לדלג מופעלת</string>
|
||||||
|
<string name="revanced_seekbar_tapping_summary_off">הקשה כדי לדלג מושבתת</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
<patch id="interaction.swipecontrols.swipeControlsResourcePatch">
|
||||||
<string name="revanced_swipe_brightness_title">הפעל מחוות בהירות</string>
|
<string name="revanced_swipe_brightness_title">הפעל מחוות בהירות</string>
|
||||||
@ -434,6 +447,9 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
כוונן את עוצמת הקול על ידי החלקה אנכית בצד הימני של המסך"</string>
|
כוונן את עוצמת הקול על ידי החלקה אנכית בצד הימני של המסך"</string>
|
||||||
<string name="revanced_swipe_volume_summary_off">החלקת עוצמת קול במסך מלא מושבתת</string>
|
<string name="revanced_swipe_volume_summary_off">החלקת עוצמת קול במסך מלא מושבתת</string>
|
||||||
|
<string name="revanced_swipe_press_to_engage_title">הפעל מחוות לחץ כדי להחליק</string>
|
||||||
|
<string name="revanced_swipe_press_to_engage_summary_on">לחץ כדי להחליק מופעל</string>
|
||||||
|
<string name="revanced_swipe_press_to_engage_summary_off">לחץ כדי להחליק מושבת</string>
|
||||||
<string name="revanced_swipe_haptic_feedback_title">הפעל משוב ברטט</string>
|
<string name="revanced_swipe_haptic_feedback_title">הפעל משוב ברטט</string>
|
||||||
<string name="revanced_swipe_haptic_feedback_summary_on">משוב ברטט מופעל</string>
|
<string name="revanced_swipe_haptic_feedback_summary_on">משוב ברטט מופעל</string>
|
||||||
<string name="revanced_swipe_haptic_feedback_summary_off">משוב ברטט מושבת</string>
|
<string name="revanced_swipe_haptic_feedback_summary_off">משוב ברטט מושבת</string>
|
||||||
@ -443,6 +459,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">הפעל מחוות בהירות אוטומטית</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">הפעל מחוות בהירות אוטומטית</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">החלקה למטה לערך הנמוך ביותר של מחוות הבהירות מפעילה בהירות אוטומטית</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">החלקה למטה לערך הנמוך ביותר של מחוות הבהירות מפעילה בהירות אוטומטית</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">החלקה למטה לערך הנמוך ביותר לא מפעילה בהירות אוטומטית</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">החלקה למטה לערך הנמוך ביותר לא מפעילה בהירות אוטומטית</string>
|
||||||
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">אוטומטי</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">פסק זמן לשכבת-על של החלקה</string>
|
<string name="revanced_swipe_overlay_timeout_title">פסק זמן לשכבת-על של החלקה</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">כמות אלפיות השניה ששכבת-העל גלויה</string>
|
<string name="revanced_swipe_overlay_timeout_summary">כמות אלפיות השניה ששכבת-העל גלויה</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">אטימות רקע שכבת-על של החלקה</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">אטימות רקע שכבת-על של החלקה</string>
|
||||||
@ -450,20 +467,16 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">אטימות החלקה חייבת להיות בין 0 ל-100</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">אטימות החלקה חייבת להיות בין 0 ל-100</string>
|
||||||
<string name="revanced_swipe_threshold_title">סף גודל החלקה</string>
|
<string name="revanced_swipe_threshold_title">סף גודל החלקה</string>
|
||||||
<string name="revanced_swipe_threshold_summary">כמות הסף להתרחשות החלקה</string>
|
<string name="revanced_swipe_threshold_summary">כמות הסף להתרחשות החלקה</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">הצג שכבת-על מעגלית</string>
|
<string name="revanced_swipe_volume_sensitivity_title">רגישות החלקה בעוצמת הקול</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">שכבת-על מעגלית מוצגת</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">כמה משתנה עוצמת השמע לכל החלקה</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">שכבת-על אופקית מוצגת</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">הפעל סגנון מינמלי</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">סגנון שכבת-על מינמלי מופעל</string>
|
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">סגנון שכבת-על מינמלי מושבת</string>
|
|
||||||
<string name="revanced_swipe_change_video_title">הפעל החלקה כדי לשנות סרטונים</string>
|
<string name="revanced_swipe_change_video_title">הפעל החלקה כדי לשנות סרטונים</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">החלקה במצב מסך מלא תשנה לסרטון הבא/הקודם</string>
|
<string name="revanced_swipe_change_video_summary_on">החלקה במצב מסך מלא תשנה לסרטון הבא/הקודם</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">החלקה במצב מסך מלא לא תשנה לסרטון הבא/הקודם</string>
|
<string name="revanced_swipe_change_video_summary_off">החלקה במצב מסך מלא לא תשנה לסרטון הבא/הקודם</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">השבת כתוביות אוטומטיות</string>
|
<string name="revanced_disable_auto_captions_title">השבת כתוביות אוטומטיות</string>
|
||||||
<string name="revanced_auto_captions_summary_on">כתוביות אוטומטיות מופעלות</string>
|
<string name="revanced_disable_auto_captions_summary_on">כתוביות אוטומטיות מופעלות</string>
|
||||||
<string name="revanced_auto_captions_summary_off">כתוביות אוטומטיות מושבתות</string>
|
<string name="revanced_disable_auto_captions_summary_off">כתוביות אוטומטיות מושבתות</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">פעולות לחצנים</string>
|
<string name="revanced_hide_buttons_screen_title">פעולות לחצנים</string>
|
||||||
@ -495,6 +508,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_thanks_button_title">הסתר תודה</string>
|
<string name="revanced_hide_thanks_button_title">הסתר תודה</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">לחצן תודה מוסתר</string>
|
<string name="revanced_hide_thanks_button_summary_on">לחצן תודה מוסתר</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">לחצן תודה מוצג</string>
|
<string name="revanced_hide_thanks_button_summary_off">לחצן תודה מוצג</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">הסתר קליפ</string>
|
<string name="revanced_hide_clip_button_title">הסתר קליפ</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">לחצן קליפ מוסתר</string>
|
<string name="revanced_hide_clip_button_summary_on">לחצן קליפ מוסתר</string>
|
||||||
@ -541,6 +556,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_disable_translucent_status_bar_title">השבת שורת מצב שקופה</string>
|
<string name="revanced_disable_translucent_status_bar_title">השבת שורת מצב שקופה</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_summary_on">שורת מצב אטומה</string>
|
<string name="revanced_disable_translucent_status_bar_summary_on">שורת מצב אטומה</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_summary_off">שורת מצב אטומה או שקופה</string>
|
<string name="revanced_disable_translucent_status_bar_summary_off">שורת מצב אטומה או שקופה</string>
|
||||||
|
<string name="revanced_disable_translucent_status_bar_user_dialog_message">בחלק מהמכשירים, הפעלת תכונה זו עשויה לשנות את סרגל הניווט של המערכת לשקוף.</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_title">השבת סרגל בהיר שקוף</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_title">השבת סרגל בהיר שקוף</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">סרגל ניווט במצב בהיר הוא אטום</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">סרגל ניווט במצב בהיר הוא אטום</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">סרגל ניווט במצב בהיר הוא אטום או שקוף</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">סרגל ניווט במצב בהיר הוא אטום או שקוף</string>
|
||||||
@ -596,6 +612,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_hide_player_flyout_audio_track_summary_on">תפריט טראק אודיו מוסתר</string>
|
<string name="revanced_hide_player_flyout_audio_track_summary_on">תפריט טראק אודיו מוסתר</string>
|
||||||
<string name="revanced_hide_player_flyout_audio_track_summary_off">תפריט טראק אודיו מוצג</string>
|
<string name="revanced_hide_player_flyout_audio_track_summary_off">תפריט טראק אודיו מוצג</string>
|
||||||
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
<!-- 'Spoof video streams' should be the same translation used for revanced_spoof_video_streams_screen_title -->
|
||||||
|
<string name="revanced_hide_player_flyout_audio_track_not_available">"תפריט רצועת השמע מוסתר
|
||||||
|
|
||||||
|
כדי להציג את תפריט רצועת השמע, שנה את 'זיוף זרמי וידאו' ל-iOS TV"</string>
|
||||||
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
<!-- 'Watch in VR' should be translated using the same localized wording YouTube displays for the menu item. -->
|
||||||
<string name="revanced_hide_player_flyout_watch_in_vr_title">הסתר \'צפה ב-VR\'</string>
|
<string name="revanced_hide_player_flyout_watch_in_vr_title">הסתר \'צפה ב-VR\'</string>
|
||||||
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">תפריט \'צפה ב-VR\' מוסתר</string>
|
<string name="revanced_hide_player_flyout_watch_in_vr_summary_on">תפריט \'צפה ב-VR\' מוסתר</string>
|
||||||
@ -811,8 +830,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_ryd_compact_layout_summary_on">לחצן אהבתי מעוצב לרוחב מינימלי</string>
|
<string name="revanced_ryd_compact_layout_summary_on">לחצן אהבתי מעוצב לרוחב מינימלי</string>
|
||||||
<string name="revanced_ryd_compact_layout_summary_off">לחצן אהבתי מעוצב למראה הטוב ביותר</string>
|
<string name="revanced_ryd_compact_layout_summary_off">לחצן אהבתי מעוצב למראה הטוב ביותר</string>
|
||||||
<string name="revanced_ryd_estimated_like_title">הצג סימוני \'אהבתי\' משוערים</string>
|
<string name="revanced_ryd_estimated_like_title">הצג סימוני \'אהבתי\' משוערים</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_on">סימוני \'אהבתי\' משוערים מוצגים</string>
|
<string name="revanced_ryd_estimated_like_summary_on">סרטונים עם סימני לייק מושבתים מציגים ספירת לייקים משוערת</string>
|
||||||
<string name="revanced_ryd_estimated_like_summary_off">סימוני \'אהבתי\' משוערים מוסתרים</string>
|
<string name="revanced_ryd_estimated_like_summary_off">סימוני \'אהבתי\' משוערים אינם מוצגים</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_title">הצג הודעה קופצת אם ה-API אינו זמין</string>
|
<string name="revanced_ryd_toast_on_connection_error_title">הצג הודעה קופצת אם ה-API אינו זמין</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">הודעה קופצת מוצגת אם Return YouTube Dislike אינו זמין</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_on">הודעה קופצת מוצגת אם Return YouTube Dislike אינו זמין</string>
|
||||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">הודעה קופצת אינה מוצגת אם Return YouTube Dislike אינו זמין</string>
|
<string name="revanced_ryd_toast_on_connection_error_summary_off">הודעה קופצת אינה מוצגת אם Return YouTube Dislike אינו זמין</string>
|
||||||
@ -1085,7 +1104,7 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - שחזר סמלי ניווט ישנים</string>
|
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - שחזר סמלי ניווט ישנים</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startpage.changeStartPagePatch">
|
<patch id="layout.startpage.changeStartPagePatch">
|
||||||
<string name="revanced_change_start_page_title">הגדר דף התחלה</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_default">ברירת מחדל</string>
|
||||||
<string name="revanced_change_start_page_entry_all_subscriptions">כל המינויים</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>
|
||||||
@ -1110,6 +1129,11 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">מציאות מדומה</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">מציאות מדומה</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">לצפייה בהמשך</string>
|
<string name="revanced_change_start_page_entry_watch_later">לצפייה בהמשך</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">הקליפים שלך</string>
|
<string name="revanced_change_start_page_entry_your_clips">הקליפים שלך</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">לשנות תמיד את דף הפתיחה</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"דף הפתיחה תמיד משתנה
|
||||||
|
|
||||||
|
מגבלה: ייתכן שלחצן החזרה בסרגל הכלים לא יפעל"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">דף הפתיחה משתנה רק בעת הפעלת האפליקציה</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">השבת חידוש נגן Shorts</string>
|
<string name="revanced_disable_resuming_shorts_player_title">השבת חידוש נגן Shorts</string>
|
||||||
@ -1161,6 +1185,9 @@ Second \"item\" text"</string>
|
|||||||
|
|
||||||
מיני-נגן ניתן לגרירה מחוץ למסך לשמאל או לימין"</string>
|
מיני-נגן ניתן לגרירה מחוץ למסך לשמאל או לימין"</string>
|
||||||
<string name="revanced_miniplayer_horizontal_drag_summary_off">מחוות גרירה אופקית מושבתת</string>
|
<string name="revanced_miniplayer_horizontal_drag_summary_off">מחוות גרירה אופקית מושבתת</string>
|
||||||
|
<string name="revanced_miniplayer_hide_overlay_buttons_title">הסתר לחצני שכבת-על</string>
|
||||||
|
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">לחצני שכבת-על מוסתרים</string>
|
||||||
|
<string name="revanced_miniplayer_hide_overlay_buttons_summary_off">לחצני שכבת-על מוצגים</string>
|
||||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">הסתר לחצני סגירה והרחבה</string>
|
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_title">הסתר לחצני סגירה והרחבה</string>
|
||||||
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"הלחצנים מוסתרים
|
<string name="revanced_miniplayer_hide_overlay_buttons_legacy_summary_on">"הלחצנים מוסתרים
|
||||||
|
|
||||||
@ -1267,6 +1294,8 @@ Second \"item\" text"</string>
|
|||||||
<string name="microg_settings_title">הגדרות GmsCore</string>
|
<string name="microg_settings_title">הגדרות GmsCore</string>
|
||||||
<string name="microg_settings_summary">הגדרות עבור GmsCore</string>
|
<string name="microg_settings_summary">הגדרות עבור GmsCore</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">עקוף הפניות מחדש של URL</string>
|
<string name="revanced_bypass_url_redirects_title">עקוף הפניות מחדש של URL</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">הפניות מחדש של URL נעקפות</string>
|
<string name="revanced_bypass_url_redirects_summary_on">הפניות מחדש של URL נעקפות</string>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
@ -24,7 +24,7 @@ Second \"item\" text"</string>
|
|||||||
<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_open_official_source_button">공식 홈페이지 열기</string>
|
||||||
<string name="revanced_check_environment_dialog_ignore_button">닫기</string>
|
<string name="revanced_check_environment_dialog_ignore_button">닫기</string>
|
||||||
<string name="revanced_check_environment_failed_message"><h5>이 앱은 사용자가 패치하지 않은 것 같습니다.</h5><br>이 앱은 제대로 작동하지 않을 수 있으며, <b>사용 시 해롭거나 심지어 위험할 수도 있습니다</b>.<br><br>이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:<br><br><small>%1$s</small><br>검증되고 안전한 앱을 사용하고 있는지 확인하려면 <b>이 앱을 제거하고 직접 패치하는 것</b>을 강력히 권장합니다.<p><br>이 경고는 두 번만 표시됩니다</string>
|
<string name="revanced_check_environment_failed_message"><h5>이 앱은 사용자가 패치하지 않은 것 같습니다.</h5><br>이 앱은 제대로 작동하지 않을 수 있으며, <b>사용 시 해롭거나 심지어 위험할 수도 있습니다</b>.<br><br>이러한 검사는 이 앱이 사전에 패치되었거나 다른 사람으로부터 받은 것임을 의미합니다:<br><br><small>%1$s</small><br>검증되고 안전한 앱을 사용하고 있는지 확인하려면 <b>이 앱을 제거하고 직접 패치하는 것</b>을 강력히 권장합니다.<p><br>이 경고는 두 번만 표시됩니다.</string>
|
||||||
<string name="revanced_check_environment_not_same_patching_device">다른 기기에서 패치됨</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_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">10분 이상 전에 패치됨</string>
|
||||||
@ -46,9 +46,9 @@ Second \"item\" text"</string>
|
|||||||
<string name="revanced_show_menu_icons_summary_on">설정 아이콘을 표시합니다</string>
|
<string name="revanced_show_menu_icons_summary_on">설정 아이콘을 표시합니다</string>
|
||||||
<string name="revanced_show_menu_icons_summary_off">설정 아이콘을 표시하지 않습니다</string>
|
<string name="revanced_show_menu_icons_summary_off">설정 아이콘을 표시하지 않습니다</string>
|
||||||
<string name="revanced_language_title">ReVanced 언어</string>
|
<string name="revanced_language_title">ReVanced 언어</string>
|
||||||
<string name="revanced_language_user_dialog_message">"일부 언어의 번역이 누락되었거나 완료되지 않았을 수 있습니다
|
<string name="revanced_language_user_dialog_message">"일부 언어의 번역이 누락되었거나 완료되지 않았을 수 있습니다.
|
||||||
|
|
||||||
새로운 언어를 번역하려면 translate.revanced.app를 방문하세요"</string>
|
새로운 언어를 번역하려면 translate.revanced.app를 방문하세요."</string>
|
||||||
<string name="revanced_language_DEFAULT">앱 언어</string>
|
<string name="revanced_language_DEFAULT">앱 언어</string>
|
||||||
<string name="revanced_pref_import_export_title">가져오기 / 내보내기</string>
|
<string name="revanced_pref_import_export_title">가져오기 / 내보내기</string>
|
||||||
<string name="revanced_pref_import_export_summary">ReVanced 설정을 가져오거나 내보낼 수 있습니다</string>
|
<string name="revanced_pref_import_export_summary">ReVanced 설정을 가져오거나 내보낼 수 있습니다</string>
|
||||||
@ -62,13 +62,13 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<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. -->
|
<!-- 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_toast_not_installed_message">MicroG GmsCore가 설치되어 있지 않습니다. 설치하세요.</string>
|
||||||
<string name="gms_core_dialog_title">필수 조치</string>
|
<string name="gms_core_dialog_title">필수 조치</string>
|
||||||
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore에 백그라운드에서 실행할 수 있는 권한이 없습니다
|
<string name="gms_core_dialog_not_whitelisted_not_allowed_in_background_message">"MicroG GmsCore에 백그라운드에서 실행할 수 있는 권한이 없습니다.
|
||||||
|
|
||||||
이 기기에 대한 \"Don't kill my app\" 가이드를 읽어보고, MicroG 설치 지침을 적용하세요
|
이 기기에 대한 \"Don't kill my app\" 가이드를 읽어보고, MicroG 설치 지침을 적용하세요.
|
||||||
|
|
||||||
앱이 실행하려면 이 과정이 필요합니다"</string>
|
앱이 실행하려면 이 과정이 필요합니다."</string>
|
||||||
<string name="gms_core_dialog_open_website_text">웹사이트 열기</string>
|
<string name="gms_core_dialog_open_website_text">웹사이트 열기</string>
|
||||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"MicroG GmsCore 앱 배터리 최적화를 비활성화(제한 없음)하여 앱 문제를 방지할 수 있습니다.
|
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"MicroG GmsCore 앱 배터리 최적화를 비활성화(제한 없음)하여 앱 문제를 방지할 수 있습니다.
|
||||||
|
|
||||||
@ -114,9 +114,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_debug_toast_on_error_title">ReVanced 오류 팝업 메시지 표시하기</string>
|
<string name="revanced_debug_toast_on_error_title">ReVanced 오류 팝업 메시지 표시하기</string>
|
||||||
<string name="revanced_debug_toast_on_error_summary_on">오류가 발생하면 팝업 메시지를 표시합니다</string>
|
<string name="revanced_debug_toast_on_error_summary_on">오류가 발생하면 팝업 메시지를 표시합니다</string>
|
||||||
<string name="revanced_debug_toast_on_error_summary_off">오류가 발생하면 팝업 메시지를 표시하지 않습니다</string>
|
<string name="revanced_debug_toast_on_error_summary_off">오류가 발생하면 팝업 메시지를 표시하지 않습니다</string>
|
||||||
<string name="revanced_debug_toast_on_error_user_dialog_message">"오류 메시지를 비활성화하면 모든 ReVanced 오류 알림이 숨겨집니다
|
<string name="revanced_debug_toast_on_error_user_dialog_message">"오류 메시지를 비활성화하면 모든 ReVanced 오류 알림이 숨겨집니다.
|
||||||
|
|
||||||
예상되지 않은 이벤트에 대한 알림을 받지 못할 수 있습니다"</string>
|
예상되지 않은 이벤트에 대한 알림을 받지 못할 수 있습니다."</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
<patch id="layout.hide.general.hideLayoutComponentsPatch">
|
||||||
<string name="revanced_hide_album_cards_title">음악 앨범 카드 숨기기</string>
|
<string name="revanced_hide_album_cards_title">음악 앨범 카드 숨기기</string>
|
||||||
@ -241,9 +241,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_hide_chapters_section_title">챕터 숨기기</string>
|
<string name="revanced_hide_chapters_section_title">챕터 숨기기</string>
|
||||||
<string name="revanced_hide_chapters_section_summary_on">챕터 섹션이 숨겨집니다</string>
|
<string name="revanced_hide_chapters_section_summary_on">챕터 섹션이 숨겨집니다</string>
|
||||||
<string name="revanced_hide_chapters_section_summary_off">챕터 섹션이 표시됩니다</string>
|
<string name="revanced_hide_chapters_section_summary_off">챕터 섹션이 표시됩니다</string>
|
||||||
<string name="revanced_hide_how_this_was_made_section_title">콘텐츠 생성 방식 섹션 숨기기</string>
|
<string name="revanced_hide_how_this_was_made_section_title">이 콘텐츠가 제작된 방식 섹션 숨기기</string>
|
||||||
<string name="revanced_hide_how_this_was_made_section_summary_on">콘텐츠 생성 방식 섹션이 숨겨집니다</string>
|
<string name="revanced_hide_how_this_was_made_section_summary_on">이 콘텐츠가 제작된 방식 섹션이 숨겨집니다</string>
|
||||||
<string name="revanced_hide_how_this_was_made_section_summary_off">콘텐츠 생성 방식 섹션이 표시됩니다</string>
|
<string name="revanced_hide_how_this_was_made_section_summary_off">이 콘텐츠가 제작된 방식 섹션이 표시됩니다</string>
|
||||||
<string name="revanced_hide_podcast_section_title">팟캐스트 살펴보기 섹션 숨기기</string>
|
<string name="revanced_hide_podcast_section_title">팟캐스트 살펴보기 섹션 숨기기</string>
|
||||||
<string name="revanced_hide_podcast_section_summary_on">팟캐스트 살펴보기 섹션이 숨겨집니다</string>
|
<string name="revanced_hide_podcast_section_summary_on">팟캐스트 살펴보기 섹션이 숨겨집니다</string>
|
||||||
<string name="revanced_hide_podcast_section_summary_off">팟캐스트 살펴보기 섹션이 표시됩니다</string>
|
<string name="revanced_hide_podcast_section_summary_off">팟캐스트 살펴보기 섹션이 표시됩니다</string>
|
||||||
@ -299,9 +299,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_hide_doodles_title">YouTube Doodles 숨기기</string>
|
<string name="revanced_hide_doodles_title">YouTube Doodles 숨기기</string>
|
||||||
<string name="revanced_hide_doodles_summary_on">YouTube Doodles가 숨겨집니다\n• Doodles: 기념일 로고 헤더</string>
|
<string name="revanced_hide_doodles_summary_on">YouTube Doodles가 숨겨집니다\n• Doodles: 기념일 로고 헤더</string>
|
||||||
<string name="revanced_hide_doodles_summary_off">YouTube Doodles가 표시됩니다\n• Doodles: 기념일 로고 헤더</string>
|
<string name="revanced_hide_doodles_summary_off">YouTube Doodles가 표시됩니다\n• Doodles: 기념일 로고 헤더</string>
|
||||||
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles는 공휴일이나 기념일 등, 그날에 맞춘 디자인으로 변경되는 왼쪽 상단의 YouTube 헤더를 말합니다
|
<string name="revanced_hide_doodles_user_dialog_message">"YouTube Doodles는 공휴일이나 기념일 등, 그날에 맞춘 디자인으로 변경되는 왼쪽 상단의 YouTube 헤더를 말합니다.
|
||||||
|
|
||||||
현재 거주하는 지역에서 YouTube Doodles가 표시되어 있는데 이 설정이 활성화되어 있는 경우에는 검색창 아래에 표시되는 카테고리 바도 숨겨집니다"</string>
|
현재 거주하는 지역에서 YouTube Doodles가 표시되어 있는데 이 설정이 활성화되어 있는 경우에는 검색창 아래에 표시되는 카테고리 바도 숨겨집니다."</string>
|
||||||
<string name="revanced_custom_filter_screen_title">사용자 정의 필터</string>
|
<string name="revanced_custom_filter_screen_title">사용자 정의 필터</string>
|
||||||
<string name="revanced_custom_filter_screen_summary">사용자 정의 필터를 사용하여 구성요소를 숨길 수 있습니다</string>
|
<string name="revanced_custom_filter_screen_summary">사용자 정의 필터를 사용하여 구성요소를 숨길 수 있습니다</string>
|
||||||
<string name="revanced_custom_filter_title">사용자 정의 필터 활성화하기</string>
|
<string name="revanced_custom_filter_title">사용자 정의 필터 활성화하기</string>
|
||||||
@ -413,7 +413,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_remove_viewer_discretion_dialog_title">시청 경고 다이얼로그 제거하기</string>
|
<string name="revanced_remove_viewer_discretion_dialog_title">시청 경고 다이얼로그 제거하기</string>
|
||||||
<string name="revanced_remove_viewer_discretion_dialog_summary_on">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거합니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</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_summary_off">다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 제거하지 않습니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc.</string>
|
||||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다</string>
|
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다.</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||||
<string name="revanced_external_downloader_screen_title">외부 다운로드</string>
|
<string name="revanced_external_downloader_screen_title">외부 다운로드</string>
|
||||||
@ -458,29 +458,38 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">스와이프 제스처로 자동 밝기 활성화하기</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">스와이프 제스처로 자동 밝기 활성화하기</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">전체 화면에서 스와이프하여 밝기가 0이 되면 자동 밝기를 활성화합니다</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">전체 화면에서 스와이프하여 밝기가 0이 되면 자동 밝기를 활성화합니다</string>
|
||||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">전체 화면에서 스와이프하여 밝기가 0이 되더라도 자동 밝기를 활성화하지 않습니다</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">전체 화면에서 스와이프하여 밝기가 0이 되더라도 자동 밝기를 활성화하지 않습니다</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_title">오버레이 타임아웃</string>
|
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">자동</string>
|
||||||
|
<string name="revanced_swipe_overlay_timeout_title">스와이프 오버레이 타임아웃</string>
|
||||||
<string name="revanced_swipe_overlay_timeout_summary">오버레이가 표시되는 시간을 지정할 수 있습니다 (밀리초)</string>
|
<string name="revanced_swipe_overlay_timeout_summary">오버레이가 표시되는 시간을 지정할 수 있습니다 (밀리초)</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_title">스와이프 오버레이 배경 불투명도</string>
|
<string name="revanced_swipe_overlay_background_opacity_title">스와이프 오버레이 배경 불투명도</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_summary">스와이프 불투명도 값은 0-100 사이여야 합니다</string>
|
<string name="revanced_swipe_overlay_background_opacity_summary">스와이프 불투명도 값은 0-100 사이여야 합니다</string>
|
||||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">스와이프 불투명도 값은 0-100 사이여야 합니다</string>
|
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">스와이프 불투명도 값은 0-100 사이여야 합니다</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_title">스와이프 오버레이 진행바 색상</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_summary">볼륨 및 밝기 조절 진행바 색상의 헥스 코드를 입력하세요</string>
|
||||||
|
<string name="revanced_swipe_overlay_progress_color_invalid_toast">잘못된 진행바 헥스 코드입니다</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_title">스와이프 오버레이 텍스트 크기</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_summary">스와이프 오버레이 텍스트 크기를 지정할 수 있습니다 (1-30)</string>
|
||||||
|
<string name="revanced_swipe_text_overlay_size_invalid_toast">텍스트 크기는 1-30 사이여야 합니다</string>
|
||||||
<string name="revanced_swipe_threshold_title">스와이프 한계치</string>
|
<string name="revanced_swipe_threshold_title">스와이프 한계치</string>
|
||||||
<string name="revanced_swipe_threshold_summary">제스처 인식을 위해 얼마나 스와이프를 해야 할지를 지정할 수 있으며, 원하지 않은 제스처 인식을 방지할 수 있습니다</string>
|
<string name="revanced_swipe_threshold_summary">제스처 인식을 위해 얼마나 스와이프를 해야 할지를 지정할 수 있으며, 원하지 않은 제스처 인식을 방지할 수 있습니다</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_title">볼륨 스와이프 민감도</string>
|
<string name="revanced_swipe_volume_sensitivity_title">볼륨 스와이프 민감도</string>
|
||||||
<string name="revanced_swipe_volume_sensitivity_summary">스와이프할 때마다 볼륨이 얼마나 변경되는지를 지정할 수 있습니다</string>
|
<string name="revanced_swipe_volume_sensitivity_summary">스와이프할 때마다 볼륨이 얼마나 변경되는지를 지정할 수 있습니다</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_title">원형 오버레이 표시하기</string>
|
<string name="revanced_swipe_overlay_style_title">스와이프 오버레이 스타일</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_on">원형 오버레이를 표시합니다</string>
|
<string name="revanced_swipe_overlay_style_entry_1">가로 오버레이</string>
|
||||||
<string name="revanced_swipe_show_circular_overlay_summary_off">바형 오버레이를 표시합니다</string>
|
<string name="revanced_swipe_overlay_style_entry_2">가로 오버레이 (최소화 - 상단)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_title">최소화된 스타일 활성화하기</string>
|
<string name="revanced_swipe_overlay_style_entry_3">가로 오버레이 (최소화 - 중앙)</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_on">최소화된 오버레이 스타일을 활성화합니다</string>
|
<string name="revanced_swipe_overlay_style_entry_4">원형 오버레이</string>
|
||||||
<string name="revanced_swipe_overlay_minimal_style_summary_off">최소화된 오버레이 스타일을 비활성화합니다</string>
|
<string name="revanced_swipe_overlay_style_entry_5">원형 오버레이 (최소화)</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_6">세로 오버레이</string>
|
||||||
|
<string name="revanced_swipe_overlay_style_entry_7">세로 오버레이 (최소화)</string>
|
||||||
<string name="revanced_swipe_change_video_title">스와이프 제스처로 동영상 전환 활성화하기</string>
|
<string name="revanced_swipe_change_video_title">스와이프 제스처로 동영상 전환 활성화하기</string>
|
||||||
<string name="revanced_swipe_change_video_summary_on">전체 화면 중앙에서 위로/아래로 스와이프하여 다음/이전 동영상으로 전환합니다</string>
|
<string name="revanced_swipe_change_video_summary_on">전체 화면 중앙에서 위로/아래로 스와이프하여 다음/이전 동영상으로 전환합니다</string>
|
||||||
<string name="revanced_swipe_change_video_summary_off">전체 화면 중앙에서 위로/아래로 스와이프하여 다음/이전 동영상으로 전환하지 않습니다</string>
|
<string name="revanced_swipe_change_video_summary_off">전체 화면 중앙에서 위로/아래로 스와이프하여 다음/이전 동영상으로 전환하지 않습니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.autocaptions.autoCaptionsPatch">
|
<patch id="layout.autocaptions.autoCaptionsPatch">
|
||||||
<string name="revanced_auto_captions_title">자동 자막 비활성화하기</string>
|
<string name="revanced_disable_auto_captions_title">자동 자막 비활성화하기</string>
|
||||||
<string name="revanced_auto_captions_summary_on">자동 자막을 비활성화합니다</string>
|
<string name="revanced_disable_auto_captions_summary_on">자동 자막을 비활성화합니다</string>
|
||||||
<string name="revanced_auto_captions_summary_off">자동 자막을 활성화합니다</string>
|
<string name="revanced_disable_auto_captions_summary_off">자동 자막을 활성화합니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.buttons.action.hideButtonsPatch">
|
<patch id="layout.buttons.action.hideButtonsPatch">
|
||||||
<string name="revanced_hide_buttons_screen_title">액션 버튼</string>
|
<string name="revanced_hide_buttons_screen_title">액션 버튼</string>
|
||||||
@ -512,6 +521,11 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_hide_thanks_button_title">Thanks 버튼 숨기기</string>
|
<string name="revanced_hide_thanks_button_title">Thanks 버튼 숨기기</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_on">Thanks 버튼이 숨겨집니다</string>
|
<string name="revanced_hide_thanks_button_summary_on">Thanks 버튼이 숨겨집니다</string>
|
||||||
<string name="revanced_hide_thanks_button_summary_off">Thanks 버튼이 표시됩니다</string>
|
<string name="revanced_hide_thanks_button_summary_off">Thanks 버튼이 표시됩니다</string>
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
|
<string name="revanced_hide_ask_button_title">요청 버튼 숨기기</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_on">요청 버튼이 숨겨집니다</string>
|
||||||
|
<string name="revanced_hide_ask_button_summary_off">요청 버튼이 표시됩니다</string>
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<string name="revanced_hide_clip_button_title">클립 버튼 숨기기</string>
|
<string name="revanced_hide_clip_button_title">클립 버튼 숨기기</string>
|
||||||
<string name="revanced_hide_clip_button_summary_on">클립 버튼이 숨겨집니다</string>
|
<string name="revanced_hide_clip_button_summary_on">클립 버튼이 숨겨집니다</string>
|
||||||
@ -550,16 +564,16 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
알려진 문제점:
|
알려진 문제점:
|
||||||
• 동영상 광고가 강제로 숨겨집니다"</string>
|
• 동영상 광고가 강제로 숨겨집니다"</string>
|
||||||
<string name="revanced_switch_create_with_notifications_button_summary_off">만들기 버튼과 알림 버튼의 위치를 교환하지 않습니다\n\n알려진 문제점:\n• 서버에서 더 많은 광고가 로드될 수 있습니다\n• Shorts 광고가 더 이상 숨겨지지 않습니다</string>
|
<string name="revanced_switch_create_with_notifications_button_summary_off">만들기 버튼과 알림 버튼의 위치를 교환하지 않습니다\n\n알려진 문제점:\n• 서버에서 더 많은 광고가 로드될 수 있습니다\n• Shorts 광고가 더 이상 숨겨지지 않습니다</string>
|
||||||
<string name="revanced_switch_create_with_notifications_button_user_dialog_message">"이 설정을 비활성화하면 Shorts 광고가 차단되지 않습니다
|
<string name="revanced_switch_create_with_notifications_button_user_dialog_message">"이 설정을 비활성화하면 Shorts 광고가 차단되지 않습니다.
|
||||||
|
|
||||||
이 설정을 변경해도 적용되지 않는다면 시크릿 모드로 전환해 보세요"</string>
|
이 설정을 변경해도 적용되지 않는다면 시크릿 모드로 전환해 보세요."</string>
|
||||||
<string name="revanced_hide_navigation_button_labels_title">하단바 버튼 라벨 숨기기</string>
|
<string name="revanced_hide_navigation_button_labels_title">하단바 버튼 라벨 숨기기</string>
|
||||||
<string name="revanced_hide_navigation_button_labels_summary_on">라벨이 숨겨집니다</string>
|
<string name="revanced_hide_navigation_button_labels_summary_on">라벨이 숨겨집니다</string>
|
||||||
<string name="revanced_hide_navigation_button_labels_summary_off">라벨이 표시됩니다</string>
|
<string name="revanced_hide_navigation_button_labels_summary_off">라벨이 표시됩니다</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_title">반투명 상태바 비활성화하기</string>
|
<string name="revanced_disable_translucent_status_bar_title">반투명 상태바 비활성화하기</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_summary_on">상태바가 불투명합니다</string>
|
<string name="revanced_disable_translucent_status_bar_summary_on">상태바가 불투명합니다</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_summary_off">상태바가 불투명하거나 반투명합니다</string>
|
<string name="revanced_disable_translucent_status_bar_summary_off">상태바가 불투명하거나 반투명합니다</string>
|
||||||
<string name="revanced_disable_translucent_status_bar_user_dialog_message">일부 기기에서는 이 기능을 활성화하면 시스템 네비게이션 바가 투명하게 변경될 수 있습니다</string>
|
<string name="revanced_disable_translucent_status_bar_user_dialog_message">일부 기기에서는 이 기능을 활성화하면 시스템 네비게이션 바가 투명하게 변경될 수 있습니다.</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_title">밝은 반투명 하단바 비활성화하기</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_title">밝은 반투명 하단바 비활성화하기</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">밝은 테마에서 하단바가 불투명합니다</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_on">밝은 테마에서 하단바가 불투명합니다</string>
|
||||||
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">밝은 테마에서 하단바가 불투명하거나 반투명합니다</string>
|
<string name="revanced_disable_translucent_navigation_bar_light_summary_off">밝은 테마에서 하단바가 불투명하거나 반투명합니다</string>
|
||||||
@ -774,7 +788,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
|
||||||
<string name="revanced_end_screen_suggested_video_title">최종 화면에서 다음 재생 추천 동영상 숨기기</string>
|
<string name="revanced_end_screen_suggested_video_title">최종 화면에서 다음 재생 추천 동영상 숨기기</string>
|
||||||
<string name="revanced_end_screen_suggested_video_summary_on">"자동재생이 꺼져 있으면 최종 화면에서 다음 재생 추천 동영상이 숨겨집니다.
|
<string name="revanced_end_screen_suggested_video_summary_on">"자동재생이 꺼져 있으면 최종 화면에서 다음 재생 추천 동영상이 숨겨집니다
|
||||||
|
|
||||||
자동재생은 YouTube 설정에서 변경할 수 있습니다:
|
자동재생은 YouTube 설정에서 변경할 수 있습니다:
|
||||||
설정 → 재생 → 다음 동영상 자동재생"</string>
|
설정 → 재생 → 다음 동영상 자동재생"</string>
|
||||||
@ -869,11 +883,11 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">일반 화질 재생바 썸네일을 활성화합니다</string>
|
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">일반 화질 재생바 썸네일을 활성화합니다</string>
|
||||||
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">전체 화면 고화질 재생바 썸네일을 활성화합니다</string>
|
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_on">전체 화면 고화질 재생바 썸네일을 활성화합니다</string>
|
||||||
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">전체 화면 일반 화질 재생바 썸네일을 활성화합니다</string>
|
<string name="revanced_seekbar_thumbnails_high_quality_legacy_summary_off">전체 화면 일반 화질 재생바 썸네일을 활성화합니다</string>
|
||||||
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"이 설정을 활성화하면 재생바 썸네일이 없는 실시간 스트림의 썸네일도 복원됩니다
|
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"이 설정을 활성화하면 재생바 썸네일이 없는 실시간 스트림의 썸네일도 복원됩니다.
|
||||||
|
|
||||||
재생바 썸네일에는 현재 동영상과 동일한 화질 값이 사용됩니다
|
재생바 썸네일에는 현재 동영상과 동일한 화질 값이 사용됩니다.
|
||||||
|
|
||||||
이 설정은 동영상 화질 값이 720p 이하이고 인터넷 연결 상태가 매우 빠를 때 가장 잘 작동합니다"</string>
|
이 설정은 동영상 화질 값이 720p 이하이고 인터넷 연결 상태가 매우 빠를 때 가장 잘 작동합니다."</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_title">이전 재생바 썸네일 복원하기</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_title">이전 재생바 썸네일 복원하기</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">재생바 상단에서 최소화된 썸네일을 표시합니다</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_summary_on">재생바 상단에서 최소화된 썸네일을 표시합니다</string>
|
||||||
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">플레이어에서 전체 화면으로 된 썸네일을 표시합니다</string>
|
<string name="revanced_restore_old_seekbar_thumbnails_summary_off">플레이어에서 전체 화면으로 된 썸네일을 표시합니다</string>
|
||||||
@ -1020,7 +1034,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
<!-- A segment start and end time, such as "02:10 to 03:40" -->
|
||||||
<string name="revanced_sb_vote_segment_time_to_from">%1$s ~ %2$s</string>
|
<string name="revanced_sb_vote_segment_time_to_from">%1$s ~ %2$s</string>
|
||||||
<string name="revanced_sb_new_segment_choose_category">구간 카테고리를 선택하세요</string>
|
<string name="revanced_sb_new_segment_choose_category">구간 카테고리를 선택하세요</string>
|
||||||
<string name="revanced_sb_new_segment_disabled_category">이 카테고리는 비활성화되어 있습니다. 제출하려면 설정에서 활성화해야 합니다</string>
|
<string name="revanced_sb_new_segment_disabled_category">이 카테고리는 비활성화되어 있습니다. 제출하려면 설정에서 활성화해야 합니다.</string>
|
||||||
<string name="revanced_sb_new_segment_title">새 SponsorBlock 구간</string>
|
<string name="revanced_sb_new_segment_title">새 SponsorBlock 구간</string>
|
||||||
<string name="revanced_sb_new_segment_mark_time_as_question">%s 을 구간의 시작 또는 끝으로 설정하시겠습니까?</string>
|
<string name="revanced_sb_new_segment_mark_time_as_question">%s 을 구간의 시작 또는 끝으로 설정하시겠습니까?</string>
|
||||||
<string name="revanced_sb_new_segment_mark_start">시작</string>
|
<string name="revanced_sb_new_segment_mark_start">시작</string>
|
||||||
@ -1095,11 +1109,11 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_spoof_app_version_title">앱 버전 변경하기</string>
|
<string name="revanced_spoof_app_version_title">앱 버전 변경하기</string>
|
||||||
<string name="revanced_spoof_app_version_summary_on">앱 버전을 변경합니다</string>
|
<string name="revanced_spoof_app_version_summary_on">앱 버전을 변경합니다</string>
|
||||||
<string name="revanced_spoof_app_version_summary_off">앱 버전을 변경하지 않습니다</string>
|
<string name="revanced_spoof_app_version_summary_off">앱 버전을 변경하지 않습니다</string>
|
||||||
<string name="revanced_spoof_app_version_user_dialog_message">"앱 버전을 YouTube 이전 앱 버전으로 변경합니다
|
<string name="revanced_spoof_app_version_user_dialog_message">"앱 버전을 YouTube 이전 앱 버전으로 변경합니다.
|
||||||
|
|
||||||
이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다
|
이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다.
|
||||||
|
|
||||||
나중에 이 설정을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다"</string>
|
나중에 이 설정을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다."</string>
|
||||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch -->
|
||||||
<string name="revanced_spoof_app_version_target_title">변경할 앱 버전</string>
|
<string name="revanced_spoof_app_version_target_title">변경할 앱 버전</string>
|
||||||
@ -1132,6 +1146,12 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_change_start_page_entry_virtual_reality">가상 현실</string>
|
<string name="revanced_change_start_page_entry_virtual_reality">가상 현실</string>
|
||||||
<string name="revanced_change_start_page_entry_watch_later">나중에 볼 동영상</string>
|
<string name="revanced_change_start_page_entry_watch_later">나중에 볼 동영상</string>
|
||||||
<string name="revanced_change_start_page_entry_your_clips">내 클립</string>
|
<string name="revanced_change_start_page_entry_your_clips">내 클립</string>
|
||||||
|
<string name="revanced_change_start_page_always_title">앱 시작 페이지 항상 변경하기</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_on">"앱 시작 페이지를 항상 변경합니다
|
||||||
|
|
||||||
|
알려진 문제점:
|
||||||
|
• 툴바에서 '뒤로 가기' 버튼이 작동하지 않을 수 있습니다"</string>
|
||||||
|
<string name="revanced_change_start_page_always_summary_off">앱 시작 페이지를 앱 시작 시에만 변경합니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
<patch id="layout.startupshortsreset.disableResumingShortsOnStartupPatch">
|
||||||
<string name="revanced_disable_resuming_shorts_player_title">앱을 시작할 때, Shorts 플레이어 비활성화하기</string>
|
<string name="revanced_disable_resuming_shorts_player_title">앱을 시작할 때, Shorts 플레이어 비활성화하기</string>
|
||||||
@ -1217,7 +1237,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
|||||||
<string name="revanced_seekbar_custom_color_primary_summary">사용하고 싶은 재생바 메인 색상의 헥스 코드를 입력하세요</string>
|
<string name="revanced_seekbar_custom_color_primary_summary">사용하고 싶은 재생바 메인 색상의 헥스 코드를 입력하세요</string>
|
||||||
<string name="revanced_seekbar_custom_color_accent_title">사용자 정의 재생바 보조 색상</string>
|
<string name="revanced_seekbar_custom_color_accent_title">사용자 정의 재생바 보조 색상</string>
|
||||||
<string name="revanced_seekbar_custom_color_accent_summary">사용하고 싶은 재생바 보조 색상의 헥스 코드를 입력하세요</string>
|
<string name="revanced_seekbar_custom_color_accent_summary">사용하고 싶은 재생바 보조 색상의 헥스 코드를 입력하세요</string>
|
||||||
<string name="revanced_seekbar_custom_color_invalid">잘못된 재생바 색상값입니다</string>
|
<string name="revanced_seekbar_custom_color_invalid">잘못된 재생바 헥스 코드입니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||||
<string name="revanced_bypass_image_region_restrictions_title">이미지 표시 제한 국가 우회하기</string>
|
<string name="revanced_bypass_image_region_restrictions_title">이미지 표시 제한 국가 우회하기</string>
|
||||||
@ -1288,12 +1308,15 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
|
|||||||
<string name="revanced_spoof_device_dimensions_summary_off">"기기 크기 정보를 변경하지 않습니다
|
<string name="revanced_spoof_device_dimensions_summary_off">"기기 크기 정보를 변경하지 않습니다
|
||||||
|
|
||||||
이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다"</string>
|
이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다"</string>
|
||||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 문제점이 발생할 수 있습니다</string>
|
<string name="revanced_spoof_device_dimensions_user_dialog_message">이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 문제점이 발생할 수 있습니다.</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
<string name="microg_settings_title">GmsCore 설정</string>
|
<string name="microg_settings_title">GmsCore 설정</string>
|
||||||
<string name="microg_settings_summary">알림 수신을 위한 클라우드 메시징을 설정할 수 있습니다</string>
|
<string name="microg_settings_summary">알림 수신을 위한 클라우드 메시징을 설정할 수 있습니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
<string name="microg_offline_account_login_error">최근에 계정 로그인 정보를 변경했다면 MicroG를 제거하고 다시 설치하세요.</string>
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
<string name="revanced_bypass_url_redirects_title">리다이렉션 없이 링크 바로 열기</string>
|
<string name="revanced_bypass_url_redirects_title">리다이렉션 없이 링크 바로 열기</string>
|
||||||
<string name="revanced_bypass_url_redirects_summary_on">앱 내에서 외부 링크를 열 때, URL 리다이렉션(youtube.com/redirect)을 거치지 않고 연결됩니다</string>
|
<string name="revanced_bypass_url_redirects_summary_on">앱 내에서 외부 링크를 열 때, URL 리다이렉션(youtube.com/redirect)을 거치지 않고 연결됩니다</string>
|
||||||
@ -1385,22 +1408,22 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요"</string>
|
|||||||
<string name="revanced_spoof_video_streams_summary_on">스트리밍 데이터를 변경합니다</string>
|
<string name="revanced_spoof_video_streams_summary_on">스트리밍 데이터를 변경합니다</string>
|
||||||
<string name="revanced_spoof_video_streams_summary_off">"스트리밍 데이터를 변경하지 않습니다
|
<string name="revanced_spoof_video_streams_summary_off">"스트리밍 데이터를 변경하지 않습니다
|
||||||
동영상 재생 문제가 발생할 수 있습니다"</string>
|
동영상 재생 문제가 발생할 수 있습니다"</string>
|
||||||
<string name="revanced_spoof_video_streams_user_dialog_message">이 설정을 비활성화하면 동영상 재생 문제가 발생할 수 있습니다</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_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_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_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_off">동영상 코덱을 자동으로 결정합니다\n\n• 예전에 업로드된 동영상을 재생했는데 VP9 코덱 응답을 받았을 경우, 일부 화질값이 제거되어 360p와 1080p(Premium 기능)만 선택가능할 수 있거나 화질 메뉴를 선택불가능할 수 있습니다</string>
|
||||||
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"이 설정를 활성화하면 배터리 수명이 향상되고, 동영상 재생 끊김 문제가 해결될 수 있습니다
|
<string name="revanced_spoof_video_streams_ios_force_avc_user_dialog_message">"이 설정를 활성화하면 배터리 수명이 향상되고, 동영상 재생 끊김 문제가 해결될 수 있습니다.
|
||||||
|
|
||||||
AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동영상을 재생할 수 없으며, 동영상을 재생했을 경우에는 VP9 또는 AV1보다 더 많은 모바일 데이터를 사용되오니 주의하세요"</string>
|
AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동영상을 재생할 수 없으며, 동영상을 재생했을 경우에는 VP9 또는 AV1보다 더 많은 모바일 데이터를 사용되오니 주의하세요."</string>
|
||||||
<string name="revanced_spoof_video_streams_about_ios_tv_title">알려진 문제점</string>
|
<string name="revanced_spoof_video_streams_about_ios_tv_title">알려진 문제점</string>
|
||||||
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 영화 또는 유료 동영상이 재생되지 않을 수 있습니다.
|
<string name="revanced_spoof_video_streams_about_ios_tv_summary">"• 영화 또는 유료 동영상이 재생되지 않을 수 있습니다
|
||||||
• 안정적인 볼륨을 사용할 수 없습니다
|
• 안정적인 볼륨을 사용할 수 없습니다
|
||||||
• 동영상이 1초 일찍 종료될 수 있습니다"</string>
|
• 동영상이 1초 일찍 종료될 수 있습니다"</string>
|
||||||
<string name="revanced_spoof_video_streams_about_android_title">알려진 문제점</string>
|
<string name="revanced_spoof_video_streams_about_android_title">알려진 문제점</string>
|
||||||
<string name="revanced_spoof_video_streams_about_android_summary">"• 오디오 트랙 메뉴가 표시되지 않습니다
|
<string name="revanced_spoof_video_streams_about_android_summary">"• 오디오 트랙 메뉴가 표시되지 않습니다
|
||||||
• 안정적인 볼륨을 사용할 수 없습니다
|
• 안정적인 볼륨을 사용할 수 없습니다
|
||||||
• 원본 오디오 트랙를 강제로 활성화할 수 없습니다."</string>
|
• 원본 오디오 트랙를 강제로 활성화할 수 없습니다"</string>
|
||||||
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 코덱이 지원되지 않습니다</string>
|
<string name="revanced_spoof_video_streams_about_no_av1">• AV1 코덱이 지원되지 않습니다</string>
|
||||||
<string name="revanced_spoof_video_streams_about_kids_videos">• Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다</string>
|
<string name="revanced_spoof_video_streams_about_kids_videos">• Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다</string>
|
||||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">전문 통계에서 표시하기</string>
|
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">전문 통계에서 표시하기</string>
|
||||||
@ -1416,8 +1439,8 @@ AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동
|
|||||||
<string name="revanced_block_audio_ads_summary_off">음성 광고를 차단하지 않습니다</string>
|
<string name="revanced_block_audio_ads_summary_off">음성 광고를 차단하지 않습니다</string>
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="ad.embedded.embeddedAdsPatch">
|
<patch id="ad.embedded.embeddedAdsPatch">
|
||||||
<string name="revanced_embedded_ads_service_unavailable">%s 를 차단할 수 없기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
<string name="revanced_embedded_ads_service_unavailable">%s 를 차단할 수 없기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요.</string>
|
||||||
<string name="revanced_embedded_ads_service_failed">%s 에서 오류가 발생했기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요</string>
|
<string name="revanced_embedded_ads_service_failed">%s 에서 오류가 발생했기 때문에 광고가 표시될 것입니다. 설정에서 다른 광고 차단 서비스로 전환해 보세요.</string>
|
||||||
<string name="revanced_block_embedded_ads_title">광고 차단 Proxy 서버 사용하기</string>
|
<string name="revanced_block_embedded_ads_title">광고 차단 Proxy 서버 사용하기</string>
|
||||||
<string name="revanced_block_embedded_ads_entry_1">사용 안함</string>
|
<string name="revanced_block_embedded_ads_entry_1">사용 안함</string>
|
||||||
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
|
<string name="revanced_block_embedded_ads_entry_2">Luminous Proxy</string>
|
||||||
|
@ -84,6 +84,8 @@ Second \"item\" text"</string>
|
|||||||
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Remix' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Download' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
|
||||||
|
<!-- 'Ask' should be translated with the same localized wording that YouTube displays.
|
||||||
|
Button only shows if the user ip is from specific region such as the USA or EU. -->
|
||||||
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Clip' should be translated with the same localized wording that YouTube displays. -->
|
||||||
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
<!-- 'Save' should be translated with the same localized wording that YouTube displays. -->
|
||||||
</patch>
|
</patch>
|
||||||
@ -195,6 +197,8 @@ Second \"item\" text"</string>
|
|||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
<patch id="misc.gms.gmsCoreSupportResourcePatch">
|
||||||
</patch>
|
</patch>
|
||||||
|
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||||
|
</patch>
|
||||||
<patch id="misc.links.bypassURLRedirectsPatch">
|
<patch id="misc.links.bypassURLRedirectsPatch">
|
||||||
</patch>
|
</patch>
|
||||||
<patch id="misc.links.openLinksExternallyPatch">
|
<patch id="misc.links.openLinksExternallyPatch">
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user