mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-02 04:42:09 +08:00
* feat(auto-backup): implement centralized auto-backup manager and UI - Introduced AutoBackupManager to handle verge settings, run a background scheduler, debounce change-driven backups, and trim auto-labeled archives (keeps 20); wired into startup and config refresh hooks (src-tauri/src/module/auto_backup.rs:28-209, src-tauri/src/utils/resolve/mod.rs:64-136, src-tauri/src/feat/config.rs:102-238) - Extended verge schema and backup helpers so scheduled/change-based settings persist, create_local_backup can rename archives, and profile/global-extend mutations now trigger backups (src-tauri/src/config/verge.rs:162-536, src/types/types.d.ts:857-859, src-tauri/src/feat/backup.rs:125-189, src-tauri/src/cmd/profile.rs:66-476, src-tauri/src/cmd/save_profile.rs:21-82) - Added Auto Backup settings panel in backup dialog with dual toggles + interval selector; localized new strings across all locales (src/components/setting/mods/auto-backup-settings.tsx:1-138, src/components/setting/mods/backup-viewer.tsx:28-309, src/locales/en/settings.json:312-326 and mirrored entries) - Regenerated typed i18n resources for strong typing in React (src/types/generated/i18n-keys.ts, src/types/generated/i18n-resources.ts) * refactor(setting/backup): restructure backup dialog for consistent layout * refactor(ui): unify settings dialog style * fix(backup): only trigger auto-backup on valid saves & restore restarts app safely * fix(backup): scrub console.log leak and rewire WebDAV dialog to actually probe server * refactor: rename SubscriptionChange to ProfileChange * chore: update i18n * chore: WebDAV i18n improvements * refactor(backup): error handling * refactor(auto-backup): wrap scheduler startup with maybe_start_runner * refactor: remove the redundant throw in handleExport * feat(backup-history-viewer): improve WebDAV handling and UI fallback * feat(auto-backup): trigger backups on all profile edits & improve interval input UX * refactor: use InputAdornment * docs: Changelog.md
133 lines
4.7 KiB
JSON
133 lines
4.7 KiB
JSON
{
|
|
"actions": {
|
|
"cancel": "Cancelar",
|
|
"close": "Cerrar",
|
|
"confirm": "Confirmar",
|
|
"save": "Guardar",
|
|
"delete": "Eliminar",
|
|
"edit": "Editar",
|
|
"new": "Nuevo",
|
|
"enable": "Habilitar",
|
|
"upgrade": "Actualizar núcleo",
|
|
"restart": "Reiniciar núcleo",
|
|
"resetToDefault": "Restablecer a los valores predeterminados",
|
|
"refresh": "Actualizar",
|
|
"retry": "Retry",
|
|
"refreshPage": "Refresh Page",
|
|
"showDetails": "Show Details",
|
|
"hideDetails": "Hide Details",
|
|
"listView": "Vista de lista",
|
|
"tableView": "Vista de tabla",
|
|
"pause": "Pausar",
|
|
"resume": "Reanudar",
|
|
"closeAll": "Cerrar todas",
|
|
"clear": "Limpiar",
|
|
"previous": "Previous",
|
|
"next": "Next"
|
|
},
|
|
"labels": {
|
|
"updateAt": "Actualizado el",
|
|
"timeout": "Timeout",
|
|
"icon": "Icono",
|
|
"name": "Nombre",
|
|
"readOnly": "Solo lectura",
|
|
"expireTime": "Tiempo de expiración",
|
|
"updateTime": "Hora de actualización",
|
|
"usedTotal": "Utilizado / Total",
|
|
"from": "De",
|
|
"password": "Contraseña",
|
|
"retryAttempts": "Retry attempts",
|
|
"downloaded": "Descargado",
|
|
"uploaded": "Subido"
|
|
},
|
|
"statuses": {
|
|
"enabled": "Habilitado",
|
|
"disabled": "Deshabilitado",
|
|
"saving": "Saving...",
|
|
"empty": "Vacío"
|
|
},
|
|
"units": {
|
|
"milliseconds": "Milisegundos",
|
|
"seconds": "Segundos",
|
|
"minutes": "Minutos",
|
|
"hours": "Horas",
|
|
"kilobytes": "KB",
|
|
"files": "Files"
|
|
},
|
|
"placeholders": {
|
|
"filter": "Condiciones de filtrado",
|
|
"matchCase": "Distinguir mayúsculas y minúsculas",
|
|
"matchWholeWord": "Coincidencia exacta de palabras",
|
|
"useRegex": "Usar expresiones regulares"
|
|
},
|
|
"validation": {
|
|
"invalidRegex": "Invalid regular expression"
|
|
},
|
|
"window": {
|
|
"maximize": "Maximizar",
|
|
"minimize": "Minimizar"
|
|
},
|
|
"editorModes": {
|
|
"visualization": "Visualización",
|
|
"advanced": "Avanzado"
|
|
},
|
|
"feedback": {
|
|
"errors": {
|
|
"trafficStats": "Traffic Statistics Error",
|
|
"trafficStatsDescription": "The traffic statistics component encountered an error and has been disabled to prevent crashes."
|
|
},
|
|
"notices": {
|
|
"raw": "{{message}}",
|
|
"prefixedRaw": "{{prefix}} {{message}}"
|
|
},
|
|
"notifications": {
|
|
"importSuccess": "Suscripción importada con éxito",
|
|
"importSubscriptionSuccess": "Suscripción importada con éxito",
|
|
"importWithClashProxy": "Suscripción importada con el proxy de Clash",
|
|
"updateAvailable": "Update Available",
|
|
"saved": "Saved successfully",
|
|
"common": {
|
|
"copySuccess": "Copia exitosa",
|
|
"saveSuccess": "Configuración aleatoria guardada correctamente",
|
|
"saveFailed": "Failed to save configuration"
|
|
}
|
|
},
|
|
"validation": {
|
|
"config": {
|
|
"failed": "Error de validación de la configuración de la suscripción. Compruebe el archivo de configuración de la suscripción. Los cambios se han deshecho. Detalles del error: ",
|
|
"bootFailed": "Error de validación de la configuración de la suscripción de arranque. Se ha iniciado con la configuración predeterminada. Compruebe el archivo de configuración de la suscripción. Detalles del error: ",
|
|
"coreChangeFailed": "Error de validación de la configuración al cambiar el núcleo. Se ha iniciado con la configuración predeterminada. Compruebe el archivo de configuración de la suscripción. Detalles del error: ",
|
|
"processTerminated": "Proceso de validación terminado"
|
|
},
|
|
"script": {
|
|
"syntaxError": "Error de sintaxis en el script. Los cambios se han deshecho",
|
|
"missingMain": "Error en el script. Los cambios se han deshecho",
|
|
"fileNotFound": "Archivo no encontrado. Los cambios se han deshecho",
|
|
"fileError": "Error en el archivo de script. Los cambios se han deshecho"
|
|
},
|
|
"yaml": {
|
|
"syntaxError": "Error de sintaxis YAML. Los cambios se han deshecho",
|
|
"readError": "Error al leer el archivo YAML. Los cambios se han deshecho",
|
|
"mappingError": "Error de mapeo YAML. Los cambios se han deshecho",
|
|
"keyError": "Error de clave YAML. Los cambios se han deshecho",
|
|
"generalError": "Error YAML. Los cambios se han deshecho"
|
|
},
|
|
"merge": {
|
|
"syntaxError": "Error de sintaxis en el archivo de sobrescritura. Los cambios se han deshecho",
|
|
"mappingError": "Error de mapeo en el archivo de sobrescritura. Los cambios se han deshecho",
|
|
"keyError": "Error de clave en el archivo de sobrescritura. Los cambios se han deshecho",
|
|
"generalError": "Error en el archivo de sobrescritura. Los cambios se han deshecho"
|
|
}
|
|
}
|
|
},
|
|
"filters": {
|
|
"logLevels": {
|
|
"all": "ALL",
|
|
"debug": "DEBUG",
|
|
"info": "INFO",
|
|
"warn": "WARN",
|
|
"error": "ERROR"
|
|
}
|
|
}
|
|
}
|