sbackup-cli 1.0.0__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sbackup_cli-1.0.0/sbackup_cli.egg-info → sbackup_cli-1.0.1}/PKG-INFO +1 -1
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/pyproject.toml +8 -1
- sbackup_cli-1.0.1/sbackup/locales/de_DE.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/en_US.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/es_ES.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/fr_FR.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/ja_JP.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/ko_KR.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/pt_BR.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/ru_RU.json +80 -0
- sbackup_cli-1.0.1/sbackup/locales/zh_CN.json +80 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1/sbackup_cli.egg-info}/PKG-INFO +1 -1
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup_cli.egg-info/SOURCES.txt +9 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/LICENSE +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/README.md +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/__init__.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/__main__.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/auto_save.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/compression.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/config.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup/i18n.py +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup_cli.egg-info/dependency_links.txt +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup_cli.egg-info/entry_points.txt +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup_cli.egg-info/requires.txt +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/sbackup_cli.egg-info/top_level.txt +0 -0
- {sbackup_cli-1.0.0 → sbackup_cli-1.0.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sbackup-cli"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.1"
|
|
4
4
|
description = "智能文件夹备份工具,支持增量备份和自定义配置"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -34,3 +34,10 @@ Repository = "https://gitee.com/xiatianxuan/sbackup"
|
|
|
34
34
|
dev = [
|
|
35
35
|
"coverage>=7.13.5",
|
|
36
36
|
]
|
|
37
|
+
|
|
38
|
+
[tool.setuptools.packages.find]
|
|
39
|
+
where = ["."]
|
|
40
|
+
include = ["sbackup*"]
|
|
41
|
+
|
|
42
|
+
[tool.setuptools.package-data]
|
|
43
|
+
sbackup = ["locales/*.json"]
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Backup-Strategie erfolgreich hinzugefügt: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Backup-Strategie erfolgreich entfernt: {path}",
|
|
4
|
+
"err.folder.invalid": "Fehler: {path} ist kein gültiger Ordner oder existiert nicht.",
|
|
5
|
+
"err.dest.invalid": "Fehler: Zielordner {path} ist kein gültiger Ordner oder existiert nicht.",
|
|
6
|
+
"info.already.added": "Info: {path} wurde bereits hinzugefügt. Bitte nicht duplizieren.",
|
|
7
|
+
"warn.no.strategy.found": "Warnung: Backup-Strategie für {path} nicht gefunden.",
|
|
8
|
+
"warn.source.missing": "Warnung: Quellordner existiert nicht: {path}",
|
|
9
|
+
"warn.json.decode.error": "Warnung: Datendatei {path} ist fehlerhaft, Initialisierung als leeres Dictionary.",
|
|
10
|
+
"warn.json.backup": "Warnung: Fehlerhafte Datendatei wurde nach {path} kopiert.",
|
|
11
|
+
"warn.json.renamed": "Warnung: Fehlerhafte Datendatei wurde nach {path} umbenannt.",
|
|
12
|
+
"compress.success": "Backup erfolgreich: {path} ({size:.2f} MB, {count} Dateien)",
|
|
13
|
+
"compress.progress": "Komprimierung",
|
|
14
|
+
"compress.unit": "Dateien",
|
|
15
|
+
"err.permission": "Zugriff verweigert: Kann nicht in '{path}' schreiben",
|
|
16
|
+
"err.os": "Systemfehler: {error}",
|
|
17
|
+
"err.unknown": "Unbekannter Fehler: {error}",
|
|
18
|
+
"err.unknown.format": "Fehler: Unbekanntes Backup-Dateiformat {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "ungültige Auswahl: ",
|
|
20
|
+
"err.argparse.choose_from": "auswählen aus",
|
|
21
|
+
"err.argparse.invalid_float": "ungültiger Float-Wert: ",
|
|
22
|
+
"err.argparse.invalid_int": "ungültiger Int-Wert: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "unbekannte Argumente: ",
|
|
24
|
+
"err.argparse.required": "erforderlich",
|
|
25
|
+
"warn.zip.overwrite": "Warnung: Überschreiben der vorhandenen Backup-Datei {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Warnung: Komprimierungsstufe {level} außerhalb des Bereichs (0-9), Standardwert 6 wird verwendet",
|
|
27
|
+
"cmd.save.uptodate": "Alle Backup-Strategien sind aktuell, kein Backup erforderlich.",
|
|
28
|
+
"cmd.save.completed": "Backup abgeschlossen, {count} Strategie(n) bearbeitet.",
|
|
29
|
+
"cmd.all.empty": "Keine Backup-Strategien konfiguriert.",
|
|
30
|
+
"exit.message": "\nBeendet.",
|
|
31
|
+
"table.header.source": "Quellordner",
|
|
32
|
+
"table.header.dest": "Zielordner",
|
|
33
|
+
"table.header.ignore": " Ausschlussmuster",
|
|
34
|
+
"table.cell.none": "Keine",
|
|
35
|
+
"table.header.format": "Format",
|
|
36
|
+
"table.cell.default": "Standard",
|
|
37
|
+
"restore.progress": "Wiederherstellung",
|
|
38
|
+
"restore.success": "Wiederherstellung erfolgreich: {path} ({count} Dateien)",
|
|
39
|
+
"cmd.watch.start": "Überwachung gestartet, Intervall {interval} Min. (Ctrl+C zum Stoppen)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Leichtes inkrementelles Backup-Tool\n\nSbackup hilft Ihnen, Multi-Ordner-Backup-Aufgaben einfach zu verwalten.\nEs nutzt eine inkrementelle Backup-Strategie, komprimiert nur geänderte Dateien,\nunterstützt benutzerdefinierte Ausschlussregeln und bietet intuitives Fortschrittsfeedback.\n\nVerfügbare Befehle:\n add Neue Backup-Strategie hinzufügen (Quelle -> Ziel)\n rm Existing Backup-Strategie entfernen\n all Alle konfigurierten Backup-Strategien anzeigen\n save Backup-Aufgaben ausführen\n version Versionsinformationen anzeigen",
|
|
42
|
+
"cli.epilog": "Beispiele:\n Backup-Strategie hinzufügen:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Strategie mit eintragsbezogenem Format hinzufügen:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Backup-Strategie entfernen:\n sbackup rm F:/my_folder\n\n Alle Strategien anzeigen:\n sbackup all\n\n Backup ausführen (ZIP):\n sbackup save\n\n Backup ausführen (tar.gz):\n sbackup --format tar.gz save\n\n Backup ausführen (7z verschlüsselt):\n sbackup --format 7z save --password 123456\n\n Letzte 5 Backups behalten:\n sbackup save --keep 5\n\n Geplantes Backup (alle 60 Min.):\n sbackup watch --interval 60\n\n Überwachung + Bereinigung:\n sbackup watch --interval 120 --keep 10\n\n Backup wiederherstellen:\n sbackup restore backup.7z F:/restored\n\n Chinesische Oberfläche:\n sbackup --lang zh_CN save\n\n Debug-Modus:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Debug-Modus mit detaillierter Protokollierung aktivieren",
|
|
44
|
+
"cli.help.help": "Diese Hilfe anzeigen und beenden",
|
|
45
|
+
"cli.help.lang": "Sprache der Oberfläche festlegen: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Archivformat festlegen: zip (Standard) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Befehl zum Ausführen wählen",
|
|
48
|
+
"cli.help.add": "Neue Backup-Strategie hinzufügen",
|
|
49
|
+
"cli.help.add.source": "Quellordnerpfad: das zu sichernde Verzeichnis",
|
|
50
|
+
"cli.help.add.dest": "Zielordnerpfad: Speicherort für Backup-Dateien",
|
|
51
|
+
"cli.help.add.ignore": "Dateien oder Ordner ausschließen (komma-separiert, Standard: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Eintragsbezogenes Archivformat (nur für diese Strategie, Standard global): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Backup-Strategie entfernen",
|
|
54
|
+
"cli.help.rm.path": "Quellordnerpfad der zu entferndenden Strategie",
|
|
55
|
+
"cli.help.all": "Alle Backup-Strategien anzeigen",
|
|
56
|
+
"cli.help.save": "Alle Backup-Strategien ausführen",
|
|
57
|
+
"cli.help.save.keep": "Die letzten N Backup-Dateien behalten, 0 deaktiviert Bereinigung",
|
|
58
|
+
"cli.help.save.password": "Verschlüsselungspasswort (nur für 7z-Format)",
|
|
59
|
+
"cli.help.watch": "Backups regelmäßig ausführen",
|
|
60
|
+
"cli.help.watch.interval": "Backup-Intervall in Minuten, Standard 60",
|
|
61
|
+
"cli.help.watch.keep": "Die letzten N Backup-Dateien behalten",
|
|
62
|
+
"cli.help.watch.password": "Verschlüsselungspasswort (nur für 7z-Format)",
|
|
63
|
+
"cli.help.restore": "Aus einer Backup-Datei wiederherstellen",
|
|
64
|
+
"cli.help.restore.file": "Backup-Dateipfad (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Zielverzeichnis für Wiederherstellung",
|
|
66
|
+
"cli.help.version": "Versionsinformationen anzeigen",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLizenz GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "Konfigurationsdatei %s ist fehlerhaft, Standardwerte werden verwendet",
|
|
70
|
+
"log.config.reset": "Konfigurationsdatei %s ist fehlerhaft, Zurücksetzen",
|
|
71
|
+
"log.config.mkdir.error": "Konfigurationsverzeichnis %s kann nicht erstellt werden: %s",
|
|
72
|
+
"log.config.write.error": "Konfigurationsdatei %s kann nicht geschrieben werden: %s",
|
|
73
|
+
"log.data.read": "Datendatei lesen: %s",
|
|
74
|
+
"log.data.create": "Datendatei existiert nicht, Erstellen: %s",
|
|
75
|
+
"log.data.load": "Existing Datendatei laden: %s",
|
|
76
|
+
"log.data.write": "Datendatei schreiben: %s",
|
|
77
|
+
"log.cleanup.delete": "Altes Backup gelöscht: %s",
|
|
78
|
+
"log.i18n.load.failed": "Locale {path} konnte nicht geladen werden: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "Fallback-Locale {path} konnte nicht geladen werden: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Backup strategy added successfully: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Backup strategy removed successfully: {path}",
|
|
4
|
+
"err.folder.invalid": "Error: {path} is not a valid folder or does not exist.",
|
|
5
|
+
"err.dest.invalid": "Error: Target folder {path} is not a valid folder or does not exist.",
|
|
6
|
+
"info.already.added": "Info: {path} has already been added. Please do not duplicate.",
|
|
7
|
+
"warn.no.strategy.found": "Warning: Backup strategy for {path} not found.",
|
|
8
|
+
"warn.source.missing": "Warning: Source folder does not exist: {path}",
|
|
9
|
+
"warn.json.decode.error": "Warning: Data file {path} is malformed, initializing as empty dict.",
|
|
10
|
+
"warn.json.backup": "Warning: Corrupted data file backed up to {path}.",
|
|
11
|
+
"warn.json.renamed": "Warning: Corrupted data file renamed to {path}.",
|
|
12
|
+
"compress.success": "Backup successful: {path} ({size:.2f} MB, {count} files)",
|
|
13
|
+
"compress.progress": "Compressing",
|
|
14
|
+
"compress.unit": "files",
|
|
15
|
+
"err.permission": "Permission denied: Cannot write to '{path}'",
|
|
16
|
+
"err.os": "OS Error: {error}",
|
|
17
|
+
"err.unknown": "Unknown error: {error}",
|
|
18
|
+
"err.unknown.format": "Error: Unrecognized backup file format {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "invalid choice: ",
|
|
20
|
+
"err.argparse.choose_from": "choose from",
|
|
21
|
+
"err.argparse.invalid_float": "invalid float value: ",
|
|
22
|
+
"err.argparse.invalid_int": "invalid int value: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "unrecognized arguments: ",
|
|
24
|
+
"err.argparse.required": "required",
|
|
25
|
+
"warn.zip.overwrite": "Warning: Overwriting existing backup file {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Warning: Compression level {level} out of range (0-9), using default 6",
|
|
27
|
+
"cmd.save.uptodate": "All backup strategies are up to date, no backup needed.",
|
|
28
|
+
"cmd.save.completed": "Backup completed, processed {count} strategy(s).",
|
|
29
|
+
"cmd.all.empty": "No backup strategies configured.",
|
|
30
|
+
"exit.message": "\nExiting.",
|
|
31
|
+
"table.header.source": "Source Folder",
|
|
32
|
+
"table.header.dest": "Target Folder",
|
|
33
|
+
"table.header.ignore": "Ignore Patterns",
|
|
34
|
+
"table.cell.none": "None",
|
|
35
|
+
"table.header.format": "Format",
|
|
36
|
+
"table.cell.default": "Default",
|
|
37
|
+
"restore.progress": "Restoring",
|
|
38
|
+
"restore.success": "Restore successful: {path} ({count} files)",
|
|
39
|
+
"cmd.watch.start": "Watch started, interval {interval} min (press Ctrl+C to stop)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Lightweight incremental backup tool\n\nSbackup helps you easily manage multi-folder backup tasks. It uses incremental backup strategy,\nonly compressing modified files, supporting custom ignore rules, and providing intuitive progress feedback.\n\nAvailable commands:\n add Add a new backup strategy (source -> destination)\n rm Remove an existing backup strategy\n all Show all configured backup strategies\n save Execute backup tasks\n version Show version information",
|
|
42
|
+
"cli.epilog": "Examples:\n Add backup strategy:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Add strategy with entry-level format:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Remove backup strategy:\n sbackup rm F:/my_folder\n\n View all strategies:\n sbackup all\n\n Execute backup (ZIP):\n sbackup save\n\n Execute backup (tar.gz):\n sbackup --format tar.gz save\n\n Execute backup (7z encrypted):\n sbackup --format 7z save --password 123456\n\n Keep last 5 backups:\n sbackup save --keep 5\n\n Watch backup (every 60 min):\n sbackup watch --interval 60\n\n Watch + cleanup:\n sbackup watch --interval 120 --keep 10\n\n Restore backup:\n sbackup restore backup.7z F:/restored\n\n Chinese interface:\n sbackup --lang zh_CN save\n\n Debug mode:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Enable debug mode with detailed logging",
|
|
44
|
+
"cli.help.help": "Show this help message and exit",
|
|
45
|
+
"cli.help.lang": "Set interface language: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Set packaging format: zip (default) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Select a command to execute",
|
|
48
|
+
"cli.help.add": "Add a new backup strategy",
|
|
49
|
+
"cli.help.add.source": "Source folder path: the directory to be backed up",
|
|
50
|
+
"cli.help.add.dest": "Target folder path: where backup files will be stored",
|
|
51
|
+
"cli.help.add.ignore": "Files or folders to ignore (comma separated, default: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Entry-level packaging format (only for this strategy, defaults to global setting): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Remove a backup strategy",
|
|
54
|
+
"cli.help.rm.path": "Source folder path of the strategy to remove",
|
|
55
|
+
"cli.help.all": "View all backup strategies",
|
|
56
|
+
"cli.help.save": "Execute all backup strategies",
|
|
57
|
+
"cli.help.save.keep": "Keep the most recent N backup files, 0 to disable cleanup",
|
|
58
|
+
"cli.help.save.password": "Encryption password (only supported for 7z format)",
|
|
59
|
+
"cli.help.watch": "Run backups periodically",
|
|
60
|
+
"cli.help.watch.interval": "Backup interval in minutes, default 60",
|
|
61
|
+
"cli.help.watch.keep": "Keep the most recent N backup files",
|
|
62
|
+
"cli.help.watch.password": "Encryption password (only supported for 7z format)",
|
|
63
|
+
"cli.help.restore": "Restore from a backup file",
|
|
64
|
+
"cli.help.restore.file": "Backup file path (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Target directory for restoration",
|
|
66
|
+
"cli.help.version": "Show version information",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLicensed under GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "Config file %s is malformed, using defaults",
|
|
70
|
+
"log.config.reset": "Config file %s is malformed, resetting to empty",
|
|
71
|
+
"log.config.mkdir.error": "Cannot create config directory %s: %s",
|
|
72
|
+
"log.config.write.error": "Cannot write config file %s: %s",
|
|
73
|
+
"log.data.read": "Reading data file: %s",
|
|
74
|
+
"log.data.create": "Data file does not exist, creating: %s",
|
|
75
|
+
"log.data.load": "Loading existing data file: %s",
|
|
76
|
+
"log.data.write": "Writing data file: %s",
|
|
77
|
+
"log.cleanup.delete": "Deleted old backup: %s",
|
|
78
|
+
"log.i18n.load.failed": "Failed to load locale {path}: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "Failed to load fallback locale {path}: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Estrategia de copia de seguridad añadida con éxito: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Estrategia de copia de seguridad eliminada con éxito: {path}",
|
|
4
|
+
"err.folder.invalid": "Error: {path} no es una carpeta válida o no existe.",
|
|
5
|
+
"err.dest.invalid": "Error: La carpeta destino {path} no es una carpeta válida o no existe.",
|
|
6
|
+
"info.already.added": "Info: {path} ya ha sido añadido. No lo duplique.",
|
|
7
|
+
"warn.no.strategy.found": "Advertencia: Estrategia de copia de seguridad para {path} no encontrada.",
|
|
8
|
+
"warn.source.missing": "Advertencia: La carpeta fuente no existe: {path}",
|
|
9
|
+
"warn.json.decode.error": "Advertencia: El archivo de datos {path} está malformado, inicializando como diccionario vacío.",
|
|
10
|
+
"warn.json.backup": "Advertencia: El archivo de datos corrupto se ha respaldado en {path}.",
|
|
11
|
+
"warn.json.renamed": "Advertencia: El archivo de datos corrupto se ha renombrado a {path}.",
|
|
12
|
+
"compress.success": "Copia de seguridad exitosa: {path} ({size:.2f} MB, {count} archivos)",
|
|
13
|
+
"compress.progress": "Comprimiendo",
|
|
14
|
+
"compress.unit": "archivos",
|
|
15
|
+
"err.permission": "Permiso denegado: No se puede escribir en '{path}'",
|
|
16
|
+
"err.os": "Error del sistema: {error}",
|
|
17
|
+
"err.unknown": "Error desconocido: {error}",
|
|
18
|
+
"err.unknown.format": "Error: Format de archivo de copia de seguridad no reconocido {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "opción no válida: ",
|
|
20
|
+
"err.argparse.choose_from": "elegir entre",
|
|
21
|
+
"err.argparse.invalid_float": "valor de tipo float no válido: ",
|
|
22
|
+
"err.argparse.invalid_int": "valor de tipo int no válido: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "argumentos no reconocidos: ",
|
|
24
|
+
"err.argparse.required": "requerido",
|
|
25
|
+
"warn.zip.overwrite": "Advertencia: Sobrescribiendo el archivo de copia de seguridad existente {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Advertencia: Nivel de compresión {level} fuera de rango (0-9), usando el valor predeterminado 6",
|
|
27
|
+
"cmd.save.uptodate": "Todas las estrategias de copia de seguridad están actualizadas, no se necesita copia.",
|
|
28
|
+
"cmd.save.completed": "Copia de seguridad completada, {count} estrategia(s) procesada(s).",
|
|
29
|
+
"cmd.all.empty": "No hay estrategias de copia de seguridad configuradas.",
|
|
30
|
+
"exit.message": "\nSaliendo.",
|
|
31
|
+
"table.header.source": "Carpeta fuente",
|
|
32
|
+
"table.header.dest": "Carpeta destino",
|
|
33
|
+
"table.header.ignore": "Patrones de exclusión",
|
|
34
|
+
"table.cell.none": "Ninguno",
|
|
35
|
+
"table.header.format": "Formato",
|
|
36
|
+
"table.cell.default": "Predet.",
|
|
37
|
+
"restore.progress": "Restaurando",
|
|
38
|
+
"restore.success": "Restauración exitosa: {path} ({count} archivos)",
|
|
39
|
+
"cmd.watch.start": "Monitorización iniciada, intervalo {interval} min (pulse Ctrl+C para detener)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Herramienta de copia de seguridad incremental ligera\n\nSbackup le ayuda a gestionar fácilmente las copias de seguridad de múltiples carpetas.\nUtiliza una estrategia de copia de seguridad incremental, comprimiendo únicamente los archivos modificados,\nsoportando reglas de exclusión personalizadas y ofreciendo una retroalimentación de progresión intuitiva.\n\nComandos disponibles :\n add Añadir una nueva estrategia de copia de seguridad (fuente -> destino)\n rm Eliminar una estrategia de copia de seguridad existente\n all Mostrar todas las estrategias de copia de seguridad configuradas\n save Ejecutar las tareas de copia de seguridad\n version Mostrar la información de versión",
|
|
42
|
+
"cli.epilog": "Ejemplos :\n Añadir una estrategia de copia de seguridad :\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Añadir estrategia con formato por entrada:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Eliminar una estrategia de copia de seguridad :\n sbackup rm F:/my_folder\n\n Mostrar todas las estrategias :\n sbackup all\n\n Ejecutar una copia de seguridad (ZIP) :\n sbackup save\n\n Ejecutar una copia de seguridad (tar.gz) :\n sbackup --format tar.gz save\n\n Ejecutar una copia de seguridad (7z cifrado) :\n sbackup --format 7z save --password 123456\n\n Conservar las 5 últimas copias de seguridad :\n sbackup save --keep 5\n\n Copia de seguridad programada (cada 60 min) :\n sbackup watch --interval 60\n\n Monitorización + limpieza :\n sbackup watch --interval 120 --keep 10\n\n Restaurar una copia de seguridad :\n sbackup restore backup.7z F:/restored\n\n Interfaz en chino :\n sbackup --lang zh_CN save\n\n Modo depuración :\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Activar el modo depuración con registro detallado",
|
|
44
|
+
"cli.help.help": "Mostrar este mensaje de ayuda y salir",
|
|
45
|
+
"cli.help.lang": "Definir el idioma de la interfaz: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Definir el formato de archivado: zip (predet.) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Seleccionar un comando para ejecutar",
|
|
48
|
+
"cli.help.add": "Añadir una nueva estrategia de copia de seguridad",
|
|
49
|
+
"cli.help.add.source": "Ruta de la carpeta fuente: el directorio a copiar",
|
|
50
|
+
"cli.help.add.dest": "Ruta de la carpeta destino: donde se almacenarán los archivos de copia de seguridad",
|
|
51
|
+
"cli.help.add.ignore": "Archivos o carpetas a ignorar (separados por comas, predet.: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Formato de archivado por entrada (solo para esta estrategia, por defecto global): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Eliminar una estrategia de copia de seguridad",
|
|
54
|
+
"cli.help.rm.path": "Ruta de la carpeta fuente de la estrategia a eliminar",
|
|
55
|
+
"cli.help.all": "Mostrar todas las estrategias de copia de seguridad",
|
|
56
|
+
"cli.help.save": "Ejecutar todas las estrategias de copia de seguridad",
|
|
57
|
+
"cli.help.save.keep": "Conservar los N últimos archivos de copia de seguridad, 0 para desactivar la limpieza",
|
|
58
|
+
"cli.help.save.password": "Contraseña de cifrado (solo para el formato 7z)",
|
|
59
|
+
"cli.help.watch": "Ejecutar copias de seguridad periódicamente",
|
|
60
|
+
"cli.help.watch.interval": "Intervalo de copia de seguridad en minutos, predet. 60",
|
|
61
|
+
"cli.help.watch.keep": "Conservar los N últimos archivos de copia de seguridad",
|
|
62
|
+
"cli.help.watch.password": "Contraseña de cifrado (solo para el formato 7z)",
|
|
63
|
+
"cli.help.restore": "Restaurar desde un archivo de copia de seguridad",
|
|
64
|
+
"cli.help.restore.file": "Ruta del archivo de copia de seguridad (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Directorio destino para la restauración",
|
|
66
|
+
"cli.help.version": "Mostrar la información de versión",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLicencia GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "El archivo de configuración %s está malformado, usando valores predeterminados",
|
|
70
|
+
"log.config.reset": "El archivo de configuración %s está malformado, reiniciando",
|
|
71
|
+
"log.config.mkdir.error": "No se puede crear el directorio de configuración %s : %s",
|
|
72
|
+
"log.config.write.error": "No se puede escribir el archivo de configuración %s : %s",
|
|
73
|
+
"log.data.read": "Leyendo el archivo de datos : %s",
|
|
74
|
+
"log.data.create": "El archivo de datos no existe, creando : %s",
|
|
75
|
+
"log.data.load": "Cargando el archivo de datos existente : %s",
|
|
76
|
+
"log.data.write": "Escribiendo el archivo de datos : %s",
|
|
77
|
+
"log.cleanup.delete": "Copia de seguridad antigua eliminada : %s",
|
|
78
|
+
"log.i18n.load.failed": "No se pudo cargar el locale {path}: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "No se pudo cargar el locale de respaldo {path}: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Stratégie de sauvegarde ajoutée avec succès : {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Stratégie de sauvegarde supprimée avec succès : {path}",
|
|
4
|
+
"err.folder.invalid": "Erreur : {path} n'est pas un dossier valide ou n'existe pas.",
|
|
5
|
+
"err.dest.invalid": "Erreur : Le dossier cible {path} n'est pas un dossier valide ou n'existe pas.",
|
|
6
|
+
"info.already.added": "Info : {path} a déjà été ajouté. Veuillez ne pas dupliquer.",
|
|
7
|
+
"warn.no.strategy.found": "Attention : Stratégie de sauvegarde pour {path} non trouvée.",
|
|
8
|
+
"warn.source.missing": "Attention : Le dossier source n'existe pas : {path}",
|
|
9
|
+
"warn.json.decode.error": "Attention : Le fichier de données {path} est malformé, initialisation en dict vide.",
|
|
10
|
+
"warn.json.backup": "Attention : Le fichier de données corrompu a été sauvegardé dans {path}.",
|
|
11
|
+
"warn.json.renamed": "Attention : Le fichier de données corrompu a été renommé en {path}.",
|
|
12
|
+
"compress.success": "Sauvegarde réussie : {path} ({size:.2f} MB, {count} fichiers)",
|
|
13
|
+
"compress.progress": "Compression en cours",
|
|
14
|
+
"compress.unit": "fichiers",
|
|
15
|
+
"err.permission": "Accès refusé : Impossible d'écrire dans '{path}'",
|
|
16
|
+
"err.os": "Erreur système : {error}",
|
|
17
|
+
"err.unknown": "Erreur inconnue : {error}",
|
|
18
|
+
"err.unknown.format": "Erreur : Format de fichier de sauvegarde non reconnu {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "choix invalide : ",
|
|
20
|
+
"err.argparse.choose_from": "choisir parmi",
|
|
21
|
+
"err.argparse.invalid_float": "valeur flottante invalide : ",
|
|
22
|
+
"err.argparse.invalid_int": "valeur entière invalide : ",
|
|
23
|
+
"err.argparse.unrecognized_args": "arguments non reconnus : ",
|
|
24
|
+
"err.argparse.required": "requis",
|
|
25
|
+
"warn.zip.overwrite": "Attention : Remplacement du fichier de sauvegarde existant {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Attention : Niveau de compression {level} hors plage (0-9), utilisation de la valeur par défaut 6",
|
|
27
|
+
"cmd.save.uptodate": "Toutes les stratégies de sauvegarde sont à jour, aucune sauvegarde nécessaire.",
|
|
28
|
+
"cmd.save.completed": "Sauvegarde terminée, {count} stratégie(s) traitée(s).",
|
|
29
|
+
"cmd.all.empty": "Aucune stratégie de sauvegarde configurée.",
|
|
30
|
+
"exit.message": "\nSortie.",
|
|
31
|
+
"table.header.source": "Dossier source",
|
|
32
|
+
"table.header.dest": "Dossier cible",
|
|
33
|
+
"table.header.ignore": "Modèles d'exclusion",
|
|
34
|
+
"table.cell.none": "Aucun",
|
|
35
|
+
"table.header.format": "Format",
|
|
36
|
+
"table.cell.default": "Défaut",
|
|
37
|
+
"restore.progress": "Restauration en cours",
|
|
38
|
+
"restore.success": "Restauration réussie : {path} ({count} fichiers)",
|
|
39
|
+
"cmd.watch.start": "Surveillance démarrée, intervalle {interval} min (appuyez sur Ctrl+C pour arrêter)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Outil de sauvegarde incrémentielle léger\n\nSbackup vous aide à gérer facilement les sauvegardes de plusieurs dossiers.\nIl utilise une stratégie de sauvegarde incrémentielle, compressant uniquement les fichiers modifiés,\nsupportant des règles d'exclusion personnalisées et offrant un retour de progression intuitif.\n\nCommandes disponibles :\n add Ajouter une nouvelle stratégie de sauvegarde (source -> destination)\n rm Supprimer une stratégie de sauvegarde existante\n all Afficher toutes les stratégies de sauvegarde configurées\n save Exécuter les tâches de sauvegarde\n version Afficher les informations de version",
|
|
42
|
+
"cli.epilog": "Exemples :\n Ajouter une stratégie de sauvegarde :\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Ajouter une stratégie avec format au niveau de l'entrée :\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Supprimer une stratégie de sauvegarde :\n sbackup rm F:/my_folder\n\n Afficher toutes les stratégies :\n sbackup all\n\n Exécuter une sauvegarde (ZIP) :\n sbackup save\n\n Exécuter une sauvegarde (tar.gz) :\n sbackup --format tar.gz save\n\n Exécuter une sauvegarde (7z chiffré) :\n sbackup --format 7z save --password 123456\n\n Conserver les 5 dernières sauvegardes :\n sbackup save --keep 5\n\n Sauvegarde planifiée (toutes les 60 min) :\n sbackup watch --interval 60\n\n Surveillance + nettoyage :\n sbackup watch --interval 120 --keep 10\n\n Restaurer une sauvegarde :\n sbackup restore backup.7z F:/restored\n\n Interface en chinois :\n sbackup --lang zh_CN save\n\n Mode débogage :\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Activer le mode débogage avec journalisation détaillée",
|
|
44
|
+
"cli.help.help": "Afficher ce message d'aide et quitter",
|
|
45
|
+
"cli.help.lang": "Définir la langue de l'interface : zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Définir le format d'archivage : zip (défaut) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Sélectionner une commande à exécuter",
|
|
48
|
+
"cli.help.add": "Ajouter une nouvelle stratégie de sauvegarde",
|
|
49
|
+
"cli.help.add.source": "Chemin du dossier source : le répertoire à sauvegarder",
|
|
50
|
+
"cli.help.add.dest": "Chemin du dossier cible : où les fichiers de sauvegarde seront stockés",
|
|
51
|
+
"cli.help.add.ignore": "Fichiers ou dossiers à ignorer (séparés par des virgules, défaut : .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Format d'archivage au niveau de l'entrée (uniquement pour cette stratégie, par défaut global) : zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Supprimer une stratégie de sauvegarde",
|
|
54
|
+
"cli.help.rm.path": "Chemin du dossier source de la stratégie à supprimer",
|
|
55
|
+
"cli.help.all": "Afficher toutes les stratégies de sauvegarde",
|
|
56
|
+
"cli.help.save": "Exécuter toutes les stratégies de sauvegarde",
|
|
57
|
+
"cli.help.save.keep": "Conserver les N derniers fichiers de sauvegarde, 0 pour désactiver le nettoyage",
|
|
58
|
+
"cli.help.save.password": "Mot de passe de chiffrement (uniquement pour le format 7z)",
|
|
59
|
+
"cli.help.watch": "Exécuter les sauvegardes périodiquement",
|
|
60
|
+
"cli.help.watch.interval": "Intervalle de sauvegarde en minutes, défaut 60",
|
|
61
|
+
"cli.help.watch.keep": "Conserver les N derniers fichiers de sauvegarde",
|
|
62
|
+
"cli.help.watch.password": "Mot de passe de chiffrement (uniquement pour le format 7z)",
|
|
63
|
+
"cli.help.restore": "Restaurer depuis un fichier de sauvegarde",
|
|
64
|
+
"cli.help.restore.file": "Chemin du fichier de sauvegarde (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Dossier cible pour la restauration",
|
|
66
|
+
"cli.help.version": "Afficher les informations de version",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLicence GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "Le fichier de configuration %s est malformé, utilisation des valeurs par défaut",
|
|
70
|
+
"log.config.reset": "Le fichier de configuration %s est malformé, réinitialisation",
|
|
71
|
+
"log.config.mkdir.error": "Impossible de créer le dossier de configuration %s : %s",
|
|
72
|
+
"log.config.write.error": "Impossible d'écrire le fichier de configuration %s : %s",
|
|
73
|
+
"log.data.read": "Lecture du fichier de données : %s",
|
|
74
|
+
"log.data.create": "Le fichier de données n'existe pas, création : %s",
|
|
75
|
+
"log.data.load": "Chargement du fichier de données existant : %s",
|
|
76
|
+
"log.data.write": "Écriture du fichier de données : %s",
|
|
77
|
+
"log.cleanup.delete": "Ancienne sauvegarde supprimée : %s",
|
|
78
|
+
"log.i18n.load.failed": "Impossible de charger le locale {path} : {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "Impossible de charger le locale de repli {path} : {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "バックアップ戦略を追加しました: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "バックアップ戦略を削除しました: {path}",
|
|
4
|
+
"err.folder.invalid": "エラー: {path} は有効なフォルダではないか、存在しません。",
|
|
5
|
+
"err.dest.invalid": "エラー: 目標フォルダ {path} は有効なフォルダではないか、存在しません。",
|
|
6
|
+
"info.already.added": "情報: {path} は既に追加されています。重複して追加しないでください。",
|
|
7
|
+
"warn.no.strategy.found": "警告: {path} のバックアップ戦略が見つかりません。",
|
|
8
|
+
"warn.source.missing": "警告: ソースフォルダが存在しません: {path}",
|
|
9
|
+
"warn.json.decode.error": "警告: データファイル {path} が破損しています、空の辞書として初期化します。",
|
|
10
|
+
"warn.json.backup": "警告: 破損したデータファイルを {path} にバックアップしました。",
|
|
11
|
+
"warn.json.renamed": "警告: 破損したデータファイルを {path} にリネームしました。",
|
|
12
|
+
"compress.success": "バックアップ成功: {path} ({size:.2f} MB、{count} ファイル)",
|
|
13
|
+
"compress.progress": "圧縮中",
|
|
14
|
+
"compress.unit": "ファイル",
|
|
15
|
+
"err.permission": "アクセス拒否: '{path}' に書き込みできません",
|
|
16
|
+
"err.os": "システムエラー: {error}",
|
|
17
|
+
"err.unknown": "不明なエラー: {error}",
|
|
18
|
+
"err.unknown.format": "エラー: 不明なバックアップファイル形式 {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "無効な選択: ",
|
|
20
|
+
"err.argparse.choose_from": "選択可能",
|
|
21
|
+
"err.argparse.invalid_float": "無効な浮動小数点値: ",
|
|
22
|
+
"err.argparse.invalid_int": "無効な整数値: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "未認識の引数: ",
|
|
24
|
+
"err.argparse.required": "必須",
|
|
25
|
+
"warn.zip.overwrite": "警告: 既存のバックアップファイル {path} を上書きします",
|
|
26
|
+
"warn.invalid.compresslevel": "警告: 圧縮レベル {level} が範囲外 (0-9)、デフォルト値 6 を使用します",
|
|
27
|
+
"cmd.save.uptodate": "すべてのバックアップ戦略は最新です、バックアップは不要です。",
|
|
28
|
+
"cmd.save.completed": "バックアップ完了、{count} 戦略を処理しました。",
|
|
29
|
+
"cmd.all.empty": "バックアップ戦略が設定されていません。",
|
|
30
|
+
"exit.message": "\n終了します。",
|
|
31
|
+
"table.header.source": "ソースフォルダ",
|
|
32
|
+
"table.header.dest": "目標フォルダ",
|
|
33
|
+
"table.header.ignore": "除外パターン",
|
|
34
|
+
"table.cell.none": "なし",
|
|
35
|
+
"table.header.format": "形式",
|
|
36
|
+
"table.cell.default": "デフォルト",
|
|
37
|
+
"restore.progress": "復元中",
|
|
38
|
+
"restore.success": "復元成功: {path} ({count} ファイル)",
|
|
39
|
+
"cmd.watch.start": "監視開始、間隔 {interval} 分(Ctrl+C で停止)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — 軽量インクリメンタルバックアップツール\n\nSbackup は複数フォルダのバックアップタスクを簡単に管理します。\nインクリメンタルバックアップ戦略を採用し、変更されたファイルのみを圧縮し、\nカスタム除外ルールをサポートし、直感的な進捗フィードバックを提供します。\n\n使用可能なコマンド:\n add 新しいバックアップ戦略を追加(ソース -> 目標)\n rm 既存のバックアップ戦略を削除\n all 設定済みのすべてのバックアップ戦略を表示\n save バックアップタスクを実行\n version バージョン情報を表示",
|
|
42
|
+
"cli.epilog": "例:\n バックアップ戦略を追加:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n エントリレベル形式を指定して戦略を追加:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n バックアップ戦略を削除:\n sbackup rm F:/my_folder\n\n すべての戦略を表示:\n sbackup all\n\n バックアップを実行 (ZIP):\n sbackup save\n\n バックアップを実行 (tar.gz):\n sbackup --format tar.gz save\n\n バックアップを実行 (7z 暗号化):\n sbackup --format 7z save --password 123456\n\n 最新5件のバックアップを保持:\n sbackup save --keep 5\n\n 定期バックアップ (60分間隔):\n sbackup watch --interval 60\n\n 監視 + クリーンアップ:\n sbackup watch --interval 120 --keep 10\n\n バックアップを復元:\n sbackup restore backup.7z F:/restored\n\n 中国語インターフェース:\n sbackup --lang zh_CN save\n\n デバッグモード:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "詳細なログ出力付きデバッグモードを有効化",
|
|
44
|
+
"cli.help.help": "このヘルプメッセージを表示して終了",
|
|
45
|
+
"cli.help.lang": "インターフェース言語を設定: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "パッケージ形式を設定: zip (デフォルト) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "実行するコマンドを選択",
|
|
48
|
+
"cli.help.add": "新しいバックアップ戦略を追加",
|
|
49
|
+
"cli.help.add.source": "ソースフォルダパス: バックアップするディレクトリ",
|
|
50
|
+
"cli.help.add.dest": "目標フォルダパス: バックアップファイルの保存場所",
|
|
51
|
+
"cli.help.add.ignore": "除外するファイルやフォルダ (カンマ区切り、デフォルト: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "エントリレベルのパッケージ形式(この戦略のみ、未指定時はグローバル設定): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "バックアップ戦略を削除",
|
|
54
|
+
"cli.help.rm.path": "削除する戦略のソースフォルダパス",
|
|
55
|
+
"cli.help.all": "すべてのバックアップ戦略を表示",
|
|
56
|
+
"cli.help.save": "すべてのバックアップ戦略を実行",
|
|
57
|
+
"cli.help.save.keep": "最新 N 件のバックアップファイルを保持、0 でクリーンアップ無効",
|
|
58
|
+
"cli.help.save.password": "暗号化パスワード (7z形式のみ)",
|
|
59
|
+
"cli.help.watch": "定期的にバックアップを実行",
|
|
60
|
+
"cli.help.watch.interval": "バックアップ間隔 (分)、デフォルト 60",
|
|
61
|
+
"cli.help.watch.keep": "最新 N 件のバックアップファイルを保持",
|
|
62
|
+
"cli.help.watch.password": "暗号化パスワード (7z形式のみ)",
|
|
63
|
+
"cli.help.restore": "バックアップファイルから復元",
|
|
64
|
+
"cli.help.restore.file": "バックアップファイルパス (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "復元目標ディレクトリ",
|
|
66
|
+
"cli.help.version": "バージョン情報を表示",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nGNU GPL v3.0 ライセンス — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "設定ファイル %s が破損しています、デフォルト値を使用",
|
|
70
|
+
"log.config.reset": "設定ファイル %s が破損しています、リセット",
|
|
71
|
+
"log.config.mkdir.error": "設定ディレクトリ %s を作成できません: %s",
|
|
72
|
+
"log.config.write.error": "設定ファイル %s を書き込みできません: %s",
|
|
73
|
+
"log.data.read": "データファイルを読み込み: %s",
|
|
74
|
+
"log.data.create": "データファイルが存在しません、作成: %s",
|
|
75
|
+
"log.data.load": "既存のデータファイルを読み込み: %s",
|
|
76
|
+
"log.data.write": "データファイルを書き込み: %s",
|
|
77
|
+
"log.cleanup.delete": "古いバックアップを削除しました: %s",
|
|
78
|
+
"log.i18n.load.failed": "ロケール {path} の読み込みに失敗: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "フォールバックロケール {path} の読み込みに失敗: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "백업 전략 추가 성공: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "백업 전략 삭제 성공: {path}",
|
|
4
|
+
"err.folder.invalid": "오류: {path}는 유효한 폴더가 아니거나 존재하지 않습니다.",
|
|
5
|
+
"err.dest.invalid": "오류: 대상 폴더 {path}는 유효한 폴더가 아니거나 존재하지 않습니다.",
|
|
6
|
+
"info.already.added": "알림: {path}가 이미 추가되었습니다. 중복 추가하지 마세요.",
|
|
7
|
+
"warn.no.strategy.found": "경고: {path}의 백업 전략을 찾을 수 없습니다.",
|
|
8
|
+
"warn.source.missing": "경고: 원본 폴더가 존재하지 않습니다: {path}",
|
|
9
|
+
"warn.json.decode.error": "경고: 데이터 파일 {path}가 손상되었습니다, 빈 딕셔너리로 초기화합니다.",
|
|
10
|
+
"warn.json.backup": "경고: 손상된 데이터 파일을 {path}에 백업했습니다.",
|
|
11
|
+
"warn.json.renamed": "경고: 손상된 데이터 파일을 {path}로 이름 변경했습니다.",
|
|
12
|
+
"compress.success": "백업 성공: {path} ({size:.2f} MB, {count} 파일)",
|
|
13
|
+
"compress.progress": "압축 중",
|
|
14
|
+
"compress.unit": "파일",
|
|
15
|
+
"err.permission": "접근 거부: '{path}'에 쓸 수 없습니다",
|
|
16
|
+
"err.os": "시스템 오류: {error}",
|
|
17
|
+
"err.unknown": "알 수 없는 오류: {error}",
|
|
18
|
+
"err.unknown.format": "오류: 인식할 수 없는 백업 파일 형식 {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "잘못된 선택: ",
|
|
20
|
+
"err.argparse.choose_from": "선택 가능",
|
|
21
|
+
"err.argparse.invalid_float": "잘못된 실수 값: ",
|
|
22
|
+
"err.argparse.invalid_int": "잘못된 정수 값: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "인식되지 않은 인수: ",
|
|
24
|
+
"err.argparse.required": "필수",
|
|
25
|
+
"warn.zip.overwrite": "경고: 기존 백업 파일 {path}을 덮어씁니다",
|
|
26
|
+
"warn.invalid.compresslevel": "경고: 압축 수준 {level}이 범위 초과 (0-9), 기본값 6 사용",
|
|
27
|
+
"cmd.save.uptodate": "모든 백업 전략이 최신 상태입니다, 백업이 필요하지 않습니다.",
|
|
28
|
+
"cmd.save.completed": "백업 완료, {count}개 전략 처리됨.",
|
|
29
|
+
"cmd.all.empty": "구성된 백업 전략이 없습니다.",
|
|
30
|
+
"exit.message": "\n종료합니다.",
|
|
31
|
+
"table.header.source": "원본 폴더",
|
|
32
|
+
"table.header.dest": "대상 폴더",
|
|
33
|
+
"table.header.ignore": "제외 패턴",
|
|
34
|
+
"table.cell.none": "없음",
|
|
35
|
+
"table.header.format": "형식",
|
|
36
|
+
"table.cell.default": "기본값",
|
|
37
|
+
"restore.progress": "복원 중",
|
|
38
|
+
"restore.success": "복원 성공: {path} ({count} 파일)",
|
|
39
|
+
"cmd.watch.start": "감시 시작, 간격 {interval}분 (Ctrl+C로 중지)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — 경량 증분 백업 도구\n\nSbackup는 여러 폴더의 백업 작업을 쉽게 관리합니다.\n증분 백업 전략을 사용하여 변경된 파일만 압축하고,\n사용자 정의 제외 규칙을 지원하며 직관적인 진행 피드백을 제공합니다.\n\n사용 가능한 명령:\n add 새 백업 전략 추가 (원본 -> 대상)\n rm 기존 백업 전략 삭제\n all 구성된 모든 백업 전략 표시\n save 백업 작업 실행\n version 버전 정보 표시",
|
|
42
|
+
"cli.epilog": "예시:\n 백업 전략 추가:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n 항목별 형식 지정하여 전략 추가:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n 백업 전략 삭제:\n sbackup rm F:/my_folder\n\n 모든 전략 표시:\n sbackup all\n\n 백업 실행 (ZIP):\n sbackup save\n\n 백업 실행 (tar.gz):\n sbackup --format tar.gz save\n\n 백업 실행 (7z 암호화):\n sbackup --format 7z save --password 123456\n\n 최근 5개 백업 유지:\n sbackup save --keep 5\n\n 정기 백업 (60분 간격):\n sbackup watch --interval 60\n\n 감시 + 정리:\n sbackup watch --interval 120 --keep 10\n\n 백업 복원:\n sbackup restore backup.7z F:/restored\n\n 중국어 인터페이스:\n sbackup --lang zh_CN save\n\n 디버그 모드:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "상세 로깅 디버그 모드 활성화",
|
|
44
|
+
"cli.help.help": "이 도움말 메시지를 표시하고 종료",
|
|
45
|
+
"cli.help.lang": "인터페이스 언어 설정: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "패키징 형식 설정: zip (기본값) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "실행할 명령 선택",
|
|
48
|
+
"cli.help.add": "새 백업 전략 추가",
|
|
49
|
+
"cli.help.add.source": "원본 폴더 경로: 백업할 디렉토리",
|
|
50
|
+
"cli.help.add.dest": "대상 폴더 경로: 백업 파일이 저장될 위치",
|
|
51
|
+
"cli.help.add.ignore": "제외할 파일 또는 폴더 (쉼표로 구분, 기본값: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "항목별 패키징 형식 (이 전략만, 미지정시 전역 설정): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "백업 전략 삭제",
|
|
54
|
+
"cli.help.rm.path": "삭제할 전략의 원본 폴더 경로",
|
|
55
|
+
"cli.help.all": "모든 백업 전략 표시",
|
|
56
|
+
"cli.help.save": "모든 백업 전략 실행",
|
|
57
|
+
"cli.help.save.keep": "최근 N개 백업 파일 유지, 0은 정리 비활성화",
|
|
58
|
+
"cli.help.save.password": "암호화 비밀번호 (7z 형식만 지원)",
|
|
59
|
+
"cli.help.watch": "정기적으로 백업 실행",
|
|
60
|
+
"cli.help.watch.interval": "백업 간격 (분), 기본값 60",
|
|
61
|
+
"cli.help.watch.keep": "최근 N개 백업 파일 유지",
|
|
62
|
+
"cli.help.watch.password": "암호화 비밀번호 (7z 형식만 지원)",
|
|
63
|
+
"cli.help.restore": "백업 파일에서 복원",
|
|
64
|
+
"cli.help.restore.file": "백업 파일 경로 (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "복원 대상 디렉토리",
|
|
66
|
+
"cli.help.version": "버전 정보 표시",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nGNU GPL v3.0 라이선스 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "구성 파일 %s가 손상되었습니다, 기본값 사용",
|
|
70
|
+
"log.config.reset": "구성 파일 %s가 손상되었습니다, 재설정",
|
|
71
|
+
"log.config.mkdir.error": "구성 디렉토리 %s를 생성할 수 없습니다: %s",
|
|
72
|
+
"log.config.write.error": "구성 파일 %s를 쓸 수 없습니다: %s",
|
|
73
|
+
"log.data.read": "데이터 파일 읽기: %s",
|
|
74
|
+
"log.data.create": "데이터 파일이 없습니다, 생성: %s",
|
|
75
|
+
"log.data.load": "기존 데이터 파일 로드: %s",
|
|
76
|
+
"log.data.write": "데이터 파일 쓰기: %s",
|
|
77
|
+
"log.cleanup.delete": "오래된 백업 삭제됨: %s",
|
|
78
|
+
"log.i18n.load.failed": "로케일 {path} 로드 실패: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "폴백 로케일 {path} 로드 실패: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Estratégia de backup adicionada com sucesso: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Estratégia de backup removida com sucesso: {path}",
|
|
4
|
+
"err.folder.invalid": "Erro: {path} não é uma pasta válida ou não existe.",
|
|
5
|
+
"err.dest.invalid": "Erro: A pasta de destino {path} não é uma pasta válida ou não existe.",
|
|
6
|
+
"info.already.added": "Info: {path} já foi adicionado. Não duplique.",
|
|
7
|
+
"warn.no.strategy.found": "Aviso: Estratégia de backup para {path} não encontrada.",
|
|
8
|
+
"warn.source.missing": "Aviso: A pasta de origem não existe: {path}",
|
|
9
|
+
"warn.json.decode.error": "Aviso: Arquivo de dados {path} malformado, inicializando como diccionário vazio.",
|
|
10
|
+
"warn.json.backup": "Aviso: Arquivo de dados corrompido copiado para {path}.",
|
|
11
|
+
"warn.json.renamed": "Aviso: Arquivo de dados corrompido renomeado para {path}.",
|
|
12
|
+
"compress.success": "Backup realizado com sucesso: {path} ({size:.2f} MB, {count} arquivos)",
|
|
13
|
+
"compress.progress": "Comprimindo",
|
|
14
|
+
"compress.unit": "arquivos",
|
|
15
|
+
"err.permission": "Permissão negada: Não é possível escrever em '{path}'",
|
|
16
|
+
"err.os": "Erro do sistema: {error}",
|
|
17
|
+
"err.unknown": "Erro desconhecido: {error}",
|
|
18
|
+
"err.unknown.format": "Erro: Formato de arquivo de backup não reconhecido {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "opção inválida: ",
|
|
20
|
+
"err.argparse.choose_from": "escolher entre",
|
|
21
|
+
"err.argparse.invalid_float": "valor float inválido: ",
|
|
22
|
+
"err.argparse.invalid_int": "valor int inválido: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "argumentos não reconhecidos: ",
|
|
24
|
+
"err.argparse.required": "obrigatório",
|
|
25
|
+
"warn.zip.overwrite": "Aviso: Sobrescrevendo arquivo de backup existente {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Aviso: Nível de compressão {level} fora do intervalo (0-9), usando valor padrão 6",
|
|
27
|
+
"cmd.save.uptodate": "Todas as estratégias de backup estão atualizadas, backup não necessário.",
|
|
28
|
+
"cmd.save.completed": "Backup concluído, {count} estratégia(s) processada(s).",
|
|
29
|
+
"cmd.all.empty": "Nenhuma estratégia de backup configurada.",
|
|
30
|
+
"exit.message": "\nSaindo.",
|
|
31
|
+
"table.header.source": "Pasta de origem",
|
|
32
|
+
"table.header.dest": "Pasta de destino",
|
|
33
|
+
"table.header.ignore": "Padrões de exclusão",
|
|
34
|
+
"table.cell.none": "Nenhum",
|
|
35
|
+
"table.header.format": "Formato",
|
|
36
|
+
"table.cell.default": "Padrão",
|
|
37
|
+
"restore.progress": "Restaurando",
|
|
38
|
+
"restore.success": "Restauração concluída: {path} ({count} arquivos)",
|
|
39
|
+
"cmd.watch.start": "Monitoramento iniciado, intervalo {interval} min (Ctrl+C para parar)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Ferramenta de backup incremental leve\n\nSbackup ajuda você a gerenciar facilmente backups de múltiplas pastas.\nEle usa uma estratégia de backup incremental, comprimindo apenas arquivos modificados,\nsuportando regras de exclusão personalizadas e oferecendo feedback de progresso intuitivo.\n\nComandos disponíveis:\n add Adicionar nova estratégia de backup (origem -> destino)\n rm Remover estratégia de backup existente\n all Mostrar todas as estratégias de backup configuradas\n save Executar tarefas de backup\n version Mostrar informações de versão",
|
|
42
|
+
"cli.epilog": "Exemplos:\n Adicionar estratégia de backup:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Adicionar estratégia com formato por entrada:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Remover estratégia de backup:\n sbackup rm F:/my_folder\n\n Mostrar todas as estratégias:\n sbackup all\n\n Executar backup (ZIP):\n sbackup save\n\n Executar backup (tar.gz):\n sbackup --format tar.gz save\n\n Executar backup (7z criptografado):\n sbackup --format 7z save --password 123456\n\n Manter os últimos 5 backups:\n sbackup save --keep 5\n\n Backup programado (cada 60 min):\n sbackup watch --interval 60\n\n Monitoramento + limpeza:\n sbackup watch --interval 120 --keep 10\n\n Restaurar backup:\n sbackup restore backup.7z F:/restored\n\n Interface em chinês:\n sbackup --lang zh_CN save\n\n Modo de depuração:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Ativar modo de depuração com registro detalhado",
|
|
44
|
+
"cli.help.help": "Mostrar esta mensagem de ajuda e sair",
|
|
45
|
+
"cli.help.lang": "Definir idioma da interface: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Definir formato de pacote: zip (padrão) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Selecionar um comando para executar",
|
|
48
|
+
"cli.help.add": "Adicionar nova estratégia de backup",
|
|
49
|
+
"cli.help.add.source": "Caminho da pasta de origem: diretório a ser copiado",
|
|
50
|
+
"cli.help.add.dest": "Caminho da pasta de destino: onde os arquivos de backup serão armazenados",
|
|
51
|
+
"cli.help.add.ignore": "Arquivos ou pastas a ignorar (separados por vírgula, padrão: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Formato de pacote por entrada (apenas para esta estratégia, padrão global): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Remover estratégia de backup",
|
|
54
|
+
"cli.help.rm.path": "Caminho da pasta de origem da estratégia a remover",
|
|
55
|
+
"cli.help.all": "Mostrar todas as estratégias de backup",
|
|
56
|
+
"cli.help.save": "Executar todas as estratégias de backup",
|
|
57
|
+
"cli.help.save.keep": "Manter os últimos N arquivos de backup, 0 desativa limpeza",
|
|
58
|
+
"cli.help.save.password": "Senha de criptografia (apenas para formato 7z)",
|
|
59
|
+
"cli.help.watch": "Executar backups periodicamente",
|
|
60
|
+
"cli.help.watch.interval": "Intervalo de backup em minutos, padrão 60",
|
|
61
|
+
"cli.help.watch.keep": "Manter os últimos N arquivos de backup",
|
|
62
|
+
"cli.help.watch.password": "Senha de criptografia (apenas para formato 7z)",
|
|
63
|
+
"cli.help.restore": "Restaurar de um arquivo de backup",
|
|
64
|
+
"cli.help.restore.file": "Caminho do arquivo de backup (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Diretório de destino para restauração",
|
|
66
|
+
"cli.help.version": "Mostrar informações de versão",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLicença GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "Arquivo de configuração %s malformado, usando valores padrão",
|
|
70
|
+
"log.config.reset": "Arquivo de configuração %s malformado, redefinindo",
|
|
71
|
+
"log.config.mkdir.error": "Não é possível criar diretório de configuração %s: %s",
|
|
72
|
+
"log.config.write.error": "Não é possível escrever arquivo de configuração %s: %s",
|
|
73
|
+
"log.data.read": "Lendo arquivo de dados: %s",
|
|
74
|
+
"log.data.create": "Arquivo de dados não existe, criando: %s",
|
|
75
|
+
"log.data.load": "Carregando arquivo de dados existente: %s",
|
|
76
|
+
"log.data.write": "Escrevendo arquivo de dados: %s",
|
|
77
|
+
"log.cleanup.delete": "Backup antigo excluído: %s",
|
|
78
|
+
"log.i18n.load.failed": "Falha ao carregar locale {path}: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "Falha ao carregar locale de fallback {path}: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "Стратегия резервного копирования добавлена: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "Стратегия резервного копирования удалена: {path}",
|
|
4
|
+
"err.folder.invalid": "Ошибка: {path} не является допустимой папкой или не существует.",
|
|
5
|
+
"err.dest.invalid": "Ошибка: Целевая папка {path} не является допустимой папкой или не существует.",
|
|
6
|
+
"info.already.added": "Информация: {path} уже добавлен. Не добавляйте повторно.",
|
|
7
|
+
"warn.no.strategy.found": "Предупреждение: Стратегия резервного копирования для {path} не найдена.",
|
|
8
|
+
"warn.source.missing": "Предупреждение: Исходная папка не существует: {path}",
|
|
9
|
+
"warn.json.decode.error": "Предупреждение: Файл данных {path} повреждён, инициализация пустым словарём.",
|
|
10
|
+
"warn.json.backup": "Предупреждение: Повреждённый файл данных сохранён в {path}.",
|
|
11
|
+
"warn.json.renamed": "Предупреждение: Повреждённый файл данных переименован в {path}.",
|
|
12
|
+
"compress.success": "Резервное копирование выполнено: {path} ({size:.2f} МБ, {count} файлов)",
|
|
13
|
+
"compress.progress": "Сжатие",
|
|
14
|
+
"compress.unit": "файлов",
|
|
15
|
+
"err.permission": "Отказ в доступе: Невозможно записать в '{path}'",
|
|
16
|
+
"err.os": "Системная ошибка: {error}",
|
|
17
|
+
"err.unknown": "Неизвестная ошибка: {error}",
|
|
18
|
+
"err.unknown.format": "Ошибка: Неизвестный формат файла резервной копии {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "недопустимый выбор: ",
|
|
20
|
+
"err.argparse.choose_from": "допустимые значения",
|
|
21
|
+
"err.argparse.invalid_float": "недопустимое значение типа float: ",
|
|
22
|
+
"err.argparse.invalid_int": "недопустимое целочисленное значение: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "неопознанные аргументы: ",
|
|
24
|
+
"err.argparse.required": "обязательный",
|
|
25
|
+
"warn.zip.overwrite": "Предупреждение: Перезапись существующего файла резервной копии {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "Предупреждение: Уровень сжатия {level} вне диапазона (0-9), используется значение 6",
|
|
27
|
+
"cmd.save.uptodate": "Все стратегии резервного копирования актуальны, копирование не требуется.",
|
|
28
|
+
"cmd.save.completed": "Резервное копирование завершено, обработано {count} стратегий.",
|
|
29
|
+
"cmd.all.empty": "Нет настроенных стратегий резервного копирования.",
|
|
30
|
+
"exit.message": "\nВыход.",
|
|
31
|
+
"table.header.source": "Исходная папка",
|
|
32
|
+
"table.header.dest": "Целевая папка",
|
|
33
|
+
"table.header.ignore": "Шаблоны исключения",
|
|
34
|
+
"table.cell.none": "Нет",
|
|
35
|
+
"table.header.format": "Формат",
|
|
36
|
+
"table.cell.default": "По умолч.",
|
|
37
|
+
"restore.progress": "Восстановление",
|
|
38
|
+
"restore.success": "Восстановление выполнено: {path} ({count} файлов)",
|
|
39
|
+
"cmd.watch.start": "Автоматическое копирование запущено, интервал {interval} мин (Ctrl+C для остановки)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — Лёгкий инструмент инкрементального резервного копирования\n\nSbackup помогает легко управлять резервным копированием нескольких папок.\nОн использует стратегию инкрементального копирования, сжимая только изменённые файлы,\nподдерживает пользовательские правила исключения и предоставляет наглядный ход выполнения.\n\nДоступные команды:\n add Добавить новую стратегию резервного копирования (источник -> цель)\n rm Удалить существующую стратегию\n all Показать все настроенные стратегии\n save Выполнить резервное копирование\n version Показать информацию о версии",
|
|
42
|
+
"cli.epilog": "Примеры:\n Добавить стратегию:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n Добавить стратегию с форматом уровня записи:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n Удалить стратегию:\n sbackup rm F:/my_folder\n\n Показать все стратегии:\n sbackup all\n\n Выполнить копирование (ZIP):\n sbackup save\n\n Выполнить копирование (tar.gz):\n sbackup --format tar.gz save\n\n Выполнить копирование (7z с шифрованием):\n sbackup --format 7z save --password 123456\n\n Сохранить последние 5 копий:\n sbackup save --keep 5\n\n Автоматическое копирование (каждые 60 мин):\n sbackup watch --interval 60\n\n Автоматическое копирование + очистка:\n sbackup watch --interval 120 --keep 10\n\n Восстановление из копии:\n sbackup restore backup.7z F:/restored\n\n Китайский интерфейс:\n sbackup --lang zh_CN save\n\n Режим отладки:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "Включить режим отладки с подробным журналированием",
|
|
44
|
+
"cli.help.help": "Показать эту справку и выйти",
|
|
45
|
+
"cli.help.lang": "Выбрать язык интерфейса: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "Выбрать формат архивации: zip (по умолч.) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "Выбрать команду для выполнения",
|
|
48
|
+
"cli.help.add": "Добавить новую стратегию резервного копирования",
|
|
49
|
+
"cli.help.add.source": "Путь к исходной папке: каталог для резервного копирования",
|
|
50
|
+
"cli.help.add.dest": "Путь к целевой папке: место хранения файлов резервных копий",
|
|
51
|
+
"cli.help.add.ignore": "Файлы или папки для исключения (через запятую, по умолч.: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "Формат архивации уровня записи (только для этой стратегии, по умолчанию глобальный): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "Удалить стратегию резервного копирования",
|
|
54
|
+
"cli.help.rm.path": "Путь к исходной папке стратегии для удаления",
|
|
55
|
+
"cli.help.all": "Показать все стратегии резервного копирования",
|
|
56
|
+
"cli.help.save": "Выполнить все стратегии резервного копирования",
|
|
57
|
+
"cli.help.save.keep": "Сохранить последние N файлов копий, 0 — без очистки",
|
|
58
|
+
"cli.help.save.password": "Пароль шифрования (только для формата 7z)",
|
|
59
|
+
"cli.help.watch": "Выполнять резервное копирование периодически",
|
|
60
|
+
"cli.help.watch.interval": "Интервал копирования в минутах, по умолч. 60",
|
|
61
|
+
"cli.help.watch.keep": "Сохранить последние N файлов копий",
|
|
62
|
+
"cli.help.watch.password": "Пароль шифрования (только для формата 7z)",
|
|
63
|
+
"cli.help.restore": "Восстановить из файла резервной копии",
|
|
64
|
+
"cli.help.restore.file": "Путь к файлу резервной копии (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "Целевой каталог для восстановления",
|
|
66
|
+
"cli.help.version": "Показать информацию о версии",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nЛицензия GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "Файл конфигурации %s повреждён, используются значения по умолчанию",
|
|
70
|
+
"log.config.reset": "Файл конфигурации %s повреждён, сброс",
|
|
71
|
+
"log.config.mkdir.error": "Невозможно создать каталог конфигурации %s : %s",
|
|
72
|
+
"log.config.write.error": "Невозможно записать файл конфигурации %s : %s",
|
|
73
|
+
"log.data.read": "Чтение файла данных : %s",
|
|
74
|
+
"log.data.create": "Файл данных не существует, создание : %s",
|
|
75
|
+
"log.data.load": "Загрузка существующего файла данных : %s",
|
|
76
|
+
"log.data.write": "Запись файла данных : %s",
|
|
77
|
+
"log.cleanup.delete": "Удалена старая резервная копия : %s",
|
|
78
|
+
"log.i18n.load.failed": "Не удалось загрузить локаль {path}: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "Не удалось загрузить локаль возврата {path}: {error}"
|
|
80
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cmd.add.success": "备份策略添加成功: {source} -> {dest}",
|
|
3
|
+
"cmd.rm.success": "备份策略删除成功: {path}",
|
|
4
|
+
"err.folder.invalid": "错误:{path} 不是有效的文件夹名或不存在。",
|
|
5
|
+
"err.dest.invalid": "错误:目标文件夹 {path} 不是有效的文件夹或不存在。",
|
|
6
|
+
"info.already.added": "提示:{path} 已经添加过了,请勿重复添加。",
|
|
7
|
+
"warn.no.strategy.found": "警告:未找到 {path} 的备份策略。",
|
|
8
|
+
"warn.source.missing": "警告:源文件夹不存在: {path}",
|
|
9
|
+
"warn.json.decode.error": "警告:数据文件 {path} 格式错误,初始化为空字典。",
|
|
10
|
+
"warn.json.backup": "警告:已备份损坏的数据文件到 {path}",
|
|
11
|
+
"warn.json.renamed": "警告:已将损坏的数据文件重命名为 {path}。",
|
|
12
|
+
"compress.success": "成功备份: {path} ({size:.2f} MB, {count} 个文件)",
|
|
13
|
+
"compress.progress": "正在压缩",
|
|
14
|
+
"compress.unit": "文件",
|
|
15
|
+
"err.permission": "权限不足:无法写入 '{path}'",
|
|
16
|
+
"err.os": "系统错误:{error}",
|
|
17
|
+
"err.unknown": "未知错误:{error}",
|
|
18
|
+
"err.unknown.format": "错误:无法识别的备份文件格式 {path}",
|
|
19
|
+
"err.argparse.invalid_choice": "无效的选择: ",
|
|
20
|
+
"err.argparse.choose_from": "可选值",
|
|
21
|
+
"err.argparse.invalid_float": "无效的浮点数值: ",
|
|
22
|
+
"err.argparse.invalid_int": "无效的整数值: ",
|
|
23
|
+
"err.argparse.unrecognized_args": "未识别的参数: ",
|
|
24
|
+
"err.argparse.required": "必需参数",
|
|
25
|
+
"warn.zip.overwrite": "警告:将覆盖已有的备份文件 {path}",
|
|
26
|
+
"warn.invalid.compresslevel": "警告:压缩级别 {level} 超出范围 (0-9),使用默认值 6",
|
|
27
|
+
"cmd.save.uptodate": "所有备份策略均已是最新,无需备份。",
|
|
28
|
+
"cmd.save.completed": "备份完成,共处理 {count} 个策略。",
|
|
29
|
+
"cmd.all.empty": "没有配置任何备份策略。",
|
|
30
|
+
"exit.message": "\n已退出。",
|
|
31
|
+
"table.header.source": "源文件夹路径",
|
|
32
|
+
"table.header.dest": "目标文件夹路径",
|
|
33
|
+
"table.header.ignore": "忽略模式",
|
|
34
|
+
"table.cell.none": "无",
|
|
35
|
+
"table.header.format": "格式",
|
|
36
|
+
"table.cell.default": "默认",
|
|
37
|
+
"restore.progress": "正在还原",
|
|
38
|
+
"restore.success": "还原成功: {path} ({count} 个文件)",
|
|
39
|
+
"cmd.watch.start": "定时备份已启动,间隔 {interval} 分钟(按 Ctrl+C 停止)",
|
|
40
|
+
|
|
41
|
+
"cli.description": "Sbackup v{version} — 轻量级增量备份工具\n\nSbackup 帮助您轻松管理多文件夹的备份任务。它采用增量备份策略,\n仅对已修改的文件进行压缩,支持自定义忽略规则,并提供直观的进度反馈。\n\n可用命令:\n add 添加新的备份策略 (源目录 -> 目标目录)\n rm 删除现有的备份策略\n all 显示所有已配置的备份策略详情\n save 根据策略执行备份任务\n version 查看版本信息",
|
|
42
|
+
"cli.epilog": "示例:\n 添加备份策略:\n sbackup add F:/my_folder F:/backup -i node_modules,.git\n\n 添加策略并指定条目级格式:\n sbackup add F:/my_folder F:/backup --format tar.gz\n\n 删除备份策略:\n sbackup rm F:/my_folder\n\n 查看所有策略:\n sbackup all\n\n 执行备份 (ZIP):\n sbackup save\n\n 执行备份 (tar.gz):\n sbackup --format tar.gz save\n\n 执行备份 (7z 加密):\n sbackup --format 7z save --password 123456\n\n 保留最近 5 个备份:\n sbackup save --keep 5\n\n 定时备份 (每 60 分钟):\n sbackup watch --interval 60\n\n 定时备份 + 清理:\n sbackup watch --interval 120 --keep 10\n\n 还原备份:\n sbackup restore backup.7z F:/restored\n\n 英文界面:\n sbackup --lang en_US save\n\n 调试模式:\n sbackup --debug save",
|
|
43
|
+
"cli.help.debug": "开启调试模式,输出详细的运行日志和状态信息",
|
|
44
|
+
"cli.help.help": "显示此帮助信息并退出",
|
|
45
|
+
"cli.help.lang": "设置界面语言: zh_CN / en_US / fr_FR / es_ES / ru_RU / de_DE / ja_JP / pt_BR / ko_KR",
|
|
46
|
+
"cli.help.format": "设置打包格式: zip (默认) / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
47
|
+
"cli.help.subcommands": "选择要执行的命令",
|
|
48
|
+
"cli.help.add": "添加新的备份策略",
|
|
49
|
+
"cli.help.add.source": "源文件夹路径: 需要被备份的目录",
|
|
50
|
+
"cli.help.add.dest": "目标文件夹路径: 存放生成的备份文件的目录",
|
|
51
|
+
"cli.help.add.ignore": "需要忽略的文件或文件夹名称 (使用逗号分隔,默认: .git,__pycache__)",
|
|
52
|
+
"cli.help.add.format": "条目级打包格式(仅作用于该备份策略,不指定则使用全局默认): zip / tar / tar.gz / tar.bz2 / tar.xz / tar.zst / 7z",
|
|
53
|
+
"cli.help.rm": "删除备份策略",
|
|
54
|
+
"cli.help.rm.path": "需要删除备份策略的源文件夹路径",
|
|
55
|
+
"cli.help.all": "查看所有备份策略",
|
|
56
|
+
"cli.help.save": "执行所有备份策略",
|
|
57
|
+
"cli.help.save.keep": "保留最近 N 个备份文件,0 表示不清理",
|
|
58
|
+
"cli.help.save.password": "加密密码(仅 7z 格式支持)",
|
|
59
|
+
"cli.help.watch": "定时执行备份",
|
|
60
|
+
"cli.help.watch.interval": "备份间隔(分钟),默认 60",
|
|
61
|
+
"cli.help.watch.keep": "保留最近 N 个备份文件",
|
|
62
|
+
"cli.help.watch.password": "加密密码(仅 7z 格式支持)",
|
|
63
|
+
"cli.help.restore": "从备份文件还原",
|
|
64
|
+
"cli.help.restore.file": "备份文件路径 (.zip / .tar / .tar.gz / .tar.bz2 / .tar.xz / .tar.zst / .7z)",
|
|
65
|
+
"cli.help.restore.dir": "还原目标目录",
|
|
66
|
+
"cli.help.version": "查看版本信息",
|
|
67
|
+
"cli.version": "\nSbackup v{version} — Copyright © 2026 xiatianxuan\nLicensed under GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html\n",
|
|
68
|
+
|
|
69
|
+
"log.config.malformed": "配置文件 %s 格式错误,使用默认配置",
|
|
70
|
+
"log.config.reset": "配置文件 %s 格式错误,重置为空",
|
|
71
|
+
"log.config.mkdir.error": "无法创建配置目录 %s: %s",
|
|
72
|
+
"log.config.write.error": "无法写入配置文件 %s: %s",
|
|
73
|
+
"log.data.read": "读取数据文件: %s",
|
|
74
|
+
"log.data.create": "数据文件不存在,创建新文件: %s",
|
|
75
|
+
"log.data.load": "加载现有数据文件: %s",
|
|
76
|
+
"log.data.write": "写入数据文件: %s",
|
|
77
|
+
"log.cleanup.delete": "已删除旧备份: %s",
|
|
78
|
+
"log.i18n.load.failed": "无法加载语言包 {path}: {error}",
|
|
79
|
+
"log.i18n.load.fallback_failed": "无法加载回退语言包 {path}: {error}"
|
|
80
|
+
}
|
|
@@ -7,6 +7,15 @@ sbackup/auto_save.py
|
|
|
7
7
|
sbackup/compression.py
|
|
8
8
|
sbackup/config.py
|
|
9
9
|
sbackup/i18n.py
|
|
10
|
+
sbackup/locales/de_DE.json
|
|
11
|
+
sbackup/locales/en_US.json
|
|
12
|
+
sbackup/locales/es_ES.json
|
|
13
|
+
sbackup/locales/fr_FR.json
|
|
14
|
+
sbackup/locales/ja_JP.json
|
|
15
|
+
sbackup/locales/ko_KR.json
|
|
16
|
+
sbackup/locales/pt_BR.json
|
|
17
|
+
sbackup/locales/ru_RU.json
|
|
18
|
+
sbackup/locales/zh_CN.json
|
|
10
19
|
sbackup_cli.egg-info/PKG-INFO
|
|
11
20
|
sbackup_cli.egg-info/SOURCES.txt
|
|
12
21
|
sbackup_cli.egg-info/dependency_links.txt
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|