diff --git a/frontend/src/lib/i18n/en.json b/frontend/src/lib/i18n/en.json index 2850d3a..b1c5f9b 100644 --- a/frontend/src/lib/i18n/en.json +++ b/frontend/src/lib/i18n/en.json @@ -183,6 +183,9 @@ "delete": "Delete", "confirmDelete": "Delete this tracker?", "albums_count": "album(s)", + "repos_count": "repo(s)", + "boards_count": "board(s)", + "devices_count": "device(s)", "every": "every", "trackImages": "Track images", "trackVideos": "Track videos", diff --git a/frontend/src/lib/i18n/ru.json b/frontend/src/lib/i18n/ru.json index 3addd0d..7dfe6ee 100644 --- a/frontend/src/lib/i18n/ru.json +++ b/frontend/src/lib/i18n/ru.json @@ -183,6 +183,9 @@ "delete": "Удалить", "confirmDelete": "Удалить этот трекер?", "albums_count": "альбом(ов)", + "repos_count": "репозиторий(ев)", + "boards_count": "доска(ок)", + "devices_count": "устройство(в)", "every": "каждые", "trackImages": "Отслеживать фото", "trackVideos": "Отслеживать видео", diff --git a/frontend/src/routes/notification-trackers/+page.svelte b/frontend/src/routes/notification-trackers/+page.svelte index 2fec779..e612333 100644 --- a/frontend/src/routes/notification-trackers/+page.svelte +++ b/frontend/src/routes/notification-trackers/+page.svelte @@ -277,6 +277,17 @@ return p?.name || `#${id}`; } + const collectionCountLabel: Record = { + immich: 'notificationTracker.albums_count', + gitea: 'notificationTracker.repos_count', + planka: 'notificationTracker.boards_count', + nut: 'notificationTracker.devices_count', + }; + function getCollectionLabel(tracker: Tracker): string { + const pt = getProviderType(tracker); + return t(collectionCountLabel[pt] || 'notificationTracker.albums_count'); + } + function configsForTracker(tracker: Tracker, configs: (TrackingConfig | TemplateConfig)[]): (TrackingConfig | TemplateConfig)[] { const pt = getProviderType(tracker); return pt ? configs.filter((c) => c.provider_type === pt) : configs; @@ -423,7 +434,7 @@

- {(tracker.collection_ids || []).length} {t('notificationTracker.albums_count')} · {t('notificationTracker.every')} {tracker.scan_interval}s · {(tracker.tracker_targets || []).length} {t('notificationTracker.linkedTargets')} + {(tracker.collection_ids || []).length} {getCollectionLabel(tracker)} · {t('notificationTracker.every')} {tracker.scan_interval}s · {(tracker.tracker_targets || []).length} {t('notificationTracker.linkedTargets')}