feat: person excludes for auto-organize rules, backup & restore system

Add person exclude criteria to Immich auto-organize — assets containing
excluded persons are filtered out after candidate gathering. Also adds
full backup/restore system with export, import, scheduled backups, and
retention management.
This commit is contained in:
2026-04-02 14:13:42 +03:00
parent 6e51164f8e
commit 6b2211353d
13 changed files with 2191 additions and 2 deletions
+65
View File
@@ -16,6 +16,7 @@
"cmdTemplateConfigs": "Шаблоны команд",
"users": "Пользователи",
"settings": "Настройки",
"backup": "Бэкап",
"logout": "Выход",
"notification": "Уведомления",
"commands": "Команды",
@@ -1025,6 +1026,8 @@
"criteria": "Критерии",
"persons": "Люди",
"addPerson": "Добавить человека...",
"excludePersons": "Исключить людей",
"addExcludePerson": "Добавить человека для исключения...",
"searchQuery": "Умный поиск",
"searchQueryPlaceholder": "напр. закат, пляж, день рождения...",
"assetType": "Тип файла",
@@ -1053,5 +1056,67 @@
"triggerManual": "вручную",
"triggerDryRun": "пробный",
"triggerScheduled": "по расписанию"
},
"backup": {
"title": "Резервное копирование",
"description": "Экспорт и импорт конфигурации, настройка автоматических бэкапов",
"export": "Экспорт конфигурации",
"exportDescription": "Скачать конфигурацию в формате JSON. Выберите категории для включения.",
"import": "Импорт конфигурации",
"importDescription": "Загрузить ранее экспортированный файл бэкапа для восстановления.",
"categories": "Категории",
"selectAll": "Выбрать все",
"deselectAll": "Снять все",
"catProviders": "Провайдеры",
"catTelegramBots": "Telegram боты",
"catMatrixBots": "Matrix боты",
"catEmailBots": "Email боты",
"catTargets": "Цели",
"catTrackingConfigs": "Конфиги отслеживания",
"catTemplateConfigs": "Конфиги шаблонов",
"catCommandConfigs": "Конфиги команд",
"catCommandTemplateConfigs": "Шаблоны команд",
"catNotificationTrackers": "Трекеры уведомлений",
"catCommandTrackers": "Трекеры команд",
"catActions": "Действия",
"catAppSettings": "Настройки приложения",
"secretsMode": "Секреты",
"secretsExclude": "Исключить секреты (безопасно)",
"secretsMasked": "Маскировать секреты (для проверки)",
"secretsInclude": "Включить секреты (открытый текст)",
"secretsWarningExport": "Внимание: файл экспорта будет содержать конфиденциальные данные (API-ключи, токены, пароли) в открытом виде.",
"exportBtn": "Экспорт",
"exportSuccess": "Конфигурация экспортирована",
"validateBtn": "Проверить",
"validating": "Проверка...",
"validationPassed": "Проверка пройдена",
"validationFailed": "Проверка не пройдена",
"entities": "Сущности",
"conflictMode": "Разрешение конфликтов",
"conflictSkip": "Пропустить существующие (оставить текущие)",
"conflictRename": "Переименовать дубликаты (добавить суффикс)",
"conflictOverwrite": "Перезаписать существующие (заменить)",
"importBtn": "Импорт",
"importing": "Импорт...",
"importSuccess": "Конфигурация импортирована",
"importResults": "Результаты импорта",
"resultCreated": "Создано",
"resultSkipped": "Пропущено",
"resultOverwritten": "Перезаписано",
"resultErrors": "Ошибки",
"confirmExportTitle": "Экспорт с секретами?",
"confirmExportMessage": "Экспортированный файл будет содержать все секреты (API-ключи, токены ботов, пароли) в открытом виде. Используйте только для безопасной передачи.",
"confirmImportTitle": "Импортировать конфигурацию?",
"confirmImportMessage": "Это создаст новые сущности в базе данных. Убедитесь, что файл бэкапа прошёл проверку.",
"scheduled": "Автоматические бэкапы",
"enableScheduled": "Включить автоматическое резервное копирование",
"interval": "Интервал",
"hours": "часов",
"retention": "Хранить последних",
"scheduleSaved": "Расписание бэкапов сохранено",
"savedFiles": "Сохранённые бэкапы",
"noFiles": "Файлов бэкапа пока нет.",
"download": "Скачать",
"fileDeleted": "Файл бэкапа удалён"
}
}