i18n(es): complete the Spanish catalogue coverage

Fills every untranslated key in the Spanish catalogue: coverage goes from
643/1132 to 1131/1132 against `en.yaml`.

- Translate the 488 keys that had no Spanish entry, covering the Config
  Doctor, tweak-mismatch resolution, the P2P notes and panes, the Setup
  Wizard, the maintenance and patch panels, Garbage Collection V3 and the
  migration dialogues.
- Register follows the existing catalogue: informal address, `es-ES`
  vocabulary, British-style source wording preserved where it is a proper
  noun (Setup URI, Vault, chunk).
- Placeholders (`${...}`), keyword references (`%{...}`) and Markdown
  callout syntax are kept byte-identical to the English source.
- Regenerate `messagesJson/es.json` and `combinedMessages.prod.ts` with the
  documented `i18n:bake` pipeline.

`obsidianLiveSyncSettingTab.logServerConfigurationCheck` is deliberately left
untranslated: its English value is the key itself, so it looks like a
placeholder rather than a message.

Regenerating the catalogue also normalises three pre-existing entries each in
`ko.json` and `zh.json`, where the committed JSON kept a trailing space before
a newline that YAML cannot represent.

Verified with tsc-check and test:unit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Zeedif
2026-07-30 19:09:17 -06:00
parent c385bd7ce7
commit 0518fab62a
5 changed files with 2164 additions and 71 deletions
File diff suppressed because it is too large Load Diff
+490 -2
View File
@@ -12,12 +12,18 @@
"(RegExp) If this is set, any changes to local and remote files that match this will be skipped.": "(RegExp) Si se establece, se omitirá cualquier cambio en archivos locales y remotos que coincida con este patrón.",
"(Select this if you are already using synchronisation on another computer or smartphone.) This option is suitable if you are new to LiveSync and want to set it up from scratch.": "(Seleccione esto si ya utiliza la sincronización en otro ordenador o teléfono). Esta opción es adecuada si desea añadir este dispositivo a una configuración de LiveSync existente。",
"(Select this if you are configuring this device as the first synchronisation device.) This option is suitable if you are new to LiveSync and want to set it up from scratch.": "(Seleccione esto si está configurando este dispositivo como el primer dispositivo de sincronización). Esta opción es adecuada si es nuevo en LiveSync y desea configurarlo desde cero。",
"> [!INFO]- The connected devices have been detected as follows:\n${devices}": "> [!INFO]- Se han detectado los siguientes dispositivos conectados:\n${devices}",
"A Setup URI is a single string of text containing your server address and authentication details. Using a URI, if one was generated by your server installation script, provides a simple and secure configuration.": "Un URI de configuración es una única cadena de texto que contiene la dirección del servidor y los datos de autenticación. Si el script de instalación de su servidor generó un URI, usarlo proporciona una configuración sencilla y segura。",
"Access Key": "Clave de acceso",
"Activate": "Activar",
"Active Remote Configuration": "Configuración remota activa",
"Add default patterns": "Añadir patrones predeterminados",
"Add new connection": "Añadir conexión",
"All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": "Todos los dispositivos tienen el mismo valor de progreso (${progress}). Parece que están sincronizados, por lo que se puede continuar con la recolección de basura.",
"Always prompt merge conflicts": "Siempre preguntar en conflictos",
"Analyse": "Analizar",
"Analyse database usage": "Analizar el uso de la base de datos",
"Analyse database usage and generate a TSV report for diagnosis yourself. You can paste the generated report with any spreadsheet you like.": "Analiza el uso de la base de datos y genera un informe TSV para que puedas diagnosticarlo tú mismo. Puedes pegar el informe generado en la hoja de cálculo que prefieras.",
"Apply Latest Change if Conflicting": "Aplicar último cambio en conflictos",
"Apply preset configuration": "Aplicar configuración predefinida",
"Ask a passphrase at every launch": "Solicitar la frase de contraseña en cada inicio",
@@ -31,10 +37,17 @@
"Before v0.17.16, we used an old adapter for the local database. Now the new adapter is preferred. However, it needs local database rebuilding. Please disable this toggle when you have enough time. If leave it enabled, also while fetching from the remote database, you will be asked to disable this.": "Antes de v0.17.16 usábamos adaptador antiguo. Nuevo adaptador requiere reconstruir BD local. Desactive cuando pueda",
"Bucket Name": "Nombre del bucket",
"Cancel": "Cancelar",
"Cancel Garbage Collection": "Cancelar la recolección de basura",
"Changing this setting requires migrating existing data (a bit time may be taken) and restarting Obsidian. Please make sure to back up your data before proceeding.": "Cambiar este ajuste requiere migrar los datos existentes (puede tardar un poco) y reiniciar Obsidian. Asegúrate de hacer una copia de seguridad de tus datos antes de continuar.",
"Check": "Comprobar",
"Check and convert non-path-obfuscated files": "Comprobar y convertir archivos sin ofuscación de ruta",
"Check for documents that have not been converted to path-obfuscated IDs and convert them if necessary.": "Comprueba los documentos que aún no se hayan convertido a identificadores con ruta ofuscada y conviértelos si es necesario.",
"cmdConfigSync.showCustomizationSync": "Mostrar sincronización de personalización",
"Comma separated `.gitignore, .dockerignore`": "Separados por comas: `.gitignore, .dockerignore`",
"Compaction in progress on remote database...": "Compactación en curso en la base de datos remota...",
"Compaction on remote database completed successfully.": "La compactación de la base de datos remota se ha completado correctamente.",
"Compaction on remote database failed.": "La compactación de la base de datos remota ha fallado.",
"Compaction on remote database timed out.": "La compactación de la base de datos remota ha superado el tiempo de espera.",
"Compare the content of files between on local database and storage. If not matched, you will be asked which one you want to keep.": "Compara el contenido de los archivos entre la base de datos local y el almacenamiento. Si no coinciden, se te preguntará cuál deseas conservar.",
"Compatibility (Conflict Behaviour)": "Compatibilidad (comportamiento de conflictos)",
"Compatibility (Database structure)": "Compatibilidad (estructura de la base de datos)",
@@ -42,6 +55,7 @@
"Compatibility (Metadata)": "Compatibilidad (metadatos)",
"Compatibility (Remote Database)": "Compatibilidad (base de datos remota)",
"Compatibility (Trouble addressed)": "Compatibilidad (problemas corregidos)",
"Compute revisions for chunks": "Calcular revisiones para los chunks",
"Compute revisions for chunks (Previous behaviour)": "Calcular revisiones para chunks (comportamiento anterior)",
"Configuration Encryption": "Cifrado de configuración",
"Configure": "Configurar",
@@ -54,12 +68,14 @@
"Continue to Peer-to-Peer only setup": "Continuar con la configuración solo Peer-to-Peer",
"Continue to S3/MinIO/R2 setup": "Continuar con la configuración de S3/MinIO/R2",
"Copy": "Copiar",
"Copy Report to clipboard": "Copiar el informe al portapapeles",
"CouchDB Connection Tweak": "Ajustes de conexión de CouchDB",
"Cross-platform": "Multiplataforma",
"Current adapter: {adapter}": "Adaptador actual: {adapter}",
"Customization Sync": "Sincronización de personalización",
"Customization Sync (Beta3)": "Sincronización de personalización (Beta3)",
"Data Compression": "Compresión de datos",
"Database -> Storage": "Base de datos -> Almacenamiento",
"Database Adapter": "Adaptador de base de datos",
"Database Name": "Nombre de la base de datos",
"Database suffix": "Sufijo de base de datos",
@@ -75,8 +91,12 @@
"Delete remote configuration '{name}'?": "¿Eliminar la configuración remota '{name}'?",
"desktop": "equipo de escritorio",
"Developer": "Desarrollador",
"Device": "Dispositivo",
"Device name": "Nombre del dispositivo",
"Device Setup Method": "Método de configuración del dispositivo",
"dialog.yourLanguageAvailable": "Self-hosted LiveSync tenía traducciones para tu idioma, así que se ha activado el ajuste %{Display language}.\n\nNota: no todos los mensajes están traducidos. ¡Esperamos tus contribuciones!\nNota 2: si abres una incidencia, **vuelve antes a %{lang-def}** y luego haz las capturas de pantalla y recoge los mensajes y registros. Puedes hacerlo desde el diálogo de ajustes.\n¡Que lo disfrutes!",
"dialog.yourLanguageAvailable.btnRevertToDefault": "Mantener %{lang-def}",
"dialog.yourLanguageAvailable.Title": " ¡Hay traducción disponible!",
"Disables all synchronization and restart.": "Desactiva toda la sincronización y reinicia la aplicación.",
"Disables logging, only shows notifications. Please disable if you report an issue.": "Desactiva registros, solo muestra notificaciones. Desactívelo si reporta un problema.",
"Display Language": "Idioma de visualización",
@@ -85,6 +105,27 @@
"Do not keep metadata of deleted files.": "No conservar metadatos de archivos borrados",
"Do not split chunks in the background": "No dividir chunks en segundo plano",
"Do not use internal API": "No usar API interna",
"Doctor.Button.DismissThisVersion": "No, y no volver a preguntar hasta la próxima versión",
"Doctor.Button.Fix": "Corregirlo",
"Doctor.Button.FixButNoRebuild": "Corregirlo, pero sin reconstruir",
"Doctor.Button.No": "No",
"Doctor.Button.Skip": "Dejarlo como está",
"Doctor.Button.Yes": "Sí",
"Doctor.Dialogue.Main": "¡Hola! El Doctor de configuración se ha activado por ${activateReason}.\nPor desgracia, se han detectado algunos ajustes como posibles problemas.\nTranquilo: los resolveremos uno a uno.\n\nPara que lo sepas de antemano, te preguntaremos por los siguientes puntos.\n\n${issues}\n\n¿Empezamos?",
"Doctor.Dialogue.MainFix": "\n## ${name}\n\n| Actual | Ideal |\n|:---:|:---:|\n| ${current} | ${ideal} |\n\n**Nivel de recomendación:** ${level}\n\n### ¿Por qué se ha detectado?\n\n${reason}\n\n${note}\n\n¿Ajustarlo al valor ideal?",
"Doctor.Dialogue.Title": "Doctor de configuración de Self-hosted LiveSync",
"Doctor.Dialogue.TitleAlmostDone": "¡Casi hemos terminado!",
"Doctor.Dialogue.TitleFix": "Corregir el problema ${current}/${total}",
"Doctor.Level.Must": "Obligatorio",
"Doctor.Level.Necessary": "Necesario",
"Doctor.Level.Optional": "Opcional",
"Doctor.Level.Recommended": "Recomendado",
"Doctor.Message.NoIssues": "¡No se ha detectado ningún problema!",
"Doctor.Message.RebuildLocalRequired": "¡Atención! Hay que reconstruir la base de datos local para aplicar esto.",
"Doctor.Message.RebuildRequired": "¡Atención! Hay que reconstruir para aplicar esto.",
"Doctor.Message.SomeSkipped": "Hemos dejado algunos problemas sin resolver. ¿Quieres que te lo pregunte de nuevo en el próximo inicio?",
"Doctor.RULES.E2EE_V02500.REASON": "El cifrado de extremo a extremo es ahora más robusto y más rápido. Además, una nueva revisión del código reveló que el E2EE anterior estaba comprometido, por lo que conviene aplicarlo cuanto antes. Lamentamos de veras las molestias. Este ajuste no es compatible con versiones anteriores: todos los dispositivos sincronizados deben actualizarse a la v0.25.0 o superior. No es necesario reconstruir (los datos se convertirán al nuevo formato durante la transferencia), pero se recomienda hacerlo siempre que sea posible.",
"Document History": "Historial del documento",
"Duplicate": "Duplicar",
"Duplicate remote": "Duplicar remoto",
"E2EE Configuration": "Configuración de E2EE",
@@ -108,19 +149,32 @@
"Enter Server Information": "Introducir información del servidor",
"Enter the server information manually": "Introducir manualmente la información del servidor",
"Export": "Exportar",
"Failed to connect to remote for compaction.": "No se pudo conectar al remoto para la compactación.",
"Failed to connect to remote for compaction. ${reason}": "No se pudo conectar al remoto para la compactación. ${reason}",
"Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": "No se pudo iniciar la replicación puntual previa a la recolección de basura. Recolección de basura cancelada.",
"Failed to start replication after Garbage Collection.": "No se pudo iniciar la replicación después de la recolección de basura.",
"Fetch": "Obtener",
"Fetch chunks on demand": "Obtener chunks bajo demanda",
"Fetch database with previous behaviour": "Obtener BD con comportamiento anterior",
"Fetch remote settings": "Obtener ajustes remotos",
"File to resolve conflict": "Archivo para resolver el conflicto",
"File to view History": "Archivo cuyo historial se va a ver",
"Filename": "Nombre de archivo",
"First, please select the option that best describes your current situation.": "Primero, seleccione la opción que describa mejor su situación actual。",
"Flag and restart": "Marcar y reiniciar",
"Forces the file to be synced when opened.": "Forzar sincronización al abrir archivo",
"Fresh Start Wipe": "Borrado para reinicio completo",
"Garbage Collection cancelled by user.": "Recolección de basura cancelada por el usuario.",
"Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": "Recolección de basura completada. Chunks eliminados: ${deletedChunks} / ${totalChunks}. Tiempo empleado: ${seconds} segundos.",
"Garbage Collection Confirmation": "Confirmación de la recolección de basura",
"Garbage Collection V3 (Beta)": "Recolección de basura V3 (Beta)",
"Garbage Collection: Found ${unusedChunks} unused chunks to delete.": "Recolección de basura: se han encontrado ${unusedChunks} chunks sin usar para eliminar.",
"Garbage Collection: Scanned ${scanned} / ~${docCount}": "Recolección de basura: analizados ${scanned} / ~${docCount}",
"Garbage Collection: Scanning completed. Total chunks: ${totalChunks}, Used chunks: ${usedChunks}": "Recolección de basura: análisis completado. Chunks totales: ${totalChunks}, chunks en uso: ${usedChunks}",
"Handle files as Case-Sensitive": "Manejar archivos como sensibles a mayúsculas",
"Hidden Files": "Archivos ocultos",
"Hide completely": "Ocultar por completo",
"Highlight diff": "Resaltar las diferencias",
"How to display network errors when the sync server is unreachable.": "Cómo mostrar los errores de red cuando el servidor de sincronización no está disponible.",
"How would you like to configure the connection to your server?": "¿Cómo desea configurar la conexión con su servidor?",
"I am adding a device to an existing synchronisation setup": "Estoy agregando un dispositivo a una configuración de sincronización existente",
@@ -138,17 +192,32 @@
"If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.": "Divide chunks en segmentos semánticos. No todos los sistemas lo soportan",
"If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.": "Saltar cambios en archivos locales que coincidan con ignore files. Cambios remotos usan ignore files locales",
"If this option is enabled, PouchDB will hold the connection open for 60 seconds, and if no change arrives in that time, close and reopen the socket, instead of holding it open indefinitely. Useful when a proxy limits request duration but can increase resource usage.": "Mantiene conexión 60s. Si no hay cambios, reinicia socket. Útil con proxies limitantes",
"If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.": "Si alcanzas el límite de tamaño de carga al usar IBM Cloudant, reduce el tamaño de lote y el límite de lote.",
"Ignore and Proceed": "Ignorar y continuar",
"Ignore files": "Archivos a ignorar",
"Ignore patterns": "Patrones de exclusión",
"Import connection": "Importar conexión",
"Incubate Chunks in Document": "Incubar chunks en documento",
"Initialise all journal history, On the next sync, every item will be received and sent.": "Restablece todo el historial del diario. En la próxima sincronización se recibirán y enviarán todos los elementos.",
"Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.": "Inicializa el historial de recepción del diario. En la próxima sincronización se volverán a descargar todos los elementos salvo los enviados por este dispositivo.",
"Initialise journal sent history. On the next sync, every item except this device received will be sent again.": "Inicializa el historial de envío del diario. En la próxima sincronización se volverán a enviar todos los elementos salvo los recibidos por este dispositivo.",
"Interval (sec)": "Intervalo (segundos)",
"K.exp": "Experimental",
"K.long_p2p_sync": "%{title_p2p_sync}",
"K.P2P": "%{Peer} a %{Peer}",
"K.Peer": "par",
"K.ScanCustomization": "Buscar personalizaciones",
"K.short_p2p_sync": "Sincronización P2P",
"K.title_p2p_sync": "Sincronización punto a punto",
"Keep empty folder": "Mantener carpetas vacías",
"lang_def": "Predeterminado",
"lang-de": "Alemán",
"lang-def": "%{lang_def}",
"lang-es": "Español",
"lang-fr": "Français",
"lang-he": "Hebreo",
"lang-ja": "Japonés",
"lang-ko": "Coreano",
"lang-ru": "Ruso",
"lang-zh": "Chino simplificado",
"lang-zh-tw": "Chino tradicional",
@@ -158,7 +227,7 @@
"liveSyncReplicator.beforeLiveSync": "Antes de LiveSync, inicia OneShot...",
"liveSyncReplicator.cantReplicateLowerValue": "No podemos replicar un valor más bajo.",
"liveSyncReplicator.checkingLastSyncPoint": "Buscando el último punto sincronizado.",
"liveSyncReplicator.couldNotConnectTo": "No se pudo conectar a ${uri} : ${name} \n(${db})",
"liveSyncReplicator.couldNotConnectTo": "No se pudo conectar a ${uri} : ${name}\n(${db})",
"liveSyncReplicator.couldNotConnectToRemoteDb": "No se pudo conectar a base de datos remota: ${d}",
"liveSyncReplicator.couldNotConnectToServer": "No se pudo conectar al servidor.",
"liveSyncReplicator.couldNotConnectToURI": "No se pudo conectar a ${uri}:${dbRet}",
@@ -166,6 +235,7 @@
"liveSyncReplicator.liveSyncBegin": "Inicio de LiveSync...",
"liveSyncReplicator.lockRemoteDb": "Bloquear base de datos remota para prevenir corrupción de datos",
"liveSyncReplicator.markDeviceResolved": "Marcar este dispositivo como 'resuelto'.",
"liveSyncReplicator.mismatchedTweakDetected": "Se han detectado discrepancias en la configuración entre dispositivos. Ejecutar una replicación manual intentará resolverlo.",
"liveSyncReplicator.oneShotSyncBegin": "Inicio de sincronización OneShot... (${syncMode})",
"liveSyncReplicator.remoteDbCorrupted": "La base de datos remota es más nueva o está dañada, asegúrese de tener la última versión de self-hosted-livesync instalada",
"liveSyncReplicator.remoteDbCreatedOrConnected": "Base de datos remota creada o conectada",
@@ -200,6 +270,7 @@
"Memory cache size (by total items)": "Tamaño caché memoria (por ítems)",
"Merge": "Fusionar",
"Minimum delay for batch database updating": "Retraso mínimo para actualización por lotes",
"Minimum interval for syncing": "Intervalo mínimo de sincronización",
"moduleCheckRemoteSize.logCheckingStorageSizes": "Comprobando tamaños de almacenamiento",
"moduleCheckRemoteSize.logCurrentStorageSize": "Tamaño del almacenamiento remoto: ${measuredSize}",
"moduleCheckRemoteSize.logExceededWarning": "Tamaño del almacenamiento remoto: ${measuredSize} superó ${notifySize}",
@@ -207,6 +278,8 @@
"moduleCheckRemoteSize.msgConfirmRebuild": "Esto puede llevar un poco de tiempo. ¿Realmente quieres reconstruir todo ahora?",
"moduleCheckRemoteSize.msgDatabaseGrowing": "**¡Tu base de datos está creciendo!** Pero no te preocupes, podemos abordarlo ahora. El tiempo antes de quedarse sin espacio en el almacenamiento remoto.\n\n| Tamaño medido | Tamaño configurado |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> Si lo has estado utilizando durante muchos años, puede haber fragmentos no referenciados - es decir, basura - acumulándose en la base de datos. Por lo tanto, recomendamos reconstruir todo. Probablemente se volverá mucho más pequeño.\n>\n> Si el volumen de tu bóveda simplemente está aumentando, es mejor reconstruir todo después de organizar los archivos. Self-hosted LiveSync no elimina los datos reales incluso si los eliminas para acelerar el proceso. Está aproximadamente [documentado](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md).\n>\n> Si no te importa el aumento, puedes aumentar el límite de notificación en 100 MB. Este es el caso si lo estás ejecutando en tu propio servidor. Sin embargo, es mejor reconstruir todo de vez en cuando.\n>\n\n> [!WARNING]\n> Si realizas la reconstrucción completa, asegúrate de que todos los dispositivos estén sincronizados. El complemento fusionará tanto como sea posible, sin embargo.\n",
"moduleCheckRemoteSize.msgSetDBCapacity": "Podemos configurar una advertencia de capacidad máxima de base de datos, **para tomar medidas antes de quedarse sin espacio en el almacenamiento remoto**.\n¿Quieres habilitar esto?\n\n> [!MORE]-\n> - 0: No advertir sobre el tamaño del almacenamiento.\n> Esto es recomendado si tienes suficiente espacio en el almacenamiento remoto, especialmente si lo tienes autoalojado. Y puedes comprobar el tamaño del almacenamiento y reconstruir manualmente.\n> - 800: Advertir si el tamaño del almacenamiento remoto supera los 800 MB.\n> Esto es recomendado si estás usando fly.io con un límite de 1 GB o IBM Cloudant.\n> - 2000: Advertir si el tamaño del almacenamiento remoto supera los 2 GB.\n\nSi hemos alcanzado el límite, se nos pedirá que aumentemos el límite paso a paso.\n",
"moduleCheckRemoteSize.noticeExceeded": "El tamaño del almacenamiento remoto es de ${measuredSize}, por encima del umbral de aviso configurado de ${notifySize}. {HERE}",
"moduleCheckRemoteSize.noticeNotConfigured": "Los avisos sobre el tamaño del almacenamiento remoto no están configurados. {HERE}",
"moduleCheckRemoteSize.option2GB": "2GB (Estándar)",
"moduleCheckRemoteSize.option800MB": "800MB (Cloudant, fly.io)",
"moduleCheckRemoteSize.optionAskMeLater": "Pregúntame más tarde",
@@ -214,6 +287,7 @@
"moduleCheckRemoteSize.optionIncreaseLimit": "aumentar a ${newMax}MB",
"moduleCheckRemoteSize.optionNoWarn": "No, nunca advertir por favor",
"moduleCheckRemoteSize.optionRebuildAll": "Reconstruir todo ahora",
"moduleCheckRemoteSize.optionReview": "Revisar las opciones",
"moduleCheckRemoteSize.titleDatabaseSizeLimitExceeded": "El tamaño del almacenamiento remoto superó el límite",
"moduleCheckRemoteSize.titleDatabaseSizeNotify": "Configuración de notificación de tamaño de base de datos",
"moduleInputUIObsidian.defaultTitleConfirmation": "Confirmación",
@@ -236,6 +310,18 @@
"moduleLocalDatabase.logWaitingForReady": "Esperando a que la base de datos esté lista...",
"moduleLog.showLog": "Mostrar registro",
"moduleMigration.docUri": "https://github.com/vrtmrz/obsidian-livesync/blob/main/README_ES.md#how-to-use",
"moduleMigration.fix0256.buttons.checkItLater": "Comprobarlo más tarde",
"moduleMigration.fix0256.buttons.DismissForever": "Ya lo he corregido, no volver a preguntar",
"moduleMigration.fix0256.buttons.fix": "Corregir",
"moduleMigration.fix0256.message": "Debido a un error reciente (en la v0.25.6), puede que algunos archivos no se hayan guardado correctamente en la base de datos de sincronización.\nHemos analizado tus archivos y hemos encontrado algunos que hay que corregir.\n\n**Archivos que se pueden corregir:**\n\n${files}\n\nEstos archivos tienen en el almacenamiento un original cuyo tamaño coincide, por lo que es probable que se puedan recuperar.\nPodemos usarlos para corregir la base de datos: pulsa el botón «Corregir» de abajo.\n\n${messageUnrecoverable}\n\nSi quieres volver a ejecutarlo, puedes hacerlo desde Hatch.\n",
"moduleMigration.fix0256.messageUnrecoverable": "**Archivos que no se pueden corregir en este dispositivo:**\n\n${filesNotRecoverable}\n\nEstos archivos tienen metadatos inconsistentes y no se pueden corregir en este dispositivo (por lo general no podemos determinar cuál es el correcto).\nPara restaurarlos, comprueba tus otros dispositivos (también con esta función) o restáuralos manualmente desde una copia de seguridad.\n",
"moduleMigration.fix0256.title": "Se han detectado archivos dañados",
"moduleMigration.insecureChunkExist.buttons.fetch": "Ya he reconstruido el remoto. Obtener desde el remoto",
"moduleMigration.insecureChunkExist.buttons.later": "Lo haré más tarde",
"moduleMigration.insecureChunkExist.buttons.rebuild": "Reconstruir todo",
"moduleMigration.insecureChunkExist.laterMessage": "¡Te recomendamos encarecidamente solucionarlo cuanto antes!",
"moduleMigration.insecureChunkExist.message": "Algunos chunks no se almacenan de forma segura y no están cifrados en las bases de datos.\n**Reconstruye la base de datos para solucionarlo**.\n\nSi tu base de datos remota no está configurada con SSL o usa credenciales poco seguras, **corres el riesgo de exponer datos sensibles**.\n\nNota: actualiza Self-hosted LiveSync a la v0.25.6 o superior en todos tus dispositivos y haz una copia de seguridad fiable de tu vault.\nNota 2: reconstruir todo y obtener los datos consume algo de tiempo y de tráfico; hazlo en horas de poco uso y con una conexión de red estable.\n",
"moduleMigration.insecureChunkExist.title": "¡Se han encontrado chunks no seguros!",
"moduleMigration.logBulkSendCorrupted": "El envío de fragmentos en bloque se ha habilitado, sin embargo, esta función se ha corrompido. Disculpe las molestias. Deshabilitado automáticamente.",
"moduleMigration.logFetchRemoteTweakFailed": "Error al obtener los valores de ajuste remoto",
"moduleMigration.logLocalDatabaseNotReady": "¡Algo salió mal! La base de datos local no está lista",
@@ -257,13 +343,24 @@
"moduleMigration.optionKeepPreviousBehaviour": "Mantener comportamiento anterior",
"moduleMigration.optionManualSetup": "Configurarlo todo manualmente",
"moduleMigration.optionNoAskAgain": "No, por favor pregúntame de nuevo",
"moduleMigration.optionNoSetupUri": "No, no tengo",
"moduleMigration.optionRemindNextLaunch": "Recordármelo en el próximo inicio",
"moduleMigration.optionSetupViaP2P": "Usar %{short_p2p_sync} para configurarlo",
"moduleMigration.optionSetupWizard": "Llévame al asistente de configuración",
"moduleMigration.optionYesFetchAgain": "Sí, obtener de nuevo",
"moduleMigration.titleCaseSensitivity": "Distinción de mayúsculas y minúsculas",
"moduleMigration.titleRecommendSetupUri": "Recomendación de usar un Setup URI",
"moduleMigration.titleWelcome": "Bienvenido a Self-hosted LiveSync",
"moduleObsidianMenu.replicate": "Replicar",
"More actions": "Más acciones",
"Move remotely deleted files to the trash, instead of deleting.": "Mover archivos borrados remotos a papelera en lugar de eliminarlos",
"Network warning style": "Estilo de advertencia de red",
"New Remote": "Nuevo remoto",
"No connected device information found. Cancelling Garbage Collection.": "No se ha encontrado información de dispositivos conectados. Se cancela la recolección de basura.",
"No limit configured": "Sin límite configurado",
"No, please take me back": "No, volver atrás",
"Node ID": "ID de nodo",
"Node Information Missing": "Falta la información del nodo",
"Non-Synchronising files": "Archivos no sincronizados",
"Normal Files": "Archivos normales",
"Not all messages have been translated. And, please revert to \"Default\" when reporting errors.": "No todos los mensajes están traducidos. Por favor, vuelva a \"Predeterminado\" al reportar errores.",
@@ -273,6 +370,7 @@
"Notify when the estimated remote storage size exceeds on start up": "Notificar cuando el tamaño estimado del almacenamiento remoto exceda al iniciar",
"Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.": "Número de lotes a procesar. Default 40, mínimo 2. Controla documentos en memoria",
"Number of changes to sync at a time. Defaults to 50. Minimum is 2.": "Número de cambios a sincronizar simultáneamente. Default 50, mínimo 2",
"Obsidian version": "Versión de Obsidian",
"obsidianLiveSyncSettingTab.btnApply": "Aplicar",
"obsidianLiveSyncSettingTab.btnCheck": "Verificar",
"obsidianLiveSyncSettingTab.btnCopy": "Copiar",
@@ -301,6 +399,7 @@
"obsidianLiveSyncSettingTab.errCorsNotAllowingCredentials": "CORS no permite credenciales",
"obsidianLiveSyncSettingTab.errCorsOrigins": "❗ cors.origins es incorrecto",
"obsidianLiveSyncSettingTab.errEnableCors": "❗ httpd.enable_cors es incorrecto",
"obsidianLiveSyncSettingTab.errEnableCorsChttpd": "❗ chttpd.enable_cors es incorrecto",
"obsidianLiveSyncSettingTab.errMaxDocumentSize": "❗ couchdb.max_document_size es bajo)",
"obsidianLiveSyncSettingTab.errMaxRequestSize": "❗ chttpd.max_http_request_size es bajo)",
"obsidianLiveSyncSettingTab.errMissingWwwAuth": "❗ httpd.WWW-Authenticate falta",
@@ -319,7 +418,7 @@
"obsidianLiveSyncSettingTab.logCheckingConfigDone": "Verificación de configuración completada",
"obsidianLiveSyncSettingTab.logCheckingConfigFailed": "La verificación de configuración falló",
"obsidianLiveSyncSettingTab.logCheckingDbConfig": "Verificando la configuración de la base de datos",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "ERROR: Error al comprobar la frase de contraseña con el servidor remoto: \n${db}.",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "ERROR: Error al comprobar la frase de contraseña con el servidor remoto:\n${db}.",
"obsidianLiveSyncSettingTab.logConfiguredDisabled": "Modo de sincronización configurado: DESACTIVADO",
"obsidianLiveSyncSettingTab.logConfiguredLiveSync": "Modo de sincronización configurado: Sincronización en Vivo",
"obsidianLiveSyncSettingTab.logConfiguredPeriodic": "Modo de sincronización configurado: Periódico",
@@ -345,6 +444,7 @@
"obsidianLiveSyncSettingTab.msgDiscardConfirmation": "¿Realmente deseas descartar las configuraciones y bases de datos existentes?",
"obsidianLiveSyncSettingTab.msgDone": "--Hecho--",
"obsidianLiveSyncSettingTab.msgEnableCors": "Configurar httpd.enable_cors",
"obsidianLiveSyncSettingTab.msgEnableCorsChttpd": "Establecer chttpd.enable_cors",
"obsidianLiveSyncSettingTab.msgEnableEncryptionRecommendation": "Recomendamos habilitar el cifrado de extremo a extremo y la obfuscación de ruta. ¿Estás seguro de querer continuar sin cifrado?",
"obsidianLiveSyncSettingTab.msgFetchConfigFromRemote": "¿Quieres obtener la configuración del servidor remoto?",
"obsidianLiveSyncSettingTab.msgGenerateSetupURI": "¡Todo listo! ¿Quieres generar un URI de configuración para configurar otros dispositivos?",
@@ -385,6 +485,7 @@
"obsidianLiveSyncSettingTab.okCorsOriginMatched": "✔ Origen de CORS correcto",
"obsidianLiveSyncSettingTab.okCorsOrigins": "✔ cors.origins está correcto.",
"obsidianLiveSyncSettingTab.okEnableCors": "✔ httpd.enable_cors está correcto.",
"obsidianLiveSyncSettingTab.okEnableCorsChttpd": "✔ chttpd.enable_cors es correcto.",
"obsidianLiveSyncSettingTab.okMaxDocumentSize": "✔ couchdb.max_document_size está correcto.",
"obsidianLiveSyncSettingTab.okMaxRequestSize": "✔ chttpd.max_http_request_size está correcto.",
"obsidianLiveSyncSettingTab.okRequireValidUser": "✔ chttpd.require_valid_user está correcto.",
@@ -409,6 +510,8 @@
"obsidianLiveSyncSettingTab.panelPrivacyEncryption": "Privacidad y Cifrado",
"obsidianLiveSyncSettingTab.panelRemoteConfiguration": "Configuración remota",
"obsidianLiveSyncSettingTab.panelSetup": "Configuración",
"obsidianLiveSyncSettingTab.serverVersion": "Información del servidor: ${info}",
"obsidianLiveSyncSettingTab.titleActiveRemoteServer": "Servidor remoto activo",
"obsidianLiveSyncSettingTab.titleAppearance": "Apariencia",
"obsidianLiveSyncSettingTab.titleConflictResolution": "Resolución de conflictos",
"obsidianLiveSyncSettingTab.titleCongratulations": "¡Felicidades!",
@@ -448,6 +551,24 @@
"Overwrite remote": "Sobrescribir remoto",
"Overwrite remote with local DB and passphrase.": "Sobrescribe el remoto con la base de datos local y la frase de contraseña.",
"Overwrite Server Data with This Device's Files": "Sobrescribir los datos del servidor con los archivos de este dispositivo",
"P2P.AskPassphraseForDecrypt": "El par remoto ha compartido la configuración. Introduce la frase de contraseña para descifrarla.",
"P2P.AskPassphraseForShare": "El par remoto ha solicitado la configuración de este dispositivo. Introduce la frase de contraseña para compartirla. Puedes ignorar la solicitud cancelando este diálogo.",
"P2P.DisabledButNeed": "%{title_p2p_sync} está desactivada. ¿Seguro que quieres activarla?",
"P2P.FailedToOpen": "No se pudo abrir la conexión P2P con el servidor de señalización.",
"P2P.NoAutoSyncPeers": "No se han encontrado pares de sincronización automática. Configúralos en el panel de %{long_p2p_sync}.",
"P2P.NoKnownPeers": "No se ha detectado ningún par; esperando a que se conecten otros...",
"P2P.Note.description": " Este replicador permite sincronizar el vault con otros dispositivos\nmediante una conexión punto a punto. Así se puede sincronizar con nuestros otros dispositivos sin usar un servicio en la nube.\nEl replicador se basa en Trystero. Usa además un servidor de señalización para establecer la conexión entre dispositivos. Ese servidor sirve para intercambiar la información de conexión y no conoce (ni debería almacenar) ninguno de nuestros datos.\n\nCualquiera puede alojar el servidor de señalización: es simplemente un relé Nostr. Por comodidad y para poder comprobar el comportamiento del replicador, vrtmrz aloja una instancia. Puedes usar ese servidor experimental o cualquier otro.\n\nPor cierto, aunque el servidor de señalización no almacene nuestros datos, sí puede ver la información de conexión de algunos de nuestros dispositivos. Tenlo en cuenta y ten precaución al usar un servidor de terceros.",
"P2P.Note.important_note": "Replicador punto a punto.",
"P2P.Note.important_note_sub": "Esta función sigue siendo muy experimental. Asegúrate de tener una copia de seguridad de tus datos antes de usarla. Y nos alegraría mucho que quisieras contribuir a su desarrollo.",
"P2P.Note.Summary": "¿Qué es esta función? (incluye notas importantes; léelas al menos una vez)",
"P2P.NotEnabled": "%{title_p2p_sync} no está activada. No se puede abrir una conexión nueva.",
"P2P.P2PReplication": "Replicación %{P2P}",
"P2P.PaneTitle": "%{long_p2p_sync}",
"P2P.ReplicatorInstanceMissing": "No se encuentra el replicador de sincronización P2P; puede que no esté configurado o activado.",
"P2P.SeemsOffline": "El par ${name} parece estar desconectado; se omite.",
"P2P.SyncAlreadyRunning": "La sincronización P2P ya está en marcha.",
"P2P.SyncCompleted": "Sincronización P2P completada.",
"P2P.SyncStartedWith": "Se ha iniciado la sincronización P2P con ${name}.",
"paneMaintenance.markDeviceResolvedAfterBackup": "Marcar el dispositivo como resuelto después de hacer una copia de seguridad",
"paneMaintenance.remoteLockedAndDeviceNotAccepted": "La base de datos remota está bloqueada y este dispositivo aún no ha sido aceptado.",
"paneMaintenance.remoteLockedResolvedDevice": "La base de datos remota está bloqueada, pero este dispositivo ya fue aceptado.",
@@ -470,21 +591,43 @@
"Perform Garbage Collection to remove unused chunks and reduce database size.": "Ejecuta la recolección de basura para eliminar chunks no usados y reducir el tamaño de la base de datos.",
"Periodic Sync interval": "Intervalo de sincronización periódica",
"Pick a file to resolve conflict": "Elegir un archivo para resolver el conflicto",
"Pick a file to show history": "Elige un archivo para ver su historial",
"Please disable 'Read chunks online' in settings to use Garbage Collection.": "Desactiva «Leer chunks en línea» en los ajustes para poder usar la recolección de basura.",
"Please enable 'Compute revisions for chunks' in settings to use Garbage Collection.": "Activa «Calcular revisiones para los chunks» en los ajustes para poder usar la recolección de basura.",
"Please select 'Cancel' explicitly to cancel this operation.": "Selecciona «Cancelar» de forma explícita para cancelar esta operación.",
"Please select a method to import the settings from another device.": "Seleccione un método para importar la configuración desde otro dispositivo。",
"Please select an option to proceed": "Seleccione una opción para continuar",
"Please select the type of server to which you are connecting.": "Seleccione el tipo de servidor al que se está conectando。",
"Please set device name to identify this device. This name should be unique among your devices. While not configured, we cannot enable this feature.": "Define un nombre para identificar este dispositivo. Debe ser único entre tus dispositivos. Mientras no esté configurado, no podremos habilitar esta función.",
"Please set this device name": "Define el nombre de este dispositivo",
"Plug-in version": "Versión del complemento",
"Prepare the 'report' to create an issue": "Preparar el «informe» para abrir una incidencia",
"Presets": "Preconfiguraciones",
"Proceed Garbage Collection": "Continuar con la recolección de basura",
"Proceed with Setup URI": "Continuar con el URI de configuración",
"Proceeding with Garbage Collection, ignoring missing nodes.": "Se continúa con la recolección de basura, ignorando los nodos ausentes.",
"Proceeding with Garbage Collection.": "Se continúa con la recolección de basura.",
"Process small files in the foreground": "Procesar archivos pequeños en primer plano",
"Progress": "Progreso",
"Property Encryption": "Cifrado de propiedades",
"PureJS fallback (Fast, W/O WebAssembly)": "Alternativa PureJS (rápida, sin WebAssembly)",
"Purge all download/upload cache.": "Purga toda la caché de descarga y carga.",
"Purge all journal counter": "Purgar todos los contadores del diario",
"Rebuild local and remote database with local files.": "Reconstruye la base de datos local y remota usando los archivos locales.",
"Rebuilding Operations (Remote Only)": "Operaciones de reconstrucción (solo remoto)",
"Recovery and Repair": "Recuperación y reparación",
"Recreate all": "Recrear todo",
"Recreate missing chunks for all files": "Recrear fragmentos faltantes para todos los archivos",
"RedFlag.Fetch.Method.Desc": "¿Cómo quieres obtener los datos?\n- %{RedFlag.Fetch.Method.FetchSafer}.\n **Poco tráfico**, **mucha CPU**, **riesgo bajo**\n Recomendado si...\n - Los archivos podrían ser inconsistentes\n - No hay demasiados archivos\n- %{RedFlag.Fetch.Method.FetchSmoother}.\n **Poco tráfico**, **CPU moderada**, **riesgo bajo o moderado**\n Recomendado si...\n - Los archivos son probablemente consistentes\n - Tienes muchos archivos\n- %{RedFlag.Fetch.Method.FetchTraditional}.\n **Mucho tráfico**, **poca CPU**, **riesgo bajo o moderado**\n\n>[!INFO]- Detalles\n> ## %{RedFlag.Fetch.Method.FetchSafer}.\n> **Poco tráfico**, **mucha CPU**, **riesgo bajo**\n> Esta opción crea primero una base de datos local a partir de los archivos locales existentes antes de obtener los datos del remoto.\n> Si un archivo existe tanto en local como en remoto, solo se transferirán las diferencias.\n> Sin embargo, los archivos presentes en ambos sitios se tratarán inicialmente como archivos en conflicto. Se resolverán automáticamente si en realidad no lo están, pero el proceso puede tardar.\n> En general es el método más seguro y el que menos riesgo de pérdida de datos conlleva.\n> ## %{RedFlag.Fetch.Method.FetchSmoother}.\n> **Poco tráfico**, **CPU moderada**, **riesgo bajo o moderado** (según la operación)\n> Esta opción crea primero los chunks de los archivos locales para la base de datos y después obtiene los datos. Así solo se transfieren los chunks que faltan en local. Aun así, todos los metadatos se toman del remoto.\n> Al iniciar, los archivos locales se comparan con esos metadatos. El contenido considerado más reciente sobrescribirá al más antiguo (según la fecha de modificación) y el resultado se sincroniza de vuelta a la base de datos remota.\n> Es seguro si los archivos locales son realmente los de fecha más reciente, pero puede dar problemas si un archivo tiene una fecha más nueva y un contenido más antiguo (como el `welcome.md` inicial).\n> Usa menos CPU y es más rápido que «%{RedFlag.Fetch.Method.FetchSafer}», pero puede provocar pérdida de datos si no se usa con cuidado.\n> ## %{RedFlag.Fetch.Method.FetchTraditional}.\n> **Mucho tráfico**, **poca CPU**, **riesgo bajo o moderado** (según la operación)\n> Se obtiene todo del remoto.\n> Similar a %{RedFlag.Fetch.Method.FetchSmoother}, pero todos los chunks se descargan del remoto.\n> Es la forma más tradicional de obtener los datos y normalmente la que más tráfico y tiempo consume. Conlleva un riesgo de sobrescribir archivos remotos parecido al de «%{RedFlag.Fetch.Method.FetchSmoother}».\n> Aun así, suele considerarse el método más estable, por ser el más antiguo y directo.",
"RedFlag.Fetch.Method.FetchSafer": "Crear una base de datos local antes de obtener los datos",
"RedFlag.Fetch.Method.FetchSmoother": "Crear los chunks de los archivos locales antes de obtener los datos",
"RedFlag.Fetch.Method.FetchTraditional": "Obtener todo del remoto",
"RedFlag.Fetch.Method.Title": "¿Cómo quieres obtener los datos?",
"RedFlag.FetchRemoteConfig.Buttons.Cancel": "No, usar los ajustes locales",
"RedFlag.FetchRemoteConfig.Buttons.Fetch": "Sí, obtener y aplicar los ajustes remotos",
"RedFlag.FetchRemoteConfig.Message": "¿Quieres obtener y aplicar en este dispositivo los ajustes de preferencias guardados en el remoto?",
"RedFlag.FetchRemoteConfig.Title": "Obtener la configuración remota",
"Reduces storage space by discarding all non-latest revisions. This requires the same amount of free space on the remote server and the local client.": "Reduce el espacio de almacenamiento descartando todas las revisiones que no sean la última. Requiere la misma cantidad de espacio libre en el servidor remoto y en el cliente local.",
"Reducing the frequency with which on-disk changes are reflected into the DB": "Reducir frecuencia de actualizaciones de disco a BD",
"Region": "Región",
"Remediation": "Remediación",
@@ -495,8 +638,23 @@
"Remote server type": "Tipo de servidor remoto",
"Remote Type": "Tipo de remoto",
"Rename": "Renombrar",
"Replicator.Dialogue.Locked.Action.Dismiss": "Cancelar para volver a confirmarlo",
"Replicator.Dialogue.Locked.Action.Fetch": "Restablecer la sincronización en este dispositivo",
"Replicator.Dialogue.Locked.Action.Unlock": "Desbloquear la base de datos remota",
"Replicator.Dialogue.Locked.Message": "La base de datos remota está bloqueada porque se ha reconstruido en uno de los dispositivos.\nPor eso se pide a este dispositivo que no se conecte, para evitar corromper la base de datos.\n\nHay tres opciones posibles:\n\n- %{Replicator.Dialogue.Locked.Action.Fetch}\n La más recomendable y fiable. Descarta la base de datos local y vuelve a tomar toda la información de sincronización del remoto. En la mayoría de los casos se puede hacer sin riesgo, aunque lleva algo de tiempo y conviene hacerlo con una red estable.\n- %{Replicator.Dialogue.Locked.Action.Unlock}\n Solo se puede usar si ya estamos sincronizados de forma fiable por otros métodos de replicación. Esto no significa simplemente tener los mismos archivos. Si no estás seguro, evítala.\n- %{Replicator.Dialogue.Locked.Action.Dismiss}\n Cancela la operación. Se volverá a preguntar en la próxima solicitud.\n",
"Replicator.Dialogue.Locked.Message.Fetch": "Se ha programado la obtención completa. El complemento se reiniciará para llevarla a cabo.",
"Replicator.Dialogue.Locked.Message.Unlocked": "La base de datos remota se ha desbloqueado. Vuelve a intentar la operación.",
"Replicator.Dialogue.Locked.Title": "Bloqueada",
"Replicator.Message.Cleaned": "Se está limpiando la base de datos; la replicación se ha cancelado",
"Replicator.Message.InitialiseFatalError": "No hay ningún replicador disponible; se trata de un error grave.",
"Replicator.Message.Pending": "Hay eventos de archivo pendientes. La replicación se ha cancelado.",
"Replicator.Message.SomeModuleFailed": "La replicación se ha cancelado por el fallo de algún módulo",
"Replicator.Message.VersionUpFlash": "Se ha detectado una actualización. Abre el diálogo de ajustes y consulta el registro de cambios. La replicación se ha cancelado.",
"Requires restart of Obsidian": "Requiere reiniciar Obsidian",
"Requires restart of Obsidian.": "Requiere reiniciar Obsidian",
"Rerun Onboarding Wizard": "Volver a ejecutar el asistente de configuración inicial",
"Rerun the onboarding wizard to set up Self-hosted LiveSync again.": "Vuelve a ejecutar el asistente de configuración inicial para configurar Self-hosted LiveSync de nuevo.",
"Rerun Wizard": "Volver a ejecutar el asistente",
"Resend": "Reenviar",
"Resend all chunks to the remote.": "Reenvía todos los chunks al remoto.",
"Reset": "Restablecer",
@@ -504,16 +662,20 @@
"Reset all journal counter": "Restablecer todos los contadores del diario",
"Reset journal received history": "Restablecer historial de recepción del diario",
"Reset journal sent history": "Restablecer historial de envío del diario",
"Reset notification threshold and check the remote database usage": "Restablecer el umbral de aviso y comprobar el uso de la base de datos remota",
"Reset received": "Restablecer recepción",
"Reset sent history": "Restablecer historial de envío",
"Reset Synchronisation information": "Restablecer información de sincronización",
"Reset Synchronisation on This Device": "Restablecer sincronización en este dispositivo",
"Reset the remote storage size threshold and check the remote storage size again.": "Restablece el umbral de tamaño del almacenamiento remoto y vuelve a comprobar su tamaño.",
"Resolve All": "Resolver todo",
"Resolve all conflicted files": "Resolver todos los archivos en conflicto",
"Resolve All conflicted files by the newer one": "Resolver todos los archivos en conflicto con la versión más reciente",
"Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.": "Resuelve todos los archivos en conflicto conservando la versión más reciente. Precaución: esto sobrescribirá la versión anterior y no podrá recuperarse.",
"Restart Now": "Reiniciar ahora",
"Restarting Obsidian is strongly recommended. Until restart, some changes may not take effect, and display may be inconsistent. Are you sure to restart now?": "Se recomienda encarecidamente reiniciar Obsidian. Hasta que lo hagas, puede que algunos cambios no surtan efecto y que la interfaz se muestre de forma inconsistente. ¿Seguro que quieres reiniciar ahora?",
"Restore or reconstruct local database from remote.": "Restaura o reconstruye la base de datos local desde el remoto.",
"Run Doctor": "Ejecutar el Doctor",
"S3/MinIO/R2 Object Storage": "Almacenamiento de objetos S3/MinIO/R2",
"Save settings to a markdown file. You will be notified when new settings arrive. You can set different files by the platform.": "Guardar configuración en archivo markdown. Se notificarán nuevos ajustes. Puede definir diferentes archivos por plataforma",
"Saving will be performed forcefully after this number of seconds.": "Guardado forzado tras esta cantidad de segundos",
@@ -523,10 +685,12 @@
"Scan customization before replicating.": "Escanear personalización antes de replicar",
"Scan customization every 1 minute.": "Escanear personalización cada 1 minuto",
"Scan customization periodically": "Escanear personalización periódicamente",
"Scan for Broken files": "Buscar archivos dañados",
"Scan for hidden files before replication": "Escanear archivos ocultos antes de replicar",
"Scan hidden files periodically": "Escanear archivos ocultos periódicamente",
"Scan the QR code displayed on an active device using this device's camera.": "Escanee con la cámara de este dispositivo el código QR mostrado en un dispositivo activo。",
"Schedule and Restart": "Programar y reiniciar",
"Scram Switches": "Interruptores de emergencia",
"Scram!": "Medidas de emergencia",
"Seconds, 0 to disable": "Segundos, 0 para desactivar",
"Seconds. Saving to the local database will be delayed until this value after we stop typing or saving.": "Segundos. Guardado en BD local se retrasará hasta este valor tras dejar de escribir/guardar",
@@ -537,18 +701,41 @@
"Server URI": "URI del servidor",
"Setting.GenerateKeyPair.Desc": "Hemos generado un par de claves.\n\nNota: Este par de claves no volverá a mostrarse. Guárdalo en un lugar seguro. Si lo pierdes, tendrás que generar uno nuevo.\nNota 2: La clave pública está en formato spki y la clave privada en formato pkcs8. Para mayor comodidad, los saltos de línea de la clave pública se convierten en `\\n`.\nNota 3: La clave pública debe configurarse en la base de datos remota y la clave privada en los dispositivos locales.\n\n>[!SOLO PARA TUS OJOS]-\n> <div class=\"sls-keypair\">\n>\n> ### Clave pública\n> ```\n${public_key}\n> ```\n>\n> ### Clave privada\n> ```\n${private_key}\n> ```\n>\n> </div>\n\n>[!Ambas para copiar]-\n>\n> <div class=\"sls-keypair\">\n>\n> ```\n${public_key}\n${private_key}\n> ```\n>\n> </div>",
"Setting.GenerateKeyPair.Title": "¡Se ha generado un nuevo par de claves!",
"Setting.TroubleShooting": "Resolución de problemas",
"Setting.TroubleShooting.Doctor": "Doctor de ajustes",
"Setting.TroubleShooting.Doctor.Desc": "Detecta ajustes no óptimos. (Igual que durante la migración)",
"Setting.TroubleShooting.ScanBrokenFiles": "Buscar archivos dañados",
"Setting.TroubleShooting.ScanBrokenFiles.Desc": "Busca archivos que no se hayan guardado correctamente en la base de datos.",
"SettingTab.Message.AskRebuild": "Tus cambios requieren obtener los datos de la base de datos remota. ¿Quieres continuar?",
"Setup URI dialog cancelled.": "Se ha cancelado el diálogo del Setup URI.",
"Setup.> [!INFO]- The connected devices have been detected as follows:\n${devices}": "> [!INFO]- Se detectaron los siguientes dispositivos conectados:\n${devices}",
"Setup.All devices have the same progress value (${progress}). Your devices seem to be synchronised. And be able to proceed with Garbage Collection.": "Todos los dispositivos tienen el mismo valor de progreso (${progress}). Parece que tus dispositivos están sincronizados y se puede continuar con la recolección de basura.",
"Setup.Apply.Buttons.ApplyAndFetch": "Aplicar y obtener",
"Setup.Apply.Buttons.ApplyAndMerge": "Aplicar y combinar",
"Setup.Apply.Buttons.ApplyAndRebuild": "Aplicar y reconstruir",
"Setup.Apply.Buttons.Cancel": "Descartar y cancelar",
"Setup.Apply.Buttons.OnlyApply": "Solo aplicar",
"Setup.Apply.Message": "La nueva configuración está lista. Vamos a aplicarla.\nHay varias formas de hacerlo:\n\n- Aplicar y obtener\n Configura este dispositivo como cliente nuevo. Tras aplicarla, sincroniza desde el servidor remoto.\n- Aplicar y combinar\n Para un dispositivo que ya tiene los archivos. Procesa los archivos locales y transfiere las diferencias. Pueden surgir conflictos.\n- Aplicar y reconstruir\n Reconstruye el remoto a partir de los archivos locales. Se hace normalmente si el servidor se ha corrompido o si se quiere empezar de cero.\n Los demás dispositivos quedarán bloqueados y tendrán que volver a obtener los datos.\n- Solo aplicar\n Solo aplica la configuración. Pueden surgir conflictos si hace falta reconstruir.",
"Setup.Apply.Title": "Aplicar la nueva configuración de ${method}",
"Setup.Apply.WarningRebuildRecommended": "NOTA: tras ajustar la configuración se ha determinado que hace falta reconstruir; no se recomienda «solo importar».",
"Setup.Cancel Garbage Collection": "Cancelar la recolección de basura",
"Setup.Compaction in progress on remote database...": "La compactación está en curso en la base de datos remota...",
"Setup.Compaction on remote database completed successfully.": "La compactación en la base de datos remota se completó correctamente.",
"Setup.Compaction on remote database failed.": "La compactación en la base de datos remota falló.",
"Setup.Compaction on remote database timed out.": "La compactación en la base de datos remota agotó el tiempo de espera.",
"Setup.Device": "Dispositivo",
"Setup.Doctor.Buttons.No": "No, usar los ajustes del URI tal cual",
"Setup.Doctor.Buttons.Yes": "Sí, consultar al doctor",
"Setup.Doctor.Message": "Self-hosted LiveSync tiene ya una historia larga y algunos ajustes recomendados han cambiado.\n\nLa configuración inicial es un momento muy bueno para revisarlos.\n\n¿Quieres ejecutar el Doctor para comprobar si los ajustes importados son los óptimos respecto al estado actual?",
"Setup.Doctor.Title": "¿Quieres consultar al doctor?",
"Setup.Failed to connect to remote for compaction.": "No se pudo conectar a la base de datos remota para la compactación.",
"Setup.Failed to connect to remote for compaction. ${reason}": "No se pudo conectar a la base de datos remota para la compactación. ${reason}",
"Setup.Failed to start one-shot replication before Garbage Collection. Garbage Collection Cancelled.": "No se pudo iniciar la replicación de una sola vez antes de la recolección de basura. La recolección de basura se canceló.",
"Setup.Failed to start replication after Garbage Collection.": "No se pudo iniciar la replicación después de la recolección de basura.",
"Setup.FetchRemoteConf.Buttons.Fetch": "Sí, obtener la configuración",
"Setup.FetchRemoteConf.Buttons.Skip": "No, usar los ajustes del URI",
"Setup.FetchRemoteConf.Message": "Si ya hemos sincronizado alguna vez con otro dispositivo, la base de datos remota guarda los valores de configuración adecuados para los dispositivos sincronizados. El complemento querría recuperarlos para lograr una configuración más sólida.\n\nAntes hay que asegurar una cosa: ¿estamos en una situación en la que se puede acceder a la red de forma segura y recuperar los ajustes?\n\nNota: normalmente puedes hacerlo sin riesgo si tu base de datos remota se sirve con un certificado SSL y tu red no está comprometida.",
"Setup.FetchRemoteConf.Title": "¿Obtener la configuración de la base de datos remota?",
"Setup.Garbage Collection cancelled by user.": "El usuario canceló la recolección de basura.",
"Setup.Garbage Collection completed. Deleted chunks: ${deletedChunks} / ${totalChunks}. Time taken: ${seconds} seconds.": "Recolección de basura completada. Chunks eliminados: ${deletedChunks} / ${totalChunks}. Tiempo empleado: ${seconds} segundos.",
"Setup.Garbage Collection Confirmation": "Confirmación de recolección de basura",
@@ -572,6 +759,7 @@
"Setup.Proceeding with Garbage Collection, ignoring missing nodes.": "Continuando con la recolección de basura e ignorando los nodos faltantes.",
"Setup.Proceeding with Garbage Collection.": "Continuando con la recolección de basura.",
"Setup.Progress": "Progreso",
"Setup.QRCode": "Hemos generado un código QR para transferir los ajustes. Escanéalo con tu móvil u otro dispositivo.\nNota: el código QR no está cifrado, así que ten cuidado al abrirlo.\n\n>[!SOLO PARA TUS OJOS]-\n> <div class=\"sls-qr\">${qr_image}</div>",
"Setup.RemoteE2EE.AdvancedTitle": "Avanzado",
"Setup.RemoteE2EE.AlgorithmWarning": "Cambiar el algoritmo de cifrado impedirá el acceso a cualquier dato cifrado anteriormente con otro algoritmo. Asegúrate de que todos tus dispositivos estén configurados para usar el mismo algoritmo y así mantener el acceso a tus datos.",
"Setup.RemoteE2EE.ButtonCancel": "Cancelar",
@@ -598,6 +786,8 @@
"Setup.ScanQRCode.Step4": "En este dispositivo, cambia a la cámara o usa un escáner QR para escanear el código mostrado.",
"Setup.ScanQRCode.Title": "Escanear código QR",
"Setup.Setup URI dialog cancelled.": "Se canceló el diálogo de Setup URI.",
"Setup.ShowQRCode": "Mostrar el código QR",
"Setup.ShowQRCode.Desc": "Muestra un código QR para transferir los ajustes.",
"Setup.Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": "Algunos dispositivos tienen valores de progreso diferentes (máx.: ${maxProgress}, mín.: ${minProgress}).\nEsto puede indicar que algunos dispositivos no han completado la sincronización, lo que podría causar conflictos. Se recomienda encarecidamente confirmar que todos los dispositivos estén sincronizados antes de continuar.",
"Setup.The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": "Los siguientes nodos aceptados no tienen información del nodo:\n- ${missingNodes}\n\nEsto indica que no se han conectado desde hace algún tiempo o que se han quedado en una versión anterior.\nSi es posible, es preferible actualizar todos los dispositivos. Si tienes dispositivos que ya no se usan, puedes borrar todos los nodos aceptados bloqueando el remoto una vez.",
"Setup.titleCaseSensitivity": "Sensibilidad a mayúsculas",
@@ -620,15 +810,19 @@
"Should we prompt you about conflicting files when a file is opened?": "¿Notificar sobre conflictos al abrir archivo?",
"Should we prompt you for every single merge, even if we can safely merge automatcially?": "¿Preguntar en cada fusión aunque sea automática?",
"Show full banner": "Mostrar banner completo",
"Show history": "Mostrar el historial",
"Show icon only": "Mostrar solo el icono",
"Show only notifications": "Mostrar solo notificaciones",
"Show status as icons only": "Mostrar estado solo con íconos",
"Show status icon instead of file warnings banner": "Mostrar icono de estado en lugar del banner de advertencia de archivos",
"Show status inside the editor": "Mostrar estado dentro del editor",
"Show status on the status bar": "Mostrar estado en la barra de estado",
"Show verbose log. Please enable if you report an issue.": "Mostrar registro detallado. Actívelo si reporta un problema.",
"Some devices have differing progress values (max: ${maxProgress}, min: ${minProgress}).\nThis may indicate that some devices have not completed synchronisation, which could lead to conflicts. Strongly recommend confirming that all devices are synchronised before proceeding.": "Algunos dispositivos tienen valores de progreso distintos (máx.: ${maxProgress}, mín.: ${minProgress}).\nEsto puede indicar que algunos no han terminado de sincronizar, lo que podría provocar conflictos. Se recomienda encarecidamente confirmar que todos los dispositivos están sincronizados antes de continuar.",
"Starts synchronisation when a file is saved.": "Inicia sincronización al guardar un archivo",
"Stop reflecting database changes to storage files.": "Dejar de reflejar cambios de BD en archivos",
"Stop watching for file changes.": "Dejar de monitorear cambios en archivos",
"Storage -> Database": "Almacenamiento -> Base de datos",
"Suppress notification of hidden files change": "Suprimir notificaciones de cambios en archivos ocultos",
"Suspend database reflecting": "Suspender reflejo de base de datos",
"Suspend file watching": "Suspender monitorización de archivos",
@@ -647,16 +841,310 @@
"Target patterns": "Patrones objetivo",
"Testing only - Resolve file conflicts by syncing newer copies of the file, this can overwrite modified files. Be Warned.": "Solo pruebas - Resolver conflictos sincronizando copias nuevas (puede sobrescribir modificaciones)",
"The delay for consecutive on-demand fetches": "Retraso entre obtenciones consecutivas",
"The following accepted nodes are missing its node information:\n- ${missingNodes}\n\nThis indicates that they have not been connected for some time or have been left on an older version.\nIt is preferable to update all devices if possible. If you have any devices that are no longer in use, you can clear all accepted nodes by locking the remote once.": "A los siguientes nodos aceptados les falta su información de nodo:\n- ${missingNodes}\n\nEsto indica que llevan tiempo sin conectarse o que se han quedado en una versión antigua.\nSi es posible, conviene actualizar todos los dispositivos. Si tienes dispositivos que ya no usas, puedes borrar todos los nodos aceptados bloqueando el remoto una vez.",
"The Hash algorithm for chunk IDs": "Algoritmo hash para IDs de chunks",
"The IndexedDB adapter often offers superior performance in certain scenarios, but it has been found to cause memory leaks when used with LiveSync mode. When using LiveSync mode, please use IDB adapter instead.": "El adaptador IndexedDB suele ofrecer mejor rendimiento en ciertos casos, pero se ha comprobado que provoca fugas de memoria con el modo LiveSync. Si usas el modo LiveSync, utiliza en su lugar el adaptador IDB.",
"The maximum duration for which chunks can be incubated within the document. Chunks exceeding this period will graduate to independent chunks.": "Duración máxima para incubar chunks. Excedentes se independizan",
"The maximum number of chunks that can be incubated within the document. Chunks exceeding this number will immediately graduate to independent chunks.": "Número máximo de chunks que pueden incubarse en el documento. Excedentes se independizan",
"The maximum total size of chunks that can be incubated within the document. Chunks exceeding this size will immediately graduate to independent chunks.": "Tamaño total máximo de chunks incubados. Excedentes se independizan",
"The minimum interval for automatic synchronisation on event.": "Intervalo mínimo para la sincronización automática al producirse un evento.",
"This feature enables direct synchronisation between devices. No server is required, but both devices must be online at the same time for synchronisation to occur, and some features may be limited. Internet connection is only required to signalling (detecting peers) and not for data transfer.": "Esta función permite la sincronización directa entre dispositivos. No requiere servidor, pero ambos dispositivos deben estar en línea al mismo tiempo para que la sincronización se produzca, y algunas funciones pueden ser limitadas. La conexión a Internet solo se necesita para la señalización (detección de pares), no para la transferencia de datos。",
"This is an advanced option for users who do not have a URI or who wish to configure detailed settings.": "Esta es una opción avanzada para usuarios que no disponen de un URI o que desean configurar parámetros detallados。",
"This is the most suitable synchronisation method for the design. All functions are available. You must have set up a CouchDB instance.": "Este es el método de sincronización más adecuado para el diseño. Todas las funciones están disponibles. Debe tener configurada una instancia de CouchDB。",
"This passphrase will not be copied to another device. It will be set to `Default` until you configure it again.": "Esta frase no se copia a otros dispositivos. Usará `Default` hasta reconfigurar",
"This will recreate chunks for all files. If there were missing chunks, this may fix the errors.": "Esto recreará los fragmentos de todos los archivos. Si faltaban fragmentos, esto puede corregir los errores.",
"Transfer Tweak": "Ajustes de transferencia",
"TweakMismatchResolve.Action.DisableAutoAcceptCompatible": "Desactivar la aceptación automática",
"TweakMismatchResolve.Action.Dismiss": "Descartar",
"TweakMismatchResolve.Action.EnableAutoAcceptCompatible": "Activar la aceptación automática",
"TweakMismatchResolve.Action.UseConfigured": "Usar los ajustes configurados",
"TweakMismatchResolve.Action.UseMine": "Actualizar los ajustes de la base de datos remota",
"TweakMismatchResolve.Action.UseMineAcceptIncompatible": "Actualizar los ajustes de la base de datos remota, pero dejarlo como está",
"TweakMismatchResolve.Action.UseMineWithRebuild": "Actualizar los ajustes de la base de datos remota y reconstruir de nuevo",
"TweakMismatchResolve.Action.UseRemote": "Aplicar los ajustes a este dispositivo",
"TweakMismatchResolve.Action.UseRemoteAcceptIncompatible": "Aplicar los ajustes a este dispositivo e ignorar la incompatibilidad",
"TweakMismatchResolve.Action.UseRemoteWithRebuild": "Aplicar los ajustes a este dispositivo y volver a obtener los datos",
"TweakMismatchResolve.Message.AutoAcceptCompatibleUndefined": "\nParece que los ajustes son distintos en cada dispositivo. Ahora se pueden aplicar automáticamente los cambios compatibles a estas configuraciones.\n¿Quieres activar la aceptación automática (`auto-accept`)?",
"TweakMismatchResolve.Message.Main": "\nLos ajustes de la base de datos remota son los siguientes. Los han configurado otros dispositivos que se han sincronizado con este al menos una vez.\n\nSi quieres usar estos ajustes, selecciona %{TweakMismatchResolve.Action.UseConfigured}.\nSi prefieres conservar los de este dispositivo, selecciona %{TweakMismatchResolve.Action.Dismiss}.\n\n${table}\n\n>[!TIP]\n> Si quieres sincronizar todos los ajustes, usa «Sync settings via markdown» después de aplicar la configuración mínima con esta función.\n\n${additionalMessage}",
"TweakMismatchResolve.Message.MainTweakResolving": "Tu configuración no coincide con la del servidor remoto.\n\nLa siguiente configuración debería coincidir:\n\n${table}\n\nIndícanos qué decides.\n\n${additionalMessage}",
"TweakMismatchResolve.Message.mineUpdated": "Se ha ajustado la configuración del dispositivo.",
"TweakMismatchResolve.Message.remoteUpdated": "Se ha actualizado la configuración almacenada en el remoto.",
"TweakMismatchResolve.Message.UseRemote.WarningRebuildRecommended": "\n>[!NOTICE]\n> Algunos cambios son compatibles, pero pueden consumir almacenamiento y transferencia de más. Se recomienda reconstruir. De momento puede que no se reconstruya, pero podría hacerse en un mantenimiento futuro.\n> ***Asegúrate de tener tiempo y una red estable antes de aplicarlo.***",
"TweakMismatchResolve.Message.UseRemote.WarningRebuildRequired": "\n>[!WARNING]\n> Algunas configuraciones remotas no son compatibles con la base de datos local de este dispositivo. Habrá que reconstruirla.\n> ***Asegúrate de tener tiempo y una red estable antes de aplicarlo.***",
"TweakMismatchResolve.Message.WarningIncompatibleRebuildRecommended": "\n>[!NOTICE]\n> Hemos detectado que algunos valores difieren de forma que hacen incompatible la base de datos local con la remota.\n> Algunos cambios son compatibles, pero pueden consumir almacenamiento y transferencia de más. Se recomienda reconstruir. De momento puede que no se reconstruya, pero podría hacerse en un mantenimiento futuro.\n> Si decides reconstruir, tardará unos minutos o más. **Asegúrate de que es seguro hacerlo ahora.**",
"TweakMismatchResolve.Message.WarningIncompatibleRebuildRequired": "\n>[!WARNING]\n> Hemos detectado que algunos valores difieren de forma que hacen incompatible la base de datos local con la remota.\n> Hay que reconstruir la local o la remota. Ambas cosas tardan unos minutos o más. **Asegúrate de que es seguro hacerlo ahora.**",
"TweakMismatchResolve.Table": "| Nombre del valor | Este dispositivo | En el remoto |\n|: --- |: ---- :|: ---- :|\n${rows}\n\n",
"TweakMismatchResolve.Table.Row": "| ${name} | ${self} | ${remote} |",
"TweakMismatchResolve.Title": "Se ha detectado una discrepancia de configuración",
"TweakMismatchResolve.Title.AutoAcceptCompatible": "Aceptación automática disponible",
"TweakMismatchResolve.Title.TweakResolving": "Se ha detectado una discrepancia de configuración",
"TweakMismatchResolve.Title.UseRemoteConfig": "Usar la configuración remota",
"Ui.Common.Signal.Caution": "PRECAUCIÓN",
"Ui.Common.Signal.Danger": "PELIGRO",
"Ui.Common.Signal.Notice": "AVISO",
"Ui.Common.Signal.Warning": "ADVERTENCIA",
"Ui.Settings.Advanced.LocalDatabaseTweak": "Ajuste fino de la base de datos local",
"Ui.Settings.Advanced.MemoryCache": "Caché en memoria",
"Ui.Settings.Advanced.TransferTweak": "Ajuste fino de la transferencia",
"Ui.Settings.Common.Analyse": "Analizar",
"Ui.Settings.Common.Back": "Volver",
"Ui.Settings.Common.Check": "Comprobar",
"Ui.Settings.Common.Configure": "Configurar",
"Ui.Settings.Common.Continue": "Continuar",
"Ui.Settings.Common.Delete": "Eliminar",
"Ui.Settings.Common.Fetch": "Obtener",
"Ui.Settings.Common.Lock": "Bloquear",
"Ui.Settings.Common.Merge": "Combinar",
"Ui.Settings.Common.Open": "Abrir",
"Ui.Settings.Common.Overwrite": "Sobrescribir",
"Ui.Settings.Common.Perform": "Ejecutar",
"Ui.Settings.Common.ResetAll": "Restablecer todo",
"Ui.Settings.Common.ResolveAll": "Resolver todo",
"Ui.Settings.Common.Scan": "Analizar",
"Ui.Settings.Common.Send": "Enviar",
"Ui.Settings.Common.Use": "Usar",
"Ui.Settings.Common.VerifyAll": "Verificar todo",
"Ui.Settings.CustomizationSync.OpenDesc": "Abre el diálogo",
"Ui.Settings.CustomizationSync.Panel": "Sincronización de personalizaciones",
"Ui.Settings.CustomizationSync.WarnChangeDeviceName": "No se puede cambiar el nombre del dispositivo mientras esta función esté activada. Desactívala para poder cambiarlo.",
"Ui.Settings.CustomizationSync.WarnSetDeviceName": "Establece un nombre para identificar este dispositivo. Debe ser único entre tus dispositivos. Mientras no esté configurado, no se puede activar esta función.",
"Ui.Settings.Hatch.AnalyseDatabaseUsage": "Analizar el uso de la base de datos",
"Ui.Settings.Hatch.AnalyseDatabaseUsageDesc": "Analiza el uso de la base de datos y genera un informe TSV para que puedas diagnosticarlo tú mismo. Puedes pegar el informe generado en la hoja de cálculo que prefieras.",
"Ui.Settings.Hatch.BackToNonConfigured": "Volver al estado sin configurar",
"Ui.Settings.Hatch.ConvertNonObfuscated": "Comprobar y convertir los archivos sin ruta ofuscada",
"Ui.Settings.Hatch.ConvertNonObfuscatedDesc": "Comprueba si la base de datos local contiene archivos guardados sin ofuscación de ruta y los convierte si hace falta.",
"Ui.Settings.Hatch.CopyIssueReport": "Copiar el informe al portapapeles",
"Ui.Settings.Hatch.DatabaseLabel": "Base de datos: ${details}",
"Ui.Settings.Hatch.DatabaseToStorage": "Base de datos -> Almacenamiento",
"Ui.Settings.Hatch.DeleteCustomizationSyncData": "Eliminar todos los datos de la sincronización de personalizaciones",
"Ui.Settings.Hatch.GeneratedReport": "Informe generado",
"Ui.Settings.Hatch.Missing": "Falta",
"Ui.Settings.Hatch.ModifiedSize": "Modificado: ${modified}, tamaño: ${size}",
"Ui.Settings.Hatch.ModifiedSizeActual": "Modificado: ${modified}, tamaño: ${size} (tamaño real: ${actualSize})",
"Ui.Settings.Hatch.PrepareIssueReport": "Preparar el «informe» para abrir una incidencia",
"Ui.Settings.Hatch.RecoveryAndRepair": "Recuperación y reparación",
"Ui.Settings.Hatch.RecreateAll": "Recrear todo",
"Ui.Settings.Hatch.RecreateMissingChunks": "Recrear los chunks que faltan de todos los archivos",
"Ui.Settings.Hatch.RecreateMissingChunksDesc": "Recrea los chunks de todos los archivos. Si faltaban chunks, esto puede corregir los errores.",
"Ui.Settings.Hatch.ResetPanel": "Restablecer",
"Ui.Settings.Hatch.ResetRemoteUsage": "Restablecer el umbral de aviso y comprobar el uso de la base de datos remota",
"Ui.Settings.Hatch.ResetRemoteUsageDesc": "Restablece el umbral de tamaño del almacenamiento remoto y vuelve a comprobar su tamaño.",
"Ui.Settings.Hatch.ResolveAllConflictedFiles": "Resolver todos los archivos en conflicto con el más reciente",
"Ui.Settings.Hatch.ResolveAllConflictedFilesDesc": "Resuelve todos los archivos en conflicto quedándose con el más reciente. Atención: esto sobrescribe el más antiguo y no se puede recuperar.",
"Ui.Settings.Hatch.RunDoctor": "Ejecutar el Doctor",
"Ui.Settings.Hatch.ScanBrokenFiles": "Buscar archivos dañados",
"Ui.Settings.Hatch.ScramSwitches": "Interruptores de emergencia",
"Ui.Settings.Hatch.ShowHistory": "Mostrar el historial",
"Ui.Settings.Hatch.StorageLabel": "Almacenamiento: ${details}",
"Ui.Settings.Hatch.StorageToDatabase": "Almacenamiento -> Base de datos",
"Ui.Settings.Hatch.VerifyAndRepairAllFiles": "Verificar y reparar todos los archivos",
"Ui.Settings.Hatch.VerifyAndRepairAllFilesDesc": "Compara el contenido de los archivos entre la base de datos local y el almacenamiento. Si no coinciden, se te preguntará cuál conservar.",
"Ui.Settings.Maintenance.Cleanup": "Realizar limpieza",
"Ui.Settings.Maintenance.CleanupDesc": "Reduce el espacio de almacenamiento descartando todas las revisiones que no sean la última. Requiere la misma cantidad de espacio libre en el servidor remoto y en el cliente local.",
"Ui.Settings.Maintenance.DeleteLocalDatabase": "Eliminar la base de datos local para restablecer o desinstalar Self-hosted LiveSync",
"Ui.Settings.Maintenance.EmergencyRestart": "Reinicio de emergencia",
"Ui.Settings.Maintenance.EmergencyRestartDesc": "Desactiva toda la sincronización y reinicia.",
"Ui.Settings.Maintenance.FreshStartWipe": "Borrado para empezar de cero",
"Ui.Settings.Maintenance.FreshStartWipeDesc": "Elimina todos los datos del servidor remoto.",
"Ui.Settings.Maintenance.GarbageCollection": "Recolección de basura V3 (beta)",
"Ui.Settings.Maintenance.GarbageCollectionAction": "Realizar la recolección de basura",
"Ui.Settings.Maintenance.GarbageCollectionDesc": "Realiza una recolección de basura para eliminar los chunks sin usar y reducir el tamaño de la base de datos.",
"Ui.Settings.Maintenance.LockServer": "Bloquear el servidor",
"Ui.Settings.Maintenance.LockServerDesc": "Bloquea el servidor remoto para impedir la sincronización con otros dispositivos.",
"Ui.Settings.Maintenance.OverwriteRemote": "Sobrescribir el remoto",
"Ui.Settings.Maintenance.OverwriteRemoteDesc": "Sobrescribe el remoto con la base de datos local y la frase de contraseña.",
"Ui.Settings.Maintenance.OverwriteServerData": "Sobrescribir los datos del servidor con los archivos de este dispositivo",
"Ui.Settings.Maintenance.OverwriteServerDataDesc": "Reconstruye la base de datos local y la remota con los archivos de este dispositivo.",
"Ui.Settings.Maintenance.PurgeAllJournalCounter": "Purgar todos los contadores del diario",
"Ui.Settings.Maintenance.PurgeAllJournalCounterDesc": "Purga todas las cachés de descarga y de subida.",
"Ui.Settings.Maintenance.RebuildingOperations": "Operaciones de reconstrucción (solo remoto)",
"Ui.Settings.Maintenance.Resend": "Reenviar",
"Ui.Settings.Maintenance.ResendDesc": "Reenvía todos los chunks al remoto.",
"Ui.Settings.Maintenance.Reset": "Restablecer",
"Ui.Settings.Maintenance.ResetAllJournalCounter": "Restablecer todos los contadores del diario",
"Ui.Settings.Maintenance.ResetAllJournalCounterDesc": "Inicializa todo el historial del diario. En la próxima sincronización se volverán a recibir y enviar todos los elementos.",
"Ui.Settings.Maintenance.ResetJournalReceived": "Restablecer el historial de recepción del diario",
"Ui.Settings.Maintenance.ResetJournalReceivedDesc": "Inicializa el historial de recepción del diario. En la próxima sincronización se volverán a descargar todos los elementos salvo los enviados por este dispositivo.",
"Ui.Settings.Maintenance.ResetJournalSent": "Restablecer el historial de envío del diario",
"Ui.Settings.Maintenance.ResetJournalSentDesc": "Inicializa el historial de envío del diario. En la próxima sincronización se volverán a enviar todos los elementos salvo los recibidos por este dispositivo.",
"Ui.Settings.Maintenance.ResetLocalSyncInfo": "Restablecer la información de sincronización",
"Ui.Settings.Maintenance.ResetLocalSyncInfoDesc": "Restaura o reconstruye la base de datos local a partir del remoto.",
"Ui.Settings.Maintenance.ResetReceived": "Restablecer lo recibido",
"Ui.Settings.Maintenance.ResetSentHistory": "Restablecer el historial de envíos",
"Ui.Settings.Maintenance.ResetThisDevice": "Restablecer la sincronización en este dispositivo",
"Ui.Settings.Maintenance.ScheduleAndRestart": "Programar y reiniciar",
"Ui.Settings.Maintenance.Scram": "¡Parada de emergencia!",
"Ui.Settings.Maintenance.SendChunks": "Enviar los chunks",
"Ui.Settings.Maintenance.Syncing": "Sincronización",
"Ui.Settings.Maintenance.WarningLockedReadyAction": "Estoy listo, desbloquear la base de datos",
"Ui.Settings.Maintenance.WarningLockedReadyText": "Para evitar que el vault se corrompa, la base de datos remota se ha bloqueado para la sincronización. (Este dispositivo está marcado como «resuelto».) Cuando todos tus dispositivos estén marcados como «resueltos», desbloquea la base de datos. Este aviso seguirá apareciendo hasta que la replicación confirme que el dispositivo está resuelto.",
"Ui.Settings.Maintenance.WarningLockedResolveAction": "He hecho una copia de seguridad, marcar este dispositivo como resuelto",
"Ui.Settings.Maintenance.WarningLockedResolveText": "La base de datos remota está bloqueada para la sincronización a fin de evitar que el vault se corrompa, porque este dispositivo no está marcado como «resuelto». Haz una copia de seguridad de tu vault, restablece la base de datos local y selecciona «Marcar este dispositivo como resuelto». Este aviso seguirá apareciendo hasta que la replicación confirme que el dispositivo está resuelto.",
"Ui.Settings.Maintenance.WriteRedFlagAndRestart": "Marcar y reiniciar",
"Ui.Settings.Patches.CompatibilityConflict": "Compatibilidad (comportamiento ante conflictos)",
"Ui.Settings.Patches.CompatibilityDatabase": "Compatibilidad (estructura de la base de datos)",
"Ui.Settings.Patches.CompatibilityInternalApi": "Compatibilidad (uso de la API interna)",
"Ui.Settings.Patches.CompatibilityMetadata": "Compatibilidad (metadatos)",
"Ui.Settings.Patches.CompatibilityRemote": "Compatibilidad (base de datos remota)",
"Ui.Settings.Patches.CompatibilityTrouble": "Compatibilidad (problemas resueltos)",
"Ui.Settings.Patches.CurrentAdapter": "Adaptador actual: ${adapter}",
"Ui.Settings.Patches.DatabaseAdapter": "Adaptador de base de datos",
"Ui.Settings.Patches.DatabaseAdapterDesc": "Selecciona el adaptador de base de datos que se va a usar.",
"Ui.Settings.Patches.EdgeCaseBehaviour": "Casos límite (comportamiento)",
"Ui.Settings.Patches.EdgeCaseDatabase": "Casos límite (base de datos)",
"Ui.Settings.Patches.EdgeCaseProcessing": "Casos límite (procesamiento)",
"Ui.Settings.Patches.IndexedDbWarning": "El adaptador IndexedDB suele ofrecer mejor rendimiento en ciertos casos, pero se ha comprobado que provoca fugas de memoria con el modo LiveSync. Si usas el modo LiveSync, utiliza en su lugar el adaptador IDB.",
"Ui.Settings.Patches.MigratingToIdb": "Migrando todos los datos a IDB...",
"Ui.Settings.Patches.MigratingToIndexedDb": "Migrando todos los datos a IndexedDB...",
"Ui.Settings.Patches.MigrationIdbCompleted": "Migración a IDB completada. Obsidian se reiniciará de inmediato con la nueva configuración.",
"Ui.Settings.Patches.MigrationIdbCompletedFollowUp": "Migración a IDB completada. Cambia el adaptador y reinicia Obsidian.",
"Ui.Settings.Patches.MigrationIndexedDbCompleted": "Migración a IndexedDB completada. Obsidian se reiniciará de inmediato con la nueva configuración.",
"Ui.Settings.Patches.MigrationIndexedDbCompletedFollowUp": "Migración a IndexedDB completada. Cambia el adaptador y reinicia Obsidian.",
"Ui.Settings.Patches.MigrationWarning": "Cambiar este ajuste requiere migrar los datos existentes, lo que puede tardar un rato, y reiniciar Obsidian. Asegúrate de hacer una copia de seguridad de tus datos antes de continuar.",
"Ui.Settings.Patches.OperationToIdb": "a IDB",
"Ui.Settings.Patches.OperationToIndexedDb": "a IndexedDB",
"Ui.Settings.Patches.Remediation": "Remediación",
"Ui.Settings.Patches.RemediationChanged": "Se ha cambiado el ajuste de remediación",
"Ui.Settings.Patches.RemediationNoLimit": "Sin límite configurado",
"Ui.Settings.Patches.RemediationRestarting": "Se ha cambiado el ajuste de remediación. Reiniciando Obsidian...",
"Ui.Settings.Patches.RemediationRestartLater": "Más tarde",
"Ui.Settings.Patches.RemediationRestartMessage": "Se recomienda encarecidamente reiniciar Obsidian. Hasta que lo hagas, puede que algunos cambios no surtan efecto y que la interfaz se muestre de forma inconsistente. ¿Seguro que quieres reiniciar ahora?",
"Ui.Settings.Patches.RemediationRestartNow": "Reiniciar ahora",
"Ui.Settings.Patches.RemediationSuffixChanged": "El sufijo ha cambiado. Reabriendo la base de datos...",
"Ui.Settings.Patches.RemediationWithValue": "Límite: ${date} (${timestamp})",
"Ui.Settings.Patches.RemoteDatabaseSunset": "Ajuste fino de la base de datos remota (en desuso)",
"Ui.Settings.Patches.SwitchToIDB": "Cambiar a IDB",
"Ui.Settings.Patches.SwitchToIndexedDb": "Cambiar a IndexedDB",
"Ui.Settings.PowerUsers.ConfigurationEncryption": "Cifrado de la configuración",
"Ui.Settings.PowerUsers.ConnectionTweak": "Ajuste fino de la conexión con CouchDB",
"Ui.Settings.PowerUsers.ConnectionTweakDesc": "Si alcanzas el límite de tamaño de carga al usar IBM Cloudant, reduce el tamaño de lote y el límite de lote.",
"Ui.Settings.PowerUsers.Default": "Predeterminado",
"Ui.Settings.PowerUsers.Developer": "Desarrollo",
"Ui.Settings.PowerUsers.EncryptSensitiveConfig": "Cifrar los elementos sensibles de la configuración",
"Ui.Settings.PowerUsers.PromptPassphraseEveryLaunch": "Solicitar la frase de contraseña en cada inicio",
"Ui.Settings.PowerUsers.UseCustomPassphrase": "Usar una frase de contraseña personalizada",
"Ui.Settings.Remote.Activate": "Activar",
"Ui.Settings.Remote.ActiveSuffix": " (activo)",
"Ui.Settings.Remote.AddConnection": "Añadir conexión",
"Ui.Settings.Remote.AddRemoteDefaultName": "Remoto nuevo",
"Ui.Settings.Remote.ConfigureAndChangeRemote": "Configurar y cambiar el remoto",
"Ui.Settings.Remote.ConfigureE2EE": "Configurar el E2EE",
"Ui.Settings.Remote.ConfigureRemote": "Configurar el remoto",
"Ui.Settings.Remote.DeleteRemoteConfirm": "¿Eliminar la configuración remota «${name}»?",
"Ui.Settings.Remote.DeleteRemoteTitle": "Eliminar la configuración remota",
"Ui.Settings.Remote.DisplayName": "Nombre visible",
"Ui.Settings.Remote.DuplicateRemote": "Duplicar el remoto",
"Ui.Settings.Remote.DuplicateRemoteSuffix": "${name} (copia)",
"Ui.Settings.Remote.E2EEConfiguration": "Configuración del E2EE",
"Ui.Settings.Remote.Export": "Exportar",
"Ui.Settings.Remote.FetchRemoteSettings": "Obtener los ajustes remotos",
"Ui.Settings.Remote.ImportConnection": "Importar conexión",
"Ui.Settings.Remote.ImportConnectionPrompt": "Pega una cadena de conexión",
"Ui.Settings.Remote.ImportedCouchDb": "CouchDB importado",
"Ui.Settings.Remote.ImportedRemote": "Remoto",
"Ui.Settings.Remote.MoreActions": "Más acciones",
"Ui.Settings.Remote.PeerToPeerPanel": "Sincronización punto a punto",
"Ui.Settings.Remote.RemoteConfigurationPrefix": "Configuración remota",
"Ui.Settings.Remote.RemoteDatabases": "Bases de datos remotas",
"Ui.Settings.Remote.RemoteName": "Nombre del remoto",
"Ui.Settings.Remote.RemoteNameCouchDb": "CouchDB ${host}",
"Ui.Settings.Remote.RemoteNameP2P": "P2P ${room}",
"Ui.Settings.Remote.RemoteNameS3": "S3 ${bucket}",
"Ui.Settings.Remote.Rename": "Cambiar el nombre",
"Ui.Settings.Selector.AddDefaultPatterns": "Añadir patrones predeterminados",
"Ui.Settings.Selector.CrossPlatform": "Multiplataforma",
"Ui.Settings.Selector.Default": "Predeterminado",
"Ui.Settings.Selector.HiddenFiles": "Archivos ocultos",
"Ui.Settings.Selector.IgnorePatterns": "Patrones de exclusión",
"Ui.Settings.Selector.NonSynchronisingFiles": "Archivos que no se sincronizan",
"Ui.Settings.Selector.NonSynchronisingFilesDesc": "(RegExp) Si se establece, se omitirá cualquier cambio en archivos locales y remotos que coincida con este patrón.",
"Ui.Settings.Selector.NormalFiles": "Archivos normales",
"Ui.Settings.Selector.OverwritePatterns": "Patrones de sobrescritura",
"Ui.Settings.Selector.OverwritePatternsDesc": "Patrones de los archivos que se sobrescriben en lugar de combinarse",
"Ui.Settings.Selector.SynchronisingFiles": "Archivos que se sincronizan",
"Ui.Settings.Selector.SynchronisingFilesDesc": "(RegExp) Déjalo vacío para sincronizar todos los archivos. Define un filtro como expresión regular para limitar los archivos sincronizados.",
"Ui.Settings.Selector.TargetPatterns": "Patrones de inclusión",
"Ui.Settings.Selector.TargetPatternsDesc": "Patrones de los archivos que se van a sincronizar",
"Ui.Settings.Setup.RerunWizardButton": "Volver a ejecutar el asistente",
"Ui.Settings.Setup.RerunWizardDesc": "Vuelve a ejecutar el asistente de configuración inicial para configurar Self-hosted LiveSync de nuevo.",
"Ui.Settings.Setup.RerunWizardName": "Volver a ejecutar el asistente de configuración inicial",
"Ui.Settings.SyncSettings.Fetch": "Obtener",
"Ui.Settings.SyncSettings.Merge": "Combinar",
"Ui.Settings.SyncSettings.Overwrite": "Sobrescribir",
"Ui.SetupWizard.Common.Back": "No, volver atrás",
"Ui.SetupWizard.Common.Cancel": "Cancelar",
"Ui.SetupWizard.Common.ProceedSelectOption": "Selecciona una opción para continuar",
"Ui.SetupWizard.Intro.ExistingOption": "Estoy añadiendo un dispositivo a una configuración de sincronización existente",
"Ui.SetupWizard.Intro.ExistingOptionDesc": "Elige esto si ya usas la sincronización en otro ordenador o móvil. Usa esta opción para conectar este dispositivo a esa configuración existente.",
"Ui.SetupWizard.Intro.Guidance": "Te guiaremos con unas cuantas preguntas para simplificar la configuración de la sincronización.",
"Ui.SetupWizard.Intro.NewOption": "Lo estoy configurando por primera vez",
"Ui.SetupWizard.Intro.NewOptionDesc": "Elige esto si estás configurando este dispositivo como el primero de la sincronización.",
"Ui.SetupWizard.Intro.ProceedExisting": "Sí, quiero añadir este dispositivo a mi sincronización existente",
"Ui.SetupWizard.Intro.ProceedNew": "Sí, quiero configurar una sincronización nueva",
"Ui.SetupWizard.Intro.Question": "Primero, selecciona la opción que mejor describa tu situación actual.",
"Ui.SetupWizard.Intro.Title": "Bienvenido a Self-hosted LiveSync",
"Ui.SetupWizard.Invitation.Start": "Comenzar la configuración",
"Ui.SetupWizard.OutroAskUserMode.CompatibleOption": "El remoto ya está configurado y la configuración es compatible (o pasa a serlo con esta operación).",
"Ui.SetupWizard.OutroAskUserMode.CompatibleOptionDesc": "Si no estás seguro, elegir esta opción es arriesgado. Da por supuesto que la configuración del servidor es compatible con este dispositivo. Si no lo es, puede haber pérdida de datos. Asegúrate de entender las consecuencias.",
"Ui.SetupWizard.OutroAskUserMode.ExistingOption": "Mi servidor remoto ya está configurado. Quiero añadir este dispositivo.",
"Ui.SetupWizard.OutroAskUserMode.ExistingOptionDesc": "Al elegir esta opción, este dispositivo se unirá al servidor existente. Tendrás que obtener del servidor los datos de sincronización ya existentes.",
"Ui.SetupWizard.OutroAskUserMode.Guidance": "La conexión con el servidor se ha configurado correctamente. Como paso siguiente hay que reconstruir la base de datos local, es decir, la información de sincronización.",
"Ui.SetupWizard.OutroAskUserMode.NewOption": "Estoy configurando un servidor nuevo por primera vez / quiero restablecer mi servidor actual.",
"Ui.SetupWizard.OutroAskUserMode.NewOptionDesc": "Al elegir esta opción, el servidor se inicializará con los datos actuales de este dispositivo. Cualquier dato existente en el servidor se sobrescribirá por completo.",
"Ui.SetupWizard.OutroAskUserMode.ProceedApplySettings": "Aplicar los ajustes",
"Ui.SetupWizard.OutroAskUserMode.ProceedNext": "Continuar al paso siguiente.",
"Ui.SetupWizard.OutroAskUserMode.Question": "Selecciona tu situación.",
"Ui.SetupWizard.OutroAskUserMode.Title": "Casi terminado: se requiere una decisión",
"Ui.SetupWizard.OutroNewP2PUser.GuidanceNotice": "En P2P no hay una copia en un servidor central que sobrescribir. Este paso prepara solo este dispositivo; mantenlo conectado cuando otro dispositivo obtenga sus datos iniciales.",
"Ui.SetupWizard.OutroNewP2PUser.GuidancePrimary": "La conexión punto a punto se ha configurado correctamente. A continuación, la base de datos local de LiveSync se construirá a partir de los archivos actuales de este Vault.",
"Ui.SetupWizard.OutroNewP2PUser.Important": "TEN EN CUENTA",
"Ui.SetupWizard.OutroNewP2PUser.Proceed": "Reiniciar y preparar este dispositivo",
"Ui.SetupWizard.OutroNewP2PUser.Question": "Pulsa el botón de abajo para reiniciar y pasar a la confirmación de la inicialización local.",
"Ui.SetupWizard.OutroNewP2PUser.Title": "Configuración completada: preparando este dispositivo P2P",
"Ui.SetupWizard.OutroNewUser.GuidancePrimary": "La conexión con el servidor se ha configurado correctamente. Como paso siguiente, los datos de sincronización del servidor se construirán a partir de los datos actuales de este dispositivo.",
"Ui.SetupWizard.OutroNewUser.GuidanceWarning": "Tras reiniciar, los datos de este dispositivo se subirán al servidor como copia maestra. Ten en cuenta que cualquier dato no deseado que haya ahora en el servidor se sobrescribirá por completo.",
"Ui.SetupWizard.OutroNewUser.Important": "IMPORTANTE",
"Ui.SetupWizard.OutroNewUser.Proceed": "Reiniciar e inicializar el servidor",
"Ui.SetupWizard.OutroNewUser.Question": "Pulsa el botón de abajo para reiniciar y pasar a la confirmación final.",
"Ui.SetupWizard.OutroNewUser.Title": "Configuración completada: preparando la inicialización del servidor",
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalReset": "Entiendo que esto restablece únicamente la base de datos de sincronización local de este dispositivo.",
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalResetNote": "Se usarán los archivos que hay ahora en este Vault para reconstruirla.",
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmTitle": "⚠️ Confirma lo siguiente",
"Ui.SetupWizard.RebuildEverythingP2P.Guidance": "Este procedimiento descartará la base de datos local de LiveSync de este dispositivo y la reconstruirá a partir de los archivos actuales de este Vault. No elimina ni sobrescribe datos de otro dispositivo.",
"Ui.SetupWizard.RebuildEverythingP2P.Note": "Mantén este dispositivo conectado después de la inicialización para que otro dispositivo pueda obtener el Vault desde él.",
"Ui.SetupWizard.RebuildEverythingP2P.Proceed": "Lo entiendo, preparar este dispositivo",
"Ui.SetupWizard.RebuildEverythingP2P.Title": "Confirmación final: preparar este dispositivo para P2P",
"Ui.SetupWizard.SelectExisting.Guidance": "Estás añadiendo este dispositivo a una configuración de sincronización existente.",
"Ui.SetupWizard.SelectExisting.ManualOption": "Configurar un remoto manualmente",
"Ui.SetupWizard.SelectExisting.ManualOptionDesc": "Vuelve a configurar manualmente el mismo remoto que en tus otros dispositivos. Está pensado solo para usuarios avanzados.",
"Ui.SetupWizard.SelectExisting.ProceedManual": "Continuar con la configuración manual",
"Ui.SetupWizard.SelectExisting.ProceedQr": "Escanea con la cámara de este dispositivo el código QR mostrado en un dispositivo activo.",
"Ui.SetupWizard.SelectExisting.ProceedSetupUri": "Continuar con el Setup URI",
"Ui.SetupWizard.SelectExisting.QrOption": "Escanear un código QR (recomendado en móvil)",
"Ui.SetupWizard.SelectExisting.QrOptionDesc": "Escanea con la cámara de este dispositivo el código QR mostrado en un dispositivo activo.",
"Ui.SetupWizard.SelectExisting.Question": "Selecciona un método para importar los ajustes desde otro dispositivo.",
"Ui.SetupWizard.SelectExisting.SetupUriOption": "Usar un Setup URI (recomendado)",
"Ui.SetupWizard.SelectExisting.SetupUriOptionDesc": "Pega el Setup URI generado en uno de tus dispositivos activos.",
"Ui.SetupWizard.SelectExisting.Title": "Método de configuración del dispositivo",
"Ui.SetupWizard.SelectNew.Guidance": "Vamos a configurar la conexión de sincronización.",
"Ui.SetupWizard.SelectNew.ManualOption": "Configurar un remoto manualmente",
"Ui.SetupWizard.SelectNew.ManualOptionDesc": "Es una opción avanzada para quienes no tienen un Setup URI o quieren ajustar la configuración en detalle. También puedes usarla para la sincronización P2P en lugar de CouchDB o de un almacenamiento de objetos compatible con S3.",
"Ui.SetupWizard.SelectNew.ProceedManual": "Continuar con la configuración manual",
"Ui.SetupWizard.SelectNew.ProceedSetupUri": "Continuar con el Setup URI",
"Ui.SetupWizard.SelectNew.Question": "¿Cómo quieres configurar esta conexión de sincronización?",
"Ui.SetupWizard.SelectNew.SetupUriOption": "Usar un Setup URI (recomendado)",
"Ui.SetupWizard.SelectNew.SetupUriOptionDesc": "Un Setup URI es una única cadena que contiene los datos de conexión y autenticación. Cuando un script de instalación te proporciona uno, es la forma más sencilla y segura de configurarlo.",
"Ui.SetupWizard.SelectNew.Title": "Método de conexión",
"Ui.SetupWizard.SetupRemote.BucketOption": "Almacenamiento de objetos compatible con S3",
"Ui.SetupWizard.SetupRemote.BucketOptionDesc": "Sincronización mediante archivos de diario. Necesitas tener ya un servicio de almacenamiento de objetos compatible con S3, como Amazon S3, MinIO o Cloudflare R2.",
"Ui.SetupWizard.SetupRemote.CouchDbOptionDesc": "Es el método de sincronización más adecuado para el diseño actual y ofrece todas las funciones. Necesitas tener ya una instancia de CouchDB en marcha.",
"Ui.SetupWizard.SetupRemote.Guidance": "Selecciona el tipo de remoto para esta configuración de sincronización.",
"Ui.SetupWizard.SetupRemote.P2POption": "Punto a punto (P2P)",
"Ui.SetupWizard.SetupRemote.P2POptionDesc": "Permite la sincronización directa entre dispositivos. No hace falta servidor, pero ambos dispositivos deben estar conectados a la vez y algunas funciones pueden estar limitadas. Solo se necesita internet para la señalización, no para transferir los datos.",
"Ui.SetupWizard.SetupRemote.ProceedBucket": "Continuar con la configuración del almacenamiento de objetos",
"Ui.SetupWizard.SetupRemote.ProceedCouchDb": "Continuar con la configuración de CouchDB",
"Ui.SetupWizard.SetupRemote.ProceedP2P": "Continuar con la configuración de P2P",
"Ui.SetupWizard.SetupRemote.Title": "Elige un remoto de sincronización",
"Unique name between all synchronized devices. To edit this setting, please disable customization sync once.": "Nombre único entre dispositivos sincronizados. Para editarlo, desactive sincronización de personalización",
"Use a custom passphrase": "Usar una frase de contraseña personalizada",
"Use a Setup URI (Recommended)": "Usar un URI de configuración (recomendado)",
+3 -3
View File
@@ -212,7 +212,7 @@
"liveSyncReplicator.beforeLiveSync": "LiveSync 전에 OneShot을 먼저 시작합니다...",
"liveSyncReplicator.cantReplicateLowerValue": "더 낮은 값으로 복제할 수 없습니다.",
"liveSyncReplicator.checkingLastSyncPoint": "마지막으로 동기화된 지점을 찾고 있습니다.",
"liveSyncReplicator.couldNotConnectTo": "${uri}에 연결할 수 없습니다: ${name} \n(${db})",
"liveSyncReplicator.couldNotConnectTo": "${uri}에 연결할 수 없습니다: ${name}\n(${db})",
"liveSyncReplicator.couldNotConnectToRemoteDb": "원격 데이터베이스에 연결할 수 없습니다: ${d}",
"liveSyncReplicator.couldNotConnectToServer": "서버에 연결할 수 없습니다.",
"liveSyncReplicator.couldNotConnectToURI": "${uri}에 연결할 수 없습니다: ${dbRet}",
@@ -260,7 +260,7 @@
"moduleCheckRemoteSize.logExceededWarning": "원격 스토리지 크기: ${measuredSize}가 ${notifySize}를 초과했습니다",
"moduleCheckRemoteSize.logThresholdEnlarged": "임계값이 ${size}MB로 증가되었습니다",
"moduleCheckRemoteSize.msgConfirmRebuild": "시간이 꽤 오래 걸릴 수 있습니다. 정말 지금 모든 것을 재구축하시겠습니까?",
"moduleCheckRemoteSize.msgDatabaseGrowing": "**데이터베이스 용량이 점점 커지고 있습니다!** 하지만 걱정하지 마세요. 아직 원격 스토리지 공간이 완전히 부족해진 건 아닙니다.\n\n| 측정된 크기 | 설정된 한도 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 오랜 기간 사용했다면 참조되지 않는 청크, 즉 '쓰레기 데이터'가 쌓였을 수 있습니다. 이 경우 전체 재구성을 권장합니다. 용량이 훨씬 줄어들 수 있습니다.\n> \n> 단순히 볼트 자체 용량이 커지고 있는 것이라면, 먼저 파일을 정리한 후 전체를 재구성하는 것이 좋습니다. Self-hosted LiveSync는 처리 속도를 위해 삭제해도 실제 데이터를 바로 지우지 않습니다. 이 내용은 [기술 문서](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)에 간략히 정리되어 있습니다.\n> \n> 용량 증가가 괜찮다면 알림 임계치를 100MB 단위로 높일 수 있습니다. 직접 서버를 운영하는 경우에 적합한 방법입니다. 다만, 가끔은 전체 재구성을 해주는 것이 바람직합니다.\n\n> [!WARNING]\n> 전체 재구성을 실행할 경우, 모든 기기가 반드시 동기화되어 있어야 합니다. 플러그인이 최대한 병합하려고 시도하긴 하지만 완전하지 않을 수 있습니다.",
"moduleCheckRemoteSize.msgDatabaseGrowing": "**데이터베이스 용량이 점점 커지고 있습니다!** 하지만 걱정하지 마세요. 아직 원격 스토리지 공간이 완전히 부족해진 건 아닙니다.\n\n| 측정된 크기 | 설정된 한도 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 오랜 기간 사용했다면 참조되지 않는 청크, 즉 '쓰레기 데이터'가 쌓였을 수 있습니다. 이 경우 전체 재구성을 권장합니다. 용량이 훨씬 줄어들 수 있습니다.\n>\n> 단순히 볼트 자체 용량이 커지고 있는 것이라면, 먼저 파일을 정리한 후 전체를 재구성하는 것이 좋습니다. Self-hosted LiveSync는 처리 속도를 위해 삭제해도 실제 데이터를 바로 지우지 않습니다. 이 내용은 [기술 문서](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)에 간략히 정리되어 있습니다.\n>\n> 용량 증가가 괜찮다면 알림 임계치를 100MB 단위로 높일 수 있습니다. 직접 서버를 운영하는 경우에 적합한 방법입니다. 다만, 가끔은 전체 재구성을 해주는 것이 바람직합니다.\n\n> [!WARNING]\n> 전체 재구성을 실행할 경우, 모든 기기가 반드시 동기화되어 있어야 합니다. 플러그인이 최대한 병합하려고 시도하긴 하지만 완전하지 않을 수 있습니다.",
"moduleCheckRemoteSize.msgSetDBCapacity": "**원격 스토리지 공간이 부족해지기 전에 미리 조치할 수 있도록** 데이터베이스 용량 경고를 설정할 수 있습니다.\n이 기능을 활성화하시겠습니까?\n\n> [!MORE]-\n> - 0: 스토리지 용량에 대한 경고 없음\n> 자체 서버를 사용하는 등 여유 공간이 충분한 경우에 권장됩니다. 스토리지 용량을 직접 확인하고 수동으로 재구성할 수 있습니다.\n> - 800: 원격 스토리지 용량이 800MB를 초과하면 경고\n> 1GB 제한이 있는 fly.io나 IBM Cloudant 사용 시 권장됩니다.\n> - 2000: 원격 스토리지 용량이 2GB를 초과하면 경고\n\n설정한 용량 한도에 도달하면, 단계적으로 경고 한도를 늘릴지 여부를 묻게 됩니다.\n",
"moduleCheckRemoteSize.option2GB": "2GB (표준)",
"moduleCheckRemoteSize.option800MB": "800MB (Cloudant, fly.io)",
@@ -386,7 +386,7 @@
"obsidianLiveSyncSettingTab.logCheckingConfigDone": "구성 확인 완료",
"obsidianLiveSyncSettingTab.logCheckingConfigFailed": "구성 확인 실패",
"obsidianLiveSyncSettingTab.logCheckingDbConfig": "데이터베이스 구성 확인 중",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "오류: 원격 서버와 패스프레이즈 확인에 실패했습니다: \n${db}.",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "오류: 원격 서버와 패스프레이즈 확인에 실패했습니다:\n${db}.",
"obsidianLiveSyncSettingTab.logConfiguredDisabled": "구성된 동기화 모드: 비활성화됨",
"obsidianLiveSyncSettingTab.logConfiguredLiveSync": "구성된 동기화 모드: LiveSync",
"obsidianLiveSyncSettingTab.logConfiguredPeriodic": "구성된 동기화 모드: 주기적",
+3 -3
View File
@@ -263,7 +263,7 @@
"moduleCheckRemoteSize.logExceededWarning": "远程存储大小:${measuredSize} 超过 ${notifySize}",
"moduleCheckRemoteSize.logThresholdEnlarged": "阈值已扩大到 ${size}MB",
"moduleCheckRemoteSize.msgConfirmRebuild": "这可能需要一些时间。您真的想现在重建所有内容吗?",
"moduleCheckRemoteSize.msgDatabaseGrowing": "**您的数据库正在变大!** 但别担心,我们现在可以解决它。在远程存储空间用完之前还有时间。\n\n| 测量大小 | 配置大小 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 如果您已经使用了很多年,数据库中可能会积累未引用的 chunks——也就是垃圾。因此,我们建议重建所有内容。它可能会变得小得多。\n> \n> 如果您的库容量只是在增加,最好在整理文件后重建所有内容。即使您为了加速过程删除了文件,Self-hosted LiveSync 也不会删除实际数据。这大致[有文档记录](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)。\n> \n> 如果您不介意增加,可以将通知限制增加 100MB。如果您在自己的服务器上运行,就是这种情况。但是,最好还是不时地重建所有内容。\n> \n\n> [!WARNING]\n> 如果您执行重建所有内容,请确保所有设备都已同步。尽管如此,插件会尽可能地合并\n",
"moduleCheckRemoteSize.msgDatabaseGrowing": "**您的数据库正在变大!** 但别担心,我们现在可以解决它。在远程存储空间用完之前还有时间。\n\n| 测量大小 | 配置大小 |\n| --- | --- |\n| ${estimatedSize} | ${maxSize} |\n\n> [!MORE]-\n> 如果您已经使用了很多年,数据库中可能会积累未引用的 chunks——也就是垃圾。因此,我们建议重建所有内容。它可能会变得小得多。\n>\n> 如果您的库容量只是在增加,最好在整理文件后重建所有内容。即使您为了加速过程删除了文件,Self-hosted LiveSync 也不会删除实际数据。这大致[有文档记录](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/tech_info.md)。\n>\n> 如果您不介意增加,可以将通知限制增加 100MB。如果您在自己的服务器上运行,就是这种情况。但是,最好还是不时地重建所有内容。\n>\n\n> [!WARNING]\n> 如果您执行重建所有内容,请确保所有设备都已同步。尽管如此,插件会尽可能地合并\n",
"moduleCheckRemoteSize.msgSetDBCapacity": "我们可以设置一个最大数据库容量警告,**以便在远程存储空间耗尽前采取行动**。\n您想启用这个功能吗?\n\n> [!MORE]-\n> - 0: 不警告存储大小。\n> 如果您在远程存储(尤其是自托管)上有足够的空间,则推荐此选项。您可以手动检查存储大小并重建。\n> - 800: 如果远程存储大小超过 800MB 则发出警告。\n> 如果您使用的是 fly.io(1GB 限制) 或 IBM Cloudant,则推荐此选项。\n> - 2000: 如果远程存储大小超过 2GB 则发出警告。\n\n如果达到限制,系统会要求我们逐步增大限制\n",
"moduleCheckRemoteSize.option2GB": "2GB (标准)",
"moduleCheckRemoteSize.option800MB": "800MB (Cloudant, fly.io)",
@@ -317,7 +317,7 @@
"moduleMigration.msgFetchRemoteAgain": "您可能已经知道,Self-hosted LiveSync 更改了其默认行为和数据库结构。\n\n值得庆幸的是,在您的时间和努力下,远程数据库似乎已经迁移完成。恭喜!\n\n但是,我们还需要一点点操作。此设备的配置与远程数据库不兼容。我们需要再次从远程数据库获取。我们现在应该再次从远程获取吗?\n\n___注意:在更改配置并再次获取数据库之前,我们无法进行同步。___\n___注意2:chunks 是完全不可变的,我们只能获取元数据和差异",
"moduleMigration.msgInitialSetup": "您的设备**尚未设置**。让我引导您完成设置过程。\n\n请记住,每个对话框内容都可以复制到剪贴板。如果以后需要参考,可以将其粘贴到 Obsidian 的笔记中。您也可以使用翻译工具将其翻译成您的语言。\n\n首先,您有**设置 URI** 吗?\n\n注意:如果您不知道这是什么,请参阅[文档](${URI_DOC})",
"moduleMigration.msgRecommendSetupUri": "我们强烈建议您生成一个设置 URI 并使用它。\n如果您对此不了解,请参阅[文档](${URI_DOC})(再次抱歉,但这很重要)。\n\n您想如何手动设置?",
"moduleMigration.msgSinceV02321": "自 v0.23.21 起,Self-hosted LiveSync 更改了默认行为和数据库结构。进行了以下更改:\n\n1. **文件名的区分大小写** \n现在处理文件名时不区分大小写。这对于大多数平台来说是一个有益的更改,除了 Linux 和 iOS,它们不能有效地管理文件名的大小写敏感性。\n(在这些平台上,对于名称相同但大小写不同的文件将显示警告)。\n\n2. **chunks 的版本处理** \nchunks 是不可变的,这使得它们的版本可以固定。此更改将提高文件保存的性能。\n\n___然而,要启用这些更改中的任何一个,都需要重建远程和本地数据库。这个过程需要几分钟,我们建议您在有充足时间时进行。___\n\n- 如果您希望保持以前的行为,可以使用 `${KEEP}` 跳过此过程。\n- 如果您没有足够的时间,请选择 `${DISMISS}`。稍后会再次提示您。\n- 如果您已在另一台设备上重建了数据库,请选择 `${DISMISS}` 并尝试再次同步。由于检测到差异,系统会再次提示您",
"moduleMigration.msgSinceV02321": "自 v0.23.21 起,Self-hosted LiveSync 更改了默认行为和数据库结构。进行了以下更改:\n\n1. **文件名的区分大小写**\n现在处理文件名时不区分大小写。这对于大多数平台来说是一个有益的更改,除了 Linux 和 iOS,它们不能有效地管理文件名的大小写敏感性。\n(在这些平台上,对于名称相同但大小写不同的文件将显示警告)。\n\n2. **chunks 的版本处理**\nchunks 是不可变的,这使得它们的版本可以固定。此更改将提高文件保存的性能。\n\n___然而,要启用这些更改中的任何一个,都需要重建远程和本地数据库。这个过程需要几分钟,我们建议您在有充足时间时进行。___\n\n- 如果您希望保持以前的行为,可以使用 `${KEEP}` 跳过此过程。\n- 如果您没有足够的时间,请选择 `${DISMISS}`。稍后会再次提示您。\n- 如果您已在另一台设备上重建了数据库,请选择 `${DISMISS}` 并尝试再次同步。由于检测到差异,系统会再次提示您",
"moduleMigration.optionAdjustRemote": "调整到远程设置",
"moduleMigration.optionDecideLater": "稍后决定",
"moduleMigration.optionEnableBoth": "启用两者",
@@ -402,7 +402,7 @@
"obsidianLiveSyncSettingTab.logCheckingConfigDone": "配置检查完成",
"obsidianLiveSyncSettingTab.logCheckingConfigFailed": "配置检查失败",
"obsidianLiveSyncSettingTab.logCheckingDbConfig": "正在检查数据库配置",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "错误:无法使用远程服务器检查密码:\n${db} ",
"obsidianLiveSyncSettingTab.logCheckPassphraseFailed": "错误:无法使用远程服务器检查密码:\n${db}",
"obsidianLiveSyncSettingTab.logConfiguredDisabled": "已配置的同步模式:已禁用",
"obsidianLiveSyncSettingTab.logConfiguredLiveSync": "已配置的同步模式:LiveSync",
"obsidianLiveSyncSettingTab.logConfiguredPeriodic": "已配置的同步模式:定期同步",
File diff suppressed because it is too large Load Diff