Skip to content

feat: use Morphe Patcher localized patch/option name, titles, descriptions#225

Draft
LisoUseInAIKyrios wants to merge 3 commits into
devfrom
feat/localized_patch_name_descriptions
Draft

feat: use Morphe Patcher localized patch/option name, titles, descriptions#225
LisoUseInAIKyrios wants to merge 3 commits into
devfrom
feat/localized_patch_name_descriptions

Conversation

@LisoUseInAIKyrios
Copy link
Copy Markdown
Contributor

Localization of all user facing patch/option strings.

Requires MorpheApp/morphe-patcher#33

@LisoUseInAIKyrios
Copy link
Copy Markdown
Contributor Author

patches-list.json generation could be updated with a locale option, and right now it uses the device locale.

It's also possible to bundle localized languages in the mpp file so CLI shows whatever language the device is, and/or include a locale flag. But for now I think just using English is fine. It's Manager that's important and needs the changes here so the temporary code that is less than a month old can be removed.

Patch list using localized resources (Espanol)
{
  "version": "v1.6.0-dev.3",
  "patches": [
    {
      "name": "Miniaturas alternativas",
      "description": "Añade opciones para reemplazar miniaturas usando la API de DeArrow o capturas del vídeo.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Subtítulos automáticos",
      "description": "Añade una opción para desactivar que los subtítulos se activen automáticamente.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Omitir redirecciones de URL",
      "description": "Añade una opción para omitir redirecciones de URL y abrir directamente la URL original.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Omitir comprobaciones de certificados",
      "description": "Omite las comprobaciones de certificados que impiden que YouTube Music funcione en Android Auto.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Omitir restricciones regionales de imágenes",
      "description": "Añade una opción para usar un host diferente para avatares e imágenes de canales.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Cambiar factor de forma",
      "description": "Añade una opción para cambiar la apariencia de la interfaz a teléfono, tablet o dispositivo automotriz.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Cambiar encabezado",
      "description": "Añade una opción para cambiar el logotipo del encabezado en la esquina superior izquierda de la app.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": [
        {
          "key": "custom",
          "title": "Logotipo de encabezado personalizado",
          "description": "Carpeta con imágenes para usar como logotipo de encabezado personalizado.\nLa carpeta debe contener una o más de las siguientes carpetas, dependiendo del DPI del dispositivo:\n- drawable-hdpi- drawable-xhdpi- drawable-xxhdpi- drawable-xxxhdpi\n\nCada una de las carpetas debe contener todos los siguientes archivos:\nmorphe_header_custom_light.png\nmorphe_header_custom_dark.png \n\nLas dimensiones de las imágenes deben ser las siguientes:\n- drawable-hdpi: 194x72 px\n- drawable-xhdpi: 258x96 px\n- drawable-xxhdpi: 387x144 px\n- drawable-xxxhdpi: 512x192 px",
          "required": false,
          "type": "kotlin.String",
          "default": null,
          "values": null
        }
      ]
    },
    {
      "name": "Cambiar color del minirreproductor",
      "description": "Añade una opción para cambiar el color de fondo del minirreproductor para que coincida con el reproductor en pantalla completa.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Cambiar nombre del paquete",
      "description": "Añade \".morphe\" al nombre del paquete por defecto. Cambiar el nombre del paquete puede causar problemas inesperados.",
      "use": false,
      "dependencies": [],
      "compatiblePackages": null,
      "options": [
        {
          "key": "packageName",
          "title": "Nombre del paquete",
          "description": "El nombre del paquete al que renombrar la app.",
          "required": true,
          "type": "kotlin.String",
          "default": "Default",
          "values": {
            "Predeterminado": "Default"
          }
        },
        {
          "key": "updatePermissions",
          "title": "Actualizar permisos",
          "description": "Actualiza los permisos del receptor de compatibilidad. Activarlo puede corregir errores de instalación, pero también puede romper funciones en ciertas apps.",
          "required": false,
          "type": "kotlin.Boolean",
          "default": false,
          "values": null
        },
        {
          "key": "updateProviders",
          "title": "Actualizar proveedores",
          "description": "Actualiza los nombres de proveedores declarados por la app. Activarlo puede corregir errores de instalación, pero también puede romper funciones en ciertas apps.",
          "required": false,
          "type": "kotlin.Boolean",
          "default": false,
          "values": null
        }
      ]
    },
    {
      "name": "Cambiar página de inicio",
      "description": "Añade una opción para elegir qué página se abre al iniciar la app en lugar de la página principal.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Comprobar resolución del dominio del historial de reproducciones",
      "description": "Comprueba si el servidor DNS del dispositivo impide que se guarde el historial de reproducciones.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Comprobar resolución del dominio del historial de reproducciones",
      "description": "Comprueba si el servidor DNS del dispositivo impide que se guarde el historial de reproducciones.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Copiar URL del vídeo",
      "description": "Añade opciones para mostrar botones en el reproductor para copiar URLs de vídeos.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Marca personalizada",
      "description": "Añade opciones para cambiar el icono y el nombre de la app. La marca no puede cambiarse en instalaciones montadas (root).",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": [
        {
          "key": "customName",
          "title": "Nombre de la app",
          "description": "Nombre personalizado de la app.",
          "required": false,
          "type": "kotlin.String",
          "default": null,
          "values": null
        },
        {
          "key": "customIcon",
          "title": "Icono personalizado",
          "description": "Carpeta con imágenes para usar como icono personalizado.\n\nLa carpeta debe contener una o más de las siguientes carpetas, dependiendo del DPI del dispositivo:\n- mipmap-mdpi\n- mipmap-hdpi\n- mipmap-xhdpi\n- mipmap-xxhdpi\n- mipmap-xxxhdpi\n\nCada una de las carpetas debe contener todos los siguientes archivos:\nmorphe_adaptive_background_custom.png\nmorphe_adaptive_foreground_custom.png\n\nLas dimensiones de las imágenes deben ser las siguientes:\n- mipmap-mdpi: 108x108 px\n- mipmap-hdpi: 162x162 px\n- mipmap-xhdpi: 216x216 px\n- mipmap-xxhdpi: 324x324 px\n- mipmap-xxxhdpi: 432x432 px\n\nOpcionalmente, la ruta contiene una carpeta 'drawable' con cualquiera de los archivos de icono monocromático:\nmorphe_adaptive_monochrome_custom.xml\nmorphe_notification_icon_custom.xml",
          "required": false,
          "type": "kotlin.String",
          "default": null,
          "values": null
        }
      ]
    },
    {
      "name": "Marca personalizada",
      "description": "Añade opciones para cambiar el icono y el nombre de la app. La marca no puede cambiarse en instalaciones montadas (root).",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": [
        {
          "key": "customName",
          "title": "Nombre de la app",
          "description": "Nombre personalizado de la app.",
          "required": false,
          "type": "kotlin.String",
          "default": null,
          "values": null
        },
        {
          "key": "customIcon",
          "title": "Icono personalizado",
          "description": "Carpeta con imágenes para usar como icono personalizado.\n\nLa carpeta debe contener una o más de las siguientes carpetas, dependiendo del DPI del dispositivo:\n- mipmap-mdpi\n- mipmap-hdpi\n- mipmap-xhdpi\n- mipmap-xxhdpi\n- mipmap-xxxhdpi\n\nCada una de las carpetas debe contener todos los siguientes archivos:\nmorphe_adaptive_background_custom.png\nmorphe_adaptive_foreground_custom.png\n\nLas dimensiones de las imágenes deben ser las siguientes:\n- mipmap-mdpi: 108x108 px\n- mipmap-hdpi: 162x162 px\n- mipmap-xhdpi: 216x216 px\n- mipmap-xxhdpi: 324x324 px\n- mipmap-xxxhdpi: 432x432 px\n\nOpcionalmente, la ruta contiene una carpeta 'drawable' con cualquiera de los archivos de icono monocromático:\nmorphe_adaptive_monochrome_custom.xml\nmorphe_notification_icon_custom.xml",
          "required": false,
          "type": "kotlin.String",
          "default": null,
          "values": null
        }
      ]
    },
    {
      "name": "Opacidad personalizada de la superposición del reproductor",
      "description": "Añade una opción para cambiar la opacidad del fondo del reproductor cuando los controles están visibles.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar acciones de doble toque",
      "description": "Añade una opción para desactivar los gestos de doble toque del reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar modo ambiente en pantalla completa",
      "description": "Añade una opción para desactivar el modo ambiente en pantalla completa.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar retroalimentación háptica",
      "description": "Añade una opción para desactivar la retroalimentación háptica en el reproductor para varias acciones.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar paneles emergentes del reproductor",
      "description": "Añade una opción para desactivar paneles (como el chat en vivo) que se abren automáticamente.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar reanudación de Shorts al iniciar",
      "description": "Añade una opción para evitar que Shorts se reanude automáticamente al abrir la app si fue lo último que viste.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar animaciones de números rodantes",
      "description": "Añade una opción para desactivar las animaciones de conteo de vistas, likes y tiempo de subida.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar ventana emergente de inicio de sesión en TV",
      "description": "Añade una opción para desactivar la ventana emergente que pide iniciar sesión en una TV en la misma red local.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Desactivar códecs de vídeo",
      "description": "Añade opciones para desactivar los códecs HDR y VP9.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Doble toque para avanzar",
      "description": "Añade valores adicionales de avance por doble toque al menú de ajustes de YouTube.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Descargas",
      "description": "Añade compatibilidad para descargar vídeos con una app externa.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Habilitar depuración",
      "description": "Añade opciones para depurar y exportar registros de Morphe al portapapeles.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Habilitar depuración",
      "description": "Añade opciones para depurar y exportar registros de Morphe al portapapeles.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Habilitar reproducción exclusiva de audio",
      "description": "Habilita la opción de reproducir solo audio sin vídeo.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Salir del modo de pantalla completa",
      "description": "Añade opciones para salir automáticamente de pantalla completa cuando el vídeo termina.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Forzar audio original",
      "description": "Añade una opción para usar siempre la pista de audio original.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Forzar audio original",
      "description": "Añade una opción para usar siempre la pista de audio original.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Compatibilidad con GmsCore",
      "description": "Permite que la app funcione sin root usando un nombre de paquete diferente cuando se parchea con GmsCore en lugar de Google Play Services.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Compatibilidad con GmsCore",
      "description": "Permite que la app funcione sin root usando un nombre de paquete diferente cuando se parchea con GmsCore en lugar de Google Play Services.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar 'Get Music Premium'",
      "description": "Añade una opción para ocultar la etiqueta \"Get Music Premium\" en los ajustes y el menú de cuenta.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar componentes de Shorts",
      "description": "Añade opciones para ocultar componentes relacionados con Shorts.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": [
        {
          "key": "hideShortsAppShortcut",
          "title": "Ocultar acceso directo de Shorts",
          "description": "Oculta permanentemente el acceso directo para abrir Shorts al mantener pulsado el icono de la app.",
          "required": false,
          "type": "kotlin.Boolean",
          "default": false,
          "values": null
        },
        {
          "key": "hideShortsWidget",
          "title": "Ocultar widget de Shorts",
          "description": "Oculta permanentemente el widget de Shorts en el launcher.",
          "required": false,
          "type": "kotlin.Boolean",
          "default": false,
          "values": null
        }
      ]
    },
    {
      "name": "Ocultar anuncios",
      "description": "Añade opciones para eliminar anuncios generales.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar vista previa de reproducción automática",
      "description": "Añade una opción para ocultar la vista previa de reproducción automática al final de los vídeos.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar botones",
      "description": "Añade opciones para ocultar los botones de Cast, historial, notificaciones y búsqueda.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar barra de categorías",
      "description": "Añade una opción para ocultar la barra de categorías en la parte superior de la página principal.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar tarjetas finales",
      "description": "Añade una opción para ocultar las tarjetas de vídeos sugeridos al final.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar vídeo sugerido al final",
      "description": "Añade una opción para ocultar el vídeo sugerido al final de los vídeos.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar tarjetas informativas",
      "description": "Añade una opción para ocultar las tarjetas informativas que los creadores añaden en el reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar componentes del diseño",
      "description": "Añade opciones para ocultar componentes generales del diseño.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar anuncios en vídeos musicales",
      "description": "Añade una opción para ocultar anuncios que aparecen al escuchar o transmitir vídeos musicales, pódcasts o canciones.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar elementos del menú del reproductor",
      "description": "Añade opciones para ocultar elementos del menú que aparece al pulsar el icono de engranaje.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar botones superpuestos del reproductor",
      "description": "Añade opciones para ocultar los botones de Cast, Autoplay, Subtítulos, Anterior y Siguiente, y el reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar superposición de vídeos relacionados",
      "description": "Añade una opción para ocultar la superposición de vídeos relacionados al deslizar hacia arriba en pantalla completa.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar marca de tiempo",
      "description": "Añade una opción para ocultar la marca de tiempo en la esquina inferior izquierda del reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Ocultar botones de acción del vídeo",
      "description": "Añade opciones para ocultar los botones de acción (como el botón de Descargar) debajo de los vídeos.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Repetir vídeo",
      "description": "Añade una opción para repetir vídeos y mostrar el botón de repetición en el reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Minirreproductor",
      "description": "Añade opciones para cambiar el reproductor minimizado dentro de la app.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Barra de navegación",
      "description": "Añade opciones para ocultar la barra de navegación, etiquetas y botones.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Botones de navegación",
      "description": "Añade opciones para ocultar y cambiar los botones de navegación (como el botón de Shorts).",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Abrir Shorts en el reproductor normal",
      "description": "Añade opciones para abrir Shorts en el reproductor de vídeo normal.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Abrir enlaces externamente",
      "description": "Añade una opción para abrir siempre los enlaces en tu navegador en lugar del navegador integrado.",
      "use": true,
      "dependencies": [
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Abrir vídeos en pantalla completa",
      "description": "Añade una opción para abrir vídeos en modo vertical de pantalla completa.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Repetición permanente",
      "description": "Añade una opción para repetir siempre, incluso si la lista termina o se reproduce otra pista.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Velocidad de reproducción",
      "description": "Añade opciones para personalizar las velocidades disponibles, establecer una velocidad predeterminada y mostrar un botón de velocidad en el reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Eliminar restricciones de reproducción en segundo plano",
      "description": "Elimina las restricciones de reproducción en segundo plano, incluyendo reproducir vídeos infantiles en segundo plano.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Eliminar restricciones de reproducción en segundo plano",
      "description": "Elimina las restricciones de reproducción en segundo plano, incluyendo reproducir vídeos infantiles en segundo plano.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Eliminar diálogo de advertencia de contenido",
      "description": "Añade una opción para eliminar el diálogo que aparece al abrir un vídeo con restricción de edad.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Return YouTube Dislike",
      "description": "Añade una opción para mostrar el conteo de dislikes usando Return YouTube Dislike.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Sanitizar enlaces compartidos",
      "description": "Elimina los parámetros de seguimiento de los enlaces compartidos.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Sanitizar enlaces compartidos",
      "description": "Elimina los parámetros de seguimiento de los enlaces compartidos.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Barra de progreso",
      "description": "Añade opciones para desactivar la búsqueda precisa al deslizar hacia arriba en la barra de progreso.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Autoplay de Shorts",
      "description": "Añade opciones para reproducir automáticamente el siguiente Short.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "SponsorBlock",
      "description": "Añade opciones para habilitar y configurar SponsorBlock, que puede saltar segmentos no deseados como contenido patrocinado.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Falsificar versión de la app",
      "description": "Añade una opción para hacer creer a YouTube que estás usando una versión antigua de la app.",
      "use": true,
      "dependencies": [
        "ResourcePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Falsificar dimensiones del dispositivo",
      "description": "Añade una opción para falsificar las dimensiones del dispositivo, lo que puede desbloquear calidades de vídeo superiores.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Falsificar flujos de vídeo",
      "description": "Añade opciones para falsificar los flujos de vídeo del cliente para corregir la reproducción.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": []
    },
    {
      "name": "Falsificar flujos de vídeo",
      "description": "Añade opciones para falsificar los flujos de vídeo del cliente para corregir la reproducción.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Controles por deslizamiento",
      "description": "Añade opciones para habilitar y configurar controles de volumen y brillo mediante deslizamiento.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Tema",
      "description": "Añade opciones de tematización y aplica un tema de fondo personalizado (el tema oscuro usa negro puro por defecto).",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.apps.youtube.music": [
          "7.29.52",
          "8.10.52",
          "8.37.56"
        ]
      },
      "options": [
        {
          "key": "darkThemeBackgroundColor",
          "title": "Color de fondo del tema oscuro",
          "description": "Puede ser un color hex (#RRGGBB) o una referencia de recurso de color.",
          "required": false,
          "type": "kotlin.String",
          "default": "@android:color/black",
          "values": {
            "Negro puro": "@android:color/black",
            "Material You": "@android:color/system_neutral1_900",
            "Clásico (YouTube antiguo)": "#212121",
            "Catppuccin (Mocha)": "#181825",
            "Rosa oscuro": "#290025",
            "Azul oscuro": "#001029",
            "Verde oscuro": "#002905",
            "Amarillo oscuro": "#282900",
            "Naranja oscuro": "#291800",
            "Rojo oscuro": "#290000"
          }
        }
      ]
    },
    {
      "name": "Tema",
      "description": "Añade opciones de tematización y aplica un tema de fondo personalizado (el tema oscuro usa negro puro por defecto).",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch",
        "ResourcePatch",
        "ResourcePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": [
        {
          "key": "darkThemeBackgroundColor",
          "title": "Color de fondo del tema oscuro",
          "description": "Puede ser un color hex (#RRGGBB) o una referencia de recurso de color.",
          "required": false,
          "type": "kotlin.String",
          "default": "@android:color/black",
          "values": {
            "Negro puro": "@android:color/black",
            "Material You": "@android:color/system_neutral1_900",
            "Clásico (YouTube antiguo)": "#212121",
            "Catppuccin (Mocha)": "#181825",
            "Rosa oscuro": "#290025",
            "Azul oscuro": "#001029",
            "Verde oscuro": "#002905",
            "Amarillo oscuro": "#282900",
            "Naranja oscuro": "#291800",
            "Rojo oscuro": "#290000"
          }
        },
        {
          "key": "lightThemeBackgroundColor",
          "title": "Color de fondo del tema claro",
          "description": "Puede ser un color hex (#RRGGBB) o una referencia de recurso de color.",
          "required": false,
          "type": "kotlin.String",
          "default": "@android:color/white",
          "values": {
            "Blanco": "@android:color/white",
            "Material You": "@android:color/system_neutral1_50",
            "Catppuccin (Latte)": "#E6E9EF",
            "Rosa claro": "#FCCFF3",
            "Azul claro": "#D1E0FF",
            "Verde claro": "#CCFFCC",
            "Amarillo claro": "#FDFFCC",
            "Naranja claro": "#FFE6CC",
            "Rojo claro": "#FFD6D6"
          }
        }
      ]
    },
    {
      "name": "Anuncios en vídeo",
      "description": "Añade una opción para eliminar anuncios en el reproductor.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    },
    {
      "name": "Calidad de vídeo",
      "description": "Añade opciones para establecer calidades de vídeo predeterminadas y usar siempre el menú avanzado de calidad.",
      "use": true,
      "dependencies": [
        "BytecodePatch",
        "BytecodePatch",
        "BytecodePatch"
      ],
      "compatiblePackages": {
        "com.google.android.youtube": [
          "20.14.43",
          "20.21.37",
          "20.26.46",
          "20.31.42",
          "20.37.48"
        ]
      },
      "options": []
    }
  ]
}

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat: use Morphe Patcher 1.1.0 localized patch/option name, titles, descriptions feat: use Morphe Patcher localized patch/option name, titles, descriptions Jan 16, 2026
@LisoUseInAIKyrios LisoUseInAIKyrios marked this pull request as draft January 20, 2026 12:15
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the feat/localized_patch_name_descriptions branch from 7e29020 to 2730e26 Compare January 20, 2026 12:20
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the feat/localized_patch_name_descriptions branch from 2730e26 to b4e458d Compare January 20, 2026 12:24
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the dev branch 2 times, most recently from 4bab7e3 to 5ff2db0 Compare January 29, 2026 07:51
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the dev branch 2 times, most recently from 1780adb to e866b3c Compare February 25, 2026 07:53
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the dev branch 6 times, most recently from e42f88a to 23f0c9f Compare April 27, 2026 10:55
@LisoUseInAIKyrios LisoUseInAIKyrios force-pushed the dev branch 5 times, most recently from f0be5b8 to a2c0681 Compare May 14, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant