mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-12-11 11:53:55 +01:00
Compare commits
5 Commits
v5.42.2-de
...
v5.42.2-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8c4bdb8a6 | ||
|
|
6555f6e6f8 | ||
|
|
a0e2c5c7b9 | ||
|
|
54846253d7 | ||
|
|
a98e8f7370 |
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,3 +1,17 @@
|
||||
## [5.42.2-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.42.2-dev.2...v5.42.2-dev.3) (2025-10-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **YouTube - Custom branding:** Do not add a broken custom icon if the user provides an invalid custom icon path ([6555f6e](https://github.com/ReVanced/revanced-patches/commit/6555f6e6f8b52c2f1ddab1f52c6704cd2d8cfc12))
|
||||
|
||||
## [5.42.2-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.42.2-dev.1...v5.42.2-dev.2) (2025-10-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **X / Twitter - Change Link Sharing Domain:** Change link domain of share copy action ([#6091](https://github.com/ReVanced/revanced-patches/issues/6091)) ([5484625](https://github.com/ReVanced/revanced-patches/commit/54846253d748f4e7e30b2bba427c7d2fb9c341e2))
|
||||
|
||||
## [5.42.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.42.1...v5.42.2-dev.1) (2025-10-09)
|
||||
|
||||
|
||||
|
||||
@@ -2,22 +2,19 @@ package app.revanced.twitter.patches.links;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class ChangeLinkSharingDomainPatch {
|
||||
private static final String DOMAIN_NAME = "https://fxtwitter.com";
|
||||
private static final String LINK_FORMAT = "%s/%s/status/%s";
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
* Method is modified during patching. Do not change.
|
||||
*/
|
||||
public static String formatResourceLink(Object... formatArgs) {
|
||||
String username = (String) formatArgs[0];
|
||||
String tweetId = (String) formatArgs[1];
|
||||
return String.format(LINK_FORMAT, DOMAIN_NAME, username, tweetId);
|
||||
private static String getShareDomain() {
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static String formatLink(long tweetId, String username) {
|
||||
return String.format(LINK_FORMAT, DOMAIN_NAME, username, tweetId);
|
||||
return String.format(LINK_FORMAT, getShareDomain(), username, tweetId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
||||
org.gradle.parallel = true
|
||||
android.useAndroidX = true
|
||||
kotlin.code.style = official
|
||||
version = 5.42.2-dev.1
|
||||
version = 5.42.2-dev.3
|
||||
|
||||
@@ -4,6 +4,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME
|
||||
import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
|
||||
import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint
|
||||
@@ -68,7 +69,7 @@ val customBrandingPatch = baseCustomBrandingPatch(
|
||||
preferenceScreen = PreferenceScreen.GENERAL,
|
||||
|
||||
block = {
|
||||
dependsOn(disableSplashAnimationPatch)
|
||||
dependsOn(sharedExtensionPatch, disableSplashAnimationPatch)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.apps.youtube.music"(
|
||||
|
||||
@@ -21,7 +21,6 @@ import app.revanced.util.findElementByAttributeValueOrThrow
|
||||
import app.revanced.util.removeFromParent
|
||||
import app.revanced.util.returnEarly
|
||||
import org.w3c.dom.Element
|
||||
import org.w3c.dom.Node
|
||||
import org.w3c.dom.NodeList
|
||||
import java.io.File
|
||||
import java.util.logging.Logger
|
||||
@@ -106,6 +105,7 @@ internal fun baseCustomBrandingPatch(
|
||||
|
||||
dependsOn(
|
||||
addResourcesPatch,
|
||||
|
||||
bytecodePatch {
|
||||
execute {
|
||||
mainActivityOnCreateFingerprint.method.addInstruction(
|
||||
@@ -201,6 +201,135 @@ internal fun baseCustomBrandingPatch(
|
||||
)
|
||||
}
|
||||
|
||||
document("AndroidManifest.xml").use { document ->
|
||||
// Create launch aliases that can be programmatically selected in app.
|
||||
fun createAlias(
|
||||
aliasName: String,
|
||||
iconMipmapName: String,
|
||||
appNameIndex: Int,
|
||||
useCustomName: Boolean,
|
||||
enabled: Boolean,
|
||||
intents: NodeList
|
||||
): Element {
|
||||
val label = if (useCustomName) {
|
||||
if (customName == null) {
|
||||
"Custom" // Dummy text, and normally cannot be seen.
|
||||
} else {
|
||||
customName!!
|
||||
}
|
||||
} else if (appNameIndex == 1) {
|
||||
// Indexing starts at 1.
|
||||
originalAppName
|
||||
} else {
|
||||
"@string/revanced_custom_branding_name_entry_$appNameIndex"
|
||||
}
|
||||
val alias = document.createElement("activity-alias")
|
||||
alias.setAttribute("android:name", aliasName)
|
||||
alias.setAttribute("android:enabled", enabled.toString())
|
||||
alias.setAttribute("android:exported", "true")
|
||||
alias.setAttribute("android:icon", "@mipmap/$iconMipmapName")
|
||||
alias.setAttribute("android:label", label)
|
||||
alias.setAttribute("android:targetActivity", mainActivityName)
|
||||
|
||||
// Copy all intents from the original alias so long press actions still work.
|
||||
if (copyExistingIntentsToAliases) {
|
||||
for (i in 0 until intents.length) {
|
||||
alias.appendChild(
|
||||
intents.item(i).cloneNode(true)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
val intentFilter = document.createElement("intent-filter").apply {
|
||||
val action = document.createElement("action")
|
||||
action.setAttribute("android:name", "android.intent.action.MAIN")
|
||||
appendChild(action)
|
||||
|
||||
val category = document.createElement("category")
|
||||
category.setAttribute("android:name", "android.intent.category.LAUNCHER")
|
||||
appendChild(category)
|
||||
}
|
||||
alias.appendChild(intentFilter)
|
||||
}
|
||||
|
||||
return alias
|
||||
}
|
||||
|
||||
val application = document.getElementsByTagName("application").item(0) as Element
|
||||
val intentFilters = document.childNodes.findElementByAttributeValueOrThrow(
|
||||
"android:name",
|
||||
activityAliasNameWithIntents
|
||||
).childNodes
|
||||
|
||||
// The YT application name can appear in some places along side the system
|
||||
// YouTube app, such as the settings app list and in the "open with" file picker.
|
||||
// Because the YouTube app cannot be completely uninstalled and only disabled,
|
||||
// use a custom name for this situation to disambiguate which app is which.
|
||||
application.setAttribute(
|
||||
"android:label",
|
||||
"@string/revanced_custom_branding_name_entry_2"
|
||||
)
|
||||
|
||||
for (appNameIndex in 1 .. numberOfPresetAppNames) {
|
||||
fun aliasName(name: String): String = ".revanced_" + name + '_' + appNameIndex
|
||||
|
||||
val useCustomNameLabel = (useCustomName && appNameIndex == numberOfPresetAppNames)
|
||||
|
||||
// Original icon.
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(ORIGINAL_USER_ICON_STYLE_NAME),
|
||||
iconMipmapName = originalLauncherIconName,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = (appNameIndex == 1),
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
|
||||
// Bundled icons.
|
||||
iconStyleNames.forEachIndexed { index, style ->
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(style),
|
||||
iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + style,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = false,
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
// User provided custom icon.
|
||||
//
|
||||
// Must add all aliases even if the user did not provide a custom icon of their own.
|
||||
// This is because if the user installs with an option, then repatches without the option,
|
||||
// the alias must still exist because if it was previously enabled and then it's removed
|
||||
// the app will become broken and cannot launch. Even if the app data is cleared
|
||||
// it still cannot be launched and the only fix is to uninstall the app.
|
||||
// To prevent this, always include all aliases and use dummy data if needed.
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(CUSTOM_USER_ICON_STYLE_NAME),
|
||||
iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + CUSTOM_USER_ICON_STYLE_NAME,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = false,
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
// Remove the main action from the original alias, otherwise two apps icons
|
||||
// can be shown in the launcher. Can only be done after adding the new aliases.
|
||||
intentFilters.findElementByAttributeValueOrThrow(
|
||||
"android:name",
|
||||
"android.intent.action.MAIN"
|
||||
).removeFromParent()
|
||||
}
|
||||
|
||||
// Copy custom icons last, so if the user enters an invalid icon path
|
||||
// and an exception is thrown then the critical manifest changes are still made.
|
||||
if (useCustomIcon) {
|
||||
// Copy user provided files
|
||||
val iconPathFile = File(customIcon!!.trim())
|
||||
@@ -263,125 +392,6 @@ internal fun baseCustomBrandingPatch(
|
||||
}
|
||||
}
|
||||
|
||||
document("AndroidManifest.xml").use { document ->
|
||||
// Create launch aliases that can be programmatically selected in app.
|
||||
fun createAlias(
|
||||
aliasName: String,
|
||||
iconMipmapName: String,
|
||||
appNameIndex: Int,
|
||||
useCustomName: Boolean,
|
||||
enabled: Boolean,
|
||||
intents: NodeList
|
||||
): Element {
|
||||
val label = if (useCustomName) {
|
||||
if (customName == null) {
|
||||
"Custom" // Dummy text, and normally cannot be seen.
|
||||
} else {
|
||||
customName!!
|
||||
}
|
||||
} else if (appNameIndex == 1) {
|
||||
// Indexing starts at 1.
|
||||
originalAppName
|
||||
} else {
|
||||
"@string/revanced_custom_branding_name_entry_$appNameIndex"
|
||||
}
|
||||
val alias = document.createElement("activity-alias")
|
||||
alias.setAttribute("android:name", aliasName)
|
||||
alias.setAttribute("android:enabled", enabled.toString())
|
||||
alias.setAttribute("android:exported", "true")
|
||||
alias.setAttribute("android:icon", "@mipmap/$iconMipmapName")
|
||||
alias.setAttribute("android:label", label)
|
||||
alias.setAttribute("android:targetActivity", mainActivityName)
|
||||
|
||||
// Copy all intents from the original alias so long press actions still work.
|
||||
if (copyExistingIntentsToAliases) {
|
||||
for (i in 0 until intents.length) {
|
||||
alias.appendChild(
|
||||
intents.item(i).cloneNode(true)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
val intentFilter = document.createElement("intent-filter").apply {
|
||||
val action = document.createElement("action")
|
||||
action.setAttribute("android:name", "android.intent.action.MAIN")
|
||||
appendChild(action)
|
||||
|
||||
val category = document.createElement("category")
|
||||
category.setAttribute("android:name", "android.intent.category.LAUNCHER")
|
||||
appendChild(category)
|
||||
}
|
||||
alias.appendChild(intentFilter)
|
||||
}
|
||||
|
||||
return alias
|
||||
}
|
||||
|
||||
val intentFilters = document.childNodes.findElementByAttributeValueOrThrow(
|
||||
"android:name",
|
||||
activityAliasNameWithIntents
|
||||
).childNodes
|
||||
|
||||
val application = document.getElementsByTagName("application").item(0) as Element
|
||||
|
||||
for (appNameIndex in 1 .. numberOfPresetAppNames) {
|
||||
fun aliasName(name: String): String = ".revanced_" + name + '_' + appNameIndex
|
||||
|
||||
val useCustomNameLabel = (useCustomName && appNameIndex == numberOfPresetAppNames)
|
||||
|
||||
// Original icon.
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(ORIGINAL_USER_ICON_STYLE_NAME),
|
||||
iconMipmapName = originalLauncherIconName,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = (appNameIndex == 1),
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
|
||||
// Bundled icons.
|
||||
iconStyleNames.forEachIndexed { index, style ->
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(style),
|
||||
iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + style,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = false,
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
// User provided custom icon.
|
||||
//
|
||||
// Must add all aliases even if the user did not provide a custom icon of their own.
|
||||
// This is because if the user installs with an option, then repatches without the option,
|
||||
// the alias must still exist because if it was previously enabled and then it's removed
|
||||
// the app will become broken and cannot launch. Even if the app data is cleared
|
||||
// it still cannot be launched and the only fix is to uninstall the app.
|
||||
// To prevent this, always include all aliases and use dummy data if needed.
|
||||
application.appendChild(
|
||||
createAlias(
|
||||
aliasName = aliasName(CUSTOM_USER_ICON_STYLE_NAME),
|
||||
iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + CUSTOM_USER_ICON_STYLE_NAME,
|
||||
appNameIndex = appNameIndex,
|
||||
useCustomName = useCustomNameLabel,
|
||||
enabled = false,
|
||||
intentFilters
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
// Remove the main action from the original alias, otherwise two apps icons
|
||||
// can be shown in the launcher. Can only be done after adding the new aliases.
|
||||
intentFilters.findElementByAttributeValueOrThrow(
|
||||
"android:name",
|
||||
"android.intent.action.MAIN"
|
||||
).removeFromParent()
|
||||
}
|
||||
|
||||
executeBlock()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,59 @@
|
||||
package app.revanced.patches.twitter.misc.links
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.patch.resourcePatch
|
||||
import app.revanced.patcher.patch.stringOption
|
||||
import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN
|
||||
import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN
|
||||
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.twitter.misc.extension.sharedExtensionPatch
|
||||
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import app.revanced.util.findElementByAttributeValueOrThrow
|
||||
import app.revanced.util.returnEarly
|
||||
import java.net.InetAddress
|
||||
import java.net.UnknownHostException
|
||||
import java.util.logging.Logger
|
||||
|
||||
internal var tweetShareLinkTemplateId = -1L
|
||||
private set
|
||||
internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch;"
|
||||
|
||||
internal val changeLinkSharingDomainResourcePatch = resourcePatch {
|
||||
dependsOn(resourceMappingPatch)
|
||||
|
||||
execute {
|
||||
tweetShareLinkTemplateId = resourceMappings["string", "tweet_share_link"]
|
||||
internal val domainNameOption by stringOption(
|
||||
key = "domainName",
|
||||
default = "https://fxtwitter.com",
|
||||
title = "Domain name",
|
||||
description = "The domain name to use when sharing links.",
|
||||
required = true,
|
||||
) {
|
||||
// Do a courtesy check if the host can be resolved.
|
||||
// If it does not resolve, then print a warning but use the host anyway.
|
||||
// Unresolvable hosts should not be rejected, since the patching environment
|
||||
// may not allow network connections or the network may be down.
|
||||
try {
|
||||
InetAddress.getByName(it)
|
||||
} catch (e: UnknownHostException) {
|
||||
Logger.getLogger(this::class.java.name).warning(
|
||||
"Host \"$it\" did not resolve to any domain."
|
||||
)
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch;"
|
||||
internal val changeLinkSharingDomainResourcePatch = resourcePatch {
|
||||
execute {
|
||||
val domainName = domainNameOption!!
|
||||
|
||||
val shareLinkTemplate = if (domainName.endsWith("/")) {
|
||||
"$domainName%1\$s/status/%2\$s"
|
||||
} else {
|
||||
"$domainName/%1\$s/status/%2\$s"
|
||||
}
|
||||
|
||||
document("res/values/strings.xml").use { document ->
|
||||
document.documentElement.childNodes.findElementByAttributeValueOrThrow(
|
||||
"name",
|
||||
"tweet_share_link"
|
||||
).textContent = shareLinkTemplate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("unused")
|
||||
val changeLinkSharingDomainPatch = bytecodePatch(
|
||||
@@ -46,26 +72,11 @@ val changeLinkSharingDomainPatch = bytecodePatch(
|
||||
)
|
||||
)
|
||||
|
||||
val domainName by stringOption(
|
||||
key = "domainName",
|
||||
default = "fxtwitter.com",
|
||||
title = "Domain name",
|
||||
description = "The domain name to use when sharing links.",
|
||||
required = true,
|
||||
)
|
||||
|
||||
execute {
|
||||
linkSharingDomainFingerprint.let {
|
||||
val replacementIndex = it.stringMatches!!.first().index
|
||||
val domainRegister = it.method.getInstruction<OneRegisterInstruction>(
|
||||
replacementIndex
|
||||
).registerA
|
||||
val domainName = domainNameOption!!
|
||||
|
||||
it.method.replaceInstruction(
|
||||
replacementIndex,
|
||||
"const-string v$domainRegister, \"https://$domainName\"",
|
||||
)
|
||||
}
|
||||
// Replace the domain name in the link sharing extension methods.
|
||||
linkSharingDomainHelperFingerprint.method.returnEarly(domainName)
|
||||
|
||||
// Replace the domain name when copying a link with "Copy link" button.
|
||||
linkBuilderFingerprint.method.addInstructions(
|
||||
@@ -76,20 +87,5 @@ val changeLinkSharingDomainPatch = bytecodePatch(
|
||||
return-object p0
|
||||
"""
|
||||
)
|
||||
|
||||
// Used in the Share via... dialog.
|
||||
linkResourceGetterFingerprint.method.apply {
|
||||
val templateIdConstIndex = indexOfFirstLiteralInstructionOrThrow(tweetShareLinkTemplateId)
|
||||
|
||||
// Format the link with the new domain name register (1 instruction below the const).
|
||||
val formatLinkCallIndex = templateIdConstIndex + 1
|
||||
val register = getInstruction<FiveRegisterInstruction>(formatLinkCallIndex).registerE
|
||||
|
||||
// Replace the original method call with the new method call.
|
||||
replaceInstruction(
|
||||
formatLinkCallIndex,
|
||||
"invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->formatResourceLink([Ljava/lang/Object;)Ljava/lang/String;",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package app.revanced.patches.twitter.misc.links
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
import app.revanced.util.literal
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal val openLinkFingerprint = fingerprint {
|
||||
returns("V")
|
||||
@@ -19,13 +17,8 @@ internal val linkBuilderFingerprint = fingerprint {
|
||||
strings("/%1\$s/status/%2\$d")
|
||||
}
|
||||
|
||||
// Gets Resource string for share link view available by pressing "Share via" button.
|
||||
internal val linkResourceGetterFingerprint = fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
parameters("Landroid/content/res/Resources;")
|
||||
literal { tweetShareLinkTemplateId }
|
||||
}
|
||||
|
||||
internal val linkSharingDomainFingerprint = fingerprint {
|
||||
strings("https://fxtwitter.com")
|
||||
internal val linkSharingDomainHelperFingerprint = fingerprint {
|
||||
custom { method, classDef ->
|
||||
method.name == "getShareDomain" && classDef.type == EXTENSION_CLASS_DESCRIPTOR
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,10 +26,10 @@ Second \"item\" text"</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_icon_entry_5 -->
|
||||
<string name="revanced_custom_branding_name_entry_5">مخصص</string>
|
||||
<string name="revanced_custom_branding_icon_title">أيقونة التطبيق</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">أصلي</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">الأصلية</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced minimal</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced مصغر</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced scaled</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">مخصص</string>
|
||||
</patch>
|
||||
@@ -1619,14 +1619,14 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_slide_to_seek_summary_off">تم تعطيل التمرير للتقديم أو الترجيع</string>
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
|
||||
<string name="revanced_spoof_video_streams_av1_title">السماح لـ Android VR AV1</string>
|
||||
<string name="revanced_spoof_video_streams_av1_title">السماح بـ Android VR AV1</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"برنامج ترميز الفيديو هو AVC (H.264) أو VP9 أو AV1
|
||||
|
||||
قد يحدث تقطيع أو فقدان للإطارات أثناء التشغيل"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">برنامج ترميز الفيديو هو AVC (H.264) أو VP9</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"قد يؤدي تمكين هذا الإعداد إلى استخدام فك ترميز AV1 برمجيًا.
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"قد يؤدي تمكين هذا الإعداد إلى استخدام فك تشفير AV1 البرمجي.
|
||||
|
||||
قد يتلعثم تشغيل الفيديو بتقنية AV1 أو يفقد بعض الإطارات."</string>
|
||||
قد يتسبب تشغيل الفيديو باستخدام AV1 في التقطيع أو إسقاط الإطارات."</string>
|
||||
<string name="revanced_spoof_video_streams_about_title">التأثيرات الجانبية للتزييف</string>
|
||||
<string name="revanced_spoof_video_streams_about_experimental">• عميل تجريبي وقد يتوقف عن العمل في أي وقت</string>
|
||||
<string name="revanced_spoof_video_streams_about_playback_failure">• قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق</string>
|
||||
|
||||
@@ -25,10 +25,10 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_branding_name_title">Tətbiq adı</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_icon_entry_5 -->
|
||||
<string name="revanced_custom_branding_name_entry_5">Fərdi</string>
|
||||
<string name="revanced_custom_branding_icon_title">Tətbiq ikonu</string>
|
||||
<string name="revanced_custom_branding_icon_title">Tətbiq simvolu</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">Orijinal</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">Ən kiçik ReVanced</string>
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced ən kiçik</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced ölçüləndirilmiş</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">Fərdi</string>
|
||||
@@ -1619,13 +1619,13 @@ Məhdudiyyətlər:
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
|
||||
<string name="revanced_spoof_video_streams_av1_title">Android VR AV1-ə icazə ver</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"Video kodek AVC (H.264), VP9 və ya AV1-dir
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"Video kodlayıcı AVC (H.264), VP9 və ya AV1-dir
|
||||
|
||||
Oxutma kəsilə bilər və ya kadrlar atıla bilər"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Video kodek AVC (H.264) və ya VP9-dur</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Bu ayarı aktivləşdirmək proqram təminatı AV1 dekodlaşdırmasından istifadə edə bilər.
|
||||
Oynatma ilişə bilər və ya kadrlar buraxıla bilər"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Video kodlayıcı AVC (H.264) və ya VP9-dur</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Bu tənzimləməni aktivləşdirmə proqram təminatlı AV1 kodlayıcı istifadə edə bilər.
|
||||
|
||||
AV1 ilə video oxutma kəsilə bilər və ya kadrlar atıla bilər."</string>
|
||||
Video oynatma AV1 ilə ilişə bilər və ya kadrlar buraxıla bilər."</string>
|
||||
<string name="revanced_spoof_video_streams_about_title">Saxtakarlıq yan təsirləri</string>
|
||||
<string name="revanced_spoof_video_streams_about_experimental">• Təcrübi qəbuledici və hər vaxt işləməyi dayandıra bilər</string>
|
||||
<string name="revanced_spoof_video_streams_about_playback_failure">• Video 01:00-da dayana bilər və ya bəzi bölgələrdə mövcud olmaya bilər</string>
|
||||
|
||||
@@ -25,11 +25,11 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_branding_name_title">Sovelluksen nimi</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_icon_entry_5 -->
|
||||
<string name="revanced_custom_branding_name_entry_5">Mukautettu</string>
|
||||
<string name="revanced_custom_branding_icon_title">Sovelluksen kuvake</string>
|
||||
<string name="revanced_custom_branding_icon_title">Sovelluskuvake</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">Alkuperäinen</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced-minimaalinen</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced skaalattu</string>
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced, minimaalinen</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced, skaalattu</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">Mukautettu</string>
|
||||
</patch>
|
||||
@@ -1430,7 +1430,7 @@ Minisoitin voidaan vetää pois näytöltä vasemmalle tai oikealle"</string>
|
||||
<string name="revanced_header_logo_entry_1">Oletus</string>
|
||||
<string name="revanced_header_logo_entry_2">Tavallinen</string>
|
||||
<!-- Translation of this should be identical to revanced_custom_branding_icon_entry_3 -->
|
||||
<string name="revanced_header_logo_entry_5">ReVanced-minimaalinen</string>
|
||||
<string name="revanced_header_logo_entry_5">ReVanced, minimaalinen</string>
|
||||
<string name="revanced_header_logo_entry_6">Mukautettu</string>
|
||||
</patch>
|
||||
<patch id="layout.thumbnails.bypassImageRegionRestrictionsPatch">
|
||||
@@ -1622,11 +1622,11 @@ Rajoitukset:
|
||||
<string name="revanced_spoof_video_streams_av1_title">Salli Android VR AV1</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"Videokoodekki on AVC (H.264), VP9 tai AV1
|
||||
|
||||
Toisto voi nykiä tai pudottaa kehyksiä"</string>
|
||||
Toisto saattaa pätkiä"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Videokoodekki on AVC (H.264) tai VP9</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Tämän asetuksen ottaminen käyttöön saattaa käyttää ohjelmistopohjaista AV1-dekoodausta.
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Tämän asetuksen käyttöönotto saattaa käyttää ohjelmistopohjaista AV1-dekoodausta.
|
||||
|
||||
AV1-videon toisto saattaa pätkiä tai pudottaa kuvia."</string>
|
||||
AV1-videon toisto saattaa pätkiä."</string>
|
||||
<string name="revanced_spoof_video_streams_about_title">Naamioimisen sivuvaikutukset</string>
|
||||
<string name="revanced_spoof_video_streams_about_experimental">• Kokeellinen asiakasohjelma, joka saattaa lakata toimimasta milloin tahansa</string>
|
||||
<string name="revanced_spoof_video_streams_about_playback_failure">• Video saattaa pysähtyä aikaan 1:00, tai ei välttämättä ole saatavilla joillakin alueilla</string>
|
||||
|
||||
@@ -22,14 +22,14 @@ Second \"item\" text"</string>
|
||||
<resources>
|
||||
<app id="shared">
|
||||
<patch id="layout.branding.baseCustomBrandingPatch">
|
||||
<string name="revanced_custom_branding_name_title">Ainm an fheidhmchláir</string>
|
||||
<string name="revanced_custom_branding_name_title">Ainm an aip</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_icon_entry_5 -->
|
||||
<string name="revanced_custom_branding_name_entry_5">Saincheaptha</string>
|
||||
<string name="revanced_custom_branding_icon_title">Deilbhín an fheidhmchláir</string>
|
||||
<string name="revanced_custom_branding_icon_title">Deilbhín aip</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">Bunaidh</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced Íosmhéid</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced Scálaithe</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced scálaithe</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">Saincheaptha</string>
|
||||
</patch>
|
||||
@@ -266,18 +266,18 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp
|
||||
<string name="revanced_hide_show_more_button_summary_off">Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh thaispeánta</string>
|
||||
<string name="revanced_hide_surveys_title">Folaigh suirbhéanna</string>
|
||||
<string name="revanced_hide_surveys_summary_on">Tá suirbhéanna i bhfolach</string>
|
||||
<string name="revanced_hide_surveys_summary_off">Tá suirbhéanna taispeánta</string>
|
||||
<string name="revanced_hide_surveys_summary_off">Taispeántar suirbhéanna</string>
|
||||
<string name="revanced_hide_ticket_shelf_title">Folaigh an seilf ticéad</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_on">Tá an seilf ticéad i bhfolach</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Taispeántar an seilf ticéad</string>
|
||||
<string name="revanced_hide_ticket_shelf_summary_off">Taispeántar seilf ticéad</string>
|
||||
<!-- 'People also watched' and 'You might also like' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_video_recommendation_labels_title">Folaigh lipéid mholtaí físeáin</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_on">Tá lipéid \'D\'fhéach daoine freisin ar\' agus \'B\'fhéidir gur mhaith leat freisin\' sna torthaí cuardaigh i bhfolach</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">Tá lipéid \'D\'fhéach daoine freisin ar\' agus \'B\'fhéidir gur mhaith leat freisin\' sna torthaí cuardaigh taispeánta</string>
|
||||
<string name="revanced_hide_video_recommendation_labels_summary_off">Taispeántar lipéid ‘Daoine a d’fhéach freisin’ agus ‘B’fhéidir gur mhaith leat freisin’ i dtorthaí cuardaigh</string>
|
||||
<!-- https://logos.fandom.com/wiki/YouTube/Yoodles -->
|
||||
<string name="revanced_hide_doodles_title">Folaigh YouTube Doodles</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Beochan Doodles YouTube ar an lógó i bhfolach</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Tá beochán YouTube Doodles ar an lógó ar taispeáint</string>
|
||||
<string name="revanced_hide_doodles_summary_on">Tá beochan YouTube Doodles ar an lógó i bhfolach</string>
|
||||
<string name="revanced_hide_doodles_summary_off">Taispeántar beochan YouTube Doodles ar an lógó</string>
|
||||
<string name="revanced_hide_doodles_user_dialog_message">"Taispeántar Doodles ó YouTube cúpla lá gach bliain.
|
||||
|
||||
Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsuíomh seo a chumasc, ansin cuirfear an barra scagaire faoin bharra cuardaigh i bhfolach freisin."</string>
|
||||
@@ -296,29 +296,29 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
|
||||
<!-- 'Join' should be translated using the same localized wording YouTube displays.
|
||||
This appears in the video player for certain videos. -->
|
||||
<string name="revanced_hide_join_membership_button_title">Folaigh cnaipe Ballraíochta</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Cnaipe \'Glac páirt\' i bhfolach</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Cnaipe \'Glac páirt\' taispeánta</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_on">Tá an cnaipe Glac páirt i bhfolach</string>
|
||||
<string name="revanced_hide_join_membership_button_summary_off">Taispeántar an cnaipe Glac páirt</string>
|
||||
<string name="revanced_hide_medical_panels_title">Folaigh painéil leighis</string>
|
||||
<string name="revanced_hide_medical_panels_summary_on">Tá painéil leighis i bhfolach</string>
|
||||
<string name="revanced_hide_medical_panels_summary_off">Taispeántar painéil leighis</string>
|
||||
<string name="revanced_hide_quick_actions_title">Folaigh gníomhartha tapa</string>
|
||||
<string name="revanced_hide_quick_actions_summary_on">Tá gníomhartha tapa sa scáileán iomlán i bhfolach</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Tá gníomhartha tapa sa scáileán iomlán le feiceáil</string>
|
||||
<string name="revanced_hide_quick_actions_summary_off">Taispeántar gníomhartha tapa i lánscáileán</string>
|
||||
<string name="revanced_hide_related_videos_title">Folaigh físeáin ghaolmhara</string>
|
||||
<string name="revanced_hide_related_videos_summary_on">Tá físeáin ghaolmhara i ngníomhartha tapa i bhfolach</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Tá físeáin ghaolmhara i ngníomhartha tapa le feiceáil</string>
|
||||
<string name="revanced_hide_related_videos_summary_off">Taispeántar físeáin ghaolmhara i ngníomhartha tapa</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_title">Folaigh treoirlínte síntiúsóirí</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_on">Tá treoirlínte pobail síntiúsóirí i bhfolach</string>
|
||||
<string name="revanced_hide_subscribers_community_guidelines_summary_off">Taispeántar treoirlínte pobail do shíntiúsóirí</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Folaigh frithghníomhartha ama</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Tá frithghníomhartha ama i bhfolach</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Taispeántar frithghníomhartha ama</string>
|
||||
<string name="revanced_hide_timed_reactions_title">Folaigh imoibrithe uainithe</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_on">Tá imoibrithe uainithe i bhfolach</string>
|
||||
<string name="revanced_hide_timed_reactions_summary_off">Taispeántar imoibrithe uainithe</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_title">Folaigh \'Achoimre físeáin arna giniúint ag AI\'</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_on">Tá an chuid achoimre físe IS-ghinte i bhfolach</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Tá an rannán achoimre físeán ginte ag AI taispeánta</string>
|
||||
<string name="revanced_hide_ask_section_title">Folaigh Fiafraigh</string>
|
||||
<string name="revanced_hide_ask_section_summary_on">Tá rannóg na Fiafraí i bhfolach</string>
|
||||
<string name="revanced_hide_ask_section_summary_off">Taispeántar rannóg na Fiafraí</string>
|
||||
<string name="revanced_hide_ai_generated_video_summary_section_summary_off">Taispeántar an chuid achoimre físe a ghintear ag AI</string>
|
||||
<string name="revanced_hide_ask_section_title">Folaigh Iarr</string>
|
||||
<string name="revanced_hide_ask_section_summary_on">Tá an rannán Iarratas i bhfolach</string>
|
||||
<string name="revanced_hide_ask_section_summary_off">Taispeántar an rannán Iarratas</string>
|
||||
<string name="revanced_hide_attributes_section_title">Folaigh Tréithe</string>
|
||||
<string name="revanced_hide_attributes_section_summary_on">Tá ailt d\'áiteanna sonracha, Cluichí, Ceol agus Daoine a luaitear i bhfolach</string>
|
||||
<string name="revanced_hide_attributes_section_summary_off">Taispeántar ailt d\'áiteanna sonracha, Cluichí, Ceol agus Daoine a luaitear</string>
|
||||
@@ -336,54 +336,54 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
|
||||
<string name="revanced_hide_info_cards_section_summary_off">Taispeántar rannán cártaí faisnéise</string>
|
||||
<string name="revanced_hide_key_concepts_section_title">Folaigh \'Príomhchoincheapa\'</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_on">Tá an chuid Príomhchoincheapa i bhfolach</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">Taispeántar an chuid Príomhchoincheapa</string>
|
||||
<string name="revanced_hide_key_concepts_section_summary_off">Taispeántar an chuid coincheapa lárnacha</string>
|
||||
<string name="revanced_hide_transcript_section_title">Folaigh Tras-scríbhinn</string>
|
||||
<string name="revanced_hide_transcript_section_summary_on">Tá alt an tras-scríbhinn i bhfolach</string>
|
||||
<string name="revanced_hide_transcript_section_summary_off">Taispeántar alt an tras-scríbhinn</string>
|
||||
<string name="revanced_hide_description_components_screen_title">Cur síos físeán</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Folaigh nó taispeáint comhpháirteanna tuairisc</string>
|
||||
<string name="revanced_hide_description_components_screen_summary">Folaigh nó taispeáin comhpháirteanna cur síos físe</string>
|
||||
<string name="revanced_hide_filter_bar_screen_title">Barra scagaire</string>
|
||||
<string name="revanced_hide_filter_bar_screen_summary">Folaigh nó taispeáin an barra scagaire i bhfothaí, físeáin ghaolmhara, torthaí cuardaigh, agus stair féachana</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_title">Folaigh i bhfothaí</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_on">I bhfolach i bhfothaí</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Taispeánta i bhfothaí</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_feed_summary_off">Taispeántar i bhfothaí</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_title">Folaigh i bhfíseáin gaolmhara</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_on">I bhfolach i bhfíseáin ghaolmhara</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_related_videos_summary_off">Taispeántar i bhfíseáin ghaolmhara</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_title">Folaigh i dtorthaí cuardaigh</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_on">Folaigh i dtorthaí cuardaigh</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Taispeáin i dtorthaí cuardaigh</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_search_summary_off">Taispeántar i dtorthaí cuardaigh</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_title">Folaigh i stair faire</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_on">I bhfolach i stair féachana</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Taispeánta i stair faire</string>
|
||||
<string name="revanced_hide_filter_bar_feed_in_history_summary_off">Taispeántar i stair faire</string>
|
||||
<string name="revanced_channel_screen_title">Leathanach cainéil</string>
|
||||
<string name="revanced_channel_screen_summary">Folaigh nó taispeáin comhpháirteanna leathanach cainéil</string>
|
||||
<!-- 'For You' should be translated using the same localized wording YouTube displays. -->
|
||||
<string name="revanced_hide_for_you_shelf_title">Folaigh seilf \'Duit\'</string>
|
||||
<string name="revanced_hide_for_you_shelf_title">Folaigh seilf \'Duitse\'</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_on">Tá seilf \'Maidir Leat\' i bhfolach</string>
|
||||
<string name="revanced_hide_for_you_shelf_summary_off">Tá seilf \'Maidir Leat\' le feiceáil</string>
|
||||
<string name="revanced_hide_links_preview_title">Folaigh réamhamharc ar naisc</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Tá réamhamharc ar naisc i bhfolach</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Tá réamhamharc ar naisc le feiceáil</string>
|
||||
<string name="revanced_hide_links_preview_title">Folaigh réamhamharc naisc</string>
|
||||
<string name="revanced_hide_links_preview_summary_on">Tá réamhamharc naisc i bhfolach</string>
|
||||
<string name="revanced_hide_links_preview_summary_off">Taispeántar réamhamharc naisc</string>
|
||||
<string name="revanced_hide_members_shelf_title">Folaigh seilf na mball</string>
|
||||
<string name="revanced_hide_members_shelf_summary_on">Tá seilf na mball i bhfolach</string>
|
||||
<string name="revanced_hide_members_shelf_summary_off">Taispeántar seilf na gcomhaltaí</string>
|
||||
<!-- 'Visit Community' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_community_button_title">Folaigh cnaipe \"Tabhair cuairt ar an gComhphobal\"</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_on">Tá cnaipe \"Tabhair cuairt ar an gComhphobal\" i bhfolach</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Tá cnaipe \'Tabhair Cuairt ar an bPobal\' le feiceáil</string>
|
||||
<string name="revanced_hide_visit_community_button_summary_off">Taispeántar an cnaipe Tabhair Cuairt ar an bPobal</string>
|
||||
<!-- 'Visit store' should be translated with the same localized wording that YouTube displays. -->
|
||||
<string name="revanced_hide_visit_store_button_title">Folaigh an cnaipe \'Tabhair cuairt ar an siopa\' ar leathanaigh chainéil</string>
|
||||
<string name="revanced_hide_visit_store_button_title">Folaigh an cnaipe \'Tabhair cuairt ar an siopa\'</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_on">Tá cnaipe \'Tabhair Cuairt ar an Siopa\' i bhfolach</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Tá cnaipe \'Tabhair Cuairt ar an Siopa\' le feiceáil</string>
|
||||
<string name="revanced_hide_visit_store_button_summary_off">Taispeántar an cnaipe Tabhair cuairt ar an siopa</string>
|
||||
<string name="revanced_comments_screen_title">Tráchtanna</string>
|
||||
<string name="revanced_comments_screen_summary">Folaigh nó taispeáin comhpháirteanna na rannóige tráchtanna</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_title">Folaigh achoimre comhrá IS</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_on">Tá achoimre comhrá IS i bhfolach</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Tá achoimre comhrá IS taispeánta</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Folaigh achoimre Tuairimí AI</string>
|
||||
<string name="revanced_hide_comments_ai_chat_summary_summary_off">Taispeántar achoimre ar chomhrá AI</string>
|
||||
<string name="revanced_hide_comments_ai_summary_title">Folaigh achoimre ar thráchtanna AI</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_on">Tá achoimre tráchtanna IS i bhfolach</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Tá achoimre tráchtanna IS taispeánta</string>
|
||||
<string name="revanced_hide_comments_ai_summary_summary_off">Taispeántar achoimre ar thráchtanna IS</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_title">Folaigh treoirlínte an chainéil</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_on">Tá treoirlínte an chainéil i bhfolach</string>
|
||||
<string name="revanced_hide_comments_channel_guidelines_summary_off">Taispeántar treoirlínte an chainéil</string>
|
||||
@@ -395,13 +395,13 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
|
||||
<string name="revanced_hide_comments_section_summary_off">Taispeántar an chuid tuairimí</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_title">Folaigh treoirlínte an chomhphobail</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_on">Tá treoirlínte an phobail i bhfolach</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Tá treoirlínte an phobail le feiceáil</string>
|
||||
<string name="revanced_hide_comments_community_guidelines_summary_off">Taispeántar treoirlínte an phobail</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_title">Folaigh an cnaipe \'Cruthaigh Short\'</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_on">Tá cnaipe Cruthaigh gearrscéal i bhfolach</string>
|
||||
<string name="revanced_hide_comments_create_a_short_button_summary_off">Taispeántar cnaipe Cruthaigh gearrscéal</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Folaigh cnaipí Emoji agus Amscála</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Tá cnaipí Emoji agus Amscála i bhfolach</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Tá cnaipí Emoji agus Amscála taispeánta</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Folaigh cnaipí Emoji agus Stampa Ama</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Tá cnaipí Emoji agus Stampa Ama i bhfolach</string>
|
||||
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Taispeántar cnaipí Emoji agus Stampa Ama</string>
|
||||
<string name="revanced_hide_comments_preview_comment_title">Folaigh trácht réamhamharc</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_on">Tá trácht réamhamhar i bhfolach</string>
|
||||
<string name="revanced_hide_comments_preview_comment_summary_off">Taispeántar trácht réamhamharc</string>
|
||||
@@ -409,7 +409,7 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
|
||||
<string name="revanced_hide_comments_thanks_button_summary_on">Tá cnaipe buíochas i bhfolach</string>
|
||||
<string name="revanced_hide_comments_thanks_button_summary_off">Taispeántar cnaipe buíochas</string>
|
||||
<string name="revanced_custom_filter_screen_title">Scagaire saincheaptha</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Folaigh comhpháirteanna ag baint úsáide as</string>
|
||||
<string name="revanced_custom_filter_screen_summary">Folaigh comhpháirteanna ag baint úsáide as scagairí saincheaptha</string>
|
||||
<string name="revanced_custom_filter_title">Cumasaigh scagaire saincheaptha</string>
|
||||
<string name="revanced_custom_filter_summary_on">Tá scagaire saincheaptha cumasaithe</string>
|
||||
<string name="revanced_custom_filter_summary_off">Tá scagaire saincheaptha míchumasaithe</string>
|
||||
@@ -1624,9 +1624,9 @@ Teorainneacha:
|
||||
|
||||
D'fhéadfadh go mbeadh fadhbanna le hathsheinm nó go gcaillfí frámaí"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Is é an códac físeáin AVC (H.264) nó VP9</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Má chumasaítear an socrú seo, d'fhéadfadh sé díchódú bogearraí AV1 a úsáid.
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"D’fhéadfadh sé go n-úsáidfí díchódú bogearraí AV1 agus an socrú seo á chumasú.
|
||||
|
||||
D'fhéadfadh athsheinm físe AV1 leacadh nó frámaí a scaoileadh."</string>
|
||||
D’fhéadfadh sé go mbeadh stad nó go gcaillfí frámaí ag athsheinm físe le AV1."</string>
|
||||
<string name="revanced_spoof_video_streams_about_title">Fo-éifeachtaí a fhalsúa</string>
|
||||
<string name="revanced_spoof_video_streams_about_experimental">• Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith</string>
|
||||
<string name="revanced_spoof_video_streams_about_playback_failure">• Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe</string>
|
||||
|
||||
@@ -40,13 +40,13 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_check_environment_failed_message"><h5>Quest\'app non sembra essere stata patchata da te.</h5><br>Quest\'app potrebbe non funzionare correttamente, <b>potrebbe essere dannosa o addirittura pericolosa</b>.<br><br>Questi controlli implicano che quest\'app sia pre-patchata o ottenuta da qualcun altro:<br><br><small>%1$s</small><br>Si consiglia vivamente di <b>disinstallare quest\'app</b> per assicurarsi di utilizzare un\'app valida e sicura.<p><br>Se ignorato, questo avviso verrà visualizzato solo due volte.</string>
|
||||
<string name="revanced_check_environment_not_same_patching_device">Patchato su un altro dispositivo</string>
|
||||
<string name="revanced_check_environment_manager_not_expected_installer">Non installato da ReVanced Manager</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time">Patchato da più di 10 minuti fa</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time">Patchato più di 10 minuti fa</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time_days">Patchato %s giorni fa</string>
|
||||
<string name="revanced_check_environment_not_near_patch_time_invalid">La data di compilazione dell\'APK è corrotta</string>
|
||||
</patch>
|
||||
<patch id="misc.dns.checkWatchHistoryDomainNameResolutionPatch">
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_title">Attenzione</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_message">La tua cronologia di visualizzazione non è stata salvata.<br><br>Questo è molto probabilmente dovuto da un blocco annunci DNS o da un proxy di rete.<br><br>Per risolvere questo problema, inserisci nella whitelist <b>s.youtube.com</b> o disattiva tutti i DNS bloccanti e proxy.</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_message">La tua cronologia di visualizzazione non sta venendo salvata.<br><br>Questo è molto probabilmente causato da un blocco annunci DNS o da un proxy di rete.<br><br>Per risolvere, inserisci nella whitelist <b>s.youtube.com</b> o disattiva tutti i blocchi DNS e proxy.</string>
|
||||
<string name="revanced_check_watch_history_domain_name_dialog_ignore">Non mostrare più</string>
|
||||
</patch>
|
||||
<patch id="misc.settings.settingsResourcePatch">
|
||||
|
||||
@@ -29,7 +29,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">オリジナル</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced (シンプル)</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced (シンボル大)</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced (ロゴ拡大)</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">カスタム</string>
|
||||
</patch>
|
||||
@@ -1366,15 +1366,15 @@ Automotive レイアウト
|
||||
<patch id="layout.miniplayer.miniplayerPatch">
|
||||
<string name="revanced_miniplayer_screen_title">ミニプレーヤー</string>
|
||||
<string name="revanced_miniplayer_screen_summary">アプリ内に表示される小さな画面のプレーヤーのスタイルを変更します</string>
|
||||
<string name="revanced_miniplayer_type_title">ミニプレーヤーのタイプ</string>
|
||||
<string name="revanced_miniplayer_type_title">ミニプレーヤーの種類</string>
|
||||
<string name="revanced_miniplayer_type_entry_0">無効</string>
|
||||
<string name="revanced_miniplayer_type_entry_1">デフォルト</string>
|
||||
<string name="revanced_miniplayer_type_entry_2">横長</string>
|
||||
<string name="revanced_miniplayer_type_entry_2">横長 (旧タイプ)</string>
|
||||
<string name="revanced_miniplayer_type_entry_3">タブレット</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">モダン 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">モダン 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">モダン 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">モダン 4</string>
|
||||
<string name="revanced_miniplayer_type_entry_4">新タイプ 1</string>
|
||||
<string name="revanced_miniplayer_type_entry_5">新タイプ 2</string>
|
||||
<string name="revanced_miniplayer_type_entry_6">新タイプ 3</string>
|
||||
<string name="revanced_miniplayer_type_entry_7">新タイプ 4</string>
|
||||
<string name="revanced_miniplayer_disable_rounded_corners_title">ミニプレーヤーを直角化</string>
|
||||
<string name="revanced_miniplayer_disable_rounded_corners_summary_on">ミニプレーヤーの角は直角です</string>
|
||||
<string name="revanced_miniplayer_disable_rounded_corners_summary_off">ミニプレーヤーの角は丸角です</string>
|
||||
|
||||
@@ -29,7 +29,7 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">원본</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced 최소화</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced 크기 조정</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced 스케일</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">사용자 정의</string>
|
||||
</patch>
|
||||
@@ -1507,10 +1507,10 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요"</string>
|
||||
<string name="revanced_spoof_device_dimensions_title">기기 크기 정보 변경하기</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_on">"기기 크기 정보를 변경합니다
|
||||
|
||||
이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며, 알려지지 않은 부작용도 발생할 수 있습니다"</string>
|
||||
이 설정을 활성화하면 더 높은 동영상 화질 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며, 알려지지 않은 부작용도 발생할 수 있습니다"</string>
|
||||
<string name="revanced_spoof_device_dimensions_summary_off">"기기 크기 정보를 변경하지 않습니다
|
||||
|
||||
이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다"</string>
|
||||
이 설정을 활성화하면 더 높은 동영상 화질 값을 잠금 해제할 수 있습니다"</string>
|
||||
<string name="revanced_spoof_device_dimensions_user_dialog_message">이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 부작용이 발생할 수 있습니다.</string>
|
||||
</patch>
|
||||
<patch id="misc.hapticfeedback.disableHapticFeedbackPatch">
|
||||
|
||||
@@ -24,14 +24,14 @@ Second \"item\" text"</string>
|
||||
<patch id="layout.branding.baseCustomBrandingPatch">
|
||||
<string name="revanced_custom_branding_name_title">Название приложения</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_icon_entry_5 -->
|
||||
<string name="revanced_custom_branding_name_entry_5">Кастомный</string>
|
||||
<string name="revanced_custom_branding_icon_title">Значок приложения</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">Оригинал</string>
|
||||
<string name="revanced_custom_branding_name_entry_5">Кастомное</string>
|
||||
<string name="revanced_custom_branding_icon_title">Иконка приложения</string>
|
||||
<string name="revanced_custom_branding_icon_entry_1">Оригинальная</string>
|
||||
<!-- Translation of this should be identical to revanced_header_logo_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced минимальный</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced масштабированный</string>
|
||||
<string name="revanced_custom_branding_icon_entry_3">ReVanced минимальная</string>
|
||||
<string name="revanced_custom_branding_icon_entry_4">ReVanced масштабированная</string>
|
||||
<!-- Translations of this should be identical to revanced_custom_branding_name_entry_5 -->
|
||||
<string name="revanced_custom_branding_icon_entry_5">Кастомный</string>
|
||||
<string name="revanced_custom_branding_icon_entry_5">Кастомная</string>
|
||||
</patch>
|
||||
<patch id="misc.checks.checkEnvironmentPatch">
|
||||
<string name="revanced_check_environment_failed_title">Проверки не удались</string>
|
||||
@@ -1630,8 +1630,8 @@ Second \"item\" text"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"Видеокодек: AVC (H.264), VP9 или AV1
|
||||
|
||||
Воспроизведение может зависать или пропускать кадры"</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Видеокодек: AVC (H.264) или VP9</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Включение этой настройки может использовать программное декодирование AV1.
|
||||
<string name="revanced_spoof_video_streams_av1_summary_off">Видеокодек AVC (H.264) или VP9</string>
|
||||
<string name="revanced_spoof_video_streams_av1_user_dialog_message">"Включение этой опции может использовать программное декодирование AV1.
|
||||
|
||||
Воспроизведение видео с AV1 может прерываться или пропускать кадры."</string>
|
||||
<string name="revanced_spoof_video_streams_about_title">Побочные эффекты подмены</string>
|
||||
|
||||
@@ -1626,7 +1626,7 @@ Sınırlamalar:
|
||||
<string name="revanced_slide_to_seek_summary_off">Kaydırarak sardırma etkin değil</string>
|
||||
</patch>
|
||||
<patch id="misc.fix.playback.spoofVideoStreamsPatch">
|
||||
<string name="revanced_spoof_video_streams_av1_title">Android VR AV1\'e İzin Ver</string>
|
||||
<string name="revanced_spoof_video_streams_av1_title">Android VR AV1\'e izin ver</string>
|
||||
<string name="revanced_spoof_video_streams_av1_summary_on">"Video kodeği AVC (H.264), VP9 veya AV1'dir
|
||||
|
||||
Oynatma takılabilir veya kare atlayabilir"</string>
|
||||
|
||||
Reference in New Issue
Block a user