8d0bcf60c1
Introduces Italian translations by adding languages/it.json and updating all language files to include 'italian' in the language selection. Updates quality label color logic in ytsage_gui_format_table.py to recognize Italian terms for best, high, medium, and low quality. Also updates the default language list in ytsage_localization.py to include Italian.
323 lines
17 KiB
JSON
323 lines
17 KiB
JSON
{
|
|
"language": {
|
|
"display_name": "Español (Spanish)",
|
|
"select_language": "Seleccionar idioma:",
|
|
"current_language": "Idioma actual: {language}",
|
|
"restart_required": "Los cambios de idioma tendrán efecto después de reiniciar la aplicación.",
|
|
"english": "Inglés",
|
|
"spanish": "Español (Spanish)",
|
|
"portuguese": "Português (Portuguese)",
|
|
"russian": "Русский (Russian)",
|
|
"chinese": "中文 (简体) (Chinese Simplified)",
|
|
"german": "Deutsch (German)",
|
|
"french": "Français (French)",
|
|
"hindi": "Hindi",
|
|
"indonesian": "Indonesio",
|
|
"turkish": "Turco",
|
|
"polish": "Polaco",
|
|
"italian": "Italiano"
|
|
},
|
|
"app": {
|
|
"title": "YTSage",
|
|
"version": "v{version}",
|
|
"ready": "Listo"
|
|
},
|
|
"buttons": {
|
|
"download": "Descargar",
|
|
"pause": "Pausar",
|
|
"resume": "Reanudar",
|
|
"cancel": "Cancelar",
|
|
"browse": "Examinar",
|
|
"clear": "Limpiar",
|
|
"ok": "Aceptar",
|
|
"apply": "Aplicar",
|
|
"close": "Cerrar",
|
|
"run_command": "Ejecutar Comando",
|
|
"about": "Acerca de",
|
|
"update": "Actualizar",
|
|
"analyze": "Analizar",
|
|
"paste_url": "Pegar URL",
|
|
"select_videos": "Seleccionar Videos...",
|
|
"video": "Video",
|
|
"audio_only": "Solo Audio",
|
|
"custom_options": "Opciones Personalizadas",
|
|
"trim_video": "Recortar Video",
|
|
"download_settings": "Configuración de Descarga",
|
|
"select_defaults": "Seleccionar Predeterminados",
|
|
"select_all": "Seleccionar Todos",
|
|
"deselect_all": "Deseleccionar Todos"
|
|
},
|
|
"dialogs": {
|
|
"custom_options": "Opciones Personalizadas",
|
|
"settings": "Configuración",
|
|
"select_folder": "Seleccionar Carpeta de Descarga",
|
|
"sponsorblock_categories": "Categorías SponsorBlock",
|
|
"sponsorblock_description": "Selecciona qué tipos de segmentos de video se eliminarán automáticamente durante la descarga.\nSponsorBlock utiliza datos enviados por la comunidad para identificar estos segmentos.",
|
|
"select_subtitles": "Seleccionar Subtítulos",
|
|
"filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...",
|
|
"no_subtitles_available": "No hay subtítulos disponibles",
|
|
"matching": "que coincidan con"
|
|
},
|
|
"tabs": {
|
|
"cookies": "Iniciar sesión con Cookies",
|
|
"custom_command": "Comando Personalizado",
|
|
"proxy": "Proxy",
|
|
"language": "Idioma"
|
|
},
|
|
"cookies": {
|
|
"help_text": "Elige cómo proporcionar cookies para iniciar sesión.\nEsto permite la descarga de videos privados y audio de calidad premium.",
|
|
"cookie_source": "Origen de Cookie",
|
|
"use_cookie_file": "Usar archivo de cookie (formato Netscape)",
|
|
"extract_from_browser": "Extraer cookies del navegador",
|
|
"cookie_file": "Archivo de Cookie",
|
|
"cookie_file_placeholder": "Ruta al archivo de cookies (formato Netscape)",
|
|
"browser_selection": "Selección de Navegador",
|
|
"browser_help": "Selecciona el navegador del cual extraer cookies. Asegúrate de que el navegador esté cerrado antes de la extracción.",
|
|
"browser_label": "Navegador:",
|
|
"profile_label": "Perfil (opcional):",
|
|
"profile_placeholder": "Nombre o ruta del perfil (dejar vacío para el predeterminado)",
|
|
"browser_extract_message": "Las cookies del navegador se extraerán al aplicar",
|
|
"file_selected_message": "Archivo de cookies seleccionado - Haz clic en Aceptar para aplicar",
|
|
"select_file_title": "Seleccionar Archivo de Cookies",
|
|
"file_filter": "Archivos de cookies (*.txt *.lwp)"
|
|
},
|
|
"custom_command": {
|
|
"help_text": "Ingresa tu comando yt-dlp personalizado a continuación. La URL actual se añadirá automáticamente.<br><br>Para ver la lista completa de opciones y ejemplos de uso, <a href=\"{docs_url}\">haz clic aquí para ver la documentación oficial de yt-dlp</a>.<br><br>Nota: La ruta de descarga y la plantilla de nombre de archivo se manejarán automáticamente.",
|
|
"input_label": "Argumentos de yt-dlp:",
|
|
"input_placeholder": "Ingresa argumentos de yt-dlp aquí...\n\nej. --extract-audio --audio-format mp3",
|
|
"output_label": "Salida del Comando:",
|
|
"output_placeholder": "La salida del comando aparecerá aquí...",
|
|
"full_command": "🔧 Comando completo: {command}",
|
|
"command_failed": "❌ El comando falló con código de salida {code}",
|
|
"command_success": "✅ ¡Comando completado exitosamente!",
|
|
"command_error": "❌ Error ejecutando comando: {error}"
|
|
},
|
|
"proxy": {
|
|
"help_text": "Configurar ajustes de proxy para conexiones de red y geo-verificación.\nEl proxy puede ayudar a evitar restricciones regionales y mejorar el rendimiento de descarga.",
|
|
"main_proxy": "Proxy Principal",
|
|
"main_proxy_help": "Usar el proxy HTTP/HTTPS/SOCKS especificado para todas las conexiones.",
|
|
"proxy_url_label": "URL del Proxy:",
|
|
"proxy_url_placeholder": "ej., http://proxy.example.com:8080 o socks5://user:pass@127.0.0.1:1080",
|
|
"proxy_examples": "Ejemplos: http://proxy.com:8080, https://proxy.com:8080, socks5://127.0.0.1:1080",
|
|
"geo_proxy": "Proxy de Geo-verificación",
|
|
"geo_proxy_help": "Usar este proxy para verificar dirección IP para sitios con restricciones geográficas. El proxy principal (si está configurado) se usa para la descarga real.",
|
|
"geo_proxy_url_label": "URL del Geo Proxy:",
|
|
"geo_proxy_url_placeholder": "ej., http://us-proxy.example.com:8080",
|
|
"clear_main_proxy": "Limpiar Proxy Principal",
|
|
"clear_geo_proxy": "Limpiar Geo Proxy",
|
|
"invalid_main_url": "Formato de URL de proxy principal inválido",
|
|
"invalid_geo_url": "Formato de URL de geo proxy inválido",
|
|
"main_configured": "Proxy principal configurado",
|
|
"geo_configured": "Geo proxy configurado"
|
|
},
|
|
"download": {
|
|
"preparing": "🚀 Preparando tu descarga...",
|
|
"completed": "✅ ¡Descarga completada!",
|
|
"video_completed": "✅ ¡Descarga de video completada!",
|
|
"audio_completed": "✅ ¡Descarga de audio completada!",
|
|
"subtitle_completed": "✅ ¡Descarga de subtítulos completada!",
|
|
"please_set_path": "Por favor establece una ruta de descarga usando 'Cambiar Ruta'",
|
|
"please_enter_url": "Por favor ingresa una URL",
|
|
"please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga",
|
|
"please_select_format": "Por favor selecciona un formato"
|
|
},
|
|
"formats": {
|
|
"show_formats": "Mostrar formatos:",
|
|
"select": "Seleccionar",
|
|
"quality": "Calidad",
|
|
"extension": "Extensión",
|
|
"resolution": "Resolución",
|
|
"file_size": "Tamaño",
|
|
"codec": "Códec",
|
|
"audio": "Audio",
|
|
"notes": "Notas",
|
|
"will_merge_audio": "Se combinará audio",
|
|
"has_audio": "✓ Tiene Audio",
|
|
"audio_only": "Solo Audio",
|
|
"large_size": "Tamaño grande",
|
|
"medium_size": "Tamaño mediano",
|
|
"standard_size": "Tamaño estándar",
|
|
"compatible": "Compatible",
|
|
"efficient": "Eficiente",
|
|
"high_quality": "Alta calidad",
|
|
"best_4k": "Óptima (4K)",
|
|
"best_2k": "Óptima (2K)",
|
|
"high_1080p": "Alta (1080p)",
|
|
"high_720p": "Alta (720p)",
|
|
"medium_480p": "Media (480p)",
|
|
"low_quality": "Baja Calidad",
|
|
"best_audio": "Mejor Audio",
|
|
"high_audio": "Audio Alto",
|
|
"medium_audio": "Audio Medio",
|
|
"low_audio": "Audio Bajo",
|
|
"audio_only_resolution": "Solo audio"
|
|
},
|
|
"about": {
|
|
"title": "Acerca de YTSage",
|
|
"version": "Versión {version}",
|
|
"description": "Descargador moderno de YouTube con una interfaz limpia de PySide6.",
|
|
"author": "Por: {author}",
|
|
"github": "GitHub: {repo}",
|
|
"system_info": "Información del Sistema",
|
|
"loading": "🔄 Cargando información del sistema...",
|
|
"refresh": "🔄",
|
|
"refreshing": "🔄 Actualizando...",
|
|
"refresh_failed": "Actualización Fallida",
|
|
"refresh_failed_message": "No se pudo actualizar la información de versión.",
|
|
"detected": "✓ Detectado",
|
|
"missing": "✗ Faltante",
|
|
"not_available": "No Disponible"
|
|
},
|
|
"time_range": {
|
|
"title": "Descargar Sección del Video",
|
|
"help_text": "Descarga solo partes específicas de un video especificando rangos de tiempo.\nUsa formato HH:MM:SS o segundos. Deja inicio o fin vacío para descargar desde el principio o hasta el final.",
|
|
"time_range_group": "Rango de Tiempo",
|
|
"start_time": "Tiempo de Inicio:",
|
|
"end_time": "Tiempo de Fin:",
|
|
"start_time_placeholder": "00:00:00 (o dejar vacío para inicio)",
|
|
"end_time_placeholder": "00:10:00 (o dejar vacío para fin)",
|
|
"force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)"
|
|
},
|
|
"update": {
|
|
"title": "Actualizar yt-dlp",
|
|
"checking": "Verificando actualizaciones...",
|
|
"update_available": "¡Actualización disponible!\nVersión actual: {current}\nÚltima versión: {latest}",
|
|
"up_to_date": "yt-dlp está actualizado (versión {version})",
|
|
"could_not_determine": "No se pudieron determinar las versiones.",
|
|
"error_comparing": "Error al comparar versiones: {error}",
|
|
"update_available_failed": "¡Actualización disponible! (Comparación fallida)\nActual: {current}\nÚltima: {latest}",
|
|
"updating": "Actualizando...",
|
|
"initializing": "🚀 Inicializando proceso de actualización...",
|
|
"checking_current": "🔍 Verificando instalación actual...",
|
|
"found_at": "📍 Se encontró yt-dlp en: {path}",
|
|
"error_getting_path": "❌ Error al obtener la ruta de yt-dlp: {error}",
|
|
"updating_binary": "📦 Actualizando binario de yt-dlp administrado por la app...",
|
|
"updating_pip": "🐍 Actualizando yt-dlp del sistema vía pip...",
|
|
"update_failed": "❌ Falló la actualización de yt-dlp. Inténtalo de nuevo o verifica tu conexión a internet.",
|
|
"binary_updated": "✅ ¡Binario actualizado exitosamente!",
|
|
"update_failed_stderr": "❌ Falló la actualización de yt-dlp: {error}",
|
|
"update_timeout": "❌ Tiempo agotado en la actualización de yt-dlp.",
|
|
"unexpected_error": "❌ Error inesperado durante la actualización: {error}",
|
|
"checking_pip": "🔍 Verificando instalación actual de pip...",
|
|
"current_version": "📋 Versión actual: {version}",
|
|
"not_found_pip": "⚠️ yt-dlp no encontrado vía pip, intentando instalación...",
|
|
"checking_latest": "🌐 Verificando última versión...",
|
|
"failed_check_updates": "❌ Falló la verificación de actualizaciones",
|
|
"latest_version": "🆕 Última versión: {version}",
|
|
"updating_from_to": "⬆️ Actualizando de {current} a {latest}...",
|
|
"running_pip_install": "📦 Ejecutando pip install --upgrade...",
|
|
"pip_completed": "✅ ¡Actualización de pip completada exitosamente!",
|
|
"pip_failed": "❌ Actualización de pip falló: {error}"
|
|
},
|
|
"settings": {
|
|
"title": "Configuración de Descarga",
|
|
"download_path": "Ruta de Descarga",
|
|
"browse": "Examinar...",
|
|
"speed_limit": "Límite de Velocidad",
|
|
"speed_limit_placeholder": "Ninguno",
|
|
"auto_update_ytdlp": "Auto-Actualizar yt-dlp",
|
|
"enable_auto_updates": "Habilitar actualizaciones automáticas de yt-dlp",
|
|
"update_frequency": "Frecuencia de actualización:",
|
|
"check_startup": "Verificar en cada inicio (mínimo 1 hora entre verificaciones)",
|
|
"check_daily": "Verificar diariamente",
|
|
"check_weekly": "Verificar semanalmente",
|
|
"check_updates_now": "Verificar Actualizaciones Ahora",
|
|
"update_check_title": "Verificación de Actualizaciones",
|
|
"could_not_determine_version": "No se pudo determinar la versión actual de yt-dlp.",
|
|
"update_available_dialog": "¡Actualización disponible!\n\nActual: {current}\nÚltima: {latest}\n\nUsa el botón 'Actualizar yt-dlp' en la ventana principal para actualizar.",
|
|
"up_to_date_dialog": "¡yt-dlp está actualizado!\n\nVersión actual: {version}",
|
|
"error_checking_updates": "Error al verificar actualizaciones: {error}",
|
|
"settings_saved_title": "Configuración Guardada",
|
|
"settings_saved_message": "¡La configuración de auto-actualización se ha guardado exitosamente!",
|
|
"error_title": "Error",
|
|
"failed_save_settings": "Falló al guardar la configuración de auto-actualización.",
|
|
"error_saving_settings": "Error al guardar la configuración de auto-actualización: {error}",
|
|
"auto_update_title": "Configuración de Auto-Actualización",
|
|
"auto_update_header": "🔄 Configuración de Auto-Actualización",
|
|
"auto_update_description": "Configura las actualizaciones automáticas de yt-dlp para asegurar que siempre tengas las últimas funciones y correcciones de errores.",
|
|
"current_status": "Estado Actual",
|
|
"current_version_label": "Versión actual de yt-dlp: Verificando...",
|
|
"last_check_label": "Última verificación de actualización: Nunca",
|
|
"next_check_label": "Próxima verificación: Basado en configuración",
|
|
"manual_check_button": "🔍 Verificar Actualizaciones Ahora",
|
|
"update_frequency_group": "Frecuencia de Actualización",
|
|
"save_settings": "Guardar Configuración",
|
|
"settings_saved_successfully": "✅ ¡Configuración guardada exitosamente!",
|
|
"error_saving": "❌ Error al guardar configuración: {error}"
|
|
},
|
|
"main_ui": {
|
|
"url_placeholder": "Ingresa URL de video o lista de YouTube",
|
|
"merge_subtitles": "Combinar Subtítulos",
|
|
"save_thumbnail": "Guardar Miniatura",
|
|
"save_description": "Guardar Descripción",
|
|
"embed_chapters": "Incrustar Capítulos",
|
|
"subtitles_selected": "{count} seleccionados",
|
|
"all_selected": "Todos seleccionados",
|
|
"select_videos_all": "Seleccionar Videos... (Todos seleccionados)",
|
|
"please_enter_url": "Por favor ingresa primero una URL",
|
|
"cookie_file_selected_title": "Archivo de Cookies Seleccionado",
|
|
"cookie_file_selected_message": "Archivo de cookies seleccionado: {path}",
|
|
"browser_cookies_selected_title": "Cookies de Navegador Seleccionadas",
|
|
"browser_cookies_selected_message": "Las cookies del navegador serán extraídas de: {browser}",
|
|
"error_no_format_info": "Error: No hay información de formato disponible.",
|
|
"error_extract_info": "Error: No se pudo extraer la información básica del video. Por favor verifica tu enlace.",
|
|
"analyzing_preparing": "Analizando (0%)... Preparando solicitud",
|
|
"analyzing_extracting_basic": "Analizando (15%)... Extrayendo información básica",
|
|
"analyzing_extracting_detailed": "Analizando (30%)... Extrayendo información detallada",
|
|
"analyzing_processing_video": "Analizando (45%)... Procesando datos de video",
|
|
"analyzing_processing_formats": "Analizando (60%)... Procesando formatos",
|
|
"analyzing_loading_thumbnail": "Analizando (75%)... Cargando miniatura",
|
|
"analyzing_processing_subtitles": "Analizando (85%)... Procesando subtítulos",
|
|
"analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos",
|
|
"analysis_complete": "¡Análisis completo!",
|
|
"analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información con ejecutable yt-dlp",
|
|
"analyzing_processing_data": "Analizando (60%)... Procesando datos",
|
|
"analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos",
|
|
"analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura",
|
|
"analyzing_processing_subtitles_ytdlp": "Analizando (90%)... Procesando subtítulos",
|
|
"select_subtitles": "Seleccionar Subtítulos...",
|
|
"sponsorblock_categories": "Categorías SponsorBlock..."
|
|
},
|
|
"sponsorblock": {
|
|
"sponsor": "Patrocinador",
|
|
"sponsor_desc": "Promoción pagada, referencias pagadas y anuncios directos",
|
|
"selfpromo": "Autopromoción No Pagada",
|
|
"selfpromo_desc": "Promoción no pagada del propio contenido del creador",
|
|
"interaction": "Recordatorio de Interacción",
|
|
"interaction_desc": "Pedir a los espectadores que den like, se suscriban o sigan en redes sociales",
|
|
"intro": "Introducción",
|
|
"intro_desc": "Introducción del video que se puede omitir",
|
|
"outro": "Outro/Tarjetas Finales",
|
|
"outro_desc": "Créditos o cuando termina el video",
|
|
"preview": "Vista Previa/Resumen",
|
|
"preview_desc": "Resumen rápido de videos anteriores o vista previa de lo que viene",
|
|
"music_offtopic": "Sección No Musical",
|
|
"music_offtopic_desc": "Solo para videos musicales. Marca secciones no musicales",
|
|
"filler": "Relleno/Tangente",
|
|
"filler_desc": "Escenas tangenciales agregadas solo como relleno o humor"
|
|
},
|
|
"video_info": {
|
|
"channel": "Canal",
|
|
"views": "Visualizaciones",
|
|
"likes": "Me gusta",
|
|
"upload_date": "Fecha de subida",
|
|
"duration": "Duración",
|
|
"unknown_channel": "Canal desconocido",
|
|
"unknown_date": "Fecha desconocida",
|
|
"unknown_title": "Título desconocido"
|
|
},
|
|
"command": {
|
|
"running": "Ejecutando...",
|
|
"run_command": "Ejecutar Comando"
|
|
},
|
|
"selection": {
|
|
"none_selected": "0 seleccionados",
|
|
"one_selected": "1 categoría seleccionada",
|
|
"count_selected": "{count} seleccionados"
|
|
},
|
|
"status": {
|
|
"ready": "Listo",
|
|
"file_exists": "⚠️ El archivo ya existe",
|
|
"cancelling": "Cancelando descarga..."
|
|
}
|
|
} |