From a1dfd0be33428e5e31a6186db8017b54eed5759e Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Wed, 30 Jul 2025 11:22:07 +0200 Subject: [PATCH 01/14] added spanish draft --- copyparty/web/browser.js | 627 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 626 insertions(+), 1 deletion(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 028bb2a5..6afa9b26 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -3763,9 +3763,634 @@ var Ls = { "lang_set": "оновити сторінку, щоб зміни набули чинності?", }, + "esp": { + "tt": "Español", + + "cols": { + "c": "acciones", + "dur": "duración", + "q": "calidad / bitrate", + "Ac": "códec de audio", + "Vc": "códec de vídeo", + "Fmt": "formato / contenedor", + "Ahash": "checksum de audio", + "Vhash": "checksum de vídeo", + "Res": "resolución", + "T": "tipo de archivo", + "aq": "calidad de audio / bitrate", + "vq": "calidad de vídeo / bitrate", + "pixfmt": "submuestreo / estructura de píxel", + "resw": "resolución horizontal", + "resh": "resolución vertical", + "chs": "canales de audio", + "hz": "frecuencia de muestreo" + }, + + "hks": [ + [ + "varios", + ["ESC", "cerrar varias cosas"], + + "gestor de archivos", + ["G", "alternar vista de lista / cuadrícula"], + ["T", "alternar miniaturas / iconos"], + ["⇧ A/D", "tamaño de miniatura"], + ["ctrl-K", "eliminar seleccionados"], + ["ctrl-X", "cortar selección al portapapeles"], + ["ctrl-C", "copiar selección al portapapeles"], + ["ctrl-V", "pegar (mover/copiar) aquí"], + ["Y", "descargar seleccionados"], + ["F2", "renombrar seleccionados"], + + "selección en lista de archivos", + ["space", "alternar selección de archivo"], + ["↑/↓", "mover cursor de selección"], + ["ctrl ↑/↓", "mover cursor y vista"], + ["⇧ ↑/↓", "seleccionar anterior/siguiente archivo"], + ["ctrl-A", "seleccionar todos los archivos / carpetas"] + ], [ + "navegación", + ["B", "alternar breadcrumbs / panel de navegación"], + ["I/K", "anterior/siguiente carpeta"], + ["M", "carpeta de nivel superior (o contraer actual)"], + ["V", "alternar carpetas / archivos en panel de navegación"], + ["A/D", "tamaño del panel de navegación"] + ], [ + "reproductor de audio", + ["J/L", "anterior/siguiente canción"], + ["U/O", "saltar 10s atrás/adelante"], + ["0..9", "saltar a 0%..90%"], + ["P", "reproducir/pausar (también inicia)"], + ["S", "seleccionar canción en reproducción"], + ["Y", "descargar canción"] + ], [ + "visor de imágenes", + ["J/L, ←/→", "anterior/siguiente imagen"], + ["Home/End", "primera/última imagen"], + ["F", "pantalla completa"], + ["R", "rotar en sentido horario"], + ["⇧ R", "rotar en sentido antihorario"], + ["S", "seleccionar imagen"], + ["Y", "descargar imagen"] + ], [ + "reproductor de vídeo", + ["U/O", "saltar 10s atrás/adelante"], + ["P/K/Space", "reproducir/pausar"], + ["C", "continuar con el siguiente"], + ["V", "bucle"], + ["M", "silenciar"], + ["[ y ]", "establecer intervalo de bucle"] + ], [ + "visor de texto", + ["I/K", "anterior/siguiente archivo"], + ["M", "cerrar archivo"], + ["E", "editar archivo"], + ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] + ] + ], + + "m_ok": "Aceptar", + "m_ng": "Cancelar", + + "enable": "Activar", + "danger": "PELIGRO", + "clipped": "copiado al portapapeles", + + "ht_s1": "segundo", + "ht_s2": "segundos", + "ht_m1": "minuto", + "ht_m2": "minutos", + "ht_h1": "hora", + "ht_h2": "horas", + "ht_d1": "día", + "ht_d2": "días", + "ht_and": " y ", + + "goh": "panel-de-control", + "gop": 'hermano anterior">anterior', + "gou": 'carpeta de nivel superior">subir', + "gon": 'siguiente carpeta">siguiente', + "logout": "Cerrar sesión ", + "access": " acceso", + "ot_close": "cerrar submenú", + "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", + "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", + "ot_bup": "bup: subidor básico, soporta hasta netscape 4.0", + "ot_mkdir": "mkdir: crear un nuevo directorio", + "ot_md": "new-md: crear un nuevo documento markdown", + "ot_msg": "msg: enviar un mensaje al registro del servidor", + "ot_mp": "opciones del reproductor multimedia", + "ot_cfg": "opciones de configuración", + "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el subidor básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el subidor básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_noie": "Por favor, usa Chrome / Firefox / Edge", + + "ab_mkdir": "crear directorio", + "ab_mkdoc": "nuevo documento markdown", + "ab_msg": "enviar msg al registro del servidor", + + "ay_path": "saltar a carpetas", + "ay_files": "saltar a archivos", + + "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", + "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", + "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", + "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", + "wt_pst": "pegar una selección previamente cortada / copiada$NAtajo: ctrl-V", + "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", + "wt_selinv": "invertir selección", + "wt_zip1": "descargar esta carpeta como un archivo comprimido", + "wt_selzip": "descargar selección como archivo comprimido", + "wt_seldl": "descargar selección como archivos separados$NAtajo: Y", + "wt_npirc": "copiar información de pista en formato IRC", + "wt_nptxt": "copiar información de pista en texto plano", + "wt_m3ua": "añadir a lista m3u (haz clic en 📻copiar después)", + "wt_m3uc": "copiar lista m3u al portapapeles", + "wt_grid": "alternar vista de cuadrícula / lista$NAtajo: G", + "wt_prev": "pista anterior$NAtajo: J", + "wt_play": "reproducir / pausar$NAtajo: P", + "wt_next": "siguiente pista$NAtajo: L", + + "ul_par": "subidas paralelas:", + "ut_rand": "aleatorizar nombres de archivo", + "ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅', + "ut_ow": "sobrescribir archivos existentes en el servidor?$N🛡️: nunca (generará un nuevo nombre de archivo en su lugar)$N🕒: sobrescribir si el archivo del servidor es más antiguo que el tuyo$N♻️: siempre sobrescribir si los archivos son diferentes", + "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizás desactivar si tu CPU o HDD es un cuello de botella", + "ut_ask": 'pedir confirmación antes de iniciar la subida">💭', + "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", + "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escaneará todas las carpetas que puedas leer)", + "ut_par": "pausar subidas poniéndolo a 0$N$Naumentar si tu conexión es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", + "ul_btn": "arrastra archivos / carpetas
aquí (o haz clic)", + "ul_btnu": "S U B I R", + "ul_btns": "B U S C A R", + + "ul_hash": "hash", + "ul_send": "envio", + "ul_done": "hecho", + "ul_idle1": "aún no hay subidas en cola", + "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", + "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", + "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", + + "uct_ok": "completado con éxito", + "uct_ng": "fallido: error / rechazado / no encontrado", + "uct_done": "éxitos y fallos combinados", + "uct_bz": "generando hash o subiendo", + "uct_q": "inactivo, pendiente", + + "utl_name": "nombre de archivo", + "utl_ulist": "lista", + "utl_ucopy": "copiar", + "utl_links": "enlaces", + "utl_stat": "estado", + "utl_prog": "progreso", + + "utl_404": "404", + "utl_err": "ERROR", + "utl_oserr": "Error-SO", + "utl_found": "encontrado", + "utl_defer": "posponer", + "utl_yolo": "YOLO", + "utl_done": "hecho", + + "ul_flagblk": "los archivos se añadieron a la cola
sin embargo, hay un up2k ocupado en otra pestaña del navegador,
esperando a que termine primero", + "ul_btnlk": "la configuración del servidor ha bloqueado esta opción en este estado", + + "udt_up": "Subir", + "udt_srch": "Buscar", + "udt_drop": "suéltalo aquí", + + "u_nav_m": "
vale, ¿qué tienes?
Intro = Archivos (uno o más)\nESC = Una carpeta (incluyendo subcarpetas)", + "u_nav_b": "ArchivosUna carpeta", + + "cl_opts": "opciones", + "cl_themes": "tema", + "cl_langs": "idioma", + "cl_ziptype": "descarga de carpeta", + "cl_uopts": "opciones up2k", + "cl_favico": "favicon", + "cl_bigdir": "directorios grandes", + "cl_hsort": "#ordenar", + "cl_keytype": "notación de teclas", + "cl_hiddenc": "columnas ocultas", + "cl_hidec": "ocultar", + "cl_reset": "restablecer", + "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", + "cl_hcancel": "ocultación de columna cancelada", + + "ct_grid": '田 la cuadrícula', + "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', + "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', + "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', + "ct_ihop": 'al cerrar el visor de imágenes, desplazarse hasta el último archivo visto">g⮯', + "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', + "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', + "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', + "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', + "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', + "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', + "ct_sbars": 'mostrar barra lateral">⟊', + + "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de última modificación del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminación)">re📅', + + "cut_turbo": 'el botón yolo, probablemente NO quieras activarlo:$N$Núsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razón, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobación de hash por un simple "¿tiene este el mismo tamaño de archivo en el servidor?" así que si el contenido del archivo es diferente, NO se subirá$N$Ndeberías desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', + + "cut_datechk": 'no tiene efecto a menos que el botón turbo esté activado$N$Nreduce el factor yolo en una pequeña cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteóricamente debería detectar la mayoría de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificación con el turbo desactivado después">verif. fecha', + + "cut_u2sz": "tamaño (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a través del atlántico. Prueba valores bajos en conexiones muy poco fiables", + + "cut_flag": "asegura que solo una pestaña esté subiendo a la vez $N -- otras pestañas también deben tener esto activado $N -- solo afecta a pestañas en el mismo dominio", + + "cut_az": "subir archivos en orden alfabético, en lugar de los más pequeños primero$N$Nel orden alfabético puede facilitar la detección visual de si algo salió mal en el servidor, pero hace la subida ligeramente más lenta en fibra / LAN", + + "cut_nag": "notificación del SO cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + + "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmás RAM (hasta 512 MiB extra)$N$Nhace https un 30% más rápido, http 4.5x más rápido">mt', + + "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto está activado">wasm', + + "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", + "cft_fg": "color de primer plano", + "cft_bg": "color de fondo", + + "cdt_lim": "número máximo de archivos a mostrar en una carpeta", + "cdt_ask": "al llegar al final,$Nen lugar de cargar más archivos,$Npreguntar qué hacer", + "cdt_hsort": "cuántas reglas de ordenación (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 también ignorará las reglas de ordenación incluidas en los enlaces de medios al hacer clic en ellos", + + "tt_entree": "mostrar panel de navegación (barra lateral con árbol de directorios)$NAtajo: B", + "tt_detree": "mostrar breadcrumbs$NAtajo: B", + "tt_visdir": "desplazarse a la carpeta seleccionada", + "tt_ftree": "alternar árbol de carpetas / archivos de texto$NAtajo: V", + "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", + "tt_dynt": "crecimiento automático a medida que el árbol se expande", + "tt_wrap": "ajuste de línea", + "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", + + "ml_pmode": "al final de la carpeta...", + "ml_btns": "cmds", + "ml_tcode": "transcodificar", + "ml_tcode2": "transcodificar a", + "ml_tint": "tinte", + "ml_eq": "ecualizador de audio", + "ml_drc": "compresor de rango dinámico", + + "mt_loop": 'poner en bucle/repetir una canción">🔁', + "mt_one": 'parar después de una canción">1️⃣', + "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', + "mt_aplay": 'reproducción automática si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', + "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', + "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', + "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', + "mt_fau": 'en teléfonos, evitar que la música se detenga si la siguiente canción no se precarga lo suficientemente rápido (puede causar fallos en la visualización de etiquetas)">☕️', + "mt_waves": 'barra de búsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', + "mt_npclip": 'mostrar botones para copiar al portapapeles la canción actual">/np', + "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">📻', + "mt_octl": 'integración con SO (teclas multimedia / OSD)">ctl-so', + "mt_oseek": 'permitir buscar a través de la integración con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botón de siguiente canción">búsqueda', + "mt_oscv": 'mostrar carátula del álbum en OSD">arte', + "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', + "mt_compact": 'controles compactos">⟎', + "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', + "mt_mloop": 'repetir la carpeta actual">🔁 bucle', + "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', + "mt_mstop": 'detener reproducción">⏸ parar', + "mt_cflac": 'convertir flac / wav a opus">flac', + "mt_caac": 'convertir aac / m4a a opus">aac', + "mt_coth": 'convertir todos los demás (no mp3) a opus">oth', + "mt_c2opus": 'la mejor opción para ordenadores, portátiles, android">opus', + "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', + "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', + "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', + "mt_c2ok": "bien, buena elección", + "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero está bien", + "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentémoslo de todas formas", + "mt_xowa": "hay errores en iOS que impiden la reproducción en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", + "mt_tint": "nivel de fondo (0-100) en la barra de búsqueda$Npara hacer el buffering menos molesto", + "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estándar 100% (sin modificar)$N$Nancho <code>1  </code> = estéreo estándar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminación de voz :^)$N$Nactivar el ecualizador hace que los álbumes sin pausas sean completamente sin pausas, así que déjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", + "mt_drc": "activa el compresor de rango dinámico (aplanador de volumen / brickwaller); también activará el EQ para equilibrar el espagueti, así que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, así que los valores por defecto de umbral -24 y ratio 12 significan que nunca debería sonar más fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es máx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", + + "mb_play": "reproducir", + "mm_hashplay": "¿reproducir este archivo de audio?", + "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", + "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", + "mm_bload": "cargando...", + "mm_bconv": "convirtiendo a {0}, por favor espera...", + "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificación a opus", + "mm_playerr": "fallo de reproducción: ", + "mm_eabrt": "El intento de reproducción fue cancelado", + "mm_enet": "Tu conexión a internet es inestable", + "mm_edec": "¿Este archivo está supuestamente corrupto?", + "mm_esupp": "Tu navegador no entiende este formato de audio", + "mm_eunk": "Error desconocido", + "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", + "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizás se cerró tu sesión", + "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", + "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", + "mm_nof": "no se encuentran más archivos de audio cerca", + "mm_prescan": "Buscando música para reproducir a continuación...", + "mm_scank": "Encontrada la siguiente canción:", + "mm_uncache": "caché limpiada; todas las canciones se volverán a descargar en la próxima reproducción", + "mm_hnf": "esa canción ya no existe", + + "im_hnf": "esa imagen ya no existe", + + "f_empty": "esta carpeta está vacía", + "f_chide": "esto ocultará la columna «{0}»\n\npuedes volver a mostrar las columnas en la pestaña de configuración", + "f_bigtxt": "este archivo pesa {0} MiB -- ¿realmente verlo como texto?", + "f_bigtxt2": "¿ver solo el final del archivo en su lugar? esto también activará el seguimiento, mostrando las líneas de texto recién añadidas en tiempo real", + "fbd_more": '
mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
', + "fbd_all": '
mostrando {0} de {1} archivos; mostrar todos
', + "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplázate hasta el final", + + "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", + + "f_partial": "Para descargar de forma segura un archivo que se está subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensión .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorará esta advertencia y continuará descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te dará datos corruptos.", + + "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", + "fr_eperm": "no se puede renombrar:\nno tienes permiso de “mover” en esta carpeta", + "fd_eperm": "no se puede eliminar:\nno tienes permiso de “eliminar” en esta carpeta", + "fc_eperm": "no se puede cortar:\nno tienes permiso de “mover” en esta carpeta", + "fp_eperm": "no se puede pegar:\nno tienes permiso de “escribir” en esta carpeta", + "fr_emore": "selecciona al menos un elemento para renombrar", + "fd_emore": "selecciona al menos un elemento para eliminar", + "fc_emore": "selecciona al menos un elemento para cortar", + "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", + + "fs_sc": "compartir la carpeta en la que estás", + "fs_ss": "compartir los archivos seleccionados", + "fs_just1d": "no puedes seleccionar más de una carpeta,\no mezclar archivos y carpetas en una selección", + "fs_abrt": "❌ abortar", + "fs_rand": "🎲 nombre aleatorio", + "fs_go": "✅ crear enlace", + "fs_name": "nombre", + "fs_src": "origen", + "fs_pwd": "contraseña", + "fs_exp": "caducidad", + "fs_tmin": "minutos", + "fs_thrs": "horas", + "fs_tdays": "días", + "fs_never": "eterno", + "fs_pname": "nombre opcional del enlace; será aleatorio si se deja en blanco", + "fs_tsrc": "el archivo o carpeta a compartir", + "fs_ppwd": "contraseña opcional", + "fs_w8": "creando enlace...", + "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", + + "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", + "frt_rst": "restaurar los nombres de archivo modificados a los originales\">↺ restablecer", + "frt_abrt": "abortar y cerrar esta ventana\">❌ cancelar", + "frb_apply": "APLICAR RENOMBRADO", + "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", + "fr_case": "regex sensible a mayúsculas\">mayús", + "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", + "fr_slash": "reemplaza / con un carácter que no cree nuevas carpetas\">sin /", + "fr_re": "patrón de búsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y así sucesivamente", + "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el título de la canción,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista está en blanco$N<code>$lpad((tn),2,0)</code> rellena el número de pista a 2 dígitos", + "fr_pdel": "eliminar", + "fr_pnew": "guardar como", + "fr_pname": "proporciona un nombre para tu nuevo preajuste", + "fr_aborted": "abortado", + "fr_lold": "nombre antiguo", + "fr_lnew": "nombre nuevo", + "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", + "fr_busy": "renombrando {0} elementos...\n\n{1}", + "fr_efail": "fallo al renombrar:\n", + "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\n¿Aceptar para continuar con estos nuevos nombres alterados?", + + "fd_ok": "eliminación correcta", + "fd_err": "fallo al eliminar:\n", + "fd_none": "no se eliminó nada; quizás bloqueado por la configuración del servidor (xbd)?", + "fd_busy": "eliminando {0} elementos...\n\n{1}", + "fd_warn1": "¿ELIMINAR estos {0} elementos?", + "fd_warn2": "¡Última oportunidad! No se puede deshacer. ¿Eliminar?", + + "fc_ok": "cortados {0} elementos", + "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fcc_ok": "copiados {0} elementos al portapapeles", + "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fp_apply": "usar estos nombres", + "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestañas del navegador", + "fp_ename": "{0} elementos no se pueden mover aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fcp_ename": "{0} elementos no se pueden copiar aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fp_emore": "todavía quedan algunas colisiones de nombres por resolver", + "fp_ok": "movimiento correcto", + "fcp_ok": "copia correcta", + "fp_busy": "moviendo {0} elementos...\n\n{1}", + "fcp_busy": "copiando {0} elementos...\n\n{1}", + "fp_err": "fallo al mover:\n", + "fcp_err": "fallo al copiar:\n", + "fp_confirm": "¿mover estos {0} elementos aquí?", + "fcp_confirm": "¿copiar estos {0} elementos aquí?", + "fp_etab": "fallo al leer el portapapeles de otra pestaña del navegador", + "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", + "fp_both_m": "
elige qué pegar
Intro = Mover {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fcp_both_m": "
elige qué pegar
Intro = Copiar {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fp_both_b": "MoverSubir", + "fcp_both_b": "CopiarSubir", + + "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", + + "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", + "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", + "tv_xe2": "404, archivo no encontrado", + "tv_lst": "lista de archivos de texto en", + "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">❌ cerrar", + "tvt_dl": "descargar este archivo$NAtajo: Y\">💾 descargar", + "tvt_prev": "mostrar documento anterior$NAtajo: i\">⬆ ant", + "tvt_next": "mostrar siguiente documento$NAtajo: K\">⬇ sig", + "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", + "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">✏️ editar", + "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas líneas en tiempo real\">📡 seguir", + "tvt_wrap": "ajuste de línea\">↵", + "tvt_atail": "bloquear el desplazamiento al final de la página\">⚓", + "tvt_ctail": "decodificar colores de terminal (códigos de escape ansi)\">🌈", + "tvt_ntail": "límite de historial (cuántos bytes de texto mantener cargados)", + + "m3u_add1": "canción añadida a la lista m3u", + "m3u_addn": "{0} canciones añadidas a la lista m3u", + "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo hará reproducible", + + "gt_vau": "no mostrar vídeos, solo reproducir el audio\">🎧", + "gt_msel": "activar selección de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando está activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselección", + "gt_crop": "recortar miniaturas\">recortar", + "gt_3x": "miniaturas de alta resolución\">3x", + "gt_zoom": "zoom", + "gt_chop": "recortar", + "gt_sort": "ordenar por", + "gt_name": "nombre", + "gt_sz": "tamaño", + "gt_ts": "fecha", + "gt_ext": "tipo", + "gt_c1": "truncar más los nombres de archivo (mostrar menos)", + "gt_c2": "truncar menos los nombres de archivo (mostrar más)", + + "sm_w8": "buscando...", + "sm_prev": "los resultados de búsqueda a continuación son de una consulta anterior:\n ", + "sl_close": "cerrar resultados de búsqueda", + "sl_hits": "mostrando {0} resultados", + "sl_moar": "cargar más", + + "s_sz": "tamaño", + "s_dt": "fecha", + "s_rd": "ruta", + "s_fn": "nombre", + "s_ta": "etiquetas", + "s_ua": "subido@", + "s_ad": "avanzado", + "s_s1": "MiB mínimo", + "s_s2": "MiB máximo", + "s_d1": "mín. iso8601", + "s_d2": "máx. iso8601", + "s_u1": "subido después de", + "s_u2": "y/o antes de", + "s_r1": "la ruta contiene   (separado por espacios)", + "s_f1": "el nombre contiene   (negar con -no)", + "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", + "s_a1": "propiedades de metadatos específicas", + + "md_eshow": "no se puede renderizar ", + "md_off": "[📜léeme] desactivado en [⚙️] -- documento oculto", + + "badreply": "Fallo al procesar la respuesta del servidor", + + "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizás se cerró tu sesión", + "xhr0": "desconocido (probablemente se perdió la conexión con el servidor, o el servidor está desconectado)", + "cf_ok": "perdón por eso -- la protección DD" + wah + "oS se activó\n\nlas cosas deberían reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la página", + "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", + "tl_xe2": "404: Carpeta no encontrada", + "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", + "fl_xe2": "404: Carpeta no encontrada", + "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", + "fd_xe2": "404: Carpeta de nivel superior no encontrada", + "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", + "fsm_xe2": "404: Carpeta de nivel superior no encontrada", + "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", + "fu_xe2": "404: ¿Archivo no encontrado?", + + "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", + "fz_pax": "tar formato pax sin comprimir (más lento)", + "fz_targz": "gnu-tar con compresión gzip nivel 3$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_tarxz": "gnu-tar con compresión xz nivel 1$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", + "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", + "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda más en procesar antes de que la descarga pueda empezar)", + + "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuación", + "un_upd": "actualizar", + "un_m4": "o compartir los archivos visibles a continuación:", + "un_ulist": "mostrar", + "un_ucopy": "copiar", + "un_flt": "filtro opcional:  la URL debe contener", + "un_fclr": "limpiar filtro", + "un_derr": "fallo al deshacer-eliminar:\n", + "un_f5": "algo se rompió, por favor intenta actualizar o pulsa F5", + "un_uf5": "lo siento pero tienes que refrescar la página (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", + "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", + "un_noc": "aviso: la opción de deshacer subidas completadas no está activada/permitida en la configuración del servidor", + "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", + "un_avail": "{0} subidas recientes se pueden eliminar
{1} inacabadas se pueden abortar", + "un_m2": "ordenado por tiempo de subida; más recientes primero:", + "un_no1": "¡pues no! ninguna subida es suficientemente reciente", + "un_no2": "¡pues no! ninguna subida que coincida con ese filtro es suficientemente reciente", + "un_next": "eliminar los siguientes {0} archivos a continuación", + "un_abrt": "abortar", + "un_del": "eliminar", + "un_m3": "cargando tus subidas recientes...", + "un_busy": "eliminando {0} archivos...", + "un_clip": "{0} enlaces copiados al portapapeles", + + "u_https1": "deberías", + "u_https2": "cambiar a https", + "u_https3": "para un mejor rendimiento", + "u_ancient": "tu navegador es impresionantemente antiguo -- quizás deberías usar bup en su lugar", + "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", + "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", + "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", + "u_notdir": "¡eso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", + "u_uri": "para arrastrar y soltar imágenes desde otras ventanas del navegador,\npor favor suéltalas sobre el gran botón de subida", + "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", + "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", + "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", + "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", + "u_ever": "este es el subidor básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "este es el subidor básico; up2k es mejor", + "u_uput": "optimizar para velocidad (omitir checksum)", + "u_ewrite": "no tienes acceso de escritura a esta carpeta", + "u_eread": "no tienes acceso de lectura a esta carpeta", + "u_enoi": "la búsqueda de archivos no está activada en la configuración del servidor", + "u_enoow": "sobrescribir no funcionará aquí; se necesita permiso de eliminación", + "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", + "u_blankf": "Estos {0} archivos (de un total de {1}) están en blanco / vacíos; ¿subirlos de todos modos?\n\n", + "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos también:\n\n", + "u_just1": "\nQuizás funcione mejor si seleccionas solo un archivo", + "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podría bloquear Firefox!\nsi eso ocurre, por favor inténtalo de nuevo (o usa Chrome).", + "u_up_life": "Esta subida será eliminada del servidor\n{0} después de que se complete", + "u_asku": "subir estos {0} archivos a {1}", + "u_unpt": "puedes deshacer / eliminar esta subida usando el 🧯 de arriba a la izquierda", + "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podría bloquear tu navegador, ¿estás seguro?", + "u_scan": "Escaneando archivos...", + "u_dirstuck": "el iterador de directorios se atascó intentando acceder a los siguientes {0} elementos; se omitirán:", + "u_etadone": "Hecho ({0}, {1} archivos)", + "u_etaprep": "(preparando para subir)", + "u_hashdone": "hashing completado", + "u_hashing": "hash", + "u_hs": "negociando...", + "u_started": "los archivos se están subiendo ahora; mira en [🚀]", + "u_dupdefer": "duplicado; se procesará después de todos los demás archivos", + "u_actx": "haz clic en este texto para evitar la pérdida de
rendimiento al cambiar a otras ventanas/pestañas", + "u_fixed": "¡OK!  Arreglado 👍", + "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", + "u_cuerr2": "el servidor rechazó la subida (trozo {0} de {1});\nse reintentará más tarde\n\narchivo: {2}\n\nerror ", + "u_ehstmp": "se reintentará; mira abajo a la derecha", + "u_ehsfin": "el servidor rechazó la solicitud para finalizar la subida; reintentando...", + "u_ehssrch": "el servidor rechazó la solicitud para realizar la búsqueda; reintentando...", + "u_ehsinit": "el servidor rechazó la solicitud para iniciar la subida; reintentando...", + "u_eneths": "error de red al realizar la negociación de subida; reintentando...", + "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", + "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros después de un fallo de red...", + "u_ehsdf": "¡el servidor se quedó sin espacio en disco!\n\nse seguirá reintentando, por si alguien\nlibera suficiente espacio para continuar", + "u_emtleak1": "parece que tu navegador podría tener una fuga de memoria;\npor favor", + "u_emtleak2": " cambia a https (recomendado) o ", + "u_emtleak3": " ", + "u_emtleakc": "prueba lo siguiente:\nLas subidas serán un poco más lentas, pero bueno.\n¡Perdón por las molestias!\n\nPD: chrome v107 tiene una solución para esto", + "u_emtleakf": "prueba lo siguiente:\n\nPD: firefox con suerte tendrá una solución en algún momento", + "u_s404": "no encontrado en el servidor", + "u_expl": "explicar", + "u_maxconn": "la mayoría de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", + "u_tu": '

AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botón turbo

', + "u_ts": '

AVISO: turbo activado,  los resultados de búsqueda pueden ser incorrectos; ver tooltip del botón turbo

', + "u_turbo_c": "turbo está desactivado en la configuración del servidor", + "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", + "u_life_cfg": 'autoeliminar después de min (o horas)', + "u_life_est": 'la subida se eliminará ---', + "u_life_max": "esta carpeta impone una\nvida máxima de {0}", + "u_unp_ok": "se permite deshacer la subida durante {0}", + "u_unp_ng": "NO se permitirá deshacer la subida", + "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", + "ue_nl": "actualmente no has iniciado sesión", + "ue_la": "actualmente has iniciado sesión como \"{0}\"", + "ue_sr": "actualmente estás en modo de búsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa 🔎 (junto al gran botón BUSCAR), e intenta subir de nuevo\n\nlo siento", + "ue_ta": "intenta subir de nuevo, ahora debería funcionar", + "ue_ab": "este archivo ya se está subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el 🧯 de arriba a la izquierda", + "ur_1uo": "OK: Archivo subido con éxito", + "ur_auo": "OK: Todos los {0} archivos subidos con éxito", + "ur_1so": "OK: Archivo encontrado en el servidor", + "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", + "ur_1un": "Subida fallida, lo siento", + "ur_aun": "Todas las {0} subidas fallaron, lo siento", + "ur_1sn": "El archivo NO se encontró en el servidor", + "ur_asn": "Los {0} archivos NO se encontraron en el servidor", + "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", + "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", + + "lang_set": "¿refrescar para que el cambio surta efecto?" + } }; -var LANGS = ["eng", "nor", "chi", "deu", "rus", "ukr"]; +var LANGS = ["eng", "nor", "chi", "deu", "rus", "ukr", "spa"]; if (window.langmod) langmod(); From be729fe5572567d1ca55c90bb4ec19fb63016421 Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Wed, 30 Jul 2025 11:44:17 +0200 Subject: [PATCH 02/14] small tweaks in the localization when looking a it in the gui --- copyparty/web/browser.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 6afa9b26..e090515d 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -3866,7 +3866,7 @@ var Ls = { "ht_d2": "días", "ht_and": " y ", - "goh": "panel-de-control", + "goh": "panel de control", "gop": 'hermano anterior">anterior', "gou": 'carpeta de nivel superior">subir', "gon": 'siguiente carpeta">siguiente', @@ -3875,14 +3875,14 @@ var Ls = { "ot_close": "cerrar submenú", "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", - "ot_bup": "bup: subidor básico, soporta hasta netscape 4.0", + "ot_bup": "bup: uploader básico, soporta hasta netscape 4.0", "ot_mkdir": "mkdir: crear un nuevo directorio", "ot_md": "new-md: crear un nuevo documento markdown", "ot_msg": "msg: enviar un mensaje al registro del servidor", "ot_mp": "opciones del reproductor multimedia", "ot_cfg": "opciones de configuración", - "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el subidor básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", - "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el subidor básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", "ot_noie": "Por favor, usa Chrome / Firefox / Edge", "ab_mkdir": "crear directorio", @@ -3978,7 +3978,7 @@ var Ls = { "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", "cl_hcancel": "ocultación de columna cancelada", - "ct_grid": '田 la cuadrícula', + "ct_grid": '田 cuadrícula', "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', @@ -4315,8 +4315,8 @@ var Ls = { "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", - "u_ever": "este es el subidor básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": "este es el subidor básico; up2k es mejor", + "u_ever": "este es el uploader básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "este es el uploader básico; up2k es mejor", "u_uput": "optimizar para velocidad (omitir checksum)", "u_ewrite": "no tienes acceso de escritura a esta carpeta", "u_eread": "no tienes acceso de lectura a esta carpeta", From af34fbf1a4e9526258bc4ccac66db126f3d8e6fa Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Wed, 30 Jul 2025 19:11:36 +0200 Subject: [PATCH 03/14] fix badly translated keys --- copyparty/web/browser.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index e090515d..268bc76c 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -3971,7 +3971,7 @@ var Ls = { "cl_favico": "favicon", "cl_bigdir": "directorios grandes", "cl_hsort": "#ordenar", - "cl_keytype": "notación de teclas", + "cl_keytype": "notación musical", "cl_hiddenc": "columnas ocultas", "cl_hidec": "ocultar", "cl_reset": "restablecer", @@ -4028,7 +4028,7 @@ var Ls = { "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", "ml_pmode": "al final de la carpeta...", - "ml_btns": "cmds", + "ml_btns": "acciones", "ml_tcode": "transcodificar", "ml_tcode2": "transcodificar a", "ml_tint": "tinte", @@ -4038,7 +4038,7 @@ var Ls = { "mt_loop": 'poner en bucle/repetir una canción">🔁', "mt_one": 'parar después de una canción">1️⃣', "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', - "mt_aplay": 'reproducción automática si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', + "mt_aplay": 'reproducir automaticamente si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', @@ -4051,7 +4051,7 @@ var Ls = { "mt_oscv": 'mostrar carátula del álbum en OSD">arte', "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', "mt_compact": 'controles compactos">⟎', - "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', + "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', "mt_mloop": 'repetir la carpeta actual">🔁 bucle', "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', "mt_mstop": 'detener reproducción">⏸ parar', From 6e35171c88770e04ff82d95f95266285c75b8ac5 Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Thu, 31 Jul 2025 09:59:53 +0200 Subject: [PATCH 04/14] added splash.js translation --- copyparty/web/splash.js | 43 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 16a9d517..6baf75d2 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -94,7 +94,6 @@ var Ls = { "af1": "显示最近上传的文件", //m "ag1": "查看已知 IdP 用户", //m }, - "deu": { "a1": "Neu laden", "b1": "Tach, wie geht's?   (Du bist nicht angemeldet)", @@ -179,6 +178,48 @@ var Ls = { "af1": "показать недавние загрузки", "ag1": "показать известных IdP-пользователей", }, + "esp": { + "a1": "actualizar", + "b1": "hola   (no has iniciado sesión)", + "c1": "cerrar sesión", + "d1": "volcar estado de la pila", + "d2": "muestra el estado de todos los hilos activos", + "e1": "recargar configuración", + "e2": "recargar archivos de configuración (cuentas/volúmenes/indicadores de vol.),$Ny reescanear todos los volúmenes e2ds$N$Nnota: cualquier cambio en la configuración global$Nrequiere un reinicio completo para surtir efecto", + "f1": "puedes explorar:", + "g1": "puedes subir a:", + "cc1": "otras cosas:", + "h1": "desactivar k304", + "i1": "activar k304", + "j1": "activar k304 desconectará tu cliente en cada HTTP 304, lo que puede evitar que algunos proxies con errores se atasquen (dejando de cargar páginas de repente), pero también ralentizará las cosas en general", + "k1": "restablecer config. de cliente", + "l1": "inicia sesión para más:", + "m1": "bienvenido de nuevo,", + "n1": "404 no encontrado  ┐( ´ -`)┌", + "o1": '¿o quizás no tienes acceso? -- prueba con una contraseña o vuelve al inicio', + "p1": "403 prohibido  ~┻━┻", + "q1": 'usa una contraseña o vuelve al inicio', + "r1": "ir al inicio", + ".s1": "reescanear", + "t1": "acción", + "u2": "tiempo desde la última escritura en el servidor$N( subida / renombrar / ... )$N$N17d = 17 días$N1h23 = 1 hora 23 minutos$N4m56 = 4 minutos 56 segundos", + "v1": "conectar", + "v2": "usar este servidor como un disco duro local", + "w1": "cambiar a https", + "x1": "cambiar contraseña", + "y1": "editar recursos compartidos", + "z1": "desbloquear este recurso compartido:", + "ta1": "primero escribe tu nueva contraseña", + "ta2": "repite para confirmar la nueva contraseña:", + "ta3": "hay un error; por favor, inténtalo de nuevo", + "aa1": "archivos entrantes:", + "ab1": "desactivar no304", + "ac1": "activar no304", + "ad1": "activar no304 desactivará todo el almacenamiento en caché; prueba esto si k304 no fue suficiente. ¡Esto desperdiciará una gran cantidad de tráfico de red!", + "ae1": "descargas activas:", + "af1": "mostrar subidas recientes", + "ag1": "mostrar usuarios IdP conocidos" + }, }; if (window.langmod) From 1a5b7d40a82ad456594e77d268b914936addfca9 Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Fri, 1 Aug 2025 11:30:20 +0200 Subject: [PATCH 05/14] changed esp to spa --- copyparty/web/browser.js | 2 +- copyparty/web/splash.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 268bc76c..5a36ce79 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -3763,7 +3763,7 @@ var Ls = { "lang_set": "оновити сторінку, щоб зміни набули чинності?", }, - "esp": { + "spa": { "tt": "Español", "cols": { diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 6baf75d2..89661f28 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -178,7 +178,7 @@ var Ls = { "af1": "показать недавние загрузки", "ag1": "показать известных IdP-пользователей", }, - "esp": { + "spa": { "a1": "actualizar", "b1": "hola   (no has iniciado sesión)", "c1": "cerrar sesión", From 9dcb45133b86b923d4bdb44048df16fc2a375c4d Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Fri, 1 Aug 2025 11:32:58 +0200 Subject: [PATCH 06/14] order spa alphabetically --- copyparty/web/browser.js | 1250 +++++++++++++++++++------------------- copyparty/web/splash.js | 85 ++- 2 files changed, 667 insertions(+), 668 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 5a36ce79..569d6ab3 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -2511,6 +2511,631 @@ var Ls = { "lang_set": "Neuladen um Änderungen anzuwenden?", }, + "spa": { + "tt": "Español", + + "cols": { + "c": "acciones", + "dur": "duración", + "q": "calidad / bitrate", + "Ac": "códec de audio", + "Vc": "códec de vídeo", + "Fmt": "formato / contenedor", + "Ahash": "checksum de audio", + "Vhash": "checksum de vídeo", + "Res": "resolución", + "T": "tipo de archivo", + "aq": "calidad de audio / bitrate", + "vq": "calidad de vídeo / bitrate", + "pixfmt": "submuestreo / estructura de píxel", + "resw": "resolución horizontal", + "resh": "resolución vertical", + "chs": "canales de audio", + "hz": "frecuencia de muestreo" + }, + + "hks": [ + [ + "varios", + ["ESC", "cerrar varias cosas"], + + "gestor de archivos", + ["G", "alternar vista de lista / cuadrícula"], + ["T", "alternar miniaturas / iconos"], + ["⇧ A/D", "tamaño de miniatura"], + ["ctrl-K", "eliminar seleccionados"], + ["ctrl-X", "cortar selección al portapapeles"], + ["ctrl-C", "copiar selección al portapapeles"], + ["ctrl-V", "pegar (mover/copiar) aquí"], + ["Y", "descargar seleccionados"], + ["F2", "renombrar seleccionados"], + + "selección en lista de archivos", + ["space", "alternar selección de archivo"], + ["↑/↓", "mover cursor de selección"], + ["ctrl ↑/↓", "mover cursor y vista"], + ["⇧ ↑/↓", "seleccionar anterior/siguiente archivo"], + ["ctrl-A", "seleccionar todos los archivos / carpetas"] + ], [ + "navegación", + ["B", "alternar breadcrumbs / panel de navegación"], + ["I/K", "anterior/siguiente carpeta"], + ["M", "carpeta de nivel superior (o contraer actual)"], + ["V", "alternar carpetas / archivos en panel de navegación"], + ["A/D", "tamaño del panel de navegación"] + ], [ + "reproductor de audio", + ["J/L", "anterior/siguiente canción"], + ["U/O", "saltar 10s atrás/adelante"], + ["0..9", "saltar a 0%..90%"], + ["P", "reproducir/pausar (también inicia)"], + ["S", "seleccionar canción en reproducción"], + ["Y", "descargar canción"] + ], [ + "visor de imágenes", + ["J/L, ←/→", "anterior/siguiente imagen"], + ["Home/End", "primera/última imagen"], + ["F", "pantalla completa"], + ["R", "rotar en sentido horario"], + ["⇧ R", "rotar en sentido antihorario"], + ["S", "seleccionar imagen"], + ["Y", "descargar imagen"] + ], [ + "reproductor de vídeo", + ["U/O", "saltar 10s atrás/adelante"], + ["P/K/Space", "reproducir/pausar"], + ["C", "continuar con el siguiente"], + ["V", "bucle"], + ["M", "silenciar"], + ["[ y ]", "establecer intervalo de bucle"] + ], [ + "visor de texto", + ["I/K", "anterior/siguiente archivo"], + ["M", "cerrar archivo"], + ["E", "editar archivo"], + ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] + ] + ], + + "m_ok": "Aceptar", + "m_ng": "Cancelar", + + "enable": "Activar", + "danger": "PELIGRO", + "clipped": "copiado al portapapeles", + + "ht_s1": "segundo", + "ht_s2": "segundos", + "ht_m1": "minuto", + "ht_m2": "minutos", + "ht_h1": "hora", + "ht_h2": "horas", + "ht_d1": "día", + "ht_d2": "días", + "ht_and": " y ", + + "goh": "panel de control", + "gop": 'hermano anterior">anterior', + "gou": 'carpeta de nivel superior">subir', + "gon": 'siguiente carpeta">siguiente', + "logout": "Cerrar sesión ", + "access": " acceso", + "ot_close": "cerrar submenú", + "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", + "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", + "ot_bup": "bup: uploader básico, soporta hasta netscape 4.0", + "ot_mkdir": "mkdir: crear un nuevo directorio", + "ot_md": "new-md: crear un nuevo documento markdown", + "ot_msg": "msg: enviar un mensaje al registro del servidor", + "ot_mp": "opciones del reproductor multimedia", + "ot_cfg": "opciones de configuración", + "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_noie": "Por favor, usa Chrome / Firefox / Edge", + + "ab_mkdir": "crear directorio", + "ab_mkdoc": "nuevo documento markdown", + "ab_msg": "enviar msg al registro del servidor", + + "ay_path": "saltar a carpetas", + "ay_files": "saltar a archivos", + + "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", + "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", + "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", + "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", + "wt_pst": "pegar una selección previamente cortada / copiada$NAtajo: ctrl-V", + "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", + "wt_selinv": "invertir selección", + "wt_zip1": "descargar esta carpeta como un archivo comprimido", + "wt_selzip": "descargar selección como archivo comprimido", + "wt_seldl": "descargar selección como archivos separados$NAtajo: Y", + "wt_npirc": "copiar información de pista en formato IRC", + "wt_nptxt": "copiar información de pista en texto plano", + "wt_m3ua": "añadir a lista m3u (haz clic en 📻copiar después)", + "wt_m3uc": "copiar lista m3u al portapapeles", + "wt_grid": "alternar vista de cuadrícula / lista$NAtajo: G", + "wt_prev": "pista anterior$NAtajo: J", + "wt_play": "reproducir / pausar$NAtajo: P", + "wt_next": "siguiente pista$NAtajo: L", + + "ul_par": "subidas paralelas:", + "ut_rand": "aleatorizar nombres de archivo", + "ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅', + "ut_ow": "sobrescribir archivos existentes en el servidor?$N🛡️: nunca (generará un nuevo nombre de archivo en su lugar)$N🕒: sobrescribir si el archivo del servidor es más antiguo que el tuyo$N♻️: siempre sobrescribir si los archivos son diferentes", + "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizás desactivar si tu CPU o HDD es un cuello de botella", + "ut_ask": 'pedir confirmación antes de iniciar la subida">💭', + "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", + "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escaneará todas las carpetas que puedas leer)", + "ut_par": "pausar subidas poniéndolo a 0$N$Naumentar si tu conexión es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", + "ul_btn": "arrastra archivos / carpetas
aquí (o haz clic)", + "ul_btnu": "S U B I R", + "ul_btns": "B U S C A R", + + "ul_hash": "hash", + "ul_send": "envio", + "ul_done": "hecho", + "ul_idle1": "aún no hay subidas en cola", + "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", + "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", + "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", + + "uct_ok": "completado con éxito", + "uct_ng": "fallido: error / rechazado / no encontrado", + "uct_done": "éxitos y fallos combinados", + "uct_bz": "generando hash o subiendo", + "uct_q": "inactivo, pendiente", + + "utl_name": "nombre de archivo", + "utl_ulist": "lista", + "utl_ucopy": "copiar", + "utl_links": "enlaces", + "utl_stat": "estado", + "utl_prog": "progreso", + + "utl_404": "404", + "utl_err": "ERROR", + "utl_oserr": "Error-SO", + "utl_found": "encontrado", + "utl_defer": "posponer", + "utl_yolo": "YOLO", + "utl_done": "hecho", + + "ul_flagblk": "los archivos se añadieron a la cola
sin embargo, hay un up2k ocupado en otra pestaña del navegador,
esperando a que termine primero", + "ul_btnlk": "la configuración del servidor ha bloqueado esta opción en este estado", + + "udt_up": "Subir", + "udt_srch": "Buscar", + "udt_drop": "suéltalo aquí", + + "u_nav_m": "
vale, ¿qué tienes?
Intro = Archivos (uno o más)\nESC = Una carpeta (incluyendo subcarpetas)", + "u_nav_b": "ArchivosUna carpeta", + + "cl_opts": "opciones", + "cl_themes": "tema", + "cl_langs": "idioma", + "cl_ziptype": "descarga de carpeta", + "cl_uopts": "opciones up2k", + "cl_favico": "favicon", + "cl_bigdir": "directorios grandes", + "cl_hsort": "#ordenar", + "cl_keytype": "notación musical", + "cl_hiddenc": "columnas ocultas", + "cl_hidec": "ocultar", + "cl_reset": "restablecer", + "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", + "cl_hcancel": "ocultación de columna cancelada", + + "ct_grid": '田 cuadrícula', + "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', + "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', + "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', + "ct_ihop": 'al cerrar el visor de imágenes, desplazarse hasta el último archivo visto">g⮯', + "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', + "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', + "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', + "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', + "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', + "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', + "ct_sbars": 'mostrar barra lateral">⟊', + + "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de última modificación del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminación)">re📅', + + "cut_turbo": 'el botón yolo, probablemente NO quieras activarlo:$N$Núsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razón, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobación de hash por un simple "¿tiene este el mismo tamaño de archivo en el servidor?" así que si el contenido del archivo es diferente, NO se subirá$N$Ndeberías desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', + + "cut_datechk": 'no tiene efecto a menos que el botón turbo esté activado$N$Nreduce el factor yolo en una pequeña cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteóricamente debería detectar la mayoría de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificación con el turbo desactivado después">verif. fecha', + + "cut_u2sz": "tamaño (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a través del atlántico. Prueba valores bajos en conexiones muy poco fiables", + + "cut_flag": "asegura que solo una pestaña esté subiendo a la vez $N -- otras pestañas también deben tener esto activado $N -- solo afecta a pestañas en el mismo dominio", + + "cut_az": "subir archivos en orden alfabético, en lugar de los más pequeños primero$N$Nel orden alfabético puede facilitar la detección visual de si algo salió mal en el servidor, pero hace la subida ligeramente más lenta en fibra / LAN", + + "cut_nag": "notificación del SO cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + + "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmás RAM (hasta 512 MiB extra)$N$Nhace https un 30% más rápido, http 4.5x más rápido">mt', + + "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto está activado">wasm', + + "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", + "cft_fg": "color de primer plano", + "cft_bg": "color de fondo", + + "cdt_lim": "número máximo de archivos a mostrar en una carpeta", + "cdt_ask": "al llegar al final,$Nen lugar de cargar más archivos,$Npreguntar qué hacer", + "cdt_hsort": "cuántas reglas de ordenación (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 también ignorará las reglas de ordenación incluidas en los enlaces de medios al hacer clic en ellos", + + "tt_entree": "mostrar panel de navegación (barra lateral con árbol de directorios)$NAtajo: B", + "tt_detree": "mostrar breadcrumbs$NAtajo: B", + "tt_visdir": "desplazarse a la carpeta seleccionada", + "tt_ftree": "alternar árbol de carpetas / archivos de texto$NAtajo: V", + "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", + "tt_dynt": "crecimiento automático a medida que el árbol se expande", + "tt_wrap": "ajuste de línea", + "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", + + "ml_pmode": "al final de la carpeta...", + "ml_btns": "acciones", + "ml_tcode": "transcodificar", + "ml_tcode2": "transcodificar a", + "ml_tint": "tinte", + "ml_eq": "ecualizador de audio", + "ml_drc": "compresor de rango dinámico", + + "mt_loop": 'poner en bucle/repetir una canción">🔁', + "mt_one": 'parar después de una canción">1️⃣', + "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', + "mt_aplay": 'reproducir automaticamente si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', + "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', + "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', + "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', + "mt_fau": 'en teléfonos, evitar que la música se detenga si la siguiente canción no se precarga lo suficientemente rápido (puede causar fallos en la visualización de etiquetas)">☕️', + "mt_waves": 'barra de búsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', + "mt_npclip": 'mostrar botones para copiar al portapapeles la canción actual">/np', + "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">📻', + "mt_octl": 'integración con SO (teclas multimedia / OSD)">ctl-so', + "mt_oseek": 'permitir buscar a través de la integración con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botón de siguiente canción">búsqueda', + "mt_oscv": 'mostrar carátula del álbum en OSD">arte', + "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', + "mt_compact": 'controles compactos">⟎', + "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', + "mt_mloop": 'repetir la carpeta actual">🔁 bucle', + "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', + "mt_mstop": 'detener reproducción">⏸ parar', + "mt_cflac": 'convertir flac / wav a opus">flac', + "mt_caac": 'convertir aac / m4a a opus">aac', + "mt_coth": 'convertir todos los demás (no mp3) a opus">oth', + "mt_c2opus": 'la mejor opción para ordenadores, portátiles, android">opus', + "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', + "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', + "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', + "mt_c2ok": "bien, buena elección", + "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero está bien", + "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentémoslo de todas formas", + "mt_xowa": "hay errores en iOS que impiden la reproducción en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", + "mt_tint": "nivel de fondo (0-100) en la barra de búsqueda$Npara hacer el buffering menos molesto", + "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estándar 100% (sin modificar)$N$Nancho <code>1  </code> = estéreo estándar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminación de voz :^)$N$Nactivar el ecualizador hace que los álbumes sin pausas sean completamente sin pausas, así que déjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", + "mt_drc": "activa el compresor de rango dinámico (aplanador de volumen / brickwaller); también activará el EQ para equilibrar el espagueti, así que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, así que los valores por defecto de umbral -24 y ratio 12 significan que nunca debería sonar más fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es máx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", + + "mb_play": "reproducir", + "mm_hashplay": "¿reproducir este archivo de audio?", + "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", + "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", + "mm_bload": "cargando...", + "mm_bconv": "convirtiendo a {0}, por favor espera...", + "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificación a opus", + "mm_playerr": "fallo de reproducción: ", + "mm_eabrt": "El intento de reproducción fue cancelado", + "mm_enet": "Tu conexión a internet es inestable", + "mm_edec": "¿Este archivo está supuestamente corrupto?", + "mm_esupp": "Tu navegador no entiende este formato de audio", + "mm_eunk": "Error desconocido", + "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", + "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizás se cerró tu sesión", + "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", + "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", + "mm_nof": "no se encuentran más archivos de audio cerca", + "mm_prescan": "Buscando música para reproducir a continuación...", + "mm_scank": "Encontrada la siguiente canción:", + "mm_uncache": "caché limpiada; todas las canciones se volverán a descargar en la próxima reproducción", + "mm_hnf": "esa canción ya no existe", + + "im_hnf": "esa imagen ya no existe", + + "f_empty": "esta carpeta está vacía", + "f_chide": "esto ocultará la columna «{0}»\n\npuedes volver a mostrar las columnas en la pestaña de configuración", + "f_bigtxt": "este archivo pesa {0} MiB -- ¿realmente verlo como texto?", + "f_bigtxt2": "¿ver solo el final del archivo en su lugar? esto también activará el seguimiento, mostrando las líneas de texto recién añadidas en tiempo real", + "fbd_more": '
mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
', + "fbd_all": '
mostrando {0} de {1} archivos; mostrar todos
', + "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplázate hasta el final", + + "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", + + "f_partial": "Para descargar de forma segura un archivo que se está subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensión .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorará esta advertencia y continuará descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te dará datos corruptos.", + + "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", + "fr_eperm": "no se puede renombrar:\nno tienes permiso de “mover” en esta carpeta", + "fd_eperm": "no se puede eliminar:\nno tienes permiso de “eliminar” en esta carpeta", + "fc_eperm": "no se puede cortar:\nno tienes permiso de “mover” en esta carpeta", + "fp_eperm": "no se puede pegar:\nno tienes permiso de “escribir” en esta carpeta", + "fr_emore": "selecciona al menos un elemento para renombrar", + "fd_emore": "selecciona al menos un elemento para eliminar", + "fc_emore": "selecciona al menos un elemento para cortar", + "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", + + "fs_sc": "compartir la carpeta en la que estás", + "fs_ss": "compartir los archivos seleccionados", + "fs_just1d": "no puedes seleccionar más de una carpeta,\no mezclar archivos y carpetas en una selección", + "fs_abrt": "❌ abortar", + "fs_rand": "🎲 nombre aleatorio", + "fs_go": "✅ crear enlace", + "fs_name": "nombre", + "fs_src": "origen", + "fs_pwd": "contraseña", + "fs_exp": "caducidad", + "fs_tmin": "minutos", + "fs_thrs": "horas", + "fs_tdays": "días", + "fs_never": "eterno", + "fs_pname": "nombre opcional del enlace; será aleatorio si se deja en blanco", + "fs_tsrc": "el archivo o carpeta a compartir", + "fs_ppwd": "contraseña opcional", + "fs_w8": "creando enlace...", + "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", + + "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", + "frt_rst": "restaurar los nombres de archivo modificados a los originales\">↺ restablecer", + "frt_abrt": "abortar y cerrar esta ventana\">❌ cancelar", + "frb_apply": "APLICAR RENOMBRADO", + "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", + "fr_case": "regex sensible a mayúsculas\">mayús", + "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", + "fr_slash": "reemplaza / con un carácter que no cree nuevas carpetas\">sin /", + "fr_re": "patrón de búsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y así sucesivamente", + "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el título de la canción,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista está en blanco$N<code>$lpad((tn),2,0)</code> rellena el número de pista a 2 dígitos", + "fr_pdel": "eliminar", + "fr_pnew": "guardar como", + "fr_pname": "proporciona un nombre para tu nuevo preajuste", + "fr_aborted": "abortado", + "fr_lold": "nombre antiguo", + "fr_lnew": "nombre nuevo", + "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", + "fr_busy": "renombrando {0} elementos...\n\n{1}", + "fr_efail": "fallo al renombrar:\n", + "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\n¿Aceptar para continuar con estos nuevos nombres alterados?", + + "fd_ok": "eliminación correcta", + "fd_err": "fallo al eliminar:\n", + "fd_none": "no se eliminó nada; quizás bloqueado por la configuración del servidor (xbd)?", + "fd_busy": "eliminando {0} elementos...\n\n{1}", + "fd_warn1": "¿ELIMINAR estos {0} elementos?", + "fd_warn2": "¡Última oportunidad! No se puede deshacer. ¿Eliminar?", + + "fc_ok": "cortados {0} elementos", + "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fcc_ok": "copiados {0} elementos al portapapeles", + "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fp_apply": "usar estos nombres", + "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestañas del navegador", + "fp_ename": "{0} elementos no se pueden mover aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fcp_ename": "{0} elementos no se pueden copiar aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fp_emore": "todavía quedan algunas colisiones de nombres por resolver", + "fp_ok": "movimiento correcto", + "fcp_ok": "copia correcta", + "fp_busy": "moviendo {0} elementos...\n\n{1}", + "fcp_busy": "copiando {0} elementos...\n\n{1}", + "fp_err": "fallo al mover:\n", + "fcp_err": "fallo al copiar:\n", + "fp_confirm": "¿mover estos {0} elementos aquí?", + "fcp_confirm": "¿copiar estos {0} elementos aquí?", + "fp_etab": "fallo al leer el portapapeles de otra pestaña del navegador", + "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", + "fp_both_m": "
elige qué pegar
Intro = Mover {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fcp_both_m": "
elige qué pegar
Intro = Copiar {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fp_both_b": "MoverSubir", + "fcp_both_b": "CopiarSubir", + + "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", + + "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", + "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", + "tv_xe2": "404, archivo no encontrado", + "tv_lst": "lista de archivos de texto en", + "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">❌ cerrar", + "tvt_dl": "descargar este archivo$NAtajo: Y\">💾 descargar", + "tvt_prev": "mostrar documento anterior$NAtajo: i\">⬆ ant", + "tvt_next": "mostrar siguiente documento$NAtajo: K\">⬇ sig", + "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", + "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">✏️ editar", + "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas líneas en tiempo real\">📡 seguir", + "tvt_wrap": "ajuste de línea\">↵", + "tvt_atail": "bloquear el desplazamiento al final de la página\">⚓", + "tvt_ctail": "decodificar colores de terminal (códigos de escape ansi)\">🌈", + "tvt_ntail": "límite de historial (cuántos bytes de texto mantener cargados)", + + "m3u_add1": "canción añadida a la lista m3u", + "m3u_addn": "{0} canciones añadidas a la lista m3u", + "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo hará reproducible", + + "gt_vau": "no mostrar vídeos, solo reproducir el audio\">🎧", + "gt_msel": "activar selección de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando está activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselección", + "gt_crop": "recortar miniaturas\">recortar", + "gt_3x": "miniaturas de alta resolución\">3x", + "gt_zoom": "zoom", + "gt_chop": "recortar", + "gt_sort": "ordenar por", + "gt_name": "nombre", + "gt_sz": "tamaño", + "gt_ts": "fecha", + "gt_ext": "tipo", + "gt_c1": "truncar más los nombres de archivo (mostrar menos)", + "gt_c2": "truncar menos los nombres de archivo (mostrar más)", + + "sm_w8": "buscando...", + "sm_prev": "los resultados de búsqueda a continuación son de una consulta anterior:\n ", + "sl_close": "cerrar resultados de búsqueda", + "sl_hits": "mostrando {0} resultados", + "sl_moar": "cargar más", + + "s_sz": "tamaño", + "s_dt": "fecha", + "s_rd": "ruta", + "s_fn": "nombre", + "s_ta": "etiquetas", + "s_ua": "subido@", + "s_ad": "avanzado", + "s_s1": "MiB mínimo", + "s_s2": "MiB máximo", + "s_d1": "mín. iso8601", + "s_d2": "máx. iso8601", + "s_u1": "subido después de", + "s_u2": "y/o antes de", + "s_r1": "la ruta contiene   (separado por espacios)", + "s_f1": "el nombre contiene   (negar con -no)", + "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", + "s_a1": "propiedades de metadatos específicas", + + "md_eshow": "no se puede renderizar ", + "md_off": "[📜léeme] desactivado en [⚙️] -- documento oculto", + + "badreply": "Fallo al procesar la respuesta del servidor", + + "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizás se cerró tu sesión", + "xhr0": "desconocido (probablemente se perdió la conexión con el servidor, o el servidor está desconectado)", + "cf_ok": "perdón por eso -- la protección DD" + wah + "oS se activó\n\nlas cosas deberían reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la página", + "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", + "tl_xe2": "404: Carpeta no encontrada", + "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", + "fl_xe2": "404: Carpeta no encontrada", + "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", + "fd_xe2": "404: Carpeta de nivel superior no encontrada", + "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", + "fsm_xe2": "404: Carpeta de nivel superior no encontrada", + "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", + "fu_xe2": "404: ¿Archivo no encontrado?", + + "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", + "fz_pax": "tar formato pax sin comprimir (más lento)", + "fz_targz": "gnu-tar con compresión gzip nivel 3$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_tarxz": "gnu-tar con compresión xz nivel 1$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", + "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", + "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda más en procesar antes de que la descarga pueda empezar)", + + "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuación", + "un_upd": "actualizar", + "un_m4": "o compartir los archivos visibles a continuación:", + "un_ulist": "mostrar", + "un_ucopy": "copiar", + "un_flt": "filtro opcional:  la URL debe contener", + "un_fclr": "limpiar filtro", + "un_derr": "fallo al deshacer-eliminar:\n", + "un_f5": "algo se rompió, por favor intenta actualizar o pulsa F5", + "un_uf5": "lo siento pero tienes que refrescar la página (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", + "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", + "un_noc": "aviso: la opción de deshacer subidas completadas no está activada/permitida en la configuración del servidor", + "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", + "un_avail": "{0} subidas recientes se pueden eliminar
{1} inacabadas se pueden abortar", + "un_m2": "ordenado por tiempo de subida; más recientes primero:", + "un_no1": "¡pues no! ninguna subida es suficientemente reciente", + "un_no2": "¡pues no! ninguna subida que coincida con ese filtro es suficientemente reciente", + "un_next": "eliminar los siguientes {0} archivos a continuación", + "un_abrt": "abortar", + "un_del": "eliminar", + "un_m3": "cargando tus subidas recientes...", + "un_busy": "eliminando {0} archivos...", + "un_clip": "{0} enlaces copiados al portapapeles", + + "u_https1": "deberías", + "u_https2": "cambiar a https", + "u_https3": "para un mejor rendimiento", + "u_ancient": "tu navegador es impresionantemente antiguo -- quizás deberías usar bup en su lugar", + "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", + "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", + "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", + "u_notdir": "¡eso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", + "u_uri": "para arrastrar y soltar imágenes desde otras ventanas del navegador,\npor favor suéltalas sobre el gran botón de subida", + "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", + "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", + "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", + "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", + "u_ever": "este es el uploader básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "este es el uploader básico; up2k es mejor", + "u_uput": "optimizar para velocidad (omitir checksum)", + "u_ewrite": "no tienes acceso de escritura a esta carpeta", + "u_eread": "no tienes acceso de lectura a esta carpeta", + "u_enoi": "la búsqueda de archivos no está activada en la configuración del servidor", + "u_enoow": "sobrescribir no funcionará aquí; se necesita permiso de eliminación", + "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", + "u_blankf": "Estos {0} archivos (de un total de {1}) están en blanco / vacíos; ¿subirlos de todos modos?\n\n", + "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos también:\n\n", + "u_just1": "\nQuizás funcione mejor si seleccionas solo un archivo", + "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podría bloquear Firefox!\nsi eso ocurre, por favor inténtalo de nuevo (o usa Chrome).", + "u_up_life": "Esta subida será eliminada del servidor\n{0} después de que se complete", + "u_asku": "subir estos {0} archivos a {1}", + "u_unpt": "puedes deshacer / eliminar esta subida usando el 🧯 de arriba a la izquierda", + "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podría bloquear tu navegador, ¿estás seguro?", + "u_scan": "Escaneando archivos...", + "u_dirstuck": "el iterador de directorios se atascó intentando acceder a los siguientes {0} elementos; se omitirán:", + "u_etadone": "Hecho ({0}, {1} archivos)", + "u_etaprep": "(preparando para subir)", + "u_hashdone": "hashing completado", + "u_hashing": "hash", + "u_hs": "negociando...", + "u_started": "los archivos se están subiendo ahora; mira en [🚀]", + "u_dupdefer": "duplicado; se procesará después de todos los demás archivos", + "u_actx": "haz clic en este texto para evitar la pérdida de
rendimiento al cambiar a otras ventanas/pestañas", + "u_fixed": "¡OK!  Arreglado 👍", + "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", + "u_cuerr2": "el servidor rechazó la subida (trozo {0} de {1});\nse reintentará más tarde\n\narchivo: {2}\n\nerror ", + "u_ehstmp": "se reintentará; mira abajo a la derecha", + "u_ehsfin": "el servidor rechazó la solicitud para finalizar la subida; reintentando...", + "u_ehssrch": "el servidor rechazó la solicitud para realizar la búsqueda; reintentando...", + "u_ehsinit": "el servidor rechazó la solicitud para iniciar la subida; reintentando...", + "u_eneths": "error de red al realizar la negociación de subida; reintentando...", + "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", + "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros después de un fallo de red...", + "u_ehsdf": "¡el servidor se quedó sin espacio en disco!\n\nse seguirá reintentando, por si alguien\nlibera suficiente espacio para continuar", + "u_emtleak1": "parece que tu navegador podría tener una fuga de memoria;\npor favor", + "u_emtleak2": " cambia a https (recomendado) o ", + "u_emtleak3": " ", + "u_emtleakc": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego desactiva el botón  mt  en los  ⚙️ ajustes
  • e intenta esa subida de nuevo
Las subidas serán un poco más lentas, pero bueno.\n¡Perdón por las molestias!\n\nPD: chrome v107 tiene una solución para esto", + "u_emtleakf": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego activa 🥔 (ligera) en la interfaz de subida
  • e intenta esa subida de nuevo
\nPD: firefox con suerte tendrá una solución en algún momento", + "u_s404": "no encontrado en el servidor", + "u_expl": "explicar", + "u_maxconn": "la mayoría de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", + "u_tu": '

AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botón turbo

', + "u_ts": '

AVISO: turbo activado,  los resultados de búsqueda pueden ser incorrectos; ver tooltip del botón turbo

', + "u_turbo_c": "turbo está desactivado en la configuración del servidor", + "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", + "u_life_cfg": 'autoeliminar después de min (o horas)', + "u_life_est": 'la subida se eliminará ---', + "u_life_max": "esta carpeta impone una\nvida máxima de {0}", + "u_unp_ok": "se permite deshacer la subida durante {0}", + "u_unp_ng": "NO se permitirá deshacer la subida", + "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", + "ue_nl": "actualmente no has iniciado sesión", + "ue_la": "actualmente has iniciado sesión como \"{0}\"", + "ue_sr": "actualmente estás en modo de búsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa 🔎 (junto al gran botón BUSCAR), e intenta subir de nuevo\n\nlo siento", + "ue_ta": "intenta subir de nuevo, ahora debería funcionar", + "ue_ab": "este archivo ya se está subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el 🧯 de arriba a la izquierda", + "ur_1uo": "OK: Archivo subido con éxito", + "ur_auo": "OK: Todos los {0} archivos subidos con éxito", + "ur_1so": "OK: Archivo encontrado en el servidor", + "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", + "ur_1un": "Subida fallida, lo siento", + "ur_aun": "Todas las {0} subidas fallaron, lo siento", + "ur_1sn": "El archivo NO se encontró en el servidor", + "ur_asn": "Los {0} archivos NO se encontraron en el servidor", + "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", + "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", + + "lang_set": "¿refrescar para que el cambio surta efecto?" + }, "rus": { "tt": "Русский", @@ -3762,631 +4387,6 @@ var Ls = { "ur_sm": "Завершено;\n{0} файлів знайдено на сервері,\n{1} файлів НЕ знайдено на сервері", "lang_set": "оновити сторінку, щоб зміни набули чинності?", - }, - "spa": { - "tt": "Español", - - "cols": { - "c": "acciones", - "dur": "duración", - "q": "calidad / bitrate", - "Ac": "códec de audio", - "Vc": "códec de vídeo", - "Fmt": "formato / contenedor", - "Ahash": "checksum de audio", - "Vhash": "checksum de vídeo", - "Res": "resolución", - "T": "tipo de archivo", - "aq": "calidad de audio / bitrate", - "vq": "calidad de vídeo / bitrate", - "pixfmt": "submuestreo / estructura de píxel", - "resw": "resolución horizontal", - "resh": "resolución vertical", - "chs": "canales de audio", - "hz": "frecuencia de muestreo" - }, - - "hks": [ - [ - "varios", - ["ESC", "cerrar varias cosas"], - - "gestor de archivos", - ["G", "alternar vista de lista / cuadrícula"], - ["T", "alternar miniaturas / iconos"], - ["⇧ A/D", "tamaño de miniatura"], - ["ctrl-K", "eliminar seleccionados"], - ["ctrl-X", "cortar selección al portapapeles"], - ["ctrl-C", "copiar selección al portapapeles"], - ["ctrl-V", "pegar (mover/copiar) aquí"], - ["Y", "descargar seleccionados"], - ["F2", "renombrar seleccionados"], - - "selección en lista de archivos", - ["space", "alternar selección de archivo"], - ["↑/↓", "mover cursor de selección"], - ["ctrl ↑/↓", "mover cursor y vista"], - ["⇧ ↑/↓", "seleccionar anterior/siguiente archivo"], - ["ctrl-A", "seleccionar todos los archivos / carpetas"] - ], [ - "navegación", - ["B", "alternar breadcrumbs / panel de navegación"], - ["I/K", "anterior/siguiente carpeta"], - ["M", "carpeta de nivel superior (o contraer actual)"], - ["V", "alternar carpetas / archivos en panel de navegación"], - ["A/D", "tamaño del panel de navegación"] - ], [ - "reproductor de audio", - ["J/L", "anterior/siguiente canción"], - ["U/O", "saltar 10s atrás/adelante"], - ["0..9", "saltar a 0%..90%"], - ["P", "reproducir/pausar (también inicia)"], - ["S", "seleccionar canción en reproducción"], - ["Y", "descargar canción"] - ], [ - "visor de imágenes", - ["J/L, ←/→", "anterior/siguiente imagen"], - ["Home/End", "primera/última imagen"], - ["F", "pantalla completa"], - ["R", "rotar en sentido horario"], - ["⇧ R", "rotar en sentido antihorario"], - ["S", "seleccionar imagen"], - ["Y", "descargar imagen"] - ], [ - "reproductor de vídeo", - ["U/O", "saltar 10s atrás/adelante"], - ["P/K/Space", "reproducir/pausar"], - ["C", "continuar con el siguiente"], - ["V", "bucle"], - ["M", "silenciar"], - ["[ y ]", "establecer intervalo de bucle"] - ], [ - "visor de texto", - ["I/K", "anterior/siguiente archivo"], - ["M", "cerrar archivo"], - ["E", "editar archivo"], - ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] - ] - ], - - "m_ok": "Aceptar", - "m_ng": "Cancelar", - - "enable": "Activar", - "danger": "PELIGRO", - "clipped": "copiado al portapapeles", - - "ht_s1": "segundo", - "ht_s2": "segundos", - "ht_m1": "minuto", - "ht_m2": "minutos", - "ht_h1": "hora", - "ht_h2": "horas", - "ht_d1": "día", - "ht_d2": "días", - "ht_and": " y ", - - "goh": "panel de control", - "gop": 'hermano anterior">anterior', - "gou": 'carpeta de nivel superior">subir', - "gon": 'siguiente carpeta">siguiente', - "logout": "Cerrar sesión ", - "access": " acceso", - "ot_close": "cerrar submenú", - "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", - "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", - "ot_bup": "bup: uploader básico, soporta hasta netscape 4.0", - "ot_mkdir": "mkdir: crear un nuevo directorio", - "ot_md": "new-md: crear un nuevo documento markdown", - "ot_msg": "msg: enviar un mensaje al registro del servidor", - "ot_mp": "opciones del reproductor multimedia", - "ot_cfg": "opciones de configuración", - "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", - "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", - "ot_noie": "Por favor, usa Chrome / Firefox / Edge", - - "ab_mkdir": "crear directorio", - "ab_mkdoc": "nuevo documento markdown", - "ab_msg": "enviar msg al registro del servidor", - - "ay_path": "saltar a carpetas", - "ay_files": "saltar a archivos", - - "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", - "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", - "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", - "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", - "wt_pst": "pegar una selección previamente cortada / copiada$NAtajo: ctrl-V", - "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", - "wt_selinv": "invertir selección", - "wt_zip1": "descargar esta carpeta como un archivo comprimido", - "wt_selzip": "descargar selección como archivo comprimido", - "wt_seldl": "descargar selección como archivos separados$NAtajo: Y", - "wt_npirc": "copiar información de pista en formato IRC", - "wt_nptxt": "copiar información de pista en texto plano", - "wt_m3ua": "añadir a lista m3u (haz clic en 📻copiar después)", - "wt_m3uc": "copiar lista m3u al portapapeles", - "wt_grid": "alternar vista de cuadrícula / lista$NAtajo: G", - "wt_prev": "pista anterior$NAtajo: J", - "wt_play": "reproducir / pausar$NAtajo: P", - "wt_next": "siguiente pista$NAtajo: L", - - "ul_par": "subidas paralelas:", - "ut_rand": "aleatorizar nombres de archivo", - "ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅', - "ut_ow": "sobrescribir archivos existentes en el servidor?$N🛡️: nunca (generará un nuevo nombre de archivo en su lugar)$N🕒: sobrescribir si el archivo del servidor es más antiguo que el tuyo$N♻️: siempre sobrescribir si los archivos son diferentes", - "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizás desactivar si tu CPU o HDD es un cuello de botella", - "ut_ask": 'pedir confirmación antes de iniciar la subida">💭', - "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", - "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escaneará todas las carpetas que puedas leer)", - "ut_par": "pausar subidas poniéndolo a 0$N$Naumentar si tu conexión es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", - "ul_btn": "arrastra archivos / carpetas
aquí (o haz clic)", - "ul_btnu": "S U B I R", - "ul_btns": "B U S C A R", - - "ul_hash": "hash", - "ul_send": "envio", - "ul_done": "hecho", - "ul_idle1": "aún no hay subidas en cola", - "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", - "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", - "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", - - "uct_ok": "completado con éxito", - "uct_ng": "fallido: error / rechazado / no encontrado", - "uct_done": "éxitos y fallos combinados", - "uct_bz": "generando hash o subiendo", - "uct_q": "inactivo, pendiente", - - "utl_name": "nombre de archivo", - "utl_ulist": "lista", - "utl_ucopy": "copiar", - "utl_links": "enlaces", - "utl_stat": "estado", - "utl_prog": "progreso", - - "utl_404": "404", - "utl_err": "ERROR", - "utl_oserr": "Error-SO", - "utl_found": "encontrado", - "utl_defer": "posponer", - "utl_yolo": "YOLO", - "utl_done": "hecho", - - "ul_flagblk": "los archivos se añadieron a la cola
sin embargo, hay un up2k ocupado en otra pestaña del navegador,
esperando a que termine primero", - "ul_btnlk": "la configuración del servidor ha bloqueado esta opción en este estado", - - "udt_up": "Subir", - "udt_srch": "Buscar", - "udt_drop": "suéltalo aquí", - - "u_nav_m": "
vale, ¿qué tienes?
Intro = Archivos (uno o más)\nESC = Una carpeta (incluyendo subcarpetas)", - "u_nav_b": "ArchivosUna carpeta", - - "cl_opts": "opciones", - "cl_themes": "tema", - "cl_langs": "idioma", - "cl_ziptype": "descarga de carpeta", - "cl_uopts": "opciones up2k", - "cl_favico": "favicon", - "cl_bigdir": "directorios grandes", - "cl_hsort": "#ordenar", - "cl_keytype": "notación musical", - "cl_hiddenc": "columnas ocultas", - "cl_hidec": "ocultar", - "cl_reset": "restablecer", - "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", - "cl_hcancel": "ocultación de columna cancelada", - - "ct_grid": '田 cuadrícula', - "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', - "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', - "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', - "ct_ihop": 'al cerrar el visor de imágenes, desplazarse hasta el último archivo visto">g⮯', - "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', - "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', - "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', - "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', - "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', - "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', - "ct_sbars": 'mostrar barra lateral">⟊', - - "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de última modificación del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminación)">re📅', - - "cut_turbo": 'el botón yolo, probablemente NO quieras activarlo:$N$Núsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razón, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobación de hash por un simple "¿tiene este el mismo tamaño de archivo en el servidor?" así que si el contenido del archivo es diferente, NO se subirá$N$Ndeberías desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', - - "cut_datechk": 'no tiene efecto a menos que el botón turbo esté activado$N$Nreduce el factor yolo en una pequeña cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteóricamente debería detectar la mayoría de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificación con el turbo desactivado después">verif. fecha', - - "cut_u2sz": "tamaño (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a través del atlántico. Prueba valores bajos en conexiones muy poco fiables", - - "cut_flag": "asegura que solo una pestaña esté subiendo a la vez $N -- otras pestañas también deben tener esto activado $N -- solo afecta a pestañas en el mismo dominio", - - "cut_az": "subir archivos en orden alfabético, en lugar de los más pequeños primero$N$Nel orden alfabético puede facilitar la detección visual de si algo salió mal en el servidor, pero hace la subida ligeramente más lenta en fibra / LAN", - - "cut_nag": "notificación del SO cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", - "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", - - "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmás RAM (hasta 512 MiB extra)$N$Nhace https un 30% más rápido, http 4.5x más rápido">mt', - - "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto está activado">wasm', - - "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", - "cft_fg": "color de primer plano", - "cft_bg": "color de fondo", - - "cdt_lim": "número máximo de archivos a mostrar en una carpeta", - "cdt_ask": "al llegar al final,$Nen lugar de cargar más archivos,$Npreguntar qué hacer", - "cdt_hsort": "cuántas reglas de ordenación (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 también ignorará las reglas de ordenación incluidas en los enlaces de medios al hacer clic en ellos", - - "tt_entree": "mostrar panel de navegación (barra lateral con árbol de directorios)$NAtajo: B", - "tt_detree": "mostrar breadcrumbs$NAtajo: B", - "tt_visdir": "desplazarse a la carpeta seleccionada", - "tt_ftree": "alternar árbol de carpetas / archivos de texto$NAtajo: V", - "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", - "tt_dynt": "crecimiento automático a medida que el árbol se expande", - "tt_wrap": "ajuste de línea", - "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", - - "ml_pmode": "al final de la carpeta...", - "ml_btns": "acciones", - "ml_tcode": "transcodificar", - "ml_tcode2": "transcodificar a", - "ml_tint": "tinte", - "ml_eq": "ecualizador de audio", - "ml_drc": "compresor de rango dinámico", - - "mt_loop": 'poner en bucle/repetir una canción">🔁', - "mt_one": 'parar después de una canción">1️⃣', - "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', - "mt_aplay": 'reproducir automaticamente si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', - "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', - "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', - "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', - "mt_fau": 'en teléfonos, evitar que la música se detenga si la siguiente canción no se precarga lo suficientemente rápido (puede causar fallos en la visualización de etiquetas)">☕️', - "mt_waves": 'barra de búsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', - "mt_npclip": 'mostrar botones para copiar al portapapeles la canción actual">/np', - "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">📻', - "mt_octl": 'integración con SO (teclas multimedia / OSD)">ctl-so', - "mt_oseek": 'permitir buscar a través de la integración con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botón de siguiente canción">búsqueda', - "mt_oscv": 'mostrar carátula del álbum en OSD">arte', - "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', - "mt_compact": 'controles compactos">⟎', - "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', - "mt_mloop": 'repetir la carpeta actual">🔁 bucle', - "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', - "mt_mstop": 'detener reproducción">⏸ parar', - "mt_cflac": 'convertir flac / wav a opus">flac', - "mt_caac": 'convertir aac / m4a a opus">aac', - "mt_coth": 'convertir todos los demás (no mp3) a opus">oth', - "mt_c2opus": 'la mejor opción para ordenadores, portátiles, android">opus', - "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', - "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', - "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', - "mt_c2ok": "bien, buena elección", - "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero está bien", - "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentémoslo de todas formas", - "mt_xowa": "hay errores en iOS que impiden la reproducción en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", - "mt_tint": "nivel de fondo (0-100) en la barra de búsqueda$Npara hacer el buffering menos molesto", - "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estándar 100% (sin modificar)$N$Nancho <code>1  </code> = estéreo estándar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminación de voz :^)$N$Nactivar el ecualizador hace que los álbumes sin pausas sean completamente sin pausas, así que déjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", - "mt_drc": "activa el compresor de rango dinámico (aplanador de volumen / brickwaller); también activará el EQ para equilibrar el espagueti, así que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, así que los valores por defecto de umbral -24 y ratio 12 significan que nunca debería sonar más fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es máx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", - - "mb_play": "reproducir", - "mm_hashplay": "¿reproducir este archivo de audio?", - "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", - "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", - "mm_bload": "cargando...", - "mm_bconv": "convirtiendo a {0}, por favor espera...", - "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificación a opus", - "mm_playerr": "fallo de reproducción: ", - "mm_eabrt": "El intento de reproducción fue cancelado", - "mm_enet": "Tu conexión a internet es inestable", - "mm_edec": "¿Este archivo está supuestamente corrupto?", - "mm_esupp": "Tu navegador no entiende este formato de audio", - "mm_eunk": "Error desconocido", - "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", - "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizás se cerró tu sesión", - "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", - "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", - "mm_nof": "no se encuentran más archivos de audio cerca", - "mm_prescan": "Buscando música para reproducir a continuación...", - "mm_scank": "Encontrada la siguiente canción:", - "mm_uncache": "caché limpiada; todas las canciones se volverán a descargar en la próxima reproducción", - "mm_hnf": "esa canción ya no existe", - - "im_hnf": "esa imagen ya no existe", - - "f_empty": "esta carpeta está vacía", - "f_chide": "esto ocultará la columna «{0}»\n\npuedes volver a mostrar las columnas en la pestaña de configuración", - "f_bigtxt": "este archivo pesa {0} MiB -- ¿realmente verlo como texto?", - "f_bigtxt2": "¿ver solo el final del archivo en su lugar? esto también activará el seguimiento, mostrando las líneas de texto recién añadidas en tiempo real", - "fbd_more": '
mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
', - "fbd_all": '
mostrando {0} de {1} archivos; mostrar todos
', - "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplázate hasta el final", - - "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", - - "f_partial": "Para descargar de forma segura un archivo que se está subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensión .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorará esta advertencia y continuará descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te dará datos corruptos.", - - "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", - "fr_eperm": "no se puede renombrar:\nno tienes permiso de “mover” en esta carpeta", - "fd_eperm": "no se puede eliminar:\nno tienes permiso de “eliminar” en esta carpeta", - "fc_eperm": "no se puede cortar:\nno tienes permiso de “mover” en esta carpeta", - "fp_eperm": "no se puede pegar:\nno tienes permiso de “escribir” en esta carpeta", - "fr_emore": "selecciona al menos un elemento para renombrar", - "fd_emore": "selecciona al menos un elemento para eliminar", - "fc_emore": "selecciona al menos un elemento para cortar", - "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", - - "fs_sc": "compartir la carpeta en la que estás", - "fs_ss": "compartir los archivos seleccionados", - "fs_just1d": "no puedes seleccionar más de una carpeta,\no mezclar archivos y carpetas en una selección", - "fs_abrt": "❌ abortar", - "fs_rand": "🎲 nombre aleatorio", - "fs_go": "✅ crear enlace", - "fs_name": "nombre", - "fs_src": "origen", - "fs_pwd": "contraseña", - "fs_exp": "caducidad", - "fs_tmin": "minutos", - "fs_thrs": "horas", - "fs_tdays": "días", - "fs_never": "eterno", - "fs_pname": "nombre opcional del enlace; será aleatorio si se deja en blanco", - "fs_tsrc": "el archivo o carpeta a compartir", - "fs_ppwd": "contraseña opcional", - "fs_w8": "creando enlace...", - "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", - - "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", - "frt_rst": "restaurar los nombres de archivo modificados a los originales\">↺ restablecer", - "frt_abrt": "abortar y cerrar esta ventana\">❌ cancelar", - "frb_apply": "APLICAR RENOMBRADO", - "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", - "fr_case": "regex sensible a mayúsculas\">mayús", - "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", - "fr_slash": "reemplaza / con un carácter que no cree nuevas carpetas\">sin /", - "fr_re": "patrón de búsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y así sucesivamente", - "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el título de la canción,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista está en blanco$N<code>$lpad((tn),2,0)</code> rellena el número de pista a 2 dígitos", - "fr_pdel": "eliminar", - "fr_pnew": "guardar como", - "fr_pname": "proporciona un nombre para tu nuevo preajuste", - "fr_aborted": "abortado", - "fr_lold": "nombre antiguo", - "fr_lnew": "nombre nuevo", - "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", - "fr_busy": "renombrando {0} elementos...\n\n{1}", - "fr_efail": "fallo al renombrar:\n", - "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\n¿Aceptar para continuar con estos nuevos nombres alterados?", - - "fd_ok": "eliminación correcta", - "fd_err": "fallo al eliminar:\n", - "fd_none": "no se eliminó nada; quizás bloqueado por la configuración del servidor (xbd)?", - "fd_busy": "eliminando {0} elementos...\n\n{1}", - "fd_warn1": "¿ELIMINAR estos {0} elementos?", - "fd_warn2": "¡Última oportunidad! No se puede deshacer. ¿Eliminar?", - - "fc_ok": "cortados {0} elementos", - "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", - - "fcc_ok": "copiados {0} elementos al portapapeles", - "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", - - "fp_apply": "usar estos nombres", - "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestañas del navegador", - "fp_ename": "{0} elementos no se pueden mover aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fcp_ename": "{0} elementos no se pueden copiar aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fp_emore": "todavía quedan algunas colisiones de nombres por resolver", - "fp_ok": "movimiento correcto", - "fcp_ok": "copia correcta", - "fp_busy": "moviendo {0} elementos...\n\n{1}", - "fcp_busy": "copiando {0} elementos...\n\n{1}", - "fp_err": "fallo al mover:\n", - "fcp_err": "fallo al copiar:\n", - "fp_confirm": "¿mover estos {0} elementos aquí?", - "fcp_confirm": "¿copiar estos {0} elementos aquí?", - "fp_etab": "fallo al leer el portapapeles de otra pestaña del navegador", - "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", - "fp_both_m": "
elige qué pegar
Intro = Mover {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", - "fcp_both_m": "
elige qué pegar
Intro = Copiar {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", - "fp_both_b": "MoverSubir", - "fcp_both_b": "CopiarSubir", - - "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", - - "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", - "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", - "tv_xe2": "404, archivo no encontrado", - "tv_lst": "lista de archivos de texto en", - "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">❌ cerrar", - "tvt_dl": "descargar este archivo$NAtajo: Y\">💾 descargar", - "tvt_prev": "mostrar documento anterior$NAtajo: i\">⬆ ant", - "tvt_next": "mostrar siguiente documento$NAtajo: K\">⬇ sig", - "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", - "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">✏️ editar", - "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas líneas en tiempo real\">📡 seguir", - "tvt_wrap": "ajuste de línea\">↵", - "tvt_atail": "bloquear el desplazamiento al final de la página\">⚓", - "tvt_ctail": "decodificar colores de terminal (códigos de escape ansi)\">🌈", - "tvt_ntail": "límite de historial (cuántos bytes de texto mantener cargados)", - - "m3u_add1": "canción añadida a la lista m3u", - "m3u_addn": "{0} canciones añadidas a la lista m3u", - "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo hará reproducible", - - "gt_vau": "no mostrar vídeos, solo reproducir el audio\">🎧", - "gt_msel": "activar selección de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando está activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselección", - "gt_crop": "recortar miniaturas\">recortar", - "gt_3x": "miniaturas de alta resolución\">3x", - "gt_zoom": "zoom", - "gt_chop": "recortar", - "gt_sort": "ordenar por", - "gt_name": "nombre", - "gt_sz": "tamaño", - "gt_ts": "fecha", - "gt_ext": "tipo", - "gt_c1": "truncar más los nombres de archivo (mostrar menos)", - "gt_c2": "truncar menos los nombres de archivo (mostrar más)", - - "sm_w8": "buscando...", - "sm_prev": "los resultados de búsqueda a continuación son de una consulta anterior:\n ", - "sl_close": "cerrar resultados de búsqueda", - "sl_hits": "mostrando {0} resultados", - "sl_moar": "cargar más", - - "s_sz": "tamaño", - "s_dt": "fecha", - "s_rd": "ruta", - "s_fn": "nombre", - "s_ta": "etiquetas", - "s_ua": "subido@", - "s_ad": "avanzado", - "s_s1": "MiB mínimo", - "s_s2": "MiB máximo", - "s_d1": "mín. iso8601", - "s_d2": "máx. iso8601", - "s_u1": "subido después de", - "s_u2": "y/o antes de", - "s_r1": "la ruta contiene   (separado por espacios)", - "s_f1": "el nombre contiene   (negar con -no)", - "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", - "s_a1": "propiedades de metadatos específicas", - - "md_eshow": "no se puede renderizar ", - "md_off": "[📜léeme] desactivado en [⚙️] -- documento oculto", - - "badreply": "Fallo al procesar la respuesta del servidor", - - "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizás se cerró tu sesión", - "xhr0": "desconocido (probablemente se perdió la conexión con el servidor, o el servidor está desconectado)", - "cf_ok": "perdón por eso -- la protección DD" + wah + "oS se activó\n\nlas cosas deberían reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la página", - "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", - "tl_xe2": "404: Carpeta no encontrada", - "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", - "fl_xe2": "404: Carpeta no encontrada", - "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", - "fd_xe2": "404: Carpeta de nivel superior no encontrada", - "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", - "fsm_xe2": "404: Carpeta de nivel superior no encontrada", - "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", - "fu_xe2": "404: ¿Archivo no encontrado?", - - "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", - "fz_pax": "tar formato pax sin comprimir (más lento)", - "fz_targz": "gnu-tar con compresión gzip nivel 3$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", - "fz_tarxz": "gnu-tar con compresión xz nivel 1$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", - "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", - "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", - "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda más en procesar antes de que la descarga pueda empezar)", - - "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuación", - "un_upd": "actualizar", - "un_m4": "o compartir los archivos visibles a continuación:", - "un_ulist": "mostrar", - "un_ucopy": "copiar", - "un_flt": "filtro opcional:  la URL debe contener", - "un_fclr": "limpiar filtro", - "un_derr": "fallo al deshacer-eliminar:\n", - "un_f5": "algo se rompió, por favor intenta actualizar o pulsa F5", - "un_uf5": "lo siento pero tienes que refrescar la página (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", - "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", - "un_noc": "aviso: la opción de deshacer subidas completadas no está activada/permitida en la configuración del servidor", - "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", - "un_avail": "{0} subidas recientes se pueden eliminar
{1} inacabadas se pueden abortar", - "un_m2": "ordenado por tiempo de subida; más recientes primero:", - "un_no1": "¡pues no! ninguna subida es suficientemente reciente", - "un_no2": "¡pues no! ninguna subida que coincida con ese filtro es suficientemente reciente", - "un_next": "eliminar los siguientes {0} archivos a continuación", - "un_abrt": "abortar", - "un_del": "eliminar", - "un_m3": "cargando tus subidas recientes...", - "un_busy": "eliminando {0} archivos...", - "un_clip": "{0} enlaces copiados al portapapeles", - - "u_https1": "deberías", - "u_https2": "cambiar a https", - "u_https3": "para un mejor rendimiento", - "u_ancient": "tu navegador es impresionantemente antiguo -- quizás deberías usar bup en su lugar", - "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", - "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", - "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", - "u_notdir": "¡eso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", - "u_uri": "para arrastrar y soltar imágenes desde otras ventanas del navegador,\npor favor suéltalas sobre el gran botón de subida", - "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", - "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", - "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", - "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", - "u_ever": "este es el uploader básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": "este es el uploader básico; up2k es mejor", - "u_uput": "optimizar para velocidad (omitir checksum)", - "u_ewrite": "no tienes acceso de escritura a esta carpeta", - "u_eread": "no tienes acceso de lectura a esta carpeta", - "u_enoi": "la búsqueda de archivos no está activada en la configuración del servidor", - "u_enoow": "sobrescribir no funcionará aquí; se necesita permiso de eliminación", - "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", - "u_blankf": "Estos {0} archivos (de un total de {1}) están en blanco / vacíos; ¿subirlos de todos modos?\n\n", - "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos también:\n\n", - "u_just1": "\nQuizás funcione mejor si seleccionas solo un archivo", - "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podría bloquear Firefox!\nsi eso ocurre, por favor inténtalo de nuevo (o usa Chrome).", - "u_up_life": "Esta subida será eliminada del servidor\n{0} después de que se complete", - "u_asku": "subir estos {0} archivos a {1}", - "u_unpt": "puedes deshacer / eliminar esta subida usando el 🧯 de arriba a la izquierda", - "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podría bloquear tu navegador, ¿estás seguro?", - "u_scan": "Escaneando archivos...", - "u_dirstuck": "el iterador de directorios se atascó intentando acceder a los siguientes {0} elementos; se omitirán:", - "u_etadone": "Hecho ({0}, {1} archivos)", - "u_etaprep": "(preparando para subir)", - "u_hashdone": "hashing completado", - "u_hashing": "hash", - "u_hs": "negociando...", - "u_started": "los archivos se están subiendo ahora; mira en [🚀]", - "u_dupdefer": "duplicado; se procesará después de todos los demás archivos", - "u_actx": "haz clic en este texto para evitar la pérdida de
rendimiento al cambiar a otras ventanas/pestañas", - "u_fixed": "¡OK!  Arreglado 👍", - "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", - "u_cuerr2": "el servidor rechazó la subida (trozo {0} de {1});\nse reintentará más tarde\n\narchivo: {2}\n\nerror ", - "u_ehstmp": "se reintentará; mira abajo a la derecha", - "u_ehsfin": "el servidor rechazó la solicitud para finalizar la subida; reintentando...", - "u_ehssrch": "el servidor rechazó la solicitud para realizar la búsqueda; reintentando...", - "u_ehsinit": "el servidor rechazó la solicitud para iniciar la subida; reintentando...", - "u_eneths": "error de red al realizar la negociación de subida; reintentando...", - "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", - "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros después de un fallo de red...", - "u_ehsdf": "¡el servidor se quedó sin espacio en disco!\n\nse seguirá reintentando, por si alguien\nlibera suficiente espacio para continuar", - "u_emtleak1": "parece que tu navegador podría tener una fuga de memoria;\npor favor", - "u_emtleak2": " cambia a https (recomendado) o ", - "u_emtleak3": " ", - "u_emtleakc": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego desactiva el botón  mt  en los  ⚙️ ajustes
  • e intenta esa subida de nuevo
Las subidas serán un poco más lentas, pero bueno.\n¡Perdón por las molestias!\n\nPD: chrome v107 tiene una solución para esto", - "u_emtleakf": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego activa 🥔 (ligera) en la interfaz de subida
  • e intenta esa subida de nuevo
\nPD: firefox con suerte tendrá una solución en algún momento", - "u_s404": "no encontrado en el servidor", - "u_expl": "explicar", - "u_maxconn": "la mayoría de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", - "u_tu": '

AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botón turbo

', - "u_ts": '

AVISO: turbo activado,  los resultados de búsqueda pueden ser incorrectos; ver tooltip del botón turbo

', - "u_turbo_c": "turbo está desactivado en la configuración del servidor", - "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", - "u_life_cfg": 'autoeliminar después de min (o horas)', - "u_life_est": 'la subida se eliminará ---', - "u_life_max": "esta carpeta impone una\nvida máxima de {0}", - "u_unp_ok": "se permite deshacer la subida durante {0}", - "u_unp_ng": "NO se permitirá deshacer la subida", - "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", - "ue_nl": "actualmente no has iniciado sesión", - "ue_la": "actualmente has iniciado sesión como \"{0}\"", - "ue_sr": "actualmente estás en modo de búsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa 🔎 (junto al gran botón BUSCAR), e intenta subir de nuevo\n\nlo siento", - "ue_ta": "intenta subir de nuevo, ahora debería funcionar", - "ue_ab": "este archivo ya se está subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el 🧯 de arriba a la izquierda", - "ur_1uo": "OK: Archivo subido con éxito", - "ur_auo": "OK: Todos los {0} archivos subidos con éxito", - "ur_1so": "OK: Archivo encontrado en el servidor", - "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", - "ur_1un": "Subida fallida, lo siento", - "ur_aun": "Todas las {0} subidas fallaron, lo siento", - "ur_1sn": "El archivo NO se encontró en el servidor", - "ur_asn": "Los {0} archivos NO se encontraron en el servidor", - "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", - "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", - - "lang_set": "¿refrescar para que el cambio surta efecto?" } }; diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 89661f28..049ed0c5 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -135,49 +135,6 @@ var Ls = { "ae1": "Aktive Downloads:", "af1": "Zeige neue Uploads", }, - - "rus": { - "a1": "обновить", - "b1": "приветик, незнакомец   (вы не авторизованы)", - "c1": "выйти", - "d1": "трассировка стека", - "d2": "показывает состояние всех активных потоков", - "e1": "перезагрузить конфиг", - "e2": "перезагрузить файлы конфига (аккаунты/хранилища/флаги),$Nи пересканировать все хранилища с флагом e2ds$N$Nвнимание: изменения глобальных настроек$Nтребуют полного перезапуска сервера", - "f1": "вы можете видеть:", - "g1": "вы можете загружать файлы в:", - "cc1": "всякая всячина:", - "h1": "отключить k304", - "i1": "включить k304", - "j1": "включённый k304 будет отключать вас при получении HTTP 304, что может помочь при работе с некоторыми глючными прокси (перестают загружаться страницы), но это также сделает работу клиента медленнее", - "k1": "сбросить локальные настройки", - "l1": "авторизуйтесь для других опций:", - "m1": "с возвращением,", - "n1": "404 не найдено  ┐( ´ -`)┌", - "o1": 'или у вас нет доступа -- попробуйте авторизоваться или вернуться на главную', - "p1": "403 доступ запрещён  ~┻━┻", - "q1": 'авторизуйтесь или вернитесь на главную', - "r1": "вернуться на главную", - ".s1": "пересканировать", - "t1": "действия", - "u2": "время с последней записи на сервер$N( загрузка / переименование / ... )$N$N17d = 17 дней$N1h23 = 1 час 23 минут$N4m56 = 4 минут 56 секунд", - "v1": "подключить", - "v2": "использовать сервер как локальный диск", - "w1": "перейти на https", - "x1": "поменять пароль", - "y1": "управление доступом", - "z1": "разблокировать:", - "ta1": "сначала введите свой новый пароль", - "ta2": "повторите новый пароль:", - "ta3": "опечатка; попробуйте снова", - "aa1": "входящие файлы:", - "ab1": "отключить no304", - "ac1": "включить no304", - "ad1": "включённый no304 полностью отключит хеширование; используйте, если k304 не помог. Сильно увеличит объём трафика!", - "ae1": "активные скачивания:", - "af1": "показать недавние загрузки", - "ag1": "показать известных IdP-пользователей", - }, "spa": { "a1": "actualizar", "b1": "hola   (no has iniciado sesión)", @@ -220,6 +177,48 @@ var Ls = { "af1": "mostrar subidas recientes", "ag1": "mostrar usuarios IdP conocidos" }, + "rus": { + "a1": "обновить", + "b1": "приветик, незнакомец   (вы не авторизованы)", + "c1": "выйти", + "d1": "трассировка стека", + "d2": "показывает состояние всех активных потоков", + "e1": "перезагрузить конфиг", + "e2": "перезагрузить файлы конфига (аккаунты/хранилища/флаги),$Nи пересканировать все хранилища с флагом e2ds$N$Nвнимание: изменения глобальных настроек$Nтребуют полного перезапуска сервера", + "f1": "вы можете видеть:", + "g1": "вы можете загружать файлы в:", + "cc1": "всякая всячина:", + "h1": "отключить k304", + "i1": "включить k304", + "j1": "включённый k304 будет отключать вас при получении HTTP 304, что может помочь при работе с некоторыми глючными прокси (перестают загружаться страницы), но это также сделает работу клиента медленнее", + "k1": "сбросить локальные настройки", + "l1": "авторизуйтесь для других опций:", + "m1": "с возвращением,", + "n1": "404 не найдено  ┐( ´ -`)┌", + "o1": 'или у вас нет доступа -- попробуйте авторизоваться или вернуться на главную', + "p1": "403 доступ запрещён  ~┻━┻", + "q1": 'авторизуйтесь или вернитесь на главную', + "r1": "вернуться на главную", + ".s1": "пересканировать", + "t1": "действия", + "u2": "время с последней записи на сервер$N( загрузка / переименование / ... )$N$N17d = 17 дней$N1h23 = 1 час 23 минут$N4m56 = 4 минут 56 секунд", + "v1": "подключить", + "v2": "использовать сервер как локальный диск", + "w1": "перейти на https", + "x1": "поменять пароль", + "y1": "управление доступом", + "z1": "разблокировать:", + "ta1": "сначала введите свой новый пароль", + "ta2": "повторите новый пароль:", + "ta3": "опечатка; попробуйте снова", + "aa1": "входящие файлы:", + "ab1": "отключить no304", + "ac1": "включить no304", + "ad1": "включённый no304 полностью отключит хеширование; используйте, если k304 не помог. Сильно увеличит объём трафика!", + "ae1": "активные скачивания:", + "af1": "показать недавние загрузки", + "ag1": "показать известных IdP-пользователей", + }, }; if (window.langmod) From 1ee89ec21dddcb0146df832db911061d48c2b83b Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Fri, 1 Aug 2025 11:35:03 +0200 Subject: [PATCH 07/14] order spa alphabetically in language selector --- copyparty/web/browser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 569d6ab3..2b69425e 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -4390,7 +4390,7 @@ var Ls = { } }; -var LANGS = ["eng", "nor", "chi", "deu", "rus", "ukr", "spa"]; +var LANGS = ["eng", "nor", "chi", "deu", "spa", "rus", "ukr"]; if (window.langmod) langmod(); From 4e8b88d8f68931fcf884bdf2305a0f601b576eb4 Mon Sep 17 00:00:00 2001 From: Juan Herruzo Date: Fri, 1 Aug 2025 11:39:02 +0200 Subject: [PATCH 08/14] fixed newline structure --- copyparty/web/browser.js | 2 +- copyparty/web/splash.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 2b69425e..affcbaa7 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -4387,7 +4387,7 @@ var Ls = { "ur_sm": "Завершено;\n{0} файлів знайдено на сервері,\n{1} файлів НЕ знайдено на сервері", "lang_set": "оновити сторінку, щоб зміни набули чинності?", - } + }, }; var LANGS = ["eng", "nor", "chi", "deu", "spa", "rus", "ukr"]; diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 049ed0c5..22e32381 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -94,6 +94,7 @@ var Ls = { "af1": "显示最近上传的文件", //m "ag1": "查看已知 IdP 用户", //m }, + "deu": { "a1": "Neu laden", "b1": "Tach, wie geht's?   (Du bist nicht angemeldet)", @@ -135,6 +136,7 @@ var Ls = { "ae1": "Aktive Downloads:", "af1": "Zeige neue Uploads", }, + "spa": { "a1": "actualizar", "b1": "hola   (no has iniciado sesión)", From 9c197535462c5ade79fc9aae2bfba1c57dbf1a06 Mon Sep 17 00:00:00 2001 From: KevinXuxuxu Date: Thu, 31 Jul 2025 00:07:52 -0700 Subject: [PATCH 09/14] [u2c.py] Fix unicode files argument handling for py2.7 --- bin/u2c.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/u2c.py b/bin/u2c.py index 99c426c4..85298730 100755 --- a/bin/u2c.py +++ b/bin/u2c.py @@ -52,6 +52,7 @@ if PY2: sys.dont_write_bytecode = True bytes = str + files_decoder = lambda s: unicode(s, 'utf8') else: from urllib.parse import quote_from_bytes as quote from urllib.parse import unquote_to_bytes as unquote @@ -61,6 +62,7 @@ else: from queue import Queue unicode = str + files_decoder = unicode WTF8 = "replace" if PY2 else "surrogateescape" @@ -1532,7 +1534,7 @@ source file/folder selection uses rsync syntax, meaning that: """) ap.add_argument("url", type=unicode, help="server url, including destination folder") - ap.add_argument("files", type=unicode, nargs="+", help="files and/or folders to process") + ap.add_argument("files", type=files_decoder, nargs="+", help="files and/or folders to process") ap.add_argument("-v", action="store_true", help="verbose") ap.add_argument("-a", metavar="PASSWD", help="password or $filepath") ap.add_argument("-s", action="store_true", help="file-search (disables upload)") From 6d6d79fcbc92f9f07690939d8b8b745694f880c4 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 1 Aug 2025 15:08:55 +0000 Subject: [PATCH 10/14] fix upload-abort in shares; closes #347 --- copyparty/httpcli.py | 29 ++++++++++++++++++++++------- copyparty/up2k.py | 12 ++++++++---- copyparty/web/browser.js | 22 ++++++---------------- 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index f698255a..16f94a11 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -5363,6 +5363,7 @@ class HttpCli(object): else: shr_dbv = None + wret: dict[str, Any] = {} ret: list[dict[str, Any]] = [] t0 = time.time() lim = time.time() - self.args.unpost @@ -5384,7 +5385,13 @@ class HttpCli(object): x = self.conn.hsrv.broker.ask( "up2k.get_unfinished_by_user", self.uname, "" if bad_xff else self.ip ) - uret = x.get() + zdsa: dict[str, Any] = x.get() + uret: list[dict[str, Any]] = [] + if "timeout" in zdsa: + wret["nou"] = 1 + else: + uret = zdsa["f"] + nu = len(uret) if not self.args.unpost: allvols = [] @@ -5430,6 +5437,8 @@ class HttpCli(object): if len(ret) > 2000: ret = ret[:2000] + if len(ret) >= 2000: + wret["oc"] = 1 for rv in ret: rv["vp"] = quotep(rv["vp"]) @@ -5449,6 +5458,13 @@ class HttpCli(object): ) rv["vp"] += "?k=" + fk[:nfk] + if not allvols: + wret["noc"] = 1 + ret = [] + + nc = len(ret) + ret = uret + ret + if shr_dbv: # translate vpaths from share-target to share-url # to satisfy access checks @@ -5463,12 +5479,11 @@ class HttpCli(object): for v in ret: v["vp"] = self.args.SR + v["vp"] - if not allvols: - ret = [{"kinshi": 1}] - - jtxt = '{"u":%s,"c":%s}' % (uret, json.dumps(ret, separators=(",\n", ": "))) - zi = len(uret.split('\n"pd":')) - 1 - self.log("%s #%d+%d %.2fsec" % (lm, zi, len(ret), time.time() - t0)) + wret["f"] = ret + wret["nu"] = nu + wret["nc"] = nc + jtxt = json.dumps(wret, separators=(",\n", ": ")) + self.log("%s #%d+%d %.2fsec" % (lm, nu, nc, time.time() - t0)) self.reply(jtxt.encode("utf-8", "replace"), mime="application/json") return True diff --git a/copyparty/up2k.py b/copyparty/up2k.py index f544d0e3..ea2bbb57 100644 --- a/copyparty/up2k.py +++ b/copyparty/up2k.py @@ -399,12 +399,14 @@ class Up2k(object): return "{}" - def get_unfinished_by_user(self, uname, ip) -> str: + def get_unfinished_by_user(self, uname, ip) -> dict[str, Any]: + # returns dict due to ExceptionalQueue if PY2 or not self.reg_mutex.acquire(timeout=2): - return '[{"timeout":1}]' + return {"timeout":1} ret: list[tuple[int, str, int, int, int]] = [] userset = set([(uname or "\n"), "*"]) + n = 1000 try: for ptop, tab2 in self.registry.items(): cfg = self.flags.get(ptop, {}).get("u2abort", 1) @@ -419,7 +421,6 @@ class Up2k(object): or (addr and addr != job["addr"]) ): continue - zt5 = ( int(job["t0"]), djoin(job["vtop"], job["prel"], job["name"]), @@ -428,6 +429,9 @@ class Up2k(object): len(job["hash"]), ) ret.append(zt5) + n -= 1 + if not n: + break finally: self.reg_mutex.release() @@ -444,7 +448,7 @@ class Up2k(object): } for (at, vp, sz, nn, nh) in ret ] - return json.dumps(ret2, separators=(",\n", ": ")) + return {"f": ret2} def get_unfinished(self) -> str: if PY2 or not self.reg_mutex.acquire(timeout=0.5): diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index affcbaa7..239800db 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -12526,29 +12526,19 @@ var unpost = (function () { return ebi('op_unpost').innerHTML = '

' + L.badreply + ':

' + unpre(this.responseText); } - if (ores.u.length == 1 && ores.u[0].timeout) { + if (ores.nou) html.push('

' + L.un_nou + '

'); - ores.u = []; - } - if (ores.c.length == 1 && ores.c[0].kinshi) { + if (ores.noc) html.push('

' + L.un_noc + '

'); - ores.c = []; - } - for (var a = 0; a < ores.u.length; a++) - ores.u[a].k = 'u'; - - for (var a = 0; a < ores.c.length; a++) - ores.c[a].k = 'c'; - - var res = ores.u.concat(ores.c); + var res = ores.f; if (res.length) { - if (res.length == 2000) + if (ores.of) html.push("

" + L.un_max); else - html.push("

" + L.un_avail.format(ores.c.length, ores.u.length)); + html.push("

" + L.un_avail.format(ores.nc, ores.nu)); html.push("
" + L.un_m2 + "

"); html.push(""); @@ -12565,7 +12555,7 @@ var unpost = (function () { '' + L.un_next.format(Math.min(mods[b], res.length - a)) + ''); - var done = res[a].k == 'c'; + var done = res[a].pd === undefined; html.push( '' + '' + From fee1416cbc0a535ad92b0c9eb28ff622dacfb188 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 1 Aug 2025 15:09:10 +0000 Subject: [PATCH 11/14] redundant --- copyparty/web/browser.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/copyparty/web/browser.html b/copyparty/web/browser.html index 05bdacbc..ebf41f8e 100644 --- a/copyparty/web/browser.html +++ b/copyparty/web/browser.html @@ -110,7 +110,7 @@ {%- if f.tags is defined %} {%- for k in taglist %}{%- endfor %} -{%- endif %} +{%- endif %} {%- endfor %} From 7ecedb2ce22a89359aed1353e17826a8f80a8614 Mon Sep 17 00:00:00 2001 From: exci <76759714+icxes@users.noreply.github.com> Date: Fri, 1 Aug 2025 20:46:46 +0300 Subject: [PATCH 12/14] add finnish translation (#381) * reorder translations alphabetically * R comes before S * add initial finnish translation * add splash.js for finnish translation * add ct_utc translation (fin) * fix finnish translation problems pointed out in review --------- Co-authored-by: icxes --- copyparty/web/browser.js | 1728 ++++++++++++++++++++++++++------------ copyparty/web/splash.js | 45 +- 2 files changed, 1219 insertions(+), 554 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 239800db..17fe489a 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1258,7 +1258,6 @@ var Ls = { "lang_set": "passer det å laste siden på nytt?", }, - "chi": { // 以 //m 结尾的行是未经验证的机器翻译 "tt": "中文", @@ -2511,630 +2510,632 @@ var Ls = { "lang_set": "Neuladen um Änderungen anzuwenden?", }, - "spa": { - "tt": "Español", + "fin": { + "tt": "Suomi", "cols": { - "c": "acciones", - "dur": "duración", - "q": "calidad / bitrate", - "Ac": "códec de audio", - "Vc": "códec de vídeo", - "Fmt": "formato / contenedor", - "Ahash": "checksum de audio", - "Vhash": "checksum de vídeo", - "Res": "resolución", - "T": "tipo de archivo", - "aq": "calidad de audio / bitrate", - "vq": "calidad de vídeo / bitrate", - "pixfmt": "submuestreo / estructura de píxel", - "resw": "resolución horizontal", - "resh": "resolución vertical", - "chs": "canales de audio", - "hz": "frecuencia de muestreo" + "c": "toimintopainikkeet", + "dur": "kesto", + "q": "laatu / bittinopeus", + "Ac": "äänikoodekki", + "Vc": "videokoodekki", + "Fmt": "formaatti / säiliö", + "Ahash": "äänen tarkistussumma", + "Vhash": "videon tarkistussumma", + "Res": "resoluutio", + "T": "tiedostotyyppi", + "aq": "äänenlaatu / bittinopeus", + "vq": "kuvalaatu / bittinopeus", + "pixfmt": "alinäytteistys / pikselirakenne", + "resw": "horisontaalinen resoluutio", + "resh": "vertikaalinen resoluutio", + "chs": "äänikanavat", + "hz": "näytteenottotaajuus" }, "hks": [ [ - "varios", - ["ESC", "cerrar varias cosas"], + "misc", + ["ESC", "sulje asioita"], - "gestor de archivos", - ["G", "alternar vista de lista / cuadrícula"], - ["T", "alternar miniaturas / iconos"], - ["⇧ A/D", "tamaño de miniatura"], - ["ctrl-K", "eliminar seleccionados"], - ["ctrl-X", "cortar selección al portapapeles"], - ["ctrl-C", "copiar selección al portapapeles"], - ["ctrl-V", "pegar (mover/copiar) aquí"], - ["Y", "descargar seleccionados"], - ["F2", "renombrar seleccionados"], + "file-manager", + ["G", "vaihda lista/ruudukkonäkymään"], + ["T", "vaihda pienoiskuviin/kuvakkeisiin"], + ["⇧ A/D", "pienoiskuvien koko"], + ["ctrl-K", "poista valitut"], + ["ctrl-X", "siirrä valitut leikepöydälle"], + ["ctrl-C", "kopioi valitut leikepöydälle"], + ["ctrl-V", "siirrä tai kopioi tähän"], + ["Y", "lataa valitut"], + ["F2", "uudelleennimeä valitut"], - "selección en lista de archivos", - ["space", "alternar selección de archivo"], - ["↑/↓", "mover cursor de selección"], - ["ctrl ↑/↓", "mover cursor y vista"], - ["⇧ ↑/↓", "seleccionar anterior/siguiente archivo"], - ["ctrl-A", "seleccionar todos los archivos / carpetas"] + "file-list-sel", + ["space", "vaihda tiedostonvalintatilaan"], + ["↑/↓", "siirrä valintaosoitinta"], + ["ctrl ↑/↓", "siirrä osoitinta ja näkymää"], + ["⇧ ↑/↓", "valitse edellinen/seuraava tiedosto"], + ["ctrl-A", "valitse kaikki tiedostot / kansiot"], ], [ - "navegación", - ["B", "alternar breadcrumbs / panel de navegación"], - ["I/K", "anterior/siguiente carpeta"], - ["M", "carpeta de nivel superior (o contraer actual)"], - ["V", "alternar carpetas / archivos en panel de navegación"], - ["A/D", "tamaño del panel de navegación"] + "navigation", + ["B", "näytä linkkipolku"], + ["I/K", "siirry edelliseen/seuraavaan hakemistoon"], + ["M", "siirry ylähakemistoon/supista nykyinen hakemisto"], + ["V", "näytä kansiot/tekstitiedostot navigointipaneelissa"], + ["A/D", "navigointipaneelin koko"], ], [ - "reproductor de audio", - ["J/L", "anterior/siguiente canción"], - ["U/O", "saltar 10s atrás/adelante"], - ["0..9", "saltar a 0%..90%"], - ["P", "reproducir/pausar (también inicia)"], - ["S", "seleccionar canción en reproducción"], - ["Y", "descargar canción"] + "audio-player", + ["J/L", "edellinen/seuraava kappale"], + ["U/O", "kelaa 10s taaksepäin/eteenpäin"], + ["0..9", "siirry 0%..90%"], + ["P", "toista/pysäytä kappale"], + ["S", "valitse toistossa oleva kappale"], + ["Y", "lataa kappale"], ], [ - "visor de imágenes", - ["J/L, ←/→", "anterior/siguiente imagen"], - ["Home/End", "primera/última imagen"], - ["F", "pantalla completa"], - ["R", "rotar en sentido horario"], - ["⇧ R", "rotar en sentido antihorario"], - ["S", "seleccionar imagen"], - ["Y", "descargar imagen"] + "image-viewer", + ["J/L, ←/→", "edellinen/seuraava kuva"], + ["Home/End", "ensimmäinen/viimeinen kuva"], + ["F", "siirry koko näytön tilaan"], + ["R", "kierrä myötäpäivään"], + ["⇧ R", "kierrä vastapäivään"], + ["S", "valitse kuva"], + ["Y", "lataa kuva"], ], [ - "reproductor de vídeo", - ["U/O", "saltar 10s atrás/adelante"], - ["P/K/Space", "reproducir/pausar"], - ["C", "continuar con el siguiente"], - ["V", "bucle"], - ["M", "silenciar"], - ["[ y ]", "establecer intervalo de bucle"] + "video-player", + ["U/O", "kelaa 10s taaksepäin/eteenpäin"], + ["P/K/Space", "toista/pysäytä video"], + ["C", "jatka toistoa seuraavaan videoon"], + ["V", "toista uudelleen"], + ["M", "vaimenna"], + ["[ ja ]", "aseta videon uudelleentoistoväli"], ], [ - "visor de texto", - ["I/K", "anterior/siguiente archivo"], - ["M", "cerrar archivo"], - ["E", "editar archivo"], - ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] + "textfile-viewer", + ["I/K", "edellinen/seuraava tiedosto"], + ["M", "sulje tekstitiedosto"], + ["E", "muokkaa tekstitiedostoa"], + ["S", "valitse tiedosto (leikkausta/kopiointia/uudelleennimeämistä varten)"], ] ], - "m_ok": "Aceptar", - "m_ng": "Cancelar", + "m_ok": "OK", + "m_ng": "Peruuta", - "enable": "Activar", - "danger": "PELIGRO", - "clipped": "copiado al portapapeles", + "enable": "Aktivoi", + "danger": "HUOMIO!", + "clipped": "kopioitu leikepöydälle", - "ht_s1": "segundo", - "ht_s2": "segundos", - "ht_m1": "minuto", - "ht_m2": "minutos", - "ht_h1": "hora", - "ht_h2": "horas", - "ht_d1": "día", - "ht_d2": "días", - "ht_and": " y ", + "ht_s1": "sekunti", + "ht_s2": "sekuntia", + "ht_m1": "minuutti", + "ht_m2": "minuuttia", + "ht_h1": "tunti", + "ht_h2": "tuntia", + "ht_d1": "päivä", + "ht_d2": "päivää", + "ht_and": " ja ", - "goh": "panel de control", - "gop": 'hermano anterior">anterior', - "gou": 'carpeta de nivel superior">subir', - "gon": 'siguiente carpeta">siguiente', - "logout": "Cerrar sesión ", - "access": " acceso", - "ot_close": "cerrar submenú", - "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", - "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", - "ot_bup": "bup: uploader básico, soporta hasta netscape 4.0", - "ot_mkdir": "mkdir: crear un nuevo directorio", - "ot_md": "new-md: crear un nuevo documento markdown", - "ot_msg": "msg: enviar un mensaje al registro del servidor", - "ot_mp": "opciones del reproductor multimedia", - "ot_cfg": "opciones de configuración", - "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", - "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", - "ot_noie": "Por favor, usa Chrome / Firefox / Edge", + "goh": "ohjauspaneeli", + "gop": 'viereinen hakemisto">edell', + "gou": 'ylempi hakemisto">ylös', + "gon": 'seuraava hakemisto">seur', + "logout": "Kirjaudu ulos ", + "access": " -oikeudet", + "ot_close": "sulje alavalikko", + "ot_search": "etsi tiedostoja ominaisuuksien, tiedostopolun tai -nimen, musiikkitägien tai näiden yhdistelmän perusteella$N$N<code>foo bar</code> = täytyy sisältää sekä «foo» että «bar»,$N<code>foo -bar</code> = täytyy sisältää «foo» mutta ei «bar»,$N<code>^yana .opus$</code> = alkaa «yana» ja on «opus»-tiedosto$N<code>"try unite"</code> = sisältää täsmälleen «try unite»$N$Npäivämäärän muoto on iso-8601, kuten$N<code>2009-12-31</code> tai <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: poista viimeaikaiset tai keskeytä keskeneräiset lataukset", + "ot_bup": "bup: tiedostojen 'perus'lähetysohjelma, tukee jopa netscape 4.0:aa", + "ot_mkdir": "mkdir: luo uusi hakemisto", + "ot_md": "new-md: luo uusi markdown-dokumentti", + "ot_msg": "msg: lähetä viesti palvelinlokiin", + "ot_mp": "mediasoittimen asetukset", + "ot_cfg": "asetukset", + "ot_u2i": 'up2k: lähetä tiedostoja (vaatii write-oikeudet) tai vaihda hakutilaan nähdäksesi, ovatko tiedostot jo olemassa jossain päin palvelinta$N$Nlatauksia voi jatkaa, ne ovat monisäikeistettyjä, ja tiedostojen aikaleimat säilytetään; nuijii prosessoria enemmän kuin [🎈]  (peruslatausohjelma)

tiedostojen lähetyksen aikana tämä kuvake muuttuu kertoo lähetyksen edistymisestilanteen!', + "ot_u2w": 'up2k: lähetä tiedostoja jatkamistoiminnolla (voit sulkea selaimen ja vetää samat tiedostot selainikkunaan myöhemmin)$N$monisäikeistetty, ja tiedostojen aikaleimat säilyvät; nuijii prosessoria enemmän kuin [🎈]  (peruslatausohjelma)

tiedostojen lähetyksen aikana tämä kuvake muuttuu kertoo lähetyksen edistymisestilanteen!', + "ot_noie": 'Suosittelemme käyttämään uudempaa selainta.', - "ab_mkdir": "crear directorio", - "ab_mkdoc": "nuevo documento markdown", - "ab_msg": "enviar msg al registro del servidor", + "ab_mkdir": "luo hakemisto", + "ab_mkdoc": "luo markdown-tiedosto", + "ab_msg": "lähetä viesti palvelinlokiin", - "ay_path": "saltar a carpetas", - "ay_files": "saltar a archivos", + "ay_path": "siirry kansioihin", + "ay_files": "siirry tiedostoihin", - "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", - "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", - "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", - "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", - "wt_pst": "pegar una selección previamente cortada / copiada$NAtajo: ctrl-V", - "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", - "wt_selinv": "invertir selección", - "wt_zip1": "descargar esta carpeta como un archivo comprimido", - "wt_selzip": "descargar selección como archivo comprimido", - "wt_seldl": "descargar selección como archivos separados$NAtajo: Y", - "wt_npirc": "copiar información de pista en formato IRC", - "wt_nptxt": "copiar información de pista en texto plano", - "wt_m3ua": "añadir a lista m3u (haz clic en 📻copiar después)", - "wt_m3uc": "copiar lista m3u al portapapeles", - "wt_grid": "alternar vista de cuadrícula / lista$NAtajo: G", - "wt_prev": "pista anterior$NAtajo: J", - "wt_play": "reproducir / pausar$NAtajo: P", - "wt_next": "siguiente pista$NAtajo: L", + "wt_ren": "uudelleennimeä valitut kohteet$NPikanäppäin: F2", + "wt_del": "poista valitut kohteet$NPikanäppäin: ctrl-K", + "wt_cut": "siirrä valitut kohteet leikepöydälle <small>(siirtääksesi ne muualle)</small>$NPikanäppäin: ctrl-X", + "wt_cpy": "kopioi valitut kohteet leikepöydälle$N(liittääksesi ne muualle)$NPikanäppäin: ctrl-C", + "wt_pst": "liitä aiemmin leikatut / kopioidut valinnat$NPikanäppäin: ctrl-V", + "wt_selall": "valitse kaikki tiedostot$NPikanäppäin: ctrl-A (kun tiedosto on kohdistettu)", + "wt_selinv": "valitse vastakkaiset tiedostot", + "wt_zip1": "lataa tämä kansio pakattuna", + "wt_selzip": "lataa valitut kohteet pakattuna", + "wt_seldl": "lataa valitut kohteet paketoimatta$NPikanäppäin: Y", + "wt_npirc": "kopioi kappaletiedot IRC-muotoilulla", + "wt_nptxt": "kopioi kappaletiedot ilman muotoilua", + "wt_m3ua": "lisää m3u-soittolistaan (klikkaa 📻kopioi myöhemmin)", + "wt_m3uc": "kopioi m3u-soittolista leikepöydälle", + "wt_grid": "vaihda ruudukko- ja listanäkymän välillä$NPikanäppäin: G", + "wt_prev": "edellinen kappale$NPikanäppäin: J", + "wt_play": "toista / pysäytä$NPikanäppäin: P", + "wt_next": "seuraava kappale$NPikanäppäin: L", - "ul_par": "subidas paralelas:", - "ut_rand": "aleatorizar nombres de archivo", - "ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅', - "ut_ow": "sobrescribir archivos existentes en el servidor?$N🛡️: nunca (generará un nuevo nombre de archivo en su lugar)$N🕒: sobrescribir si el archivo del servidor es más antiguo que el tuyo$N♻️: siempre sobrescribir si los archivos son diferentes", - "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizás desactivar si tu CPU o HDD es un cuello de botella", - "ut_ask": 'pedir confirmación antes de iniciar la subida">💭', - "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", - "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escaneará todas las carpetas que puedas leer)", - "ut_par": "pausar subidas poniéndolo a 0$N$Naumentar si tu conexión es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", - "ul_btn": "arrastra archivos / carpetas
aquí (o haz clic)", - "ul_btnu": "S U B I R", - "ul_btns": "B U S C A R", + "ul_par": "rinnakkaisten latausten lkm:", + "ut_rand": "satunnaisgeneroidut tiedostonimet", + "ut_u2ts": "kopioi viimeksi muokattu aikaleima$Ntiedostojärjestelmästäsi palvelimelle\">📅", + "ut_ow": "korvaa olemassa olevat tiedostot palvelimella?$N🛡️: ei koskaan (luo sen sijaan uuden tiedostonimen)$N🕒: korvaa jos palvelintiedosto on vanhempi kuin omasi$N♻️: korvaa aina jos tiedostot ovat erilaisia", + "ut_mt": "jatka muiden tiedostojen tiivisteiden laskemista latauksen aikana$N$kannattanee poistaa käytöstä, mikäli prosessori tai kovalevy on vanhempaa mallia", + "ut_ask": 'kysy vahvistusta ennen latauksen aloittamista">💭', + "ut_pot": "paranna latausnopeutta hitailla laitteilla$Ntekemällä käyttöliittymäästä vähemmän monimutkaisen", + "ut_srch": "lataamisen sijaan tarkista, ovatko tiedostot jo $N olemassa palvelimella (käy läpi kaikki hakemistot, joihin sinulla on read-oikeudet)", + "ut_par": "keskeytä lataukset asettamalla se 0:aan$N$Nnosta, jos yhteytesi on hidas tai viive on suuri$N$Npidä se 1:ssä lähiverkossa tai jos palvelimen kovalevy on pullonkaula", + "ul_btn": "vedä tiedostoja / kansioita
tähän (tai napsauta tätä)", + "ul_btnu": "L A T A A", + "ul_btns": "E T S I", - "ul_hash": "hash", - "ul_send": "envio", - "ul_done": "hecho", - "ul_idle1": "aún no hay subidas en cola", - "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", - "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", - "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", + "ul_hash": "tiiviste", + "ul_send": "lähetä", + "ul_done": "valmis", + "ul_idle1": "ei latauksia jonossa", + "ut_etah": "keskimääräinen <em>tiivisteiden lasku</em>nopeus ja arvioitu aika valmistumiseen", + "ut_etau": "keskimääräinen <em>lataus</em>nopeus ja arvioitu aika valmistumiseen", + "ut_etat": "keskimääräinen <em>kokonais</em>nopeus ja arvioitu aika valmistumiseen", - "uct_ok": "completado con éxito", - "uct_ng": "fallido: error / rechazado / no encontrado", - "uct_done": "éxitos y fallos combinados", - "uct_bz": "generando hash o subiendo", - "uct_q": "inactivo, pendiente", + "uct_ok": "onnistui", + "uct_ng": "ei-hyvä: epäonnistui / hylätty / ei löydy", + "uct_done": "ok ja ng yhdistettynä", + "uct_bz": "laskee tiivisteitä tai lataa", + "uct_q": "tyhjäkäynnillä, odottaa", - "utl_name": "nombre de archivo", + "utl_name": "tiedostonimi", "utl_ulist": "lista", - "utl_ucopy": "copiar", - "utl_links": "enlaces", - "utl_stat": "estado", - "utl_prog": "progreso", + "utl_ucopy": "kopioi", + "utl_links": "linkit", + "utl_stat": "tila", + "utl_prog": "edistyminen", + // keep short: "utl_404": "404", - "utl_err": "ERROR", - "utl_oserr": "Error-SO", - "utl_found": "encontrado", - "utl_defer": "posponer", + "utl_err": "VIRHE", + "utl_oserr": "Käyttöjärjestelmävirhe", + "utl_found": "löytyi", + "utl_defer": "lykkää", "utl_yolo": "YOLO", - "utl_done": "hecho", + "utl_done": "valmis", - "ul_flagblk": "los archivos se añadieron a la cola
sin embargo, hay un up2k ocupado en otra pestaña del navegador,
esperando a que termine primero", - "ul_btnlk": "la configuración del servidor ha bloqueado esta opción en este estado", + "ul_flagblk": "tiedostot lisättiin jonoon
mutta toisen selainvälilehden up2k on kiireinen,
joten odotetaan sen valmistumista ensin", + "ul_btnlk": "palvelinkonfiguraatio on lukinnut tämän kytkimen tähän tilaan", - "udt_up": "Subir", - "udt_srch": "Buscar", - "udt_drop": "suéltalo aquí", + "udt_up": "Lataa", + "udt_srch": "Etsi", + "udt_drop": "pudota se tähän", - "u_nav_m": "
vale, ¿qué tienes?
Intro = Archivos (uno o más)\nESC = Una carpeta (incluyendo subcarpetas)", - "u_nav_b": "ArchivosUna carpeta", + "u_nav_m": '
selvä, mitäs sulla on?
Enter = Tiedostoja (yksi tai useampi)\nESC = Yksi kansio (mukaan lukien alikansiot)', + "u_nav_b": 'TiedostojaYksi kansio', - "cl_opts": "opciones", - "cl_themes": "tema", - "cl_langs": "idioma", - "cl_ziptype": "descarga de carpeta", - "cl_uopts": "opciones up2k", + "cl_opts": "kytkimet", + "cl_themes": "teema", + "cl_langs": "kieli", + "cl_ziptype": "kansion lataus", + "cl_uopts": "up2k-kytkimet", "cl_favico": "favicon", - "cl_bigdir": "directorios grandes", - "cl_hsort": "#ordenar", - "cl_keytype": "notación musical", - "cl_hiddenc": "columnas ocultas", - "cl_hidec": "ocultar", - "cl_reset": "restablecer", - "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", - "cl_hcancel": "ocultación de columna cancelada", + "cl_bigdir": "suuret hakemistot", + "cl_hsort": "#lajittelu", + "cl_keytype": "sävellajin notaatio", + "cl_hiddenc": "piilotetut sarakkeet", + "cl_hidec": "piilota", + "cl_reset": "palauta", + "cl_hpick": "napauta sarakeotsikoita piilottaaksesi alla olevassa taulukossa", + "cl_hcancel": "sarakkeiden piilotus peruttu", - "ct_grid": '田 cuadrícula', - "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', - "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', - "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', - "ct_ihop": 'al cerrar el visor de imágenes, desplazarse hasta el último archivo visto">g⮯', - "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', - "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', - "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', - "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', - "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', - "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', - "ct_sbars": 'mostrar barra lateral">⟊', + "ct_grid": '田 RUUDUKKO', + "ct_ttips": '◔ ◡ ◔">ℹ️ ammattilaisvinkit', + "ct_thumb": 'RUUDUKKOnäkymässä, vaihda kuvakkeihin tai pienoiskuviin$NPikanäppäin: T">🖼️ pienoiskuvat', + "ct_csel": 'käytä CTRL ja SHIFT tiedostojen valintaan RUUDUKKOnäkymässä">val', + "ct_ihop": 'kun kuvakatselin suljetaan, vieritä alas viimeksi katsottuun tiedostoon">g⮯', + "ct_dots": 'näytä piilotetut tiedostot (jos palvelin sallii)">piilotiedostot', + "ct_qdel": 'tiedostoja poistaessa, kysy vahvistusta vain kerran">qdel', + "ct_dir1st": 'lajittele hakemistot ennen tiedostoja">📁 ensin', + "ct_nsort": 'luonnollinen lajittelu (tiedostonimille jotka ovat numeroalkuisia)">nsort', + "ct_utc": 'näytä kaikki aikaleimat UTC-ajassa">UTC', + "ct_readme": 'näytä README.md hakemistolistauksissa">📜 readme', + "ct_idxh": 'näytä index.html hakemistolistan sijasta">htm', + "ct_sbars": 'näytä vierityspalkit">⟊', - "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de última modificación del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminación)">re📅', + "cut_umod": "jos tiedosto on jo olemassa palvelimella, päivitä palvelimen viimeksi muokattu aikaleima vastaamaan paikallista tiedostoasi (vaatii write- ja delete-oikeudet)\">re📅", - "cut_turbo": 'el botón yolo, probablemente NO quieras activarlo:$N$Núsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razón, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobación de hash por un simple "¿tiene este el mismo tamaño de archivo en el servidor?" así que si el contenido del archivo es diferente, NO se subirá$N$Ndeberías desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', + "cut_turbo": "yolo-painike, ET todennäköisesti halua ottaa tätä käyttöön:$N$Nkäytä tätä jos latasit valtavan määrän tiedostoja ja jouduit käynnistämään uudelleen jostain syystä, ja haluat jatkaa latausta ASAP$N$Ntämä korvaa tiivistetarkistuksen yksinkertaisella "onko tällä sama tiedostokoko palvelimella?" joten jos tiedoston sisältö on erilainen sitä EI ladata$N$Nsinun pitäisi poistaa tämä käytöstä kun lataus on valmis, ja sitten "ladata" samat tiedostot uudelleen antaaksesi asiakkaan varmistaa ne\">turbo", - "cut_datechk": 'no tiene efecto a menos que el botón turbo esté activado$N$Nreduce el factor yolo en una pequeña cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteóricamente debería detectar la mayoría de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificación con el turbo desactivado después">verif. fecha', + "cut_datechk": "ei vaikutusta ellei turbo-painike ole käytössä$N$Nvähentää yolo-tekijää hieman; tarkistaa vastaavatko tiedostojen aikaleimat palvelimella omia$N$Npitäisi teoriassa napata useimmat keskeneräiset / vioittuneet lataukset, mutta ei ole korvike varmistuskierrokselle turbo poistettuna käytöstä jälkeenpäin\">päiväys-tark", - "cut_u2sz": "tamaño (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a través del atlántico. Prueba valores bajos en conexiones muy poco fiables", + "cut_u2sz": "kunkin lähetyspalan koko (MiB:ssä); suuret arvot lentävät paremmin atlantin yli. kokeile pieniä arvoja erittäin heikoilla yhteyksillä", - "cut_flag": "asegura que solo una pestaña esté subiendo a la vez $N -- otras pestañas también deben tener esto activado $N -- solo afecta a pestañas en el mismo dominio", + "cut_flag": "varmista että vain yksi välilehti lataa kerrallaan $N -- muissa välilehdissä täytyy olla tämä käytössä myös $N -- vaikuttaa vain saman verkkotunnuksen välilehtiin", - "cut_az": "subir archivos en orden alfabético, en lugar de los más pequeños primero$N$Nel orden alfabético puede facilitar la detección visual de si algo salió mal en el servidor, pero hace la subida ligeramente más lenta en fibra / LAN", + "cut_az": "lähetä tiedostot aakkosjärjestyksessä, eikä pienin-tiedosto-ensiksi$N$Naakkosjärjestys voi tehdä helpommaksi silmäillä jos jokin meni vikaan palvelimella, mutta se tekee latauksesta hieman hitaamman kuitu- ja lähiverkossa", - "cut_nag": "notificación del SO cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", - "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + "cut_nag": "käyttöjärjestelmäilmoitus kun lataus valmistuu$N(vain jos selain tai välilehti ei ole aktiivinen)", + "cut_sfx": "äänivaroitus kun lataus valmistuu$N(vain jos selain tai välilehti ei ole aktiivinen)", - "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmás RAM (hasta 512 MiB extra)$N$Nhace https un 30% más rápido, http 4.5x más rápido">mt', + "cut_mt": "monisäikeistä tiedostojen tiivistysarvojen laskeminen$N$Ntämä käyttää web-workereitä ja vaatii$Nenemmän RAM-muistia (jopa 512 MiB ekstraa)$N$Ntekee https:n 30% nopeammaksi, http:n 4.5x nopeammaksi\">mt", - "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto está activado">wasm', + "cut_wasm": "käytä wasm:ia selaimen sisäänrakennetun tiivistäjän sijaan; parantaa nopeutta chrome-pohjaisissa selaimissa mutta lisää prosessorikuormaa, ja monissa vanhemmissa chrome-versioissa on bugeja jotka saavat selaimen kuluttamaan kaiken RAM-muistin ja kaatumaan jos tämä on käytössä\">wasm", - "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", - "cft_fg": "color de primer plano", - "cft_bg": "color de fondo", + "cft_text": "favicon-teksti (tyhjennä ja päivitä poistaaksesi käytöstä)", + "cft_fg": "edustaväri", + "cft_bg": "taustaväri", - "cdt_lim": "número máximo de archivos a mostrar en una carpeta", - "cdt_ask": "al llegar al final,$Nen lugar de cargar más archivos,$Npreguntar qué hacer", - "cdt_hsort": "cuántas reglas de ordenación (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 también ignorará las reglas de ordenación incluidas en los enlaces de medios al hacer clic en ellos", + "cdt_lim": "tiedostojen enimmäismäärä näytettäväksi kansiossa", + "cdt_ask": "sivun lopussa,$Nsen sijaan että lataa automaattisesti lisää tiedostoja,$Nkysy mitä tehdä", + "cdt_hsort": "kuinka monta lajittelusääntöä (<code>,sorthref</code>) sisällyttää media-URL:eihin. Tämän asettaminen nollaan jättää myös huomioimatta media-linkeissä sisällytetyt lajittelusäännöt kun napsautat niitä", - "tt_entree": "mostrar panel de navegación (barra lateral con árbol de directorios)$NAtajo: B", - "tt_detree": "mostrar breadcrumbs$NAtajo: B", - "tt_visdir": "desplazarse a la carpeta seleccionada", - "tt_ftree": "alternar árbol de carpetas / archivos de texto$NAtajo: V", - "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", - "tt_dynt": "crecimiento automático a medida que el árbol se expande", - "tt_wrap": "ajuste de línea", - "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", + "tt_entree": "näytä navigointipaneeli$NPikanäppäin: B", + "tt_detree": "näytä linkkipolku$NPikanäppäin: B", + "tt_visdir": "näytä valittu kansio", + "tt_ftree": "vaihda linkkipolku- / tekstitiedostonäkymään$NPikanäppäin: V", + "tt_pdock": "näytä yläkansiot telakoitussa paneelissa ylhäällä", + "tt_dynt": "kasvata automaattisesti hakemistosyvyyden kasvaessa", + "tt_wrap": "rivitys", + "tt_hover": "paljasta ylivuotavat rivit leijutettaessa$N( rikkoo vierityksen ellei hiiri $N  ole vasemmassa marginaalissa )", - "ml_pmode": "al final de la carpeta...", - "ml_btns": "acciones", - "ml_tcode": "transcodificar", - "ml_tcode2": "transcodificar a", - "ml_tint": "tinte", - "ml_eq": "ecualizador de audio", - "ml_drc": "compresor de rango dinámico", + "ml_pmode": "kansion lopussa...", + "ml_btns": "komennot", + "ml_tcode": "transkoodaa", + "ml_tcode2": "transkoodaa muotoon", + "ml_tint": "sävy", + "ml_eq": "taajuuskorjain", + "ml_drc": "dynaaminen alueen kompressori", - "mt_loop": 'poner en bucle/repetir una canción">🔁', - "mt_one": 'parar después de una canción">1️⃣', - "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', - "mt_aplay": 'reproducir automaticamente si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', - "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', - "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', - "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', - "mt_fau": 'en teléfonos, evitar que la música se detenga si la siguiente canción no se precarga lo suficientemente rápido (puede causar fallos en la visualización de etiquetas)">☕️', - "mt_waves": 'barra de búsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', - "mt_npclip": 'mostrar botones para copiar al portapapeles la canción actual">/np', - "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">📻', - "mt_octl": 'integración con SO (teclas multimedia / OSD)">ctl-so', - "mt_oseek": 'permitir buscar a través de la integración con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botón de siguiente canción">búsqueda', - "mt_oscv": 'mostrar carátula del álbum en OSD">arte', - "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', - "mt_compact": 'controles compactos">⟎', - "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', - "mt_mloop": 'repetir la carpeta actual">🔁 bucle', - "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', - "mt_mstop": 'detener reproducción">⏸ parar', - "mt_cflac": 'convertir flac / wav a opus">flac', - "mt_caac": 'convertir aac / m4a a opus">aac', - "mt_coth": 'convertir todos los demás (no mp3) a opus">oth', - "mt_c2opus": 'la mejor opción para ordenadores, portátiles, android">opus', - "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', - "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', - "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', - "mt_c2ok": "bien, buena elección", - "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero está bien", - "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentémoslo de todas formas", - "mt_xowa": "hay errores en iOS que impiden la reproducción en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", - "mt_tint": "nivel de fondo (0-100) en la barra de búsqueda$Npara hacer el buffering menos molesto", - "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estándar 100% (sin modificar)$N$Nancho <code>1  </code> = estéreo estándar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminación de voz :^)$N$Nactivar el ecualizador hace que los álbumes sin pausas sean completamente sin pausas, así que déjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", - "mt_drc": "activa el compresor de rango dinámico (aplanador de volumen / brickwaller); también activará el EQ para equilibrar el espagueti, así que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, así que los valores por defecto de umbral -24 y ratio 12 significan que nunca debería sonar más fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es máx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", + "mt_loop": "toista samaa kappaletta\">🔁", + "mt_one": "lopeta yhden kappaleen jälkeen\">1️⃣", + "mt_shuf": "satunnaistoisto\">🔀", + "mt_aplay": "automaattitoisto jos linkissä jolla pääsit palvelimelle oli kappale-ID$N$Ntämän poistaminen käytöstä pysäyttää myös sivun URL:n päivittämisen kappale-ID:lla musiikkia toistettaessa, estääksesi automaattitoiston jos nämä asetukset menetetään mutta URL säilyy\">a▶", + "mt_preload": "aloita seuraavan kappaleen lataaminen lähellä loppua, mahdollistaen saumattoman toiston\">esilataus", + "mt_prescan": "siirry seuraavaan kansioon ennen viimeisen kappaleen$Nloppumista, pitäen verkkoselaimen tyytyväisenä$Njotta se ei pysäytä toistoa\">nav", + "mt_fullpre": "yritä esiladata koko kappale;$N✅ ota käyttöön heikoilla yhteyksillä,$N❌ poista käytöstä hitailla yhteyksillä\">täysi", + "mt_fau": "puhelimissa: estä musiikin pysähtyminen jos seuraava kappale ei esilataudu tarpeeksi nopeasti (voi aiheuttaa ongelmia kappaletietojen näyttämisessä)\">☕️", + "mt_waves": "aaltomuoto-hakupalkki:$Nnäytä äänenvahvuus selaimessa\">~s", + "mt_npclip": "näytä painikkeet parhaillaan soivan kappaleen leikepöydälle kopioimiseen\">/np", + "mt_m3u_c": "näytä painikkeet valittujen$Nkappaleiden kopioimiseen m3u8-soittolistana leikepöydälle\">📻", + "mt_octl": "käyttöjärjestelmäintegraatio (medianäppäimet / osd)\">os-ctl", + "mt_oseek": "salli haku käyttöjärjestelmäintegraation kautta$N$Nhuom: joissakin laitteissa (iPhonet),$Ntämä korvaa seuraava-kappale-painikkeen\">kelaus", + "mt_oscv": "näytä albumin kansi osd:ssä\">taide", + "mt_follow": "pidä soiva kappale näkyvissä\">🎯", + "mt_compact": "kompaktit säätimet\">⟎", + "mt_uncache": "tyhjennä välimuisti  (kokeile tätä jos selaimesi välimuistissa on$Nrikkinäinen kopio kappaleesta)\">uncache", + "mt_mloop": "toista avoinna olevaa hakemistoa loputtomasti\">🔁 silmukka", + "mt_mnext": "lataa seuraava kansio ja jatka\">📂 seuraava", + "mt_mstop": "pysäytä toisto\">⏸ pysäytä", + "mt_cflac": "muunna flac / wav opus-muotoon\">flac", + "mt_caac": "muunna aac / m4a opus-muotoon\">aac", + "mt_coth": "muunna kaikki muut paitsi mp3 opus-muotoon\">muut", + "mt_c2opus": "paras valinta pöytäkoneille, kannettaville, androidille\">opus", + "mt_c2owa": "opus-weba, iOS 17.5:lle ja uudemmille\">owa", + "mt_c2caf": "opus-caf, iOS 11:lle - 17:lle\">caf", + "mt_c2mp3": "käytä tätä erittäin vanhoissa laitteissa\">mp3", + "mt_c2ok": "hienoa, hyvä valinta", + "mt_c2nd": "tuo ei ole suositeltu formaatti laitteellesi, mutta tee miten lystäät", + "mt_c2ng": "laitteesi ei näytä tukevan tätä formaattia, mutta yritetään nyt silti", + "mt_xowa": "iOS:ssä on bugeja jotka estävät taustatoiston tällä formaatilla; käytä caf:ia tai mp3:a sen sijaan", + "mt_tint": "taustan taso (0-100) liukupalkissa$Ntehden puskuroinnista vähemmän häiritsevän", + "mt_eq": "aktivoi taajuuskorjaimen ja vahvistussäätimen;$N$Nvahvistus <code>0</code> = normaali 100% äänenvoimakkuus (muokkaamaton)$N$Nleveys <code>1  </code> = normaali stereo (muokkaamaton)$Nleveys <code>0.5</code> = 50% vasen-oikea ristisyöttö$Nleveys <code>0  </code> = mono$N$Nvahvistus <code>-0.8</code> & leveys <code>10</code> = laulun poisto :^)$N$Nequalizerin käyttöönotto tekee saumattomista albumeista täysin saumattomia, joten jätä se päälle kaikilla arvoilla nollassa (paitsi leveys = 1) jos välität siitä", + "mt_drc": "aktivoi dynaamisen alueen kompressorin (äänenvoimakkuuden tasoittaja / tiiliseinättäjä); ottaa myös käyttöön EQ:n tasapainottamaan spagettia, joten aseta kaikki EQ-kentät paitsi 'leveys' 0:aan jos et halua sitä$N$Nalentaa äänenvoimakkuutta KYNNYS dB:n yläpuolella; jokaisesta SUHDE dB:stä KYNNYKSEN yli tulee 1 dB ulos, joten oletusarvot kynnys -24 ja suhde 12 tarkoittaa ettei sen pitäisi koskaan tulla kovempaa kuin -22 dB ja on turvallista nostaa equalizerin vahvistus 0.8:aan, tai jopa 1.8:aan ATK 0:lla ja valtavalla RLS:llä kuten 90 (toimii vain firefoxissa; RLS on max 1 muissa selaimissa)$N$N(katso wikipedia, he selittävät sen paljon paremmin)", - "mb_play": "reproducir", - "mm_hashplay": "¿reproducir este archivo de audio?", - "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", - "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", - "mm_bload": "cargando...", - "mm_bconv": "convirtiendo a {0}, por favor espera...", - "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificación a opus", - "mm_playerr": "fallo de reproducción: ", - "mm_eabrt": "El intento de reproducción fue cancelado", - "mm_enet": "Tu conexión a internet es inestable", - "mm_edec": "¿Este archivo está supuestamente corrupto?", - "mm_esupp": "Tu navegador no entiende este formato de audio", - "mm_eunk": "Error desconocido", - "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", - "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizás se cerró tu sesión", - "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", - "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", - "mm_nof": "no se encuentran más archivos de audio cerca", - "mm_prescan": "Buscando música para reproducir a continuación...", - "mm_scank": "Encontrada la siguiente canción:", - "mm_uncache": "caché limpiada; todas las canciones se volverán a descargar en la próxima reproducción", - "mm_hnf": "esa canción ya no existe", + "mb_play": "toista", + "mm_hashplay": "soita tämä äänitiedosto?", + "mm_m3u": "paina Enter/OK Toistaaksesi\npaina ESC/Peruuta Muokataksesi", + "mp_breq": "tarvitset firefox 82+ tai chrome 73+ tai iOS 15+", + "mm_bload": "ladataan...", + "mm_bconv": "muunnetaan muotoon {0}, odota...", + "mm_opusen": "selaimesi ei voi toistaa aac / m4a -tiedostoja;\ntranskoodaus opukseen on nyt käytössä", + "mm_playerr": "toisto epäonnistui: ", + "mm_eabrt": "Toistoyritys peruttiin", + "mm_enet": "Internet-yhteytesi on epävakaa", + "mm_edec": "Tämä tiedosto on väitetysti vioittunut??", + "mm_esupp": "Selaimesi ei ymmärrä tätä äänimuotoa", + "mm_eunk": "Tuntematon virhe", + "mm_e404": "Kappaletta ei voitu toistaa; virhe 404: Tiedostoa ei löydy.", + "mm_e403": "Kappaletta ei voitu toistaa; virhe 403: Pääsy kielletty.\n\nKokeile painaa F5 päivittääksesi, ehkä kirjauduit ulos", + "mm_e500": "Kappaletta ei voitu toistaa; virhe 500: Tarkista palvelinlokit.", + "mm_e5xx": "Kappaletta ei voitu toistaa; palvelinvirhe ", + "mm_nof": "ei löydy enempää äänitiedostoja lähistöltä", + "mm_prescan": "Etsitään musiikkia toistettavaksi seuraavaksi...", + "mm_scank": "Löytyi seuraava kappale:", + "mm_uncache": "välimuisti tyhjennetty; kaikki kappaleet ladataan uudelleen seuraavalla toistolla", + "mm_hnf": "tuota kappaletta ei enää ole olemassa", - "im_hnf": "esa imagen ya no existe", +" im_hnf": "tuota kuvaa ei enää ole olemassa", - "f_empty": "esta carpeta está vacía", - "f_chide": "esto ocultará la columna «{0}»\n\npuedes volver a mostrar las columnas en la pestaña de configuración", - "f_bigtxt": "este archivo pesa {0} MiB -- ¿realmente verlo como texto?", - "f_bigtxt2": "¿ver solo el final del archivo en su lugar? esto también activará el seguimiento, mostrando las líneas de texto recién añadidas en tiempo real", - "fbd_more": '
mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
', - "fbd_all": '
mostrando {0} de {1} archivos; mostrar todos
', - "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplázate hasta el final", + "f_empty": 'tämä kansio on tyhjä', + "f_chide": 'tämä piilottaa sarakkeen «{0}»\n\nvoit palauttaa sarakkeet asetuksista', + "f_bigtxt": "tämä tiedosto on {0} Mt kokoinen -- näytetäänkö silti tekstinä?", + "f_bigtxt2": "näytetäänkö vain tiedoston loppu? tämä myös mahdollistaa seuraamisen/tailing, näyttäen uudet tekstirivit reaaliaikaisesti", + "fbd_more": '
näytetään {0} / {1} tiedostoa; näytä {2} tai näytä kaikki
', + "fbd_all": '
näytetään {0} / {1} tiedostoa; näytä kaikki
', + "f_anota": "vain {0} / {1} kohdetta valittiin;\nvalitaksesi koko kansion, vieritä ensin loppuun", - "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", + "f_dls": 'nykyisen kansion tiedostolinkit on\nvaihdettu latauslinkeiksi', - "f_partial": "Para descargar de forma segura un archivo que se está subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensión .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorará esta advertencia y continuará descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te dará datos corruptos.", + "f_partial": "Ladataksesi turvallisesti tiedoston joka on parhaillaan latautumassa, klikkaa tiedostoa jolla on sama nimi mutta ilman .PARTIAL päätettä. Paina PERUUTA tai Escape tehdäksesi tämän.\n\nOK / Enter painaminen sivuuttaa tämän varoituksen ja jatkaa .PARTIAL väliaikaistiedoston lataamista, mikä todennäköisesti antaa sinulle vioittunutta dataa.", - "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", - "fr_eperm": "no se puede renombrar:\nno tienes permiso de “mover” en esta carpeta", - "fd_eperm": "no se puede eliminar:\nno tienes permiso de “eliminar” en esta carpeta", - "fc_eperm": "no se puede cortar:\nno tienes permiso de “mover” en esta carpeta", - "fp_eperm": "no se puede pegar:\nno tienes permiso de “escribir” en esta carpeta", - "fr_emore": "selecciona al menos un elemento para renombrar", - "fd_emore": "selecciona al menos un elemento para eliminar", - "fc_emore": "selecciona al menos un elemento para cortar", - "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", + "ft_paste": "liitä {0} kohdetta$NPikanäppäin: ctrl-V", + "fr_eperm": 'ei voida nimetä uudelleen:\nsinulla ei ole "move"-oikeutta tässä kansiossa', + "fd_eperm": 'ei voida poistaa:\nsinulla ei ole "delete" oikeutta tässä kansiossa', + "fc_eperm": 'ei voida leikata:\nsinulla ei ole "move" oikeutta tässä kansiossa', + "fp_eperm": 'ei voida liittää:\nsinulla ei ole "write" oikeutta tässä kansiossa', + "fr_emore": "valitse vähintään yksi kohde uudelleennimettäväksi", + "fd_emore": "valitse vähintään yksi kohde poistettavaksi", + "fc_emore": "valitse vähintään yksi kohde leikattavaksi", + "fcp_emore": "valitse vähintään yksi kohde kopioitavaksi leikepöydälle", - "fs_sc": "compartir la carpeta en la que estás", - "fs_ss": "compartir los archivos seleccionados", - "fs_just1d": "no puedes seleccionar más de una carpeta,\no mezclar archivos y carpetas en una selección", - "fs_abrt": "❌ abortar", - "fs_rand": "🎲 nombre aleatorio", - "fs_go": "✅ crear enlace", - "fs_name": "nombre", - "fs_src": "origen", - "fs_pwd": "contraseña", - "fs_exp": "caducidad", - "fs_tmin": "minutos", - "fs_thrs": "horas", - "fs_tdays": "días", - "fs_never": "eterno", - "fs_pname": "nombre opcional del enlace; será aleatorio si se deja en blanco", - "fs_tsrc": "el archivo o carpeta a compartir", - "fs_ppwd": "contraseña opcional", - "fs_w8": "creando enlace...", - "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", + "fs_sc": "jaa kansio jossa olet", + "fs_ss": "jaa valitut tiedostot", + "fs_just1d": "et voi valita useampaa kuin yhtä kansiota,\ntai sekoittaa tiedostoja ja kansioita yhdessä valinnassa", + "fs_abrt": "❌ keskeytä", + "fs_rand": "🎲 joku.nimi", + "fs_go": "✅ luo share", + "fs_name": "nimi", + "fs_src": "lähde", + "fs_pwd": "salasana", + "fs_exp": "vanheneminen", + "fs_tmin": "min", + "fs_thrs": "tuntia", + "fs_tdays": "päivää", + "fs_never": "ikuinen", + "fs_pname": "valinnainen linkin nimi; on satunnainen jos tyhjä", + "fs_tsrc": "jaettava tiedosto tai kansio", + "fs_ppwd": "valinnainen salasana", + "fs_w8": "luodaan sharea...", + "fs_ok": "paina Enter/OK lisätäksesi leikepöydälle\npaina ESC/Cancel sulkeaksesi", - "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", - "frt_rst": "restaurar los nombres de archivo modificados a los originales\">↺ restablecer", - "frt_abrt": "abortar y cerrar esta ventana\">❌ cancelar", - "frb_apply": "APLICAR RENOMBRADO", - "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", - "fr_case": "regex sensible a mayúsculas\">mayús", - "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", - "fr_slash": "reemplaza / con un carácter que no cree nuevas carpetas\">sin /", - "fr_re": "patrón de búsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y así sucesivamente", - "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el título de la canción,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista está en blanco$N<code>$lpad((tn),2,0)</code> rellena el número de pista a 2 dígitos", - "fr_pdel": "eliminar", - "fr_pnew": "guardar como", - "fr_pname": "proporciona un nombre para tu nuevo preajuste", - "fr_aborted": "abortado", - "fr_lold": "nombre antiguo", - "fr_lnew": "nombre nuevo", - "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", - "fr_busy": "renombrando {0} elementos...\n\n{1}", - "fr_efail": "fallo al renombrar:\n", - "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\n¿Aceptar para continuar con estos nuevos nombres alterados?", + "frt_dec": "saattaa korjata joitakin rikkinäisiä tiedostonimiä\">url-decode", + "frt_rst": "palauta muokatut tiedostonimet takaisin alkuperäisiksi\">↺ palauta", + "frt_abrt": "keskeytä ja sulje tämä ikkuna\">❌ peruuta", + "frb_apply": "UUDELLEENNIMEÄ", + "fr_adv": "erä / liitännäistiedot / kaava uudelleennimeäminen\">lisäasetukset", + "fr_case": "isot ja pienet kirjaimet erottava regex\">kirjainkoko", + "fr_win": "windows-yhteensopivat nimet; korvaa <>:"\\|?* japanilaisilla leveillä merkeillä\">win", + "fr_slash": "korvaa / merkillä joka ei aiheuta uusien kansioiden luomista\">ei /", + "fr_re": "regex hakukuvio jota käytetään alkuperäisiin tiedostonimiin; kaappausryhmiin voi viitata alla olevassa muotoilukentässä kuten <code>(1)</code> ja <code>(2)</code> ja niin edelleen", + "fr_fmt": "foobar2000 innoittama:$N<code>(title)</code> korvataan kappaleen nimellä,$N<code>[(artist) - ](title)</code> sivuuttaa [tämän] osan jos artisti on tyhjä$N<code>$lpad((tn),2,0)</code> ", + "fr_pdel": "poista", + "fr_pnew": "tallenna nimellä", + "fr_pname": "anna nimi uudelle esiasetuksellesi", + "fr_aborted": "keskeytetty", + "fr_lold": "vanha nimi", + "fr_lnew": "uusi nimi", + "fr_tags": "valittujen tiedostojen tagit (vain luku, viitetarkoituksiin):", + "fr_busy": "nimetään uudelleen {0} kohdetta...\n\n{1}", + "fr_efail": "uudelleennimeäminen epäonnistui:\n", + "fr_nchg": "{0} uusista nimistä muutettiin win ja/tai ei / vuoksi\n\nJatketaanko näillä muutetuilla uusilla nimillä?", - "fd_ok": "eliminación correcta", - "fd_err": "fallo al eliminar:\n", - "fd_none": "no se eliminó nada; quizás bloqueado por la configuración del servidor (xbd)?", - "fd_busy": "eliminando {0} elementos...\n\n{1}", - "fd_warn1": "¿ELIMINAR estos {0} elementos?", - "fd_warn2": "¡Última oportunidad! No se puede deshacer. ¿Eliminar?", + "fd_ok": "poisto OK", + "fd_err": "poisto epäonnistui:\n", + "fd_none": "mitään ei poistettu; ehkä palvelimen asetukset estivät (xbd)?", + "fd_busy": "poistetaan {0} kohdetta...\n\n{1}", + "fd_warn1": "POISTA nämä {0} kohdetta?", + "fd_warn2": "Viimeinen varoitus! Haluatko varmasti poistaa?", - "fc_ok": "cortados {0} elementos", - "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + "fc_ok": "siirettiin {0} kohdetta leikepöydälle", + "fc_warn": 'siirettiin {0} kohdetta leikepöydälle\n\nmutta: vain tämä selain-välilehti voi liittää ne\n(koska valinta on niin valtavan suuri)', - "fcc_ok": "copiados {0} elementos al portapapeles", - "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + "fcc_ok": "kopioitiin {0} kohdetta leikepöydälle", + "fcc_warn": 'kopioitiin {0} kohdetta leikepöydälle\n\nmutta: vain tämä selain-välilehti voi liittää ne\n(koska valinta on niin valtavan suuri)', - "fp_apply": "usar estos nombres", - "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestañas del navegador", - "fp_ename": "{0} elementos no se pueden mover aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fcp_ename": "{0} elementos no se pueden copiar aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fp_emore": "todavía quedan algunas colisiones de nombres por resolver", - "fp_ok": "movimiento correcto", - "fcp_ok": "copia correcta", - "fp_busy": "moviendo {0} elementos...\n\n{1}", - "fcp_busy": "copiando {0} elementos...\n\n{1}", - "fp_err": "fallo al mover:\n", - "fcp_err": "fallo al copiar:\n", - "fp_confirm": "¿mover estos {0} elementos aquí?", - "fcp_confirm": "¿copiar estos {0} elementos aquí?", - "fp_etab": "fallo al leer el portapapeles de otra pestaña del navegador", - "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", - "fp_both_m": "
elige qué pegar
Intro = Mover {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", - "fcp_both_m": "
elige qué pegar
Intro = Copiar {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", - "fp_both_b": "MoverSubir", - "fcp_both_b": "CopiarSubir", + "fp_apply": "käytä näitä nimiä", + "fp_ecut": "leikkaa tai kopioi ensin joitakin tiedostoja / kansioita liitettäväksi / siirrettäväksi\n\nhuom: voit leikata / liittää eri selain-välilehtien välillä", + "fp_ename": "{0} kohdetta ei voida siirtää tänne koska nimet ovat jo käytössä. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennä nimi ohittaaksesi ne:", + "fcp_ename": "{0} kohdetta ei voida kopioida tänne koska nimet ovat jo käytössä. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennä nimi ohittaaksesi ne:", + "fp_emore": "tiedostonimien törmäyksiä on vielä korjaamatta", + "fp_ok": "siirto OK", + "fcp_ok": "kopiointi OK", + "fp_busy": "siirretään {0} kohdetta...\n\n{1}", + "fcp_busy": "kopioidaan {0} kohdetta...\n\n{1}", + "fp_err": "siirto epäonnistui:\n", + "fcp_err": "kopiointi epäonnistui:\n", + "fp_confirm": "siirrä nämä {0} kohdetta tänne?", + "fcp_confirm": "kopioi nämä {0} kohdetta tänne?", + "fp_etab": 'leikepöydän lukeminen toisesta selain-välilehdestä epäonnistui', + "fp_name": "ladataan tiedostoa laitteeltasi. Anna sille nimi:", + "fp_both_m": '
valitse mitä liittää
Enter = Siirrä {0} tiedostoa kohteesta «{1}»\nESC = Lataa {2} tiedostoa laitteeltasi', + "fcp_both_m": '
valitse mitä liittää
Enter = Kopioi {0} tiedostoa kohteesta «{1}»\nESC = Lataa {2} tiedostoa laitteeltasi', + "fp_both_b": 'SiirräLähetä', + "fcp_both_b": 'KopioiLähetä', - "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", + "mk_noname": "kirjoita nimi vasemmalla olevaan tekstikenttään ennen kuin teet tuon :p", - "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", - "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", - "tv_xe2": "404, archivo no encontrado", - "tv_lst": "lista de archivos de texto en", - "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">❌ cerrar", - "tvt_dl": "descargar este archivo$NAtajo: Y\">💾 descargar", - "tvt_prev": "mostrar documento anterior$NAtajo: i\">⬆ ant", - "tvt_next": "mostrar siguiente documento$NAtajo: K\">⬇ sig", - "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", - "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">✏️ editar", - "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas líneas en tiempo real\">📡 seguir", - "tvt_wrap": "ajuste de línea\">↵", - "tvt_atail": "bloquear el desplazamiento al final de la página\">⚓", - "tvt_ctail": "decodificar colores de terminal (códigos de escape ansi)\">🌈", - "tvt_ntail": "límite de historial (cuántos bytes de texto mantener cargados)", + "tv_load": "Ladataan tekstidokumenttia:\n\n{0}\n\n{1}% ({2} / {3} Mt ladattu)", + "tv_xe1": "tekstitiedoston lataaminen epäonnistui:\n\nvirhe ", + "tv_xe2": "404, tiedostoa ei löydy", + "tv_lst": "tekstitiedostojen lista kansiossa", + "tvt_close": "palaa kansionäkymään$NPikanäppäin: M (tai Esc)\">❌ sulje", + "tvt_dl": "lataa tämä tiedosto$NPikanäppäin: Y\">💾 lataa", + "tvt_prev": "näytä edellinen dokumentti$NPikanäppäin: i\">⬆ edell", + "tvt_next": "näytä seuraava dokumentti$NPikanäppäin: K\">⬇ seur", + "tvt_sel": "valitse tiedosto   ( leikkausta / kopiointia / poistoa / ... varten )$NPikanäppäin: S\">val", + "tvt_edit": "avaa tiedosto tekstieditorissa$NPikanäppäin: E\">✏️ muokkaa", + "tvt_tail": "seuraa tiedoston muutoksia; näytä uudet rivit reaaliaikaisesti\">📡 seuraa", + "tvt_wrap": "rivitys\">↵", + "tvt_atail": "lukitse vieritys sivun alaosaan\">⚓", + "tvt_ctail": "dekoodaa terminaalin värit (ansi escape koodit)\">🌈", + "tvt_ntail": "vieritysbufferin raja (kuinka monta tavua tekstiä pidetään ladattuna)", - "m3u_add1": "canción añadida a la lista m3u", - "m3u_addn": "{0} canciones añadidas a la lista m3u", - "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo hará reproducible", + "m3u_add1": "kappale lisätty m3u soittolistaan", + "m3u_addn": "{0} kappaletta lisätty m3u soittolistaan", + "m3u_clip": "m3u soittolista nyt kopioitu leikepöydälle\n\nsinun tulisi luoda uusi tekstitiedosto nimeltä jotain.m3u ja liittää soittolista siihen dokumenttiin; tämä tekee siitä soitettavan", - "gt_vau": "no mostrar vídeos, solo reproducir el audio\">🎧", - "gt_msel": "activar selección de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando está activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselección", - "gt_crop": "recortar miniaturas\">recortar", - "gt_3x": "miniaturas de alta resolución\">3x", - "gt_zoom": "zoom", - "gt_chop": "recortar", - "gt_sort": "ordenar por", - "gt_name": "nombre", - "gt_sz": "tamaño", - "gt_ts": "fecha", - "gt_ext": "tipo", - "gt_c1": "truncar más los nombres de archivo (mostrar menos)", - "gt_c2": "truncar menos los nombres de archivo (mostrar más)", + "gt_vau": "älä näytä videoita, toista vain ääni\">🎧", + "gt_msel": "ota käyttöön tiedostojen valinta; ctrl-klikkaa tiedostoa ohittaaksesi$N$N<em>kun aktiivinen: tuplaklikkaa tiedostoa / kansiota avataksesi sen</em>$N$NPikanäppäin: S\">monivalinta", + "gt_crop": "keskitä-rajaa pienoiskuvat\">rajaa", + "gt_3x": "korkearesoluutioiset pienoiskuvat\">3x", + "gt_zoom": "zoomaa", + "gt_chop": "pilko", + "gt_sort": "järjestä", + "gt_name": "nimi", + "gt_sz": "koko", + "gt_ts": "päiväys", + "gt_ext": "tyyppi", + "gt_c1": "rajaa tiedostonimiä enemmän (näytä vähemmän)", + "gt_c2": "rajaa tiedostonimiä vähemmän (näytä enemmän)", - "sm_w8": "buscando...", - "sm_prev": "los resultados de búsqueda a continuación son de una consulta anterior:\n ", - "sl_close": "cerrar resultados de búsqueda", - "sl_hits": "mostrando {0} resultados", - "sl_moar": "cargar más", + "sm_w8": "haetaan...", + "sm_prev": "alla olevat hakutulokset ovat edellisestä hausta:\n ", + "sl_close": "sulje hakutulokset", + "sl_hits": "näytetään {0} osumaa", + "sl_moar": "lataa lisää", - "s_sz": "tamaño", - "s_dt": "fecha", - "s_rd": "ruta", - "s_fn": "nombre", - "s_ta": "etiquetas", - "s_ua": "subido@", - "s_ad": "avanzado", - "s_s1": "MiB mínimo", - "s_s2": "MiB máximo", - "s_d1": "mín. iso8601", - "s_d2": "máx. iso8601", - "s_u1": "subido después de", - "s_u2": "y/o antes de", - "s_r1": "la ruta contiene   (separado por espacios)", - "s_f1": "el nombre contiene   (negar con -no)", - "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", - "s_a1": "propiedades de metadatos específicas", + "s_sz": "koko", + "s_dt": "päiväys", + "s_rd": "polku", + "s_fn": "nimi", + "s_ta": "tagit", + "s_ua": "ylös@", + "s_ad": "edist.", + "s_s1": "minimi Mt", + "s_s2": "maksimi Mt", + "s_d1": "min. iso8601", + "s_d2": "maks. iso8601", + "s_u1": "ladattu jälkeen", + "s_u2": "ja/tai ennen", + "s_r1": "polku sisältää   (välilyönnillä erotetuttuina)", + "s_f1": "nimi sisältää   (negatoi käyttämällä -nope)", + "s_t1": "tagit sisältää   (^=alku, loppu=$)", + "s_a1": "tietyt metadatan ominaisuudet", - "md_eshow": "no se puede renderizar ", - "md_off": "[📜léeme] desactivado en [⚙️] -- documento oculto", + "md_eshow": "ei voida renderoida ", + "md_off": "[📜readme] poistettu käytöstä [⚙️] -- dokumentti piilotettu", - "badreply": "Fallo al procesar la respuesta del servidor", + "badreply": "Palvelimen vastauksen jäsentäminen epäonnistui.", - "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizás se cerró tu sesión", - "xhr0": "desconocido (probablemente se perdió la conexión con el servidor, o el servidor está desconectado)", - "cf_ok": "perdón por eso -- la protección DD" + wah + "oS se activó\n\nlas cosas deberían reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la página", - "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", - "tl_xe2": "404: Carpeta no encontrada", - "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", - "fl_xe2": "404: Carpeta no encontrada", - "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", - "fd_xe2": "404: Carpeta de nivel superior no encontrada", - "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", - "fsm_xe2": "404: Carpeta de nivel superior no encontrada", - "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", - "fu_xe2": "404: ¿Archivo no encontrado?", + "xhr403": "403: Pääsy kielletty\n\nkokeile painaa F5, ehkä sinut kirjattiin ulos", + "xhr0": "tuntematon (todennäköisesti yhteys palvelimeen katosi, tai palvelin on pois päältä)", + "cf_ok": "sori siitä -- DD" + wah + "oS suojaus aktivoitui\n\nasioiden pitäisi jatkua noin 30 sekunnissa\n\njos mitään ei tapahdu, paina F5 ladataksesi sivun uudelleen", + "tl_xe1": "alikansioiden listaaminen epäonnistui:\n\nvirhe ", + "tl_xe2": "404: Kansiota ei löydy", + "fl_xe1": "kansion tiedostojen listaaminen epäonnistui:\n\nvirhe ", + "fl_xe2": "404: Kansiota ei löydy", + "fd_xe1": "alikansion luominen epäonnistui:\n\nvirhe ", + "fd_xe2": "404: Yläkansiota ei löydy", + "fsm_xe1": "viestin lähettäminen epäonnistui:\n\nvirhe ", + "fsm_xe2": "404: Yläkansiota ei löydy", + "fu_xe1": "unpost-listan lataaminen palvelimelta epäonnistui:\n\nvirhe ", + "fu_xe2": "404: Tiedostoa ei löydy??", - "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", - "fz_pax": "tar formato pax sin comprimir (más lento)", - "fz_targz": "gnu-tar con compresión gzip nivel 3$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", - "fz_tarxz": "gnu-tar con compresión xz nivel 1$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", - "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", - "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", - "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda más en procesar antes de que la descarga pueda empezar)", + "fz_tar": "pakkaamaton gnu-tar tiedosto (linux / mac)", + "fz_pax": "pakkaamaton pax-formaatin tar (hitaampi)", + "fz_targz": "gnu-tar gzip tason 3 pakkauksella$N$NTämä on yleensä hyvin hidasta, $Nkäytä pakkamatonta tar:ia sen sijaan", + "fz_tarxz": "gnu-tar xz tason 1 pakkauksella$N$NTämä on yleensä hyvin hidasta, $Nkäytä pakkamatonta tar:ia sen sijaan", + "fz_zip8": "zip utf8-tiedostonimillä (suattaapi olla epävakaa windows 7:ssa ja vanhemmissa)", + "fz_zipd": "zip perinteisillä cp437 tiedostonimillä esihistoriallisille ohjelmistoille", + "fz_zipc": "cp437, jossa crc32 laskettu aikaisin,$NMS-DOS PKZIP v2.04g:lle (lokakuu 1993)$N(kestää kauemmin käsitellä ennen latauksen alkua)", - "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuación", - "un_upd": "actualizar", - "un_m4": "o compartir los archivos visibles a continuación:", - "un_ulist": "mostrar", - "un_ucopy": "copiar", - "un_flt": "filtro opcional:  la URL debe contener", - "un_fclr": "limpiar filtro", - "un_derr": "fallo al deshacer-eliminar:\n", - "un_f5": "algo se rompió, por favor intenta actualizar o pulsa F5", - "un_uf5": "lo siento pero tienes que refrescar la página (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", - "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", - "un_noc": "aviso: la opción de deshacer subidas completadas no está activada/permitida en la configuración del servidor", - "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", - "un_avail": "{0} subidas recientes se pueden eliminar
{1} inacabadas se pueden abortar", - "un_m2": "ordenado por tiempo de subida; más recientes primero:", - "un_no1": "¡pues no! ninguna subida es suficientemente reciente", - "un_no2": "¡pues no! ninguna subida que coincida con ese filtro es suficientemente reciente", - "un_next": "eliminar los siguientes {0} archivos a continuación", - "un_abrt": "abortar", - "un_del": "eliminar", - "un_m3": "cargando tus subidas recientes...", - "un_busy": "eliminando {0} archivos...", - "un_clip": "{0} enlaces copiados al portapapeles", + "un_m1": "voit poistaa viimeaikaiset latauksesi (tai keskeyttää keskeneräiset) alla", + "un_upd": "päivitä", + "un_m4": "tai jaa alla näkyvät tiedostot:", + "un_ulist": "näytä", + "un_ucopy": "kopioi", + "un_flt": "valinnainen suodatin:  URL:n täytyy sisältää", + "un_fclr": "tyhjennä suodatin", + "un_derr": 'unpost-poisto epäonnistui:\n', + "un_f5": 'jotain hajosi, kokeile päivitystä tai paina F5', + "un_uf5": "pahoittelen mutta sinun täytyy päivittää sivu (esimerkiksi painamalla F5 tai CTRL-R) ennen kuin tämä lataus voidaan keskeyttää", + "un_nou": 'varoitus: palvelin liian kiireinen näyttääkseen keskeneräiset lataukset; klikkaa "päivitä" linkkiä hetken kuluttua', + "un_noc": 'varoitus: täysin ladattujen tiedostojen unpost ei ole käytössä/sallittu palvelimen asetuksissa', + "un_max": "näytetään ensimmäiset 2000 tiedostoa (käytä suodatinta)", + "un_avail": "{0} viimeaikaista latausta voidaan poistaa
{1} keskeneräistä voidaan keskeyttää", + "un_m2": "järjestetty latausajan mukaan; viimeisimmät ensin:", + "un_no1": "hupsis! yksikään lataus ei ole riittävän tuore", + "un_no2": "hupsis! yksikään tuota suodatinta vastaava lataus ei ole riittävän tuore", + "un_next": "poista seuraavat {0} tiedostoa alla", + "un_abrt": "keskeytä", + "un_del": "poista", + "un_m3": "ladataan viimeaikana lähettämiäsi tiedostoja...", + "un_busy": "poistetaan {0} tiedostoa...", + "un_clip": "{0} linkkiä kopioitu leikepöydälle", - "u_https1": "deberías", - "u_https2": "cambiar a https", - "u_https3": "para un mejor rendimiento", - "u_ancient": "tu navegador es impresionantemente antiguo -- quizás deberías usar bup en su lugar", - "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", - "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", - "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", - "u_notdir": "¡eso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", - "u_uri": "para arrastrar y soltar imágenes desde otras ventanas del navegador,\npor favor suéltalas sobre el gran botón de subida", - "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", - "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", - "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", - "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", - "u_ever": "este es el uploader básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": "este es el uploader básico; up2k es mejor", - "u_uput": "optimizar para velocidad (omitir checksum)", - "u_ewrite": "no tienes acceso de escritura a esta carpeta", - "u_eread": "no tienes acceso de lectura a esta carpeta", - "u_enoi": "la búsqueda de archivos no está activada en la configuración del servidor", - "u_enoow": "sobrescribir no funcionará aquí; se necesita permiso de eliminación", - "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", - "u_blankf": "Estos {0} archivos (de un total de {1}) están en blanco / vacíos; ¿subirlos de todos modos?\n\n", - "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos también:\n\n", - "u_just1": "\nQuizás funcione mejor si seleccionas solo un archivo", - "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podría bloquear Firefox!\nsi eso ocurre, por favor inténtalo de nuevo (o usa Chrome).", - "u_up_life": "Esta subida será eliminada del servidor\n{0} después de que se complete", - "u_asku": "subir estos {0} archivos a {1}", - "u_unpt": "puedes deshacer / eliminar esta subida usando el 🧯 de arriba a la izquierda", - "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podría bloquear tu navegador, ¿estás seguro?", - "u_scan": "Escaneando archivos...", - "u_dirstuck": "el iterador de directorios se atascó intentando acceder a los siguientes {0} elementos; se omitirán:", - "u_etadone": "Hecho ({0}, {1} archivos)", - "u_etaprep": "(preparando para subir)", - "u_hashdone": "hashing completado", - "u_hashing": "hash", - "u_hs": "negociando...", - "u_started": "los archivos se están subiendo ahora; mira en [🚀]", - "u_dupdefer": "duplicado; se procesará después de todos los demás archivos", - "u_actx": "haz clic en este texto para evitar la pérdida de
rendimiento al cambiar a otras ventanas/pestañas", - "u_fixed": "¡OK!  Arreglado 👍", - "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", - "u_cuerr2": "el servidor rechazó la subida (trozo {0} de {1});\nse reintentará más tarde\n\narchivo: {2}\n\nerror ", - "u_ehstmp": "se reintentará; mira abajo a la derecha", - "u_ehsfin": "el servidor rechazó la solicitud para finalizar la subida; reintentando...", - "u_ehssrch": "el servidor rechazó la solicitud para realizar la búsqueda; reintentando...", - "u_ehsinit": "el servidor rechazó la solicitud para iniciar la subida; reintentando...", - "u_eneths": "error de red al realizar la negociación de subida; reintentando...", - "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", - "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros después de un fallo de red...", - "u_ehsdf": "¡el servidor se quedó sin espacio en disco!\n\nse seguirá reintentando, por si alguien\nlibera suficiente espacio para continuar", - "u_emtleak1": "parece que tu navegador podría tener una fuga de memoria;\npor favor", - "u_emtleak2": " cambia a https (recomendado) o ", - "u_emtleak3": " ", - "u_emtleakc": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego desactiva el botón  mt  en los  ⚙️ ajustes
  • e intenta esa subida de nuevo
Las subidas serán un poco más lentas, pero bueno.\n¡Perdón por las molestias!\n\nPD: chrome v107 tiene una solución para esto", - "u_emtleakf": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego activa 🥔 (ligera) en la interfaz de subida
  • e intenta esa subida de nuevo
\nPD: firefox con suerte tendrá una solución en algún momento", - "u_s404": "no encontrado en el servidor", - "u_expl": "explicar", - "u_maxconn": "la mayoría de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", - "u_tu": '

AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botón turbo

', - "u_ts": '

AVISO: turbo activado,  los resultados de búsqueda pueden ser incorrectos; ver tooltip del botón turbo

', - "u_turbo_c": "turbo está desactivado en la configuración del servidor", - "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", - "u_life_cfg": 'autoeliminar después de min (o horas)', - "u_life_est": 'la subida se eliminará ---', - "u_life_max": "esta carpeta impone una\nvida máxima de {0}", - "u_unp_ok": "se permite deshacer la subida durante {0}", - "u_unp_ng": "NO se permitirá deshacer la subida", - "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", - "ue_nl": "actualmente no has iniciado sesión", - "ue_la": "actualmente has iniciado sesión como \"{0}\"", - "ue_sr": "actualmente estás en modo de búsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa 🔎 (junto al gran botón BUSCAR), e intenta subir de nuevo\n\nlo siento", - "ue_ta": "intenta subir de nuevo, ahora debería funcionar", - "ue_ab": "este archivo ya se está subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el 🧯 de arriba a la izquierda", - "ur_1uo": "OK: Archivo subido con éxito", - "ur_auo": "OK: Todos los {0} archivos subidos con éxito", - "ur_1so": "OK: Archivo encontrado en el servidor", - "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", - "ur_1un": "Subida fallida, lo siento", - "ur_aun": "Todas las {0} subidas fallaron, lo siento", - "ur_1sn": "El archivo NO se encontró en el servidor", - "ur_asn": "Los {0} archivos NO se encontraron en el servidor", - "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", - "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", + "u_https1": "sinun kannattaisi", + "u_https2": "vaihtaa https:ään", + "u_https3": "paremman suorituskyvyn vuoksi", + "u_ancient": 'selaimesi on ns. vaikuttavan ikivanha -- kannattais varmaan käyttää bup:ia tän sijaan', + "u_nowork": "tarvitaan firefox 53+ tai chrome 57+ tai iOS 11+", + "tail_2old": "tarvitaan firefox 105+ tai chrome 71+ tai iOS 14.5+", + "u_nodrop": 'selaimesi on liian vanha vedä-ja-pudota lataamiseen', + "u_notdir": "tuo ei ole hakemisto!\n\nselaimesi on liian vanha,\nkokeile sen sijaan 'vedä-pudota'-tekniikkaa.", + "u_uri": "'vedä-pudottaaksesi' kuvia muista selainikkunoista,\npudota se isoon latausnapppiin", + "u_enpot": 'vaihda peruna UI:hin (voi parantaa latausnopeutta)', + "u_depot": 'vaihda ylelliseen UI:hin (voi vähentää latausnopeutta)', + "u_gotpot": 'vaihdetaan peruna UI:hin paremman latausnopeuden vuoksi,\n\ntee miten lystäät, jos ei kelpaa!', + "u_pott": "

tiedostot:   {0} valmis,   {1} epäonnistui,   {2} kiireinen,   {3} jonossa

", + "u_ever": "tämä on peruslatain; up2k tarvitsee vähintään
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'tämä on peruslatain; up2k on parempi', + "u_uput": 'optimoi nopeuteen (ohita tarkistussumma)', + "u_ewrite": 'sinulla ei ole move-oikeutta tähän kansioon', + "u_eread": 'sinulla ei ole read-oikeutta tähän kansioon', + "u_enoi": 'tiedostohaku ei ole käytössä palvelimen asetuksissa', + "u_enoow": "ylikirjoitus ei toimi täällä; tarvitaan "Delete"-oikeus", + "u_badf": 'Nämä {0} tiedostoa ({1} yhteensä) ohitettiin, mahdollisesti tiedostojärjestelmän oikeuksien vuoksi:\n\n', + "u_blankf": 'Nämä {0} tiedostoa ({1} yhteensä) ovat tyhjiä; ladataanko ne silti?\n\n', + "u_applef": 'Nämä {0} tiedostoa ({1} yhteensä) ovat todennäköisesti ei-toivottuja;\nPaina OK/Enter OHITTAAKSESI seuraavat tiedostot,\nPaina Cancel/ESC jos ET halua sulkea pois, ja LATAA nekin:\n\n', + "u_just1": '\nEhkä toimii paremmin jos valitset vain yhden tiedoston', + "u_ff_many": "jos käytät Linux / MacOS / Android, niin tämä määrä tiedostoja saattaa kaataa Firefoxin!\njos niin käy, kokeile uudelleen (tai käytä Chromea).", + "u_up_life": "Tämä lataus poistetaan palvelimelta\n{0} sen valmistumisen jälkeen", + "u_asku": 'lataa nämä {0} tiedostoa kohteeseen {1}', + "u_unpt": "voit perua / poistaa tämän latauksen käyttämällä vasemmalla ylhäällä olevaa 🧯", + "u_bigtab": 'näytetään {0} tiedostoa\n\ntämä voi kaataa selaimesi, oletko varma?', + "u_scan": 'Skannataan tiedostoja...', + "u_dirstuck": 'hakemistoiteraattori jumittui yrittäessään käyttää seuraavia {0} kohdetta; ohitetaan:', + "u_etadone": 'Valmis ({0}, {1} tiedostoa)', + "u_etaprep": '(valmistellaan latausta)', + "u_hashdone": 'hajautus valmis', + "u_hashing": 'hajautus', + "u_hs": 'kätellään...', + "u_started": "tiedostoja ladataan nyt; tsekkaa [🚀]", + "u_dupdefer": "duplikaatti; käsitellään kaikkien muiden tiedostojen jälkeen", + "u_actx": "klikkaa tätä tekstiä estääksesi suorituskyvyn
heikkenemisen vaihtaessasi muihin ikkunoihin/välilehtiin", + "u_fixed": "OK!  Hommat hoidossa 👍", + "u_cuerr": "chunk {0} / {1} lataus epäonnistui;\ntuskin haittaa, jatketaan\n\ntiedosto: {2}", + "u_cuerr2": "palvelin hylkäsi latauksen (chunk {0} / {1});\nyritetään myöhemmin uudelleen\n\ntiedosto: {2}\n\nvirhe ", + "u_ehstmp": "yritetään uudelleen; katso oikealta alhaalta", + "u_ehsfin": "palvelin hylkäsi pyynnön viimeistellä lataus; yritetään uudelleen...", + "u_ehssrch": "palvelin hylkäsi pyynnön suorittaa haku; yritetään uudelleen...", + "u_ehsinit": "palvelin hylkäsi pyynnön aloittaa lataus; yritetään uudelleen...", + "u_eneths": "verkkovirhe latauksen kättelyssä; yritetään uudelleen...", + "u_enethd": "verkkovirhe kohteen olemassaolon testauksessa; yritetään uudelleen...", + "u_cbusy": "odotetaan palvelimen luottavan meihin taas verkko-ongelman jälkeen...", + "u_ehsdf": "palvelimen levytila loppui!\n\nyritetään jatkuvasti, siinä tapauksessa että joku\nvapauttaa tarpeeksi tilaa jatkamiseen", + "u_emtleak1": "näyttää siltä että selaimessasi saattaa olla muistivuoto;\nole hyvä ja", + "u_emtleak2": ' vaihda https:ään (suositeltu) tai ', + "u_emtleak3": ' ', + "u_emtleakc": 'kokeile seuraavaa:\n
  • paina F5 päivittääksesi sivun
  • sitten poista käytöstä  mt  nappi  ⚙️ asetuksissa
  • ja kokeile latausta uudelleen
Lataukset ovat hieman hitaampia, minkäs teet.\nSori siitä!\n\nPS: chrome v107 sisältää bugfixin tätä varten', + "u_emtleakf": 'kokeile seuraavaa:\n
  • paina F5 päivittääksesi sivun
  • sitten ota käyttöön 🥔 (peruna) lataus UI:ssa
  • ja kokeile latausta uudelleen
\nPS: firefox toivottavasti saa kerättyä itsensä kasaan jossain vaiheessa', + "u_s404": "ei löydy palvelimelta", + "u_expl": "selitä", + "u_maxconn": "useimmat selaimet rajoittavat tämän 6:een, mutta firefox antaa nostaa sitä connections-per-server asetuksella about:config:issa", + "u_tu": '

VAROITUS: turbo päällä,  asiakasohjelma ei välttämättä huomaa jatkaa keskeneräisiä latauksia; katso turbo-napin vihje

', + "u_ts": '

VAROITUS: turbo päällä,  hakutulokset voivat olla vääriä; katso turbo-napin vihje

', + "u_turbo_c": "turbo on poistettu käytöstä palvelimen asetuksissa", + "u_turbo_g": "poistetaan turbo käytöstä koska sinulla ei ole\nhakemistolistausoikeuksia tässä asemassa", + "u_life_cfg": 'automaattinen poisto min kuluttua (tai tuntia)', + "u_life_est": 'lataus poistetaan ---', + "u_life_max": 'tämä kansio pakottaa\nmaksimi elinajan {0}', + "u_unp_ok": 'unpost on sallittu {0}', + "u_unp_ng": 'unpost EI ole sallittu', + "ue_ro": 'sinulla on vain read-oikeus tähän kansioon\n\n', + "ue_nl": 'et ole tällä hetkellä kirjautunut sisään', + "ue_la": 'olet tällä hetkellä kirjautunut sisään nimellä "{0}"', + "ue_sr": 'olet tällä hetkellä tiedostohaku-tilassa\n\nvaihda lataus-tilaan klikkaamalla suurennuslasia 🔎 (suuren HAKU napin vieressä), ja yritä latausta uudelleen\n\npahoittelen', + "ue_ta": 'yritä latausta uudelleen, sen pitäisi toimia nyt', + "ue_ab": "tätä tiedostoa ladataan jo toiseen kansioon, ja se lataus täytyy suorittaa loppuun ennen kuin tiedostoa voidaan ladata muualle.\n\nVoit keskeyttää ja unohtaa alkuperäisen latauksen käyttämällä vasemmalla ylhäällä olevaa 🧯", + "ur_1uo": "OK: Tiedosto ladattu onnistuneesti", + "ur_auo": "OK: Kaikki {0} tiedostoa ladattu onnistuneesti", + "ur_1so": "OK: Tiedosto löytyi palvelimelta", + "ur_aso": "OK: Kaikki {0} tiedostoa löytyi palvelimelta", + "ur_1un": "Lataus epäonnistui, pahoittelen", + "ur_aun": "Kaikki {0} latausta epäonnistui, pahoittelen", + "ur_1sn": "Tiedostoa EI löytynyt palvelimelta", + "ur_asn": "{0} tiedostoa EI löytynyt palvelimelta", + "ur_um": "Valmis;\n{0} latausta OK,\n{1} latausta epäonnistui, pahoittelen", + "ur_sm": "Valmis;\n{0} tiedostoa löytyi palvelimelta,\n{1} tiedostoa EI löytynyt palvelimelta", - "lang_set": "¿refrescar para que el cambio surta efecto?" + "lang_set": "päivitetäänkö sivu muutoksen voimaansaattamiseksi?", }, "rus": { "tt": "Русский", @@ -3762,6 +3763,631 @@ var Ls = { "lang_set": "перезагрузить страницу, чтобы применить изменения?", }, + "spa": { + "tt": "Español", + + "cols": { + "c": "acciones", + "dur": "duración", + "q": "calidad / bitrate", + "Ac": "códec de audio", + "Vc": "códec de vídeo", + "Fmt": "formato / contenedor", + "Ahash": "checksum de audio", + "Vhash": "checksum de vídeo", + "Res": "resolución", + "T": "tipo de archivo", + "aq": "calidad de audio / bitrate", + "vq": "calidad de vídeo / bitrate", + "pixfmt": "submuestreo / estructura de píxel", + "resw": "resolución horizontal", + "resh": "resolución vertical", + "chs": "canales de audio", + "hz": "frecuencia de muestreo" + }, + + "hks": [ + [ + "varios", + ["ESC", "cerrar varias cosas"], + + "gestor de archivos", + ["G", "alternar vista de lista / cuadrícula"], + ["T", "alternar miniaturas / iconos"], + ["⇧ A/D", "tamaño de miniatura"], + ["ctrl-K", "eliminar seleccionados"], + ["ctrl-X", "cortar selección al portapapeles"], + ["ctrl-C", "copiar selección al portapapeles"], + ["ctrl-V", "pegar (mover/copiar) aquí"], + ["Y", "descargar seleccionados"], + ["F2", "renombrar seleccionados"], + + "selección en lista de archivos", + ["space", "alternar selección de archivo"], + ["↑/↓", "mover cursor de selección"], + ["ctrl ↑/↓", "mover cursor y vista"], + ["⇧ ↑/↓", "seleccionar anterior/siguiente archivo"], + ["ctrl-A", "seleccionar todos los archivos / carpetas"] + ], [ + "navegación", + ["B", "alternar breadcrumbs / panel de navegación"], + ["I/K", "anterior/siguiente carpeta"], + ["M", "carpeta de nivel superior (o contraer actual)"], + ["V", "alternar carpetas / archivos en panel de navegación"], + ["A/D", "tamaño del panel de navegación"] + ], [ + "reproductor de audio", + ["J/L", "anterior/siguiente canción"], + ["U/O", "saltar 10s atrás/adelante"], + ["0..9", "saltar a 0%..90%"], + ["P", "reproducir/pausar (también inicia)"], + ["S", "seleccionar canción en reproducción"], + ["Y", "descargar canción"] + ], [ + "visor de imágenes", + ["J/L, ←/→", "anterior/siguiente imagen"], + ["Home/End", "primera/última imagen"], + ["F", "pantalla completa"], + ["R", "rotar en sentido horario"], + ["⇧ R", "rotar en sentido antihorario"], + ["S", "seleccionar imagen"], + ["Y", "descargar imagen"] + ], [ + "reproductor de vídeo", + ["U/O", "saltar 10s atrás/adelante"], + ["P/K/Space", "reproducir/pausar"], + ["C", "continuar con el siguiente"], + ["V", "bucle"], + ["M", "silenciar"], + ["[ y ]", "establecer intervalo de bucle"] + ], [ + "visor de texto", + ["I/K", "anterior/siguiente archivo"], + ["M", "cerrar archivo"], + ["E", "editar archivo"], + ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] + ] + ], + + "m_ok": "Aceptar", + "m_ng": "Cancelar", + + "enable": "Activar", + "danger": "PELIGRO", + "clipped": "copiado al portapapeles", + + "ht_s1": "segundo", + "ht_s2": "segundos", + "ht_m1": "minuto", + "ht_m2": "minutos", + "ht_h1": "hora", + "ht_h2": "horas", + "ht_d1": "día", + "ht_d2": "días", + "ht_and": " y ", + + "goh": "panel de control", + "gop": 'hermano anterior">anterior', + "gou": 'carpeta de nivel superior">subir', + "gon": 'siguiente carpeta">siguiente', + "logout": "Cerrar sesión ", + "access": " acceso", + "ot_close": "cerrar submenú", + "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de música, o cualquier combinación$N$N<code>foo bar</code> = debe contener «foo» y «bar»,$N<code>foo -bar</code> = debe contener «foo» pero no «bar»,$N<code>^yana .opus$</code> = empieza con «yana» y es un archivo «opus»$N<code>"try unite"</code> = contiene exactamente «try unite»$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", + "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", + "ot_bup": "bup: uploader básico, soporta hasta netscape 4.0", + "ot_mkdir": "mkdir: crear un nuevo directorio", + "ot_md": "new-md: crear un nuevo documento markdown", + "ot_msg": "msg: enviar un mensaje al registro del servidor", + "ot_mp": "opciones del reproductor multimedia", + "ot_cfg": "opciones de configuración", + "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de búsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan múltiples hilos y conservan la fecha de los archivos, pero consume más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2w": "up2k: subir archivos con soporte para reanudación (cierra tu navegador y arrastra los mismos archivos más tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa más CPU que [🎈]  (el uploader básico)

¡Durante las subidas, este icono se convierte en un indicador de progreso!", + "ot_noie": "Por favor, usa Chrome / Firefox / Edge", + + "ab_mkdir": "crear directorio", + "ab_mkdoc": "nuevo documento markdown", + "ab_msg": "enviar msg al registro del servidor", + + "ay_path": "saltar a carpetas", + "ay_files": "saltar a archivos", + + "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", + "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", + "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", + "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", + "wt_pst": "pegar una selección previamente cortada / copiada$NAtajo: ctrl-V", + "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", + "wt_selinv": "invertir selección", + "wt_zip1": "descargar esta carpeta como un archivo comprimido", + "wt_selzip": "descargar selección como archivo comprimido", + "wt_seldl": "descargar selección como archivos separados$NAtajo: Y", + "wt_npirc": "copiar información de pista en formato IRC", + "wt_nptxt": "copiar información de pista en texto plano", + "wt_m3ua": "añadir a lista m3u (haz clic en 📻copiar después)", + "wt_m3uc": "copiar lista m3u al portapapeles", + "wt_grid": "alternar vista de cuadrícula / lista$NAtajo: G", + "wt_prev": "pista anterior$NAtajo: J", + "wt_play": "reproducir / pausar$NAtajo: P", + "wt_next": "siguiente pista$NAtajo: L", + + "ul_par": "subidas paralelas:", + "ut_rand": "aleatorizar nombres de archivo", + "ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅', + "ut_ow": "sobrescribir archivos existentes en el servidor?$N🛡️: nunca (generará un nuevo nombre de archivo en su lugar)$N🕒: sobrescribir si el archivo del servidor es más antiguo que el tuyo$N♻️: siempre sobrescribir si los archivos son diferentes", + "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizás desactivar si tu CPU o HDD es un cuello de botella", + "ut_ask": 'pedir confirmación antes de iniciar la subida">💭', + "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", + "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escaneará todas las carpetas que puedas leer)", + "ut_par": "pausar subidas poniéndolo a 0$N$Naumentar si tu conexión es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", + "ul_btn": "arrastra archivos / carpetas
aquí (o haz clic)", + "ul_btnu": "S U B I R", + "ul_btns": "B U S C A R", + + "ul_hash": "hash", + "ul_send": "envio", + "ul_done": "hecho", + "ul_idle1": "aún no hay subidas en cola", + "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", + "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", + "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", + + "uct_ok": "completado con éxito", + "uct_ng": "fallido: error / rechazado / no encontrado", + "uct_done": "éxitos y fallos combinados", + "uct_bz": "generando hash o subiendo", + "uct_q": "inactivo, pendiente", + + "utl_name": "nombre de archivo", + "utl_ulist": "lista", + "utl_ucopy": "copiar", + "utl_links": "enlaces", + "utl_stat": "estado", + "utl_prog": "progreso", + + "utl_404": "404", + "utl_err": "ERROR", + "utl_oserr": "Error-SO", + "utl_found": "encontrado", + "utl_defer": "posponer", + "utl_yolo": "YOLO", + "utl_done": "hecho", + + "ul_flagblk": "los archivos se añadieron a la cola
sin embargo, hay un up2k ocupado en otra pestaña del navegador,
esperando a que termine primero", + "ul_btnlk": "la configuración del servidor ha bloqueado esta opción en este estado", + + "udt_up": "Subir", + "udt_srch": "Buscar", + "udt_drop": "suéltalo aquí", + + "u_nav_m": "
vale, ¿qué tienes?
Intro = Archivos (uno o más)\nESC = Una carpeta (incluyendo subcarpetas)", + "u_nav_b": "ArchivosUna carpeta", + + "cl_opts": "opciones", + "cl_themes": "tema", + "cl_langs": "idioma", + "cl_ziptype": "descarga de carpeta", + "cl_uopts": "opciones up2k", + "cl_favico": "favicon", + "cl_bigdir": "directorios grandes", + "cl_hsort": "#ordenar", + "cl_keytype": "notación musical", + "cl_hiddenc": "columnas ocultas", + "cl_hidec": "ocultar", + "cl_reset": "restablecer", + "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", + "cl_hcancel": "ocultación de columna cancelada", + + "ct_grid": '田 cuadrícula', + "ct_ttips": '◔ ◡ ◔">ℹ️ tooltips', + "ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas', + "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel', + "ct_ihop": 'al cerrar el visor de imágenes, desplazarse hasta el último archivo visto">g⮯', + "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', + "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', + "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', + "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', + "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', + "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', + "ct_sbars": 'mostrar barra lateral">⟊', + + "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de última modificación del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminación)">re📅', + + "cut_turbo": 'el botón yolo, probablemente NO quieras activarlo:$N$Núsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razón, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobación de hash por un simple "¿tiene este el mismo tamaño de archivo en el servidor?" así que si el contenido del archivo es diferente, NO se subirá$N$Ndeberías desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', + + "cut_datechk": 'no tiene efecto a menos que el botón turbo esté activado$N$Nreduce el factor yolo en una pequeña cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteóricamente debería detectar la mayoría de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificación con el turbo desactivado después">verif. fecha', + + "cut_u2sz": "tamaño (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a través del atlántico. Prueba valores bajos en conexiones muy poco fiables", + + "cut_flag": "asegura que solo una pestaña esté subiendo a la vez $N -- otras pestañas también deben tener esto activado $N -- solo afecta a pestañas en el mismo dominio", + + "cut_az": "subir archivos en orden alfabético, en lugar de los más pequeños primero$N$Nel orden alfabético puede facilitar la detección visual de si algo salió mal en el servidor, pero hace la subida ligeramente más lenta en fibra / LAN", + + "cut_nag": "notificación del SO cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaña no están activos)", + + "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmás RAM (hasta 512 MiB extra)$N$Nhace https un 30% más rápido, http 4.5x más rápido">mt', + + "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto está activado">wasm', + + "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", + "cft_fg": "color de primer plano", + "cft_bg": "color de fondo", + + "cdt_lim": "número máximo de archivos a mostrar en una carpeta", + "cdt_ask": "al llegar al final,$Nen lugar de cargar más archivos,$Npreguntar qué hacer", + "cdt_hsort": "cuántas reglas de ordenación (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 también ignorará las reglas de ordenación incluidas en los enlaces de medios al hacer clic en ellos", + + "tt_entree": "mostrar panel de navegación (barra lateral con árbol de directorios)$NAtajo: B", + "tt_detree": "mostrar breadcrumbs$NAtajo: B", + "tt_visdir": "desplazarse a la carpeta seleccionada", + "tt_ftree": "alternar árbol de carpetas / archivos de texto$NAtajo: V", + "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", + "tt_dynt": "crecimiento automático a medida que el árbol se expande", + "tt_wrap": "ajuste de línea", + "tt_hover": "revelar líneas que se desbordan al pasar el ratón$N( rompe el desplazamiento a menos que el $N  cursor esté en el margen izquierdo )", + + "ml_pmode": "al final de la carpeta...", + "ml_btns": "acciones", + "ml_tcode": "transcodificar", + "ml_tcode2": "transcodificar a", + "ml_tint": "tinte", + "ml_eq": "ecualizador de audio", + "ml_drc": "compresor de rango dinámico", + + "mt_loop": 'poner en bucle/repetir una canción">🔁', + "mt_one": 'parar después de una canción">1️⃣', + "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀', + "mt_aplay": 'reproducir automaticamente si hay un ID de canción en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto también evitará que la URL de la página se actualice con IDs de canción al reproducir música, para prevenir la reproducción automática si se pierden estos ajustes pero la URL permanece">a▶', + "mt_preload": 'empezar a cargar la siguiente canción cerca del final para una reproducción sin pausas">precarga', + "mt_prescan": 'ir a la siguiente carpeta antes de que la última canción$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducción">nav', + "mt_fullpre": 'intentar precargar la canción entera;$N✅ activar en conexiones inestables,$N❌ desactivar probablemente en conexiones lentas">completa', + "mt_fau": 'en teléfonos, evitar que la música se detenga si la siguiente canción no se precarga lo suficientemente rápido (puede causar fallos en la visualización de etiquetas)">☕️', + "mt_waves": 'barra de búsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', + "mt_npclip": 'mostrar botones para copiar al portapapeles la canción actual">/np', + "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">📻', + "mt_octl": 'integración con SO (teclas multimedia / OSD)">ctl-so', + "mt_oseek": 'permitir buscar a través de la integración con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botón de siguiente canción">búsqueda', + "mt_oscv": 'mostrar carátula del álbum en OSD">arte', + "mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯', + "mt_compact": 'controles compactos">⟎', + "mt_uncache": 'limpiar caché  (prueba esto si tu navegador guardó en caché$Nuna copia rota de una canción que se niega a reproducir)">limpiar caché', + "mt_mloop": 'repetir la carpeta actual">🔁 bucle', + "mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig', + "mt_mstop": 'detener reproducción">⏸ parar', + "mt_cflac": 'convertir flac / wav a opus">flac', + "mt_caac": 'convertir aac / m4a a opus">aac', + "mt_coth": 'convertir todos los demás (no mp3) a opus">oth', + "mt_c2opus": 'la mejor opción para ordenadores, portátiles, android">opus', + "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', + "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', + "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', + "mt_c2ok": "bien, buena elección", + "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero está bien", + "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentémoslo de todas formas", + "mt_xowa": "hay errores en iOS que impiden la reproducción en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", + "mt_tint": "nivel de fondo (0-100) en la barra de búsqueda$Npara hacer el buffering menos molesto", + "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estándar 100% (sin modificar)$N$Nancho <code>1  </code> = estéreo estándar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminación de voz :^)$N$Nactivar el ecualizador hace que los álbumes sin pausas sean completamente sin pausas, así que déjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", + "mt_drc": "activa el compresor de rango dinámico (aplanador de volumen / brickwaller); también activará el EQ para equilibrar el espagueti, así que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, así que los valores por defecto de umbral -24 y ratio 12 significan que nunca debería sonar más fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es máx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", + + "mb_play": "reproducir", + "mm_hashplay": "¿reproducir este archivo de audio?", + "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", + "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", + "mm_bload": "cargando...", + "mm_bconv": "convirtiendo a {0}, por favor espera...", + "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificación a opus", + "mm_playerr": "fallo de reproducción: ", + "mm_eabrt": "El intento de reproducción fue cancelado", + "mm_enet": "Tu conexión a internet es inestable", + "mm_edec": "¿Este archivo está supuestamente corrupto?", + "mm_esupp": "Tu navegador no entiende este formato de audio", + "mm_eunk": "Error desconocido", + "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", + "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizás se cerró tu sesión", + "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", + "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", + "mm_nof": "no se encuentran más archivos de audio cerca", + "mm_prescan": "Buscando música para reproducir a continuación...", + "mm_scank": "Encontrada la siguiente canción:", + "mm_uncache": "caché limpiada; todas las canciones se volverán a descargar en la próxima reproducción", + "mm_hnf": "esa canción ya no existe", + + "im_hnf": "esa imagen ya no existe", + + "f_empty": "esta carpeta está vacía", + "f_chide": "esto ocultará la columna «{0}»\n\npuedes volver a mostrar las columnas en la pestaña de configuración", + "f_bigtxt": "este archivo pesa {0} MiB -- ¿realmente verlo como texto?", + "f_bigtxt2": "¿ver solo el final del archivo en su lugar? esto también activará el seguimiento, mostrando las líneas de texto recién añadidas en tiempo real", + "fbd_more": '
mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
', + "fbd_all": '
mostrando {0} de {1} archivos; mostrar todos
', + "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplázate hasta el final", + + "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", + + "f_partial": "Para descargar de forma segura un archivo que se está subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensión .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorará esta advertencia y continuará descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te dará datos corruptos.", + + "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", + "fr_eperm": "no se puede renombrar:\nno tienes permiso de “mover” en esta carpeta", + "fd_eperm": "no se puede eliminar:\nno tienes permiso de “eliminar” en esta carpeta", + "fc_eperm": "no se puede cortar:\nno tienes permiso de “mover” en esta carpeta", + "fp_eperm": "no se puede pegar:\nno tienes permiso de “escribir” en esta carpeta", + "fr_emore": "selecciona al menos un elemento para renombrar", + "fd_emore": "selecciona al menos un elemento para eliminar", + "fc_emore": "selecciona al menos un elemento para cortar", + "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", + + "fs_sc": "compartir la carpeta en la que estás", + "fs_ss": "compartir los archivos seleccionados", + "fs_just1d": "no puedes seleccionar más de una carpeta,\no mezclar archivos y carpetas en una selección", + "fs_abrt": "❌ abortar", + "fs_rand": "🎲 nombre aleatorio", + "fs_go": "✅ crear enlace", + "fs_name": "nombre", + "fs_src": "origen", + "fs_pwd": "contraseña", + "fs_exp": "caducidad", + "fs_tmin": "minutos", + "fs_thrs": "horas", + "fs_tdays": "días", + "fs_never": "eterno", + "fs_pname": "nombre opcional del enlace; será aleatorio si se deja en blanco", + "fs_tsrc": "el archivo o carpeta a compartir", + "fs_ppwd": "contraseña opcional", + "fs_w8": "creando enlace...", + "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", + + "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", + "frt_rst": "restaurar los nombres de archivo modificados a los originales\">↺ restablecer", + "frt_abrt": "abortar y cerrar esta ventana\">❌ cancelar", + "frb_apply": "APLICAR RENOMBRADO", + "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", + "fr_case": "regex sensible a mayúsculas\">mayús", + "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", + "fr_slash": "reemplaza / con un carácter que no cree nuevas carpetas\">sin /", + "fr_re": "patrón de búsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y así sucesivamente", + "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el título de la canción,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista está en blanco$N<code>$lpad((tn),2,0)</code> rellena el número de pista a 2 dígitos", + "fr_pdel": "eliminar", + "fr_pnew": "guardar como", + "fr_pname": "proporciona un nombre para tu nuevo preajuste", + "fr_aborted": "abortado", + "fr_lold": "nombre antiguo", + "fr_lnew": "nombre nuevo", + "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", + "fr_busy": "renombrando {0} elementos...\n\n{1}", + "fr_efail": "fallo al renombrar:\n", + "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\n¿Aceptar para continuar con estos nuevos nombres alterados?", + + "fd_ok": "eliminación correcta", + "fd_err": "fallo al eliminar:\n", + "fd_none": "no se eliminó nada; quizás bloqueado por la configuración del servidor (xbd)?", + "fd_busy": "eliminando {0} elementos...\n\n{1}", + "fd_warn1": "¿ELIMINAR estos {0} elementos?", + "fd_warn2": "¡Última oportunidad! No se puede deshacer. ¿Eliminar?", + + "fc_ok": "cortados {0} elementos", + "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fcc_ok": "copiados {0} elementos al portapapeles", + "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaña del navegador puede pegarlos\n(dado que la selección es absolutamente masiva)", + + "fp_apply": "usar estos nombres", + "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestañas del navegador", + "fp_ename": "{0} elementos no se pueden mover aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fcp_ename": "{0} elementos no se pueden copiar aquí porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", + "fp_emore": "todavía quedan algunas colisiones de nombres por resolver", + "fp_ok": "movimiento correcto", + "fcp_ok": "copia correcta", + "fp_busy": "moviendo {0} elementos...\n\n{1}", + "fcp_busy": "copiando {0} elementos...\n\n{1}", + "fp_err": "fallo al mover:\n", + "fcp_err": "fallo al copiar:\n", + "fp_confirm": "¿mover estos {0} elementos aquí?", + "fcp_confirm": "¿copiar estos {0} elementos aquí?", + "fp_etab": "fallo al leer el portapapeles de otra pestaña del navegador", + "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", + "fp_both_m": "
elige qué pegar
Intro = Mover {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fcp_both_m": "
elige qué pegar
Intro = Copiar {0} archivos desde «{1}»\nESC = Subir {2} archivos desde tu dispositivo", + "fp_both_b": "MoverSubir", + "fcp_both_b": "CopiarSubir", + + "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", + + "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", + "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", + "tv_xe2": "404, archivo no encontrado", + "tv_lst": "lista de archivos de texto en", + "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">❌ cerrar", + "tvt_dl": "descargar este archivo$NAtajo: Y\">💾 descargar", + "tvt_prev": "mostrar documento anterior$NAtajo: i\">⬆ ant", + "tvt_next": "mostrar siguiente documento$NAtajo: K\">⬇ sig", + "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", + "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">✏️ editar", + "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas líneas en tiempo real\">📡 seguir", + "tvt_wrap": "ajuste de línea\">↵", + "tvt_atail": "bloquear el desplazamiento al final de la página\">⚓", + "tvt_ctail": "decodificar colores de terminal (códigos de escape ansi)\">🌈", + "tvt_ntail": "límite de historial (cuántos bytes de texto mantener cargados)", + + "m3u_add1": "canción añadida a la lista m3u", + "m3u_addn": "{0} canciones añadidas a la lista m3u", + "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo hará reproducible", + + "gt_vau": "no mostrar vídeos, solo reproducir el audio\">🎧", + "gt_msel": "activar selección de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando está activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselección", + "gt_crop": "recortar miniaturas\">recortar", + "gt_3x": "miniaturas de alta resolución\">3x", + "gt_zoom": "zoom", + "gt_chop": "recortar", + "gt_sort": "ordenar por", + "gt_name": "nombre", + "gt_sz": "tamaño", + "gt_ts": "fecha", + "gt_ext": "tipo", + "gt_c1": "truncar más los nombres de archivo (mostrar menos)", + "gt_c2": "truncar menos los nombres de archivo (mostrar más)", + + "sm_w8": "buscando...", + "sm_prev": "los resultados de búsqueda a continuación son de una consulta anterior:\n ", + "sl_close": "cerrar resultados de búsqueda", + "sl_hits": "mostrando {0} resultados", + "sl_moar": "cargar más", + + "s_sz": "tamaño", + "s_dt": "fecha", + "s_rd": "ruta", + "s_fn": "nombre", + "s_ta": "etiquetas", + "s_ua": "subido@", + "s_ad": "avanzado", + "s_s1": "MiB mínimo", + "s_s2": "MiB máximo", + "s_d1": "mín. iso8601", + "s_d2": "máx. iso8601", + "s_u1": "subido después de", + "s_u2": "y/o antes de", + "s_r1": "la ruta contiene   (separado por espacios)", + "s_f1": "el nombre contiene   (negar con -no)", + "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", + "s_a1": "propiedades de metadatos específicas", + + "md_eshow": "no se puede renderizar ", + "md_off": "[📜léeme] desactivado en [⚙️] -- documento oculto", + + "badreply": "Fallo al procesar la respuesta del servidor", + + "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizás se cerró tu sesión", + "xhr0": "desconocido (probablemente se perdió la conexión con el servidor, o el servidor está desconectado)", + "cf_ok": "perdón por eso -- la protección DD" + wah + "oS se activó\n\nlas cosas deberían reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la página", + "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", + "tl_xe2": "404: Carpeta no encontrada", + "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", + "fl_xe2": "404: Carpeta no encontrada", + "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", + "fd_xe2": "404: Carpeta de nivel superior no encontrada", + "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", + "fsm_xe2": "404: Carpeta de nivel superior no encontrada", + "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", + "fu_xe2": "404: ¿Archivo no encontrado?", + + "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", + "fz_pax": "tar formato pax sin comprimir (más lento)", + "fz_targz": "gnu-tar con compresión gzip nivel 3$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_tarxz": "gnu-tar con compresión xz nivel 1$N$Nesto suele ser muy lento, así que$Nusa tar sin comprimir en su lugar", + "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", + "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", + "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda más en procesar antes de que la descarga pueda empezar)", + + "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuación", + "un_upd": "actualizar", + "un_m4": "o compartir los archivos visibles a continuación:", + "un_ulist": "mostrar", + "un_ucopy": "copiar", + "un_flt": "filtro opcional:  la URL debe contener", + "un_fclr": "limpiar filtro", + "un_derr": "fallo al deshacer-eliminar:\n", + "un_f5": "algo se rompió, por favor intenta actualizar o pulsa F5", + "un_uf5": "lo siento pero tienes que refrescar la página (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", + "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", + "un_noc": "aviso: la opción de deshacer subidas completadas no está activada/permitida en la configuración del servidor", + "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", + "un_avail": "{0} subidas recientes se pueden eliminar
{1} inacabadas se pueden abortar", + "un_m2": "ordenado por tiempo de subida; más recientes primero:", + "un_no1": "¡pues no! ninguna subida es suficientemente reciente", + "un_no2": "¡pues no! ninguna subida que coincida con ese filtro es suficientemente reciente", + "un_next": "eliminar los siguientes {0} archivos a continuación", + "un_abrt": "abortar", + "un_del": "eliminar", + "un_m3": "cargando tus subidas recientes...", + "un_busy": "eliminando {0} archivos...", + "un_clip": "{0} enlaces copiados al portapapeles", + + "u_https1": "deberías", + "u_https2": "cambiar a https", + "u_https3": "para un mejor rendimiento", + "u_ancient": "tu navegador es impresionantemente antiguo -- quizás deberías usar bup en su lugar", + "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", + "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", + "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", + "u_notdir": "¡eso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", + "u_uri": "para arrastrar y soltar imágenes desde otras ventanas del navegador,\npor favor suéltalas sobre el gran botón de subida", + "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", + "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", + "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\n¡siéntete libre de no estar de acuerdo y volver a cambiar!", + "u_pott": "

archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

", + "u_ever": "este es el uploader básico; up2k necesita al menos
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "este es el uploader básico; up2k es mejor", + "u_uput": "optimizar para velocidad (omitir checksum)", + "u_ewrite": "no tienes acceso de escritura a esta carpeta", + "u_eread": "no tienes acceso de lectura a esta carpeta", + "u_enoi": "la búsqueda de archivos no está activada en la configuración del servidor", + "u_enoow": "sobrescribir no funcionará aquí; se necesita permiso de eliminación", + "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", + "u_blankf": "Estos {0} archivos (de un total de {1}) están en blanco / vacíos; ¿subirlos de todos modos?\n\n", + "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos también:\n\n", + "u_just1": "\nQuizás funcione mejor si seleccionas solo un archivo", + "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podría bloquear Firefox!\nsi eso ocurre, por favor inténtalo de nuevo (o usa Chrome).", + "u_up_life": "Esta subida será eliminada del servidor\n{0} después de que se complete", + "u_asku": "subir estos {0} archivos a {1}", + "u_unpt": "puedes deshacer / eliminar esta subida usando el 🧯 de arriba a la izquierda", + "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podría bloquear tu navegador, ¿estás seguro?", + "u_scan": "Escaneando archivos...", + "u_dirstuck": "el iterador de directorios se atascó intentando acceder a los siguientes {0} elementos; se omitirán:", + "u_etadone": "Hecho ({0}, {1} archivos)", + "u_etaprep": "(preparando para subir)", + "u_hashdone": "hashing completado", + "u_hashing": "hash", + "u_hs": "negociando...", + "u_started": "los archivos se están subiendo ahora; mira en [🚀]", + "u_dupdefer": "duplicado; se procesará después de todos los demás archivos", + "u_actx": "haz clic en este texto para evitar la pérdida de
rendimiento al cambiar a otras ventanas/pestañas", + "u_fixed": "¡OK!  Arreglado 👍", + "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", + "u_cuerr2": "el servidor rechazó la subida (trozo {0} de {1});\nse reintentará más tarde\n\narchivo: {2}\n\nerror ", + "u_ehstmp": "se reintentará; mira abajo a la derecha", + "u_ehsfin": "el servidor rechazó la solicitud para finalizar la subida; reintentando...", + "u_ehssrch": "el servidor rechazó la solicitud para realizar la búsqueda; reintentando...", + "u_ehsinit": "el servidor rechazó la solicitud para iniciar la subida; reintentando...", + "u_eneths": "error de red al realizar la negociación de subida; reintentando...", + "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", + "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros después de un fallo de red...", + "u_ehsdf": "¡el servidor se quedó sin espacio en disco!\n\nse seguirá reintentando, por si alguien\nlibera suficiente espacio para continuar", + "u_emtleak1": "parece que tu navegador podría tener una fuga de memoria;\npor favor", + "u_emtleak2": " cambia a https (recomendado) o ", + "u_emtleak3": " ", + "u_emtleakc": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego desactiva el botón  mt  en los  ⚙️ ajustes
  • e intenta esa subida de nuevo
Las subidas serán un poco más lentas, pero bueno.\n¡Perdón por las molestias!\n\nPD: chrome v107 tiene una solución para esto", + "u_emtleakf": "prueba lo siguiente:\n
  • pulsa F5 para refrescar la página
  • luego activa 🥔 (ligera) en la interfaz de subida
  • e intenta esa subida de nuevo
\nPD: firefox con suerte tendrá una solución en algún momento", + "u_s404": "no encontrado en el servidor", + "u_expl": "explicar", + "u_maxconn": "la mayoría de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", + "u_tu": '

AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botón turbo

', + "u_ts": '

AVISO: turbo activado,  los resultados de búsqueda pueden ser incorrectos; ver tooltip del botón turbo

', + "u_turbo_c": "turbo está desactivado en la configuración del servidor", + "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", + "u_life_cfg": 'autoeliminar después de min (o horas)', + "u_life_est": 'la subida se eliminará ---', + "u_life_max": "esta carpeta impone una\nvida máxima de {0}", + "u_unp_ok": "se permite deshacer la subida durante {0}", + "u_unp_ng": "NO se permitirá deshacer la subida", + "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", + "ue_nl": "actualmente no has iniciado sesión", + "ue_la": "actualmente has iniciado sesión como \"{0}\"", + "ue_sr": "actualmente estás en modo de búsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa 🔎 (junto al gran botón BUSCAR), e intenta subir de nuevo\n\nlo siento", + "ue_ta": "intenta subir de nuevo, ahora debería funcionar", + "ue_ab": "este archivo ya se está subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el 🧯 de arriba a la izquierda", + "ur_1uo": "OK: Archivo subido con éxito", + "ur_auo": "OK: Todos los {0} archivos subidos con éxito", + "ur_1so": "OK: Archivo encontrado en el servidor", + "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", + "ur_1un": "Subida fallida, lo siento", + "ur_aun": "Todas las {0} subidas fallaron, lo siento", + "ur_1sn": "El archivo NO se encontró en el servidor", + "ur_asn": "Los {0} archivos NO se encontraron en el servidor", + "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", + "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", + + "lang_set": "¿refrescar para que el cambio surta efecto?" + }, "ukr": { "tt": "Українська", @@ -4390,7 +5016,7 @@ var Ls = { }, }; -var LANGS = ["eng", "nor", "chi", "deu", "spa", "rus", "ukr"]; +var LANGS = ["eng", "nor", "chi", "deu", "fin", "rus", "spa", "ukr"]; if (window.langmod) langmod(); diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 22e32381..e55f7ff0 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -51,7 +51,6 @@ var Ls = { "ta2": "repeat to confirm new password:", "ta3": "found a typo; please try again", }, - "chi": { "a1": "更新", "b1": "你好   (你尚未登录)", @@ -94,7 +93,6 @@ var Ls = { "af1": "显示最近上传的文件", //m "ag1": "查看已知 IdP 用户", //m }, - "deu": { "a1": "Neu laden", "b1": "Tach, wie geht's?   (Du bist nicht angemeldet)", @@ -136,7 +134,48 @@ var Ls = { "ae1": "Aktive Downloads:", "af1": "Zeige neue Uploads", }, - + "fin": { + "a1": "päivitä", + "b1": "hei sie muukalainen   (et ole kirjautunut sisään)", + "c1": "kirjaudu ulos", + "d1": "tulosta pinojälki", + "d2": "näytä kaikkien aktiivisten säikeiden tila", + "e1": "päivitä konffit", + "e2": "lataa konfiguraatiotiedostot uudelleen (käyttäjätilit/asemat/asemaflagit),$Nja skannaa kaikki e2ds asemat uudelleen$N$Nhuom: kaikki global-asetuksiin$Ntehdyt muutokset vaativat täyden$Nuudelleenkäynnistyksen", + "f1": "voit selata:", + "g1": "voit ladata:", + "cc1": "muuta:", + "h1": "poista k304 käytöstä", + "i1": "ota k304 käyttöön", + "j1": "k304 katkaisee yhteytesi jokaisella HTTP 304:llä, mikä voi estää joitain bugisia välityspalvelimia jumittumasta/lopettamasta sivujen lataamista, mutta se myös vähentää suorituskykyä", + "k1": "nollaa asetukset", + "l1": "kirjaudu sisään:", + "m1": "tervetuloa takaisin,", + "n1": "404: ei löytynyt mitään  ┐( ´ -`)┌", + "o1": 'tai ehkä sinulla ei vain ole käyttöoikeuksia? kokeile salasanaa tai mene kotiin', + "p1": "403: pääsy kielletty  ~┻━┻", + "q1": 'kokeile salasanaa tai mene kotiin', + "r1": "mene kotiin", + ".s1": "uudelleenkartoita", + "t1": "toiminto", + "u2": "aika viimeisestä palvelimen kirjoituksesta$N( lataus / uudelleennimeäminen / tms. )$N$N17d = 17 päivää$N1h23 = 1 tunti 23 minuuttia$N4m56 = 4 minuuttia 56 sekuntia", + "v1": "yhdistä", + "v2": "käytä tätä palvelinta paikallisena kiintolevynä", + "w1": "vaihda https:ään", + "x1": "vaihda salasana", + "y1": "muokkaa jakoja", + "z1": "avaa tämä jako:", + "ta1": "täytä ensin uusi salasana", + "ta2": "toista vahvistaaksesi uuden salasanan:", + "ta3": "löytyi kirjoitusvirhe; yritä uudelleen", + "aa1": "saapuvat:", + "ab1": "poista no304 käytöstä", + "ac1": "ota no304 käyttöön", + "ad1": "no304:n lopettaa välimuistin käytön kokonaan; kokeile tätä jos k304 ei riittänyt. Tuhlaa valtavan määrän verkkoliikennettä!", + "ae1": "lähtevät:", + "af1": "näytä viimeaikaiset lataukset", + "ag1": "näytä tunnetut IdP-käyttäjät", + }, "spa": { "a1": "actualizar", "b1": "hola   (no has iniciado sesión)", From d0d2f206a9c0917eabd3f468fe7f0f7ec40121cd Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 1 Aug 2025 17:49:23 +0000 Subject: [PATCH 13/14] log creator of new/blank markdown files too --- copyparty/httpcli.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index 16f94a11..5ce45a38 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -3109,6 +3109,20 @@ class HttpCli(object): if "fperms" in vfs.flags: set_fperms(f, vfs.flags) + dbv, vrem = vfs.get_dbv(rem) + self.conn.hsrv.broker.say( + "up2k.hash_file", + dbv.realpath, + dbv.vpath, + dbv.flags, + vrem, + sanitized, + self.ip, + bos.stat(fn).st_mtime, + self.uname, + True, + ) + vpath = "{}/{}".format(self.vpath, sanitized).lstrip("/") self.redirect(vpath, "?edit") return True From ad23b253dc033ef19eace3816bc6976b1b38090b Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 1 Aug 2025 17:55:34 +0000 Subject: [PATCH 14/14] add `--localtime` for ui; closes #312 --- copyparty/__main__.py | 1 + copyparty/authsrv.py | 1 + copyparty/svchub.py | 2 ++ copyparty/web/browser.js | 20 ++++++++++++++++---- copyparty/web/rups.html | 1 + copyparty/web/rups.js | 2 +- copyparty/web/shares.html | 1 + copyparty/web/shares.js | 2 +- copyparty/web/up2k.js | 6 +++--- copyparty/web/util.js | 25 +++++++++++++++++++++++++ tests/util.py | 2 +- 11 files changed, 53 insertions(+), 10 deletions(-) diff --git a/copyparty/__main__.py b/copyparty/__main__.py index 97944c13..609a534e 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -1548,6 +1548,7 @@ def add_ui(ap, retry): ap2 = ap.add_argument_group('ui options') ap2.add_argument("--grid", action="store_true", help="show grid/thumbnails by default (volflag=grid)") ap2.add_argument("--gsel", action="store_true", help="select files in grid by ctrl-click (volflag=gsel)") + ap2.add_argument("--localtime", action="store_true", help="default to local timezone instead of UTC") ap2.add_argument("--lang", metavar="LANG", type=u, default="eng", help="language; one of the following: \033[32meng nor chi\033[0m") ap2.add_argument("--theme", metavar="NUM", type=int, default=0, help="default theme to use (0..7)") ap2.add_argument("--themes", metavar="NUM", type=int, default=8, help="number of themes installed") diff --git a/copyparty/authsrv.py b/copyparty/authsrv.py index 28441114..030209fe 100644 --- a/copyparty/authsrv.py +++ b/copyparty/authsrv.py @@ -2775,6 +2775,7 @@ class AuthSrv(object): "dth3x": vf["th3x"], "dvol": self.args.au_vol, "idxh": int(self.args.ih), + "dutc": not self.args.localtime, "themes": self.args.themes, "turbolvl": self.args.turbo, "nosubtle": self.args.nosubtle, diff --git a/copyparty/svchub.py b/copyparty/svchub.py index 73855bf1..bd7562e4 100644 --- a/copyparty/svchub.py +++ b/copyparty/svchub.py @@ -1026,6 +1026,8 @@ class SvcHub(object): except: raise Exception("invalid --mv-retry [%s]" % (self.args.mv_retry,)) + al.js_utc = "false" if al.localtime else "true" + al.tcolor = al.tcolor.lstrip("#") if len(al.tcolor) == 3: # fc5 => ffcc55 al.tcolor = "".join([x * 2 for x in al.tcolor]) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 17fe489a..0f9d7698 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -230,6 +230,7 @@ var Ls = { "ct_qdel": 'when deleting files, only ask for confirmation once">qdel', "ct_dir1st": 'sort folders before files">📁 first', "ct_nsort": 'natural sort (for filenames with leading digits)">nsort', + "ct_utc": 'show all datetimes in UTC">UTC', "ct_readme": 'show README.md in folder listings">📜 readme', "ct_idxh": 'show index.html instead of folder listing">htm', "ct_sbars": 'show scrollbars">⟊', @@ -857,6 +858,7 @@ var Ls = { "ct_qdel": 'sletteknappen spør bare én gang om bekreftelse">hurtig🗑️', "ct_dir1st": 'sorter slik at mapper kommer foran filer">📁 først', "ct_nsort": 'naturlig sortering (forstår tall i filnavn)">nsort', + "ct_utc": 'bruk UTC for alle klokkeslett">UTC', "ct_readme": 'vis README.md nedenfor filene">📜 readme', "ct_idxh": 'vis index.html istedenfor fil-liste">htm', "ct_sbars": 'vis rullgardiner / skrollefelt">⟊', @@ -1483,6 +1485,7 @@ var Ls = { "ct_qdel": '删除文件时,只需确认一次">快删', //m "ct_dir1st": '在文件之前排序文件夹">📁 排序', "ct_nsort": '正确排序以数字开头的文件名">数字排序', //m + "ct_utc": '所有时间请使用UTC">UTC', //m "ct_readme": '在文件夹列表中显示 README.md">📜 readme', "ct_idxh": '显示 index.html 代替文件夹列表">htm', "ct_sbars": '显示滚动条">⟊', @@ -2109,6 +2112,7 @@ var Ls = { "ct_qdel": 'Nur einmal fragen, wenn mehrere Dateien gelöscht werden">qdel', "ct_dir1st": 'Ordner vor Dateien sortieren">📁 zuerst', "ct_nsort": 'Natürliche Sortierung (für Dateinamen mit führenden Ziffern)">nsort', + "ct_utc": 'Verwenden Sie UTC für alle Zeitangaben">UTC', //m "ct_readme": 'README.md in Dateiliste anzeigen">📜 readme', "ct_idxh": 'index.html anstelle von Dateiliste anzeigen">htm', "ct_sbars": 'Scrollbars zeigen">⟊', @@ -3362,6 +3366,7 @@ var Ls = { "ct_qdel": 'спрашивать подтверждение только один раз перед удалением файлов">быстр. удал.', "ct_dir1st": 'разместить папки над файлами">📁 сверху', "ct_nsort": 'сортировка по числам$N(например, файл с >code<2>/code< в начале названия идёт перед >code<11>/code<)">нат. сорт.', + "ct_utc": 'используйте UTC для всех временных меток">UTC', //m "ct_readme": 'показывать содержимое README.md в описании папки">📜 ридми', "ct_idxh": 'показывать страницу index.html в текущей папке вместо интерфейса">htm', "ct_sbars": 'показывать полосы прокрутки">⟊', @@ -3987,6 +3992,7 @@ var Ls = { "ct_qdel": 'al eliminar archivos, pedir confirmación solo una vez">elim. rápida', "ct_dir1st": 'ordenar carpetas antes que archivos">📁 primero', "ct_nsort": 'orden natural (para nombres de archivo con dígitos iniciales)">ord. natural', + "ct_utc": 'use UTC para todas las horas">UTC', //m "ct_readme": 'mostrar README.md en los listados de carpetas">📜 léeme', "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', "ct_sbars": 'mostrar barra lateral">⟊', @@ -4613,6 +4619,7 @@ var Ls = { "ct_qdel": 'при видаленні файлів, запитати підтвердження лише один раз">швидке видалення', "ct_dir1st": 'сортувати папки перед файлами">спочатку 📁', "ct_nsort": 'природне сортування (для імен файлів з початковими цифрами)">природне сортування', + "ct_utc": 'використовуйте UTC для всіх часових позначень">UTC', //m "ct_readme": 'показати README.md у списках папок">📜 readme', "ct_idxh": 'показати index.html замість списку папки">htm', "ct_sbars": 'показати смуги прокрутки">⟊', @@ -5232,6 +5239,7 @@ ebi('op_cfg').innerHTML = ( ' ' + sv; } - ln = ln.concat([tn.ext, unix2iso(tn.ts)]).join('
'); } html.push(''); @@ -13184,7 +13196,7 @@ var unpost = (function () { var done = res[a].pd === undefined; html.push( '' + - '' + + '' + '' + (done ? '' : '') + ''); diff --git a/copyparty/web/rups.html b/copyparty/web/rups.html index 5d286cae..af90eefe 100644 --- a/copyparty/web/rups.html +++ b/copyparty/web/rups.html @@ -33,6 +33,7 @@ var SR="{{ r }}", lang="{{ lang }}", + dutc={{ this.args.js_utc }}, dfavico="{{ favico }}"; var STG = window.localStorage; diff --git a/copyparty/web/rups.js b/copyparty/web/rups.js index e476f0fe..9559be8c 100644 --- a/copyparty/web/rups.js +++ b/copyparty/web/rups.js @@ -10,7 +10,7 @@ function render() { fn = esc(uricom_dec(vsp[1])), at = f.at, td = now - f.at, - ts = !at ? '(?)' : unix2iso(at), + ts = !at ? '(?)' : unix2ui(at), sa = !at ? '(?)' : td > 60 ? shumantime(td) : (td + 's'), sz = ('' + f.sz).replace(/\B(?=(\d{3})+(?!\d))/g, " "); diff --git a/copyparty/web/shares.html b/copyparty/web/shares.html index 9c7dcd27..381fe853 100644 --- a/copyparty/web/shares.html +++ b/copyparty/web/shares.html @@ -66,6 +66,7 @@ var SR="{{ r }}", shr="{{ shr }}", lang="{{ lang }}", + dutc={{ this.args.js_utc }}, dfavico="{{ favico }}"; var STG = window.localStorage; diff --git a/copyparty/web/shares.js b/copyparty/web/shares.js index e3faf029..d14dfeb7 100644 --- a/copyparty/web/shares.js +++ b/copyparty/web/shares.js @@ -66,7 +66,7 @@ function showqr(href) { for (var b = 7; b < 9; b++) { var v = buf[ibuf++]; tr[a].cells[b].innerHTML = - v ? unix2iso(v).replace(' ', ', ') : 'never'; + v ? unix2ui(v).replace(' ', ', ') : 'never'; } for (var a = 0; a < tr.length; a++) diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js index edf0eee8..2f588446 100644 --- a/copyparty/web/up2k.js +++ b/copyparty/web/up2k.js @@ -2511,8 +2511,8 @@ function up2k_init(subtle) { var msg = []; for (var a = 0, aa = Math.min(20, response.hits.length); a < aa; a++) { var hit = response.hits[a], - tr = unix2iso(hit.ts), - tu = unix2iso(t.lmod), + tr = unix2ui(hit.ts), + tu = unix2ui(t.lmod), diff = parseInt(t.lmod) - parseInt(hit.ts), cdiff = (Math.abs(diff) <= 2) ? '3c0' : 'f0b', sdiff = 'diff ' + diff; @@ -3187,7 +3187,7 @@ function up2k_init(subtle) { return; try { - ebi('lifew').innerHTML = unix2iso((st.lifetime || lifetime) + + ebi('lifew').innerHTML = unix2ui((st.lifetime || lifetime) + Date.now() / 1000 - new Date().getTimezoneOffset() * 60 ).replace(' ', ', ').slice(0, -3); } diff --git a/copyparty/web/util.js b/copyparty/web/util.js index b246e145..94f73f24 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -907,11 +907,29 @@ function noq_href(el) { } +function pad2(v) { + return ('0' + v).slice(-2); +} + + function unix2iso(ts) { return new Date(ts * 1000).toISOString().replace("T", " ").slice(0, -5); } +function unix2iso_localtime(ts) { + var o = new Date(ts * 1000), + p = pad2; + return "{0}-{1}-{2} {3}:{4}:{5}".format( + o.getFullYear(), + p(o.getMonth() + 1), + p(o.getDate()), + p(o.getHours()), + p(o.getMinutes()), + p(o.getSeconds())); +} + + function s2ms(s) { s = Math.floor(s); var m = Math.floor(s / 60); @@ -1203,6 +1221,13 @@ function scfg_bind(obj, oname, cname, defval, cb) { } +window.unix2ui = (function () { + var v = sread('utctid'); + v = v ? (v === '0') : (window.dutc === false); + return v ? unix2iso_localtime : unix2iso; +})(); + + function hist_push(url) { console.log("h-push " + url); try { diff --git a/tests/util.py b/tests/util.py index 8027c372..42a47907 100644 --- a/tests/util.py +++ b/tests/util.py @@ -143,7 +143,7 @@ class Cfg(Namespace): def __init__(self, a=None, v=None, c=None, **ka0): ka = {} - ex = "chpw cookie_lax daw dav_auth dav_mac dav_rt e2d e2ds e2dsa e2t e2ts e2tsr e2v e2vu e2vp early_ban ed emp exp force_js getmod grid gsel hardlink hardlink_only ih ihead magic nid nih no_acode no_athumb no_bauth no_clone no_cp no_dav no_db_ip no_del no_dirsz no_dupe no_lifetime no_logues no_mv no_pipe no_poll no_readme no_robots no_sb_md no_sb_lg no_scandir no_tail no_tarcmp no_thumb no_vthumb no_zip nrand nsort nw og og_no_head og_s_title ohead q rand re_dirsz reflink rmagic rss smb srch_dbg srch_excl stats uqe vague_403 vc ver wo_up_readme write_uplog xdev xlink xvol zipmaxu zs" + ex = "chpw cookie_lax daw dav_auth dav_mac dav_rt e2d e2ds e2dsa e2t e2ts e2tsr e2v e2vu e2vp early_ban ed emp exp force_js getmod grid gsel hardlink hardlink_only ih ihead localtime magic nid nih no_acode no_athumb no_bauth no_clone no_cp no_dav no_db_ip no_del no_dirsz no_dupe no_lifetime no_logues no_mv no_pipe no_poll no_readme no_robots no_sb_md no_sb_lg no_scandir no_tail no_tarcmp no_thumb no_vthumb no_zip nrand nsort nw og og_no_head og_s_title ohead q rand re_dirsz reflink rmagic rss smb srch_dbg srch_excl stats uqe vague_403 vc ver wo_up_readme write_uplog xdev xlink xvol zipmaxu zs" ka.update(**{k: False for k in ex.split()}) ex = "dav_inf dedup dotpart dotsrch hook_v no_dhash no_fastboot no_fpool no_htp no_rescan no_sendfile no_ses no_snap no_up_list no_voldump re_dhash see_dots plain_ip"
timesizedonefile
' + (done ? L.un_del : L.un_abrt) + '' + unix2iso(res[a].at) + '
{{ f.lead }}{{ f.name|e }}{{ f.sz }}{{ f.tags[k]|e }}{{ f.ext|e }}{{ f.dt }}
{{ f.ext }}{{ f.dt }}
'); + ln = ln.concat([tn.ext, unix2ui(tn.ts)]).join(''); html.push(ln + '
' + (done ? L.un_del : L.un_abrt) + '' + unix2iso(res[a].at) + '' + unix2ui(res[a].at) + '' + ('' + res[a].sz).replace(/\B(?=(\d{3})+(?!\d))/g, " ") + '100%' + res[a].pd + '%' + linksplit(res[a].vp).join(' / ') + '