mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-13 06:27:41 +00:00
Compare commits
5 Commits
v5.31.2-de
...
v5.31.2-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e578347277 | ||
|
|
294b2dce2e | ||
|
|
aa37105ea3 | ||
|
|
eb57a2697b | ||
|
|
19bc5b63c5 |
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,3 +1,17 @@
|
||||
## [5.31.2-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.31.2-dev.2...v5.31.2-dev.3) (2025-07-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Disable double tap actions:** Remove old incompatible targets ([857053e](https://github.com/ReVanced/revanced-patches/commit/857053e29b72ded10a84b0ac693fa107705342d9))
|
||||
|
||||
## [5.31.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.31.2-dev.1...v5.31.2-dev.2) (2025-07-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Hide layout components:** Show correct custom header logo if 'Hide YouTube Doodles' is enabled ([#5431](https://github.com/ReVanced/revanced-patches/issues/5431)) ([20cc141](https://github.com/ReVanced/revanced-patches/commit/20cc141e61f75de1a1749247c4f4aed167dee8ea))
|
||||
|
||||
## [5.31.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.31.1...v5.31.2-dev.1) (2025-07-12)
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package app.revanced.extension.youtube.patches;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@@ -11,18 +14,21 @@ import app.revanced.extension.youtube.settings.Settings;
|
||||
public class ChangeHeaderPatch {
|
||||
|
||||
public enum HeaderLogo {
|
||||
DEFAULT(null),
|
||||
REGULAR("ytWordmarkHeader"),
|
||||
PREMIUM("ytPremiumWordmarkHeader"),
|
||||
REVANCED("revanced_header_logo"),
|
||||
REVANCED_MINIMAL("revanced_header_logo_minimal"),
|
||||
CUSTOM("custom_header");
|
||||
DEFAULT(null, null),
|
||||
REGULAR("ytWordmarkHeader", "yt_ringo2_wordmark_header"),
|
||||
PREMIUM("ytPremiumWordmarkHeader", "yt_ringo2_premium_wordmark_header"),
|
||||
REVANCED("revanced_header_logo", "revanced_header_logo"),
|
||||
REVANCED_MINIMAL("revanced_header_logo_minimal", "revanced_header_logo_minimal"),
|
||||
CUSTOM("custom_header", "custom_header");
|
||||
|
||||
@Nullable
|
||||
private final String resourceName;
|
||||
private final String attributeName;
|
||||
@Nullable
|
||||
private final String drawableName;
|
||||
|
||||
HeaderLogo(@Nullable String resourceName) {
|
||||
this.resourceName = resourceName;
|
||||
HeaderLogo(@Nullable String attributeName, @Nullable String drawableName) {
|
||||
this.attributeName = attributeName;
|
||||
this.drawableName = drawableName;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -30,24 +36,66 @@ public class ChangeHeaderPatch {
|
||||
*/
|
||||
@Nullable
|
||||
private Integer getAttributeId() {
|
||||
if (resourceName == null) {
|
||||
if (attributeName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final int identifier = Utils.getResourceIdentifier(resourceName, "attr");
|
||||
// Identifier is zero if custom header setting was included in imported settings
|
||||
// and a custom image was not included during patching.
|
||||
return identifier == 0 ? null : identifier;
|
||||
final int identifier = Utils.getResourceIdentifier(attributeName, "attr");
|
||||
if (identifier == 0) {
|
||||
// Identifier is zero if custom header setting was included in imported settings
|
||||
// and a custom image was not included during patching.
|
||||
Logger.printDebug(() -> "Could not find attribute: " + drawableName);
|
||||
Settings.HEADER_LOGO.resetToDefault();
|
||||
return null;
|
||||
}
|
||||
|
||||
return identifier;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Drawable getDrawable() {
|
||||
if (drawableName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String drawableFullName = drawableName + (Utils.isDarkModeEnabled()
|
||||
? "_dark"
|
||||
: "_light");
|
||||
|
||||
final int identifier = Utils.getResourceIdentifier(drawableFullName, "drawable");
|
||||
if (identifier == 0) {
|
||||
Logger.printDebug(() -> "Could not find drawable: " + drawableFullName);
|
||||
Settings.HEADER_LOGO.resetToDefault();
|
||||
return null;
|
||||
}
|
||||
return Utils.getContext().getDrawable(identifier);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static final Integer headerLogoResource = Settings.HEADER_LOGO.get().getAttributeId();
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static int getHeaderAttributeId(int original) {
|
||||
return Objects.requireNonNullElse(headerLogoResource, original);
|
||||
return Objects.requireNonNullElse(Settings.HEADER_LOGO.get().getAttributeId(), original);
|
||||
}
|
||||
|
||||
public static Drawable getDrawable(Drawable original) {
|
||||
Drawable logo = Settings.HEADER_LOGO.get().getDrawable();
|
||||
if (logo != null) {
|
||||
return logo;
|
||||
}
|
||||
|
||||
// TODO: If 'Hide Doodles' is enabled, this will force the regular logo regardless
|
||||
// what account the user has. This can be improved the next time a Doodle is
|
||||
// active and the attribute id is passed to this method so the correct
|
||||
// regular/premium logo is returned.
|
||||
logo = HeaderLogo.REGULAR.getDrawable();
|
||||
if (logo != null) {
|
||||
return logo;
|
||||
}
|
||||
|
||||
// Should never happen.
|
||||
Logger.printException(() -> "Could not find regular header logo resource");
|
||||
return original;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package app.revanced.extension.youtube.patches;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class DisableChapterSkipDoubleTapPatch {
|
||||
public final class DisableDoubleTapActionsPatch {
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
@@ -4,12 +4,14 @@ import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButt
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import app.revanced.extension.shared.Logger;
|
||||
import app.revanced.extension.shared.Utils;
|
||||
import app.revanced.extension.youtube.StringTrieSearch;
|
||||
import app.revanced.extension.youtube.patches.ChangeHeaderPatch;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.NavigationBar;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
@@ -437,13 +439,11 @@ public final class LayoutComponentsFilter extends Filter {
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@Nullable
|
||||
public static Drawable hideYoodles(Drawable animatedYoodle) {
|
||||
if (HIDE_DOODLES_ENABLED) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return animatedYoodle;
|
||||
public static void setDoodleDrawable(ImageView imageView, Drawable original) {
|
||||
Drawable replacement = HIDE_DOODLES_ENABLED
|
||||
? ChangeHeaderPatch.getDrawable(original)
|
||||
: original;
|
||||
imageView.setImageDrawable(replacement);
|
||||
}
|
||||
|
||||
private static final boolean HIDE_SHOW_MORE_BUTTON_ENABLED = Settings.HIDE_SHOW_MORE_BUTTON.get();
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.31.2-dev.1
|
||||
version = 5.31.2-dev.3
|
||||
|
||||
@@ -1238,6 +1238,7 @@ public final class app/revanced/patches/youtube/interaction/dialog/RemoveViewerD
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatchKt {
|
||||
public static final fun getDisableChapterSkipDoubleTapPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
public static final fun getDisableDoubleTapActionsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/interaction/downloads/DownloadsPatchKt {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package app.revanced.patches.youtube.interaction.doubletap
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
@@ -8,12 +9,14 @@ import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/DisableChapterSkipDoubleTapPatch;"
|
||||
"Lapp/revanced/extension/youtube/patches/DisableDoubleTapActionsPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val disableChapterSkipDoubleTapPatch = bytecodePatch(
|
||||
val disableDoubleTapActionsPatch = bytecodePatch(
|
||||
name = "Disable double tap actions",
|
||||
description = "Adds an option to disable player double tap gestures.",
|
||||
) {
|
||||
@@ -25,9 +28,6 @@ val disableChapterSkipDoubleTapPatch = bytecodePatch(
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
"20.12.46",
|
||||
"20.13.41",
|
||||
@@ -35,12 +35,28 @@ val disableChapterSkipDoubleTapPatch = bytecodePatch(
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "interaction.doubletap.disableChapterSkipDoubleTapPatch")
|
||||
addResources("youtube", "interaction.doubletap.disableDoubleTapActionsPatch")
|
||||
|
||||
PreferenceScreen.PLAYER.addPreferences(
|
||||
SwitchPreference("revanced_disable_chapter_skip_double_tap"),
|
||||
)
|
||||
|
||||
val doubleTapInfoGetSeekSourceFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
parameters("Z")
|
||||
returns(seekTypeEnumFingerprint.originalClassDef.type)
|
||||
opcodes(
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
)
|
||||
custom { _, classDef ->
|
||||
classDef.fields.count() == 4
|
||||
}
|
||||
}
|
||||
|
||||
// Force isChapterSeek flag to false.
|
||||
doubleTapInfoGetSeekSourceFingerprint.method.addInstructions(
|
||||
0,
|
||||
@@ -60,4 +76,9 @@ val disableChapterSkipDoubleTapPatch = bytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("Patch was renamed", ReplaceWith("disableDoubleTapActionsPatch"))
|
||||
val disableChapterSkipDoubleTapPatch = bytecodePatch {
|
||||
dependsOn(disableDoubleTapActionsPatch)
|
||||
}
|
||||
|
||||
@@ -2,22 +2,13 @@ package app.revanced.patches.youtube.interaction.doubletap
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
internal val doubleTapInfoGetSeekSourceFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
parameters("Z")
|
||||
returns("L") // Enum SeekSource, but name obfuscated.
|
||||
opcodes(
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
Opcode.SGET_OBJECT,
|
||||
Opcode.RETURN_OBJECT,
|
||||
internal val seekTypeEnumFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
|
||||
strings(
|
||||
"SEEK_SOURCE_SEEK_TO_NEXT_CHAPTER",
|
||||
"SEEK_SOURCE_SEEK_TO_PREVIOUS_CHAPTER"
|
||||
)
|
||||
custom { _, classDef ->
|
||||
classDef.fields.count() == 4
|
||||
}
|
||||
}
|
||||
|
||||
internal val doubleTapInfoCtorFingerprint = fingerprint {
|
||||
|
||||
@@ -22,6 +22,8 @@ import app.revanced.util.forEachLiteralValueInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import java.io.File
|
||||
|
||||
private val variants = arrayOf("light", "dark")
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/ChangeHeaderPatch;"
|
||||
|
||||
@@ -29,6 +31,17 @@ private val changeHeaderBytecodePatch = bytecodePatch {
|
||||
dependsOn(resourceMappingPatch)
|
||||
|
||||
execute {
|
||||
// Resources are not used during patching, but extension code uses these
|
||||
// images so verify they exist.
|
||||
arrayOf(
|
||||
"yt_ringo2_wordmark_header",
|
||||
"yt_ringo2_premium_wordmark_header"
|
||||
).forEach { resource ->
|
||||
variants.forEach { theme ->
|
||||
resourceMappings["drawable", resource + "_" + theme]
|
||||
}
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
"ytWordmarkHeader",
|
||||
"ytPremiumWordmarkHeader"
|
||||
@@ -57,7 +70,6 @@ private val targetResourceDirectoryNames = mapOf(
|
||||
"mdpi" to "129px x 48px"
|
||||
).mapKeys { (dpi, _) -> "drawable-$dpi" }
|
||||
|
||||
private val variants = arrayOf("light", "dark")
|
||||
|
||||
/**
|
||||
* Header logos built into this patch.
|
||||
|
||||
@@ -8,6 +8,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.instructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
@@ -379,16 +380,13 @@ val hideLayoutComponentsPatch = bytecodePatch(
|
||||
findInstructionIndicesReversedOrThrow {
|
||||
getReference<MethodReference>()?.name == "setImageDrawable"
|
||||
}.forEach { insertIndex ->
|
||||
val register = getInstruction<FiveRegisterInstruction>(insertIndex).registerD
|
||||
val drawableRegister = getInstruction<FiveRegisterInstruction>(insertIndex).registerD
|
||||
val imageViewRegister = getInstruction<FiveRegisterInstruction>(insertIndex).registerC
|
||||
|
||||
addInstructionsWithLabels(
|
||||
replaceInstruction(
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { v$register }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->hideYoodles(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
|
||||
move-result-object v$register
|
||||
if-eqz v$register, :hide
|
||||
""",
|
||||
ExternalLabel("hide", getInstruction(insertIndex + 1)),
|
||||
"invoke-static { v$imageViewRegister, v$drawableRegister }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->" +
|
||||
"setDoodleDrawable(Landroid/widget/ImageView;Landroid/graphics/drawable/Drawable;)V"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ Second \"item\" text"</string>
|
||||
|
||||
Ακολουθήστε τον οδηγό \"Don't kill my app\" για το τηλέφωνό σας και εφαρμόστε τις οδηγίες στο MicroG.
|
||||
|
||||
Αυτό είναι απαραίτητο για τη λειτουργία της εφαρμογής."</string>
|
||||
Αυτό είναι απαραίτητο για τη σωστή λειτουργία της εφαρμογής."</string>
|
||||
<string name="gms_core_dialog_open_website_text">Άνοιγμα ιστοσελίδας</string>
|
||||
<string name="gms_core_dialog_not_whitelisted_using_battery_optimizations_message">"Οι βελτιστοποιήσεις μπαταρίας πρέπει να απενεργοποιηθούν για το MicroG GmsCore ώστε να αποφευχθούν προβλήματα.
|
||||
|
||||
@@ -282,17 +282,17 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Περιγραφή βίντεο</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Απόκρυψη ή εμφάνιση στοιχείων περιγραφής βίντεο</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Γραμμή φίλτρων</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Απόκρυψη ή εμφάνιση της γραμμής φίλτρων στις ροές, στο ιστορικό, στα αποτελέσματα αναζήτησης και στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Απόκρυψη στις ροές</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Απόκρυψη ή εμφάνιση της γραμμής φίλτρων στις ροές, στο ιστορικό παρακολούθησης, στα αποτελέσματα αναζήτησης και στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Γραμμή κατηγοριών στις ροές</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Απόκρυψη στο ιστορικό</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Γραμμή κατηγοριών στο ιστορικό παρακολούθησης</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Απόκρυψη στα αποτελέσματα αναζήτησης</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Γραμμή κατηγοριών στα αποτελέσματα αναζήτησης</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Απόκρυψη στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Γραμμή κατηγοριών στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_channel_screen_title">Σελίδα καναλιού</string>
|
||||
@@ -312,7 +312,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Εμφανίζεται</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Κουμπί «Επίσκεψη στο κατάστημα» στη σελίδα καναλιού</string>
|
||||
<string name="revanced_hide_visit_store_button_title">Κουμπί «Επίσκεψη στο κατάστημα»</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_comments_screen_title">Σχόλια</string>
|
||||
@@ -358,9 +358,9 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_filter_toast_invalid_syntax">Μη έγκυρο προσαρμοσμένο φίλτρο: %s</string>
|
||||
<string name="revanced_hide_keyword_content_screen_title">Απόκρυψη περιεχομένου λέξεων-κλειδιών</string>
|
||||
<string name="revanced_hide_keyword_content_screen_summary">Απόκρυψη βίντεο ροής και αναζήτησης χρησιμοποιώντας φίλτρα λέξεων-κλειδιών</string>
|
||||
<string name="revanced_hide_keyword_content_home_title">Φιλτράρισμα αρχικής σελίδας</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_on">Τα βίντεο στην αρχική σελίδα φιλτράρονται με τη χρήση λέξεων-κλειδιών</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_off">Τα βίντεο στην αρχική σελίδα δε φιλτράρονται από λέξεις-κλειδιά</string>
|
||||
<string name="revanced_hide_keyword_content_home_title">Φιλτράρισμα αρχικής ροής</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_on">Τα βίντεο στην αρχική ροή φιλτράρονται με τη χρήση λέξεων-κλειδιών</string>
|
||||
<string name="revanced_hide_keyword_content_home_summary_off">Τα βίντεο στην αρχική ροή δε φιλτράρονται από λέξεις-κλειδιά</string>
|
||||
<string name="revanced_hide_keyword_content_search_title">Φιλτράρισμα αποτελεσμάτων αναζήτησης</string>
|
||||
<string name="revanced_hide_keyword_content_search_summary_on">Τα αποτελέσματα αναζήτησης φιλτράρονται με τη χρήση λέξεων-κλειδιών</string>
|
||||
<string name="revanced_hide_keyword_content_search_summary_off">Τα αποτελέσματα αναζήτησης δε φιλτράρονται από λέξεις-κλειδιά</string>
|
||||
@@ -379,8 +379,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_keyword_content_about_summary">"Οι καρτέλες «Αρχική», «Εγγραφές» και τα αποτελέσματα αναζήτησης φιλτράρονται για απόκρυψη περιεχομένου που ταιριάζει με τις λέξεις-κλειδιά
|
||||
|
||||
Περιορισμοί:
|
||||
• Τα Shorts δεν γίνεται να κρύβονται με βάση το όνομα καναλιού
|
||||
• Κάποια στοιχεία UI ενδέχεται να μην κρύβονται
|
||||
• Δεν γίνεται απόκρυψη των Shorts με βάση το όνομα καναλιού
|
||||
• Κάποια στοιχεία UI ενδέχεται να μην είναι κρυμμένα
|
||||
• Η αναζήτηση για μια λέξη-κλειδί ενδέχεται να μην εμφανίζει κανένα αποτέλεσμα"</string>
|
||||
<string name="revanced_hide_keyword_content_about_whole_words_title">Ταίριασμα ολόκληρων λέξεων</string>
|
||||
<!-- Translations _must_ use a localized example. For languages that do not use spaces between words (Chinese, Japanese, etc.) the English AI example should be used since no localized examples exist. Or if using machine translations, or if nobody wants to think of a localized example, then the English 'ai' example should be left as-is. -->
|
||||
@@ -743,7 +743,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_shorts_player_screen_title">Οθόνη αναπαραγωγής Shorts</string>
|
||||
<string name="revanced_shorts_player_screen_summary">Απόκρυψη ή εμφάνιση στοιχείων στην οθόνη αναπαραγωγής Shorts</string>
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_hide_shorts_home_title">Shorts στην αρχική σελίδα και στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_shorts_home_title">Shorts στην αρχική ροή και στα σχετικά βίντεο</string>
|
||||
<string name="revanced_hide_shorts_home_summary_on">Κρυμμένα</string>
|
||||
<string name="revanced_hide_shorts_home_summary_off">Εμφανίζονται</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
@@ -808,7 +808,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Κουμπί «Χρήση αυτού του ήχου»</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Κουμπί «Χρήση προτύπου»</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Κουμπί «Χρήση αυτού του προτύπου»</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Εμφανίζεται</string>
|
||||
<string name="revanced_hide_shorts_like_fountain_title">Εφέ κουμπιού «Μου αρέσει»</string>
|
||||
@@ -862,8 +862,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_end_screen_suggested_video_summary_off">Εμφανίζεται</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
|
||||
<string name="revanced_hide_related_videos_overlay_title">Προεπισκόπηση σχετικών βίντεο στην πλήρη οθόνη</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Κρυμμένη</string>
|
||||
<string name="revanced_hide_related_videos_overlay_title">Πλαίσιο σχετικών βίντεο στην πλήρη οθόνη</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_on">Κρυμμένο</string>
|
||||
<string name="revanced_hide_related_videos_overlay_summary_off">Εμφανίζεται</string>
|
||||
</patch>
|
||||
<patch id="layout.hide.time.hideTimestampPatch">
|
||||
@@ -885,8 +885,8 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.player.fullscreen.openVideosFullscreen">
|
||||
<string name="revanced_open_videos_fullscreen_portrait_title">Άνοιγμα των βίντεο σε πλήρη οθόνη με κατακόρυφη προβολή</string>
|
||||
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Τα βίντεο ανοίγουν σε λειτουργία πλήρους οθόνης</string>
|
||||
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Τα βίντεο δεν ανοίγουν σε λειτουργία πλήρους οθόνης</string>
|
||||
<string name="revanced_open_videos_fullscreen_portrait_summary_on">Τα βίντεο ανοίγουν αυτόματα σε λειτουργία πλήρους οθόνης</string>
|
||||
<string name="revanced_open_videos_fullscreen_portrait_summary_off">Τα βίντεο δεν ανοίγουν αυτόματα σε λειτουργία πλήρους οθόνης</string>
|
||||
</patch>
|
||||
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
|
||||
<string name="revanced_player_overlay_opacity_title">Αδιαφάνεια φόντου οθόνης αναπαραγωγής</string>
|
||||
@@ -1119,7 +1119,7 @@ Second \"item\" text"</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_mark_time_as_question">Ορισμός %s ως αρχή ή τέλος ενός νέου τμήματος;</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">Έναρξη</string>
|
||||
<string name="revanced_sb_new_segment_mark_start">Αρχή</string>
|
||||
<string name="revanced_sb_new_segment_mark_end">Τέλος</string>
|
||||
<string name="revanced_sb_new_segment_now">Τώρα</string>
|
||||
<string name="revanced_sb_new_segment_time_start">Χρόνος έναρξης του τμήματος</string>
|
||||
@@ -1183,9 +1183,9 @@ Second \"item\" text"</string>
|
||||
• Η ροή οργανώνεται ανά θέματα και κανάλια"</string>
|
||||
</patch>
|
||||
<patch id="layout.spoofappversion.spoofAppVersionPatch">
|
||||
<string name="revanced_spoof_app_version_title">Τροποποίηση έκδοσης εφαρμογής</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_title">Παραποίηση έκδοσης εφαρμογής</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_user_dialog_message">"Η έκδοση της εφαρμογής YouTube θα παραποιηθεί σε παλιότερη.
|
||||
|
||||
Αυτό θα αλλάξει την εμφάνιση και τα χαρακτηριστικά της εφαρμογής, αλλά ενδέχεται να εμφανιστούν άγνωστες παρενέργειες.
|
||||
@@ -1193,7 +1193,7 @@ Second \"item\" text"</string>
|
||||
Αν αργότερα απενεργοποιηθεί, συνιστάται η εκκαθάριση δεδομένων της εφαρμογής για την αποφυγή σφαλμάτων UI."</string>
|
||||
<!-- It is ideal, but not required, if the text here appears is alphabetically after the text used for 'revanced_spoof_app_version_title'.
|
||||
This is because the 'General layout' menu uses alphabetic sorting, and it functionally works better if the spoof target selector appears below the 'Spoof app version' UI switch. -->
|
||||
<string name="revanced_spoof_app_version_target_title">Έκδοση τροποποίησης της εφαρμογής</string>
|
||||
<string name="revanced_spoof_app_version_target_title">Έκδοση παραποίησης της εφαρμογής</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_1">19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts</string>
|
||||
<string name="revanced_spoof_app_version_target_entry_2">19.01.34 - Επαναφορά παλιών εικονιδίων γραμμής πλοήγησης</string>
|
||||
</patch>
|
||||
@@ -1328,7 +1328,7 @@ Second \"item\" text"</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.alternativeThumbnailsPatch">
|
||||
<!-- 'Home' should be translated using the same localized wording YouTube displays for the Home tab. -->
|
||||
<string name="revanced_alt_thumbnail_home_title">Αρχική σελίδα</string>
|
||||
<string name="revanced_alt_thumbnail_home_title">Καρτέλα «Αρχική»</string>
|
||||
<!-- 'Subscriptions' should be translated using the same localized wording YouTube displays for the Subscriptions tab. -->
|
||||
<string name="revanced_alt_thumbnail_subscription_title">Καρτέλα «Εγγραφές»</string>
|
||||
<!-- 'You' should be translated using the same localized wording YouTube displays for the You (Library) tab. -->
|
||||
|
||||
@@ -225,8 +225,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
<string name="revanced_hide_channel_bar_summary_on">채널바가 숨겨집니다</string>
|
||||
<string name="revanced_hide_channel_bar_summary_off">채널바가 표시됩니다</string>
|
||||
<string name="revanced_hide_channel_watermark_title">채널 워터마크 숨기기</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">동영상 하단에서 채널 워터마크가 숨겨집니다</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">동영상 하단에서 채널 워터마크가 표시됩니다</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_on">플레이어 하단에서 채널 워터마크가 숨겨집니다</string>
|
||||
<string name="revanced_hide_channel_watermark_summary_off">플레이어 하단에서 채널 워터마크가 표시됩니다</string>
|
||||
<string name="revanced_hide_emergency_box_title">긴급 정보 패널 숨기기</string>
|
||||
<string name="revanced_hide_emergency_box_summary_on">긴급 정보 패널이 숨겨집니다</string>
|
||||
<string name="revanced_hide_emergency_box_summary_off">긴급 정보 패널이 표시됩니다</string>
|
||||
@@ -423,8 +423,8 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
|
||||
<string name="revanced_hide_shopping_links_summary_off">동영상 설명에서 쇼핑 링크가 표시됩니다</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">\'제품 보기\' 배너 숨기기</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">동영상 오버레이에서 \'제품 보기\' 배너가 숨겨집니다</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">동영상 오버레이에서 \'제품 보기\' 배너가 표시됩니다</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">플레이어에서 제품 보기 배너가 숨겨집니다</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">플레이어에서 제품 보기 배너가 표시됩니다</string>
|
||||
<string name="revanced_hide_web_search_results_title">웹 검색 결과 숨기기</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">웹 검색 결과가 숨겨집니다</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">웹 검색 결과가 표시됩니다</string>
|
||||
|
||||
@@ -420,12 +420,12 @@ Den här funktionen är endast tillgänglig för äldre enheter"</string>
|
||||
<string name="revanced_hide_shopping_links_summary_on">Butikslänkar i videobeskrivningen är dolda</string>
|
||||
<string name="revanced_hide_shopping_links_summary_off">Butikslänkar i videobeskrivningen visas</string>
|
||||
<!-- 'View products' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_view_products_banner_title">Dölj bannern \"Visa produkter\"</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Banderollen Visa produkter i videoöverlägget är dold</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Banderollen Visa produkter i videoöverlägget visas</string>
|
||||
<string name="revanced_hide_web_search_results_title">Dölj sökresultat på webben</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Sökresultat på webben är dolda</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Sökresultat på webben är synliga</string>
|
||||
<string name="revanced_hide_view_products_banner_title">Dölj bannern Visa produkter</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_on">Bannern Visa produkter i videoöverlägget är dold</string>
|
||||
<string name="revanced_hide_view_products_banner_summary_off">Bannern Visa produkter i videoöverlägget visas</string>
|
||||
<string name="revanced_hide_web_search_results_title">Dölj sökresultat från webben</string>
|
||||
<string name="revanced_hide_web_search_results_summary_on">Sökresultat från webben är dolda</string>
|
||||
<string name="revanced_hide_web_search_results_summary_off">Sökresultat från webben visas</string>
|
||||
</patch>
|
||||
<patch id="ad.getpremium.hideGetPremiumPatch">
|
||||
<string name="revanced_hide_get_premium_title">Dölj YouTube Premium-kampanjer</string>
|
||||
@@ -435,7 +435,7 @@ Den här funktionen är endast tillgänglig för äldre enheter"</string>
|
||||
<patch id="ad.video.videoAdsPatch">
|
||||
<string name="revanced_hide_video_ads_title">Dölj videoannonser</string>
|
||||
<string name="revanced_hide_video_ads_summary_on">Videoannonser är dolda</string>
|
||||
<string name="revanced_hide_video_ads_summary_off">Videoannonser är synliga</string>
|
||||
<string name="revanced_hide_video_ads_summary_off">Videoannonser visas</string>
|
||||
</patch>
|
||||
<patch id="interaction.copyvideourl.copyVideoUrlResourcePatch">
|
||||
<string name="revanced_share_copy_url_success">Videoadress kopierad till urklipp</string>
|
||||
@@ -459,7 +459,7 @@ Den här funktionen är endast tillgänglig för äldre enheter"</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Dubbeltryck kan ibland utlösa ett hopp till nästa/föregående kapitel</string>
|
||||
</patch>
|
||||
<patch id="interaction.downloads.downloadsResourcePatch">
|
||||
<string name="revanced_external_downloader_screen_title">Externa nerladdningar</string>
|
||||
<string name="revanced_external_downloader_screen_title">Externa nedladdningar</string>
|
||||
<string name="revanced_external_downloader_screen_summary">Inställningar för användning av en extern nedladdare</string>
|
||||
<string name="revanced_external_downloader_title">Visa knapp för extern nedladdning</string>
|
||||
<string name="revanced_external_downloader_summary_on">Nedladdningsknappen i spelaren visas</string>
|
||||
@@ -500,14 +500,14 @@ Justera volymen genom att svepa vertikalt på höger sida av skärmen"</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_on">Haptisk feedback är aktiverad</string>
|
||||
<string name="revanced_swipe_haptic_feedback_summary_off">Haptisk feedback är inaktiverad</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_title">Spara och återställ ljusstyrka</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Spara och återställ ljusstyrkan när du avslutar eller aktiverar helskärmsläge</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Spara och återställ inte ljusstyrkan när du avslutar eller aktiverar helskärmsläge</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_on">Spara och återställ ljusstyrkan när du avslutar eller startar helskärmsläget</string>
|
||||
<string name="revanced_swipe_save_and_restore_brightness_summary_off">Spara och återställ inte ljusstyrkan när du avslutar eller startar helskärmsläget</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_title">Aktivera gest för automatisk ljusstyrka</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Automatisk ljusstyrka aktiveras om du sveper ner till ljusstyrkegestens lägsta värde</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Automatisk ljusstyrka aktiveras inte om du sveper ner till det lägsta värdet</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_on">Automatisk ljusstyrka aktiveras om du sveper ned till ljusstyrkegestens lägsta värde</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_summary_off">Automatisk ljusstyrka aktiveras inte om du sveper ned till det lägsta värdet</string>
|
||||
<string name="revanced_swipe_lowest_value_enable_auto_brightness_overlay_text">Automatiskt</string>
|
||||
<string name="revanced_swipe_overlay_timeout_title">Tidsgräns för svepöverlägg</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">Mängden millisekunder överlappningen är synlig</string>
|
||||
<string name="revanced_swipe_overlay_timeout_summary">Antalet millisekunder som överlägget är synligt</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_title">Bakgrundsopacitet för svepöverlägg</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_summary">Opacitetsvärde mellan 0-100</string>
|
||||
<string name="revanced_swipe_overlay_background_opacity_invalid_toast">Opacitet för svepöverlägg måste vara mellan 0-100</string>
|
||||
@@ -617,7 +617,7 @@ Obs! Om du aktiverar detta döljs även videoannonser"</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_summary_off">Knappen Skapa byts inte ut mot knappen Aviseringar</string>
|
||||
<string name="revanced_switch_create_with_notifications_button_user_dialog_message">"Om du inaktiverar den här inställningen inaktiveras även annonsblockering för Shorts.
|
||||
|
||||
Om du ändrar den här inställningen och det inte får effekt kan du försöka växla till inkognitoläge."</string>
|
||||
Om du ändrar den här inställningen utan att det träder i kraft kan du testa att byta till inkognitoläge."</string>
|
||||
<string name="revanced_hide_navigation_button_labels_title">Dölj etiketter för navigeringsknappar</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_on">Etiketter är dolda</string>
|
||||
<string name="revanced_hide_navigation_button_labels_summary_off">Etiketter visas</string>
|
||||
@@ -703,9 +703,7 @@ För att visa ljudspårsmenyn, ändra \"Förfalska videoströmmar\" till iOS TV"
|
||||
<string name="revanced_hide_cast_button_summary_on">Knappen Casta är dold</string>
|
||||
<string name="revanced_hide_cast_button_summary_off">Knappen Casta visas</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_title">Dölj bakgrunder för spelarens kontrollknappar</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Bakgrunder f
|
||||
ar spelarens kontrollknappar
|
||||
ar dolda</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_on">Bakgrunder för spelarens kontrollknappar är dolda</string>
|
||||
<string name="revanced_hide_player_control_buttons_background_summary_off">Bakgrunder för spelarens kontrollknappar visas</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_title">Dölj knapparna Föregående och Nästa</string>
|
||||
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knapparna är dolda</string>
|
||||
@@ -777,7 +775,7 @@ ar dolda</string>
|
||||
<string name="revanced_hide_shorts_location_label_summary_off">Platsetiketten visas</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_title">Dölj knappen Nya inlägg</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_on">Knappen Nya inlägg är dold</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Knappen Nya inlägg är synlig</string>
|
||||
<string name="revanced_hide_shorts_new_posts_button_summary_off">Knappen Nya inlägg visas</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_title">Dölj pausöverläggsknappar</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_on">Pausöverläggsknappar är dolda</string>
|
||||
<string name="revanced_hide_shorts_paused_overlay_buttons_summary_off">Pausöverläggsknappar visas</string>
|
||||
@@ -789,7 +787,7 @@ ar dolda</string>
|
||||
<string name="revanced_hide_shorts_save_sound_button_summary_off">Knappen Spara musik visas</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_title">Dölj sökförslag</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_on">Sökförslag är dolda</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Sökförslag är synliga</string>
|
||||
<string name="revanced_hide_shorts_search_suggestions_summary_off">Sökförslag visas</string>
|
||||
<string name="revanced_hide_shorts_shop_button_title">Dölj knappen Butik</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_on">Knappen Butik är dold</string>
|
||||
<string name="revanced_hide_shorts_shop_button_summary_off">Knappen Butik visas</string>
|
||||
@@ -805,9 +803,9 @@ ar dolda</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_title">Dölj knappen Kommande</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_on">Knappen Kommande är dold</string>
|
||||
<string name="revanced_hide_shorts_upcoming_button_summary_off">Knappen Kommande visas</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Dölj Använd detta ljud-knapp</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Använd detta ljud-knappen är dold</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Använd detta ljud-knappen visas</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_title">Dölj knappen Använd det här ljudet</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_on">Knappen Använd det här ljudet är dold</string>
|
||||
<string name="revanced_hide_shorts_use_sound_button_summary_off">Knappen Använd det här ljudet visas</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_title">Dölj knappen Använd den här mallen</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_on">Knappen Använd den här mallen är dold</string>
|
||||
<string name="revanced_hide_shorts_use_template_button_summary_off">Knappen Använd den här mallen visas</string>
|
||||
@@ -895,14 +893,14 @@ Inställningar → Uppspelning → Spela upp nästa video automatiskt"</string>
|
||||
</patch>
|
||||
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
|
||||
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
|
||||
<string name="revanced_ryd_failure_connection_timeout">Dislikes inte tillgängligt (API timed out)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">Ogillanden är inte tillgängliga (status %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">Ogillanden är inte tillgängliga (klient-API-gräns)</string>
|
||||
<string name="revanced_ryd_failure_generic">Tycker inte tillgängligt (%s)</string>
|
||||
<string name="revanced_ryd_failure_connection_timeout">Ogillanden ej tillg. just nu (API-tidsgräns nådd)</string>
|
||||
<string name="revanced_ryd_failure_connection_status_code">Ogilla-markeringar är inte tillgängliga (status %d)</string>
|
||||
<string name="revanced_ryd_failure_client_rate_limit_requested">Ogilla-markeringar är inte tillgängliga (API-gräns för klienten)</string>
|
||||
<string name="revanced_ryd_failure_generic">Ogilla-markeringar är inte tillgängliga (%s)</string>
|
||||
<!-- Toast shown if the user enables RYD while a video is opened, and then tries to vote for the video. -->
|
||||
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Ladda om video för att rösta med Return YouTube Dislike</string>
|
||||
<string name="revanced_ryd_failure_ryd_enabled_while_playing_video_then_user_voted">Läs in video igen för att rösta med Return YouTube Dislike</string>
|
||||
<!-- Video likes have been set to hidden by the video uploader. -->
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Dold av ägaren</string>
|
||||
<string name="revanced_ryd_video_likes_hidden_by_video_owner">Dolda av ägaren</string>
|
||||
<string name="revanced_ryd_enabled_summary_on">Ogilla-markeringar visas</string>
|
||||
<string name="revanced_ryd_enabled_summary_off">Ogilla-markeringar visas inte</string>
|
||||
<string name="revanced_ryd_shorts_title">Visa ogilla-markeringar i Shorts</string>
|
||||
@@ -920,25 +918,25 @@ Begränsning: Ogilla-markeringar kanske inte visas i inkognitoläge"</string>
|
||||
<string name="revanced_ryd_estimated_like_title">Visa uppskattade gilla-markeringar</string>
|
||||
<string name="revanced_ryd_estimated_like_summary_on">Videor med inaktiverade gilla-markeringar visar ett uppskattat antal gilla-markeringar</string>
|
||||
<string name="revanced_ryd_estimated_like_summary_off">Uppskattade gilla-markeringar visas inte</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_title">Visa ett meddelande om API inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Meddelande visas om Return YouTube Dislike inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Meddelande visas inte om Return YouTube Dislike inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_title">Visa ett popup-meddelande om API inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_on">Popup-meddelande visas om Return YouTube Dislike inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_toast_on_connection_error_summary_off">Popup-meddelande visas inte om Return YouTube Dislike inte är tillgängligt</string>
|
||||
<string name="revanced_ryd_attribution_summary">Data tillhandahålls av Return YouTube Dislike API. Tryck här för att läsa mer</string>
|
||||
<!-- Statistic strings are shown in the settings only when ReVanced debug mode is enabled. Typical users will never see these. -->
|
||||
<string name="revanced_ryd_statistics_category_title">ReturnYouTubeDislike API-statistik för denna enhet</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeAverage_title">API-svarstid, genomsnittlig</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMin_title">API svarstid, minimum</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">API svarstid, maximalt</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">API svarstid, senaste videon</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMin_title">API-svarstid, minsta</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeMax_title">API-svarstid, längsta</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_title">API-svarstid, senaste videon</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary">Tycker inte om temporärt tillgänglig - API-gräns för klientens hastighet i kraft</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_title">API hämtar röster, antal samtal</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">Inga nätverkssamtal gjorda</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_title">API hämta röster, antal anrop</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_zero_summary">Inga nätverksanrop gjorda</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallCount_non_zero_summary">%d nätverksanrop gjorda</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_title">API hämtar röster, antal timeouts</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary">Inga nätverkssamtal avbröts</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary">Inga nätverksanrop har nått tidsgränsen</string>
|
||||
<string name="revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary">%d nätverksanrop avbröts</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_title">Begränsningar för API-klientens hastighet</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">Inga gränser för klientpriser påträffade</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary">Inga klienthastighetsgränser har påträffats</string>
|
||||
<string name="revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary">Gräns för kundfrekvens påträffad %d gånger</string>
|
||||
<string name="revanced_ryd_statistics_millisecond_text">%d millisekunder</string>
|
||||
</patch>
|
||||
@@ -948,7 +946,7 @@ Begränsning: Ogilla-markeringar kanske inte visas i inkognitoläge"</string>
|
||||
<string name="revanced_wide_searchbar_summary_off">Brett sökfält är inaktiverat</string>
|
||||
</patch>
|
||||
<patch id="layout.seekbar.seekbarThumbnailsPatch">
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_title">Aktivera högkvalitativa miniatyrer</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_title">Aktivera miniatyrbilder av hög kvalitet</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_on">Sökreglageminiatyrer är av hög kvalitet</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_summary_off">Sökreglageminiatyrer är av medelhög kvalitet</string>
|
||||
<string name="revanced_seekbar_thumbnails_high_quality_dialog_message">"Detta återställer även miniatyrer på livestreamar som inte har sökreglageminiatyrer.
|
||||
@@ -972,16 +970,16 @@ Den här funktionen fungerar bäst med en videokvalitet på 720p eller lägre oc
|
||||
<string name="revanced_sb_square_layout_sum_off">Knappar och kontroller är rundade</string>
|
||||
<!-- Translations should use language similar to 'revanced_ryd_compact_layout_title'. -->
|
||||
<string name="revanced_sb_enable_compact_skip_button">Använd kompakt Hoppa över-knapp</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">Skippa knappen stylad för minsta bredd</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Skippa knappen stylad för bästa utseende</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_on">Hoppa över-knappen stylas för minsta bredd</string>
|
||||
<string name="revanced_sb_enable_compact_skip_button_sum_off">Hoppa över-knappen stylas för bästa utseende</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button">Dölj Hoppa över-knappen automatiskt</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_on">Hoppa över-knappen döljs efter några sekunder</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Hoppa över-knappen visas för hela segmentet</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Varaktighet för Hoppa över-knappen</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Hur länge knappen för att hoppa över och hoppa till höjdpunkt ska visas innan den döljs automatiskt</string>
|
||||
<string name="revanced_sb_enable_auto_hide_skip_segment_button_sum_off">Hoppa över-knappen visas under hela segmentet</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration">Varaktighet för överhoppningsknappar</string>
|
||||
<string name="revanced_sb_auto_hide_skip_button_duration_sum">Hur länge knapparna Hoppa över och Hoppa till höjdpunkten ska visas innan de döljs automatiskt</string>
|
||||
<string name="revanced_sb_general_skiptoast">Visa popup-meddelande för att ångra överhoppning</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_on">Popup-meddelande visas när ett segment hoppas över automatiskt. Tryck på popup-meddelandet för att ångra överhoppningen</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Toastmeddelande visas inte</string>
|
||||
<string name="revanced_sb_general_skiptoast_sum_off">Popup-meddelande visas inte</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration">Varaktighet för överhoppningsmeddelande</string>
|
||||
<string name="revanced_sb_toast_on_skip_duration_sum">Hur länge popup-meddelandet för att ångra överhoppning ska visas</string>
|
||||
<string name="revanced_sb_duration_1s">1 sekund</string>
|
||||
@@ -995,7 +993,7 @@ Den här funktionen fungerar bäst med en videokvalitet på 720p eller lägre oc
|
||||
<string name="revanced_sb_duration_9s">9 sekunder</string>
|
||||
<string name="revanced_sb_duration_10s">10 sekunder</string>
|
||||
<string name="revanced_sb_general_time_without">Visa videons längd utan segment</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Videolängden minus alla segment visas på sökfältet</string>
|
||||
<string name="revanced_sb_general_time_without_sum_on">Videolängden minus alla segment visas på sökreglaget</string>
|
||||
<string name="revanced_sb_general_time_without_sum_off">Hela videons längd visas</string>
|
||||
<string name="revanced_sb_create_segment_category">Skapa nya segment</string>
|
||||
<string name="revanced_sb_enable_create_segment">Visa knappen Skapa nytt segment</string>
|
||||
|
||||
@@ -516,7 +516,7 @@ This feature is only available for older devices"</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog will be shown</string>
|
||||
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">This does not bypass the age restriction. It just accepts it automatically.</string>
|
||||
</patch>
|
||||
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
|
||||
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
|
||||
<string name="revanced_disable_chapter_skip_double_tap_title">Disable double tap chapter skip</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Double tap can never trigger a skip to the next/previous chapter</string>
|
||||
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Double tap can occasionally trigger a skip to the next/previous chapter</string>
|
||||
|
||||
Reference in New Issue
Block a user