From bacc7b052cb72702d917c726749fac128c44e2ef Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 13:56:03 +0100 Subject: [PATCH 01/49] Create Polish localization for About section Added Polish localization for the About section of ClamAV GUI. --- public/locales/pl/about.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 public/locales/pl/about.json diff --git a/public/locales/pl/about.json b/public/locales/pl/about.json new file mode 100644 index 0000000..809e7a2 --- /dev/null +++ b/public/locales/pl/about.json @@ -0,0 +1,20 @@ +{ + "title": "About ClamAV GUI", + "version": "Version {{version}}", + "desc": { + "line1": "Minimalistyczny interfejs typu open source do skanowania plików i wykrywania zagrożeń, dzięki któremu sam program antywirusowy wygląda profesjonalnie i działa dokładnie tak samo jak ClamAV (antywirus FOSS CLI).", + "line2": "Zbudowany z wykorzystaniem Tauri, React oraz nowoczesnych narzędzi desktopowych i internetowych. Oprogramowanie jest udostępniane w stanie „jak jest”. Żadne dane nie są gromadzone ani przesyłane. Ten interfejs graficzny korzysta z silników clamscan i freshclam firmy ClamAV. Typy skanowania to ustawienia predefiniowane, które definiują używane lokalizacje i limity.", + "line3": "ClamAV jest znakiem towarowym firmy Cisco Systems, Inc. Projekt ten jest niezależnym, otwartym interfejsem graficznym i nie jest powiązany z firmą Cisco ani przez nią wspierany.", + "line4": "Ten projekt jest napędzany przez społeczność. Twoja opinia kształtuje przyszłość." + }, + "clamav-version": "ClamAV v{{engine}}, Wersja Bazy danych: {{dbVersion}}", + "all-rights-reserved": "Wszelkie Prawa Zastrzezone", + "translated-by": "github.com/olek980", + "def-version": "Wersja bazy definicji wirusów", + "buttons": { + "bug-report": "Zreportuj Bug", + "feature-request": "Poproś o funkcje", + "contribute": "Contribute", + "translate": "Dodaj swój język" + } +} From 7f18a8be50243ef5eccb78ce45d3c18e20f2885d Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:03:03 +0100 Subject: [PATCH 02/49] Add Polish localization for confirmation messages --- public/locales/pl/confirmation.json | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 public/locales/pl/confirmation.json diff --git a/public/locales/pl/confirmation.json b/public/locales/pl/confirmation.json new file mode 100644 index 0000000..2e1201d --- /dev/null +++ b/public/locales/pl/confirmation.json @@ -0,0 +1,80 @@ +{ + "actions": { + "cancel": "Anuluj", + "clear": "Wyczyść", + "delete": "Usuń", + "restore": "Przywróć", + "delete-settings": "Usuń ustawienia", + "restore-defaults": "Przywróć ustawienia domyślne", + "delete-job": "Usuń zadanie", + "clear-jobs": "Wyczyść zadania", + "remove": "Usuń", + "stop": "Zatrzymaj", + "turn-off": "Wyłącz" + }, + "clear-all": { + "title": "Wyczyścić historię?", + "desc": "Spowoduje to usunięcie całej historii skanowania, aktualizacji i działań. Logi oraz elementy kwarantanny pozostaną bez zmian." + }, + "clear-acknowledged": { + "title": "Wyczyścić potwierdzone wpisy?", + "desc": "Spowoduje to usunięcie tylko potwierdzonych wpisów z historii. Nierozwiązane zdarzenia pozostaną." + }, + "clear-errors": { + "title": "Wyczyścić wszystkie błędy?", + "desc": "Spowoduje to usunięcie wszystkich błędów z tabeli historii. Pozostałe zdarzenia pozostaną." + }, + "clear-warnings": { + "title": "Wyczyścić wszystkie ostrzeżenia?", + "desc": "Spowoduje to usunięcie wszystkich ostrzeżeń z tabeli historii. Pozostałe zdarzenia pozostaną." + }, + "restore": { + "title": "Spowoduje to przywrócenie pliku z kwarantanny.", + "desc": "Kontynuować?" + }, + "delete": { + "title": "Czy na pewno chcesz trwale usunąć ten plik?", + "desc": "Tego procesu nie można cofnąć." + }, + "bulk-restore": { + "title": "Spowoduje to przywrócenie wszystkich zagrożeń z kwarantanny.", + "desc": "Kontynuować?" + }, + "bulk-delete": { + "title": "Czy na pewno chcesz usunąć wszystkie zagrożenia z kwarantanny?", + "desc": "Tego procesu nie można cofnąć." + }, + "delete-settings": { + "title": "Spowoduje to trwałe usunięcie wszystkich ustawień, wykluczeń i preferencji GUI ClamAV.", + "desc": "Kontynuować?" + }, + "restore-defaults": { + "title": "Spowoduje to trwałe przywrócenie wszystkich ustawień, wykluczeń i preferencji GUI ClamAV do wartości domyślnych.", + "desc": "Kontynuować?" + }, + "delete-threats": { + "title": "Czy na pewno chcesz trwale usunąć ten plik?", + "desc": "Tego procesu nie można cofnąć." + }, + "clear-threats": { + "title": "Czy na pewno chcesz usunąć wszystkie wykryte zagrożenia?", + "desc": "Tego procesu nie można cofnąć." + }, + "delete-job": { + "title": "Spowoduje to usunięcie wybranego zaplanowanego zadania skanowania.", + "desc": "Kontynuować?" + }, + "clear-jobs": { + "title": "Spowoduje to usunięcie wszystkich zaplanowanych skanów.", + "desc": "Kontynuować?" + }, + "scan": { + "title": "Czy na pewno chcesz zatrzymać {{scanName}}?", + "desc": "Spowoduje to anulowanie całego procesu skanowania i powrót do menu opcji skanowania." + }, + "folder-path-form-desc": "Kontynuować?", + "real-time-scan": { + "title": "Czy na pewno chcesz wyłączyć ochronę w czasie rzeczywistym?", + "desc": "Wyłączenie ochrony w czasie rzeczywistym narazi urządzenie na wirusy." + } +} From b38acef4dc878d4b86efdff31cf70f81d6b16df1 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:04:37 +0100 Subject: [PATCH 03/49] Add Polish localization credits.json file --- public/locales/pl/credits.json | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 public/locales/pl/credits.json diff --git a/public/locales/pl/credits.json b/public/locales/pl/credits.json new file mode 100644 index 0000000..19e95a0 --- /dev/null +++ b/public/locales/pl/credits.json @@ -0,0 +1,54 @@ +{ + "titles": "Podziękowania", + "credits-data": { + "coreTech": { + "title": "Technologie podstawowe", + "entries": [ + "ClamAV (silnik antywirusowy)", + "ClamScan (skaner na żądanie)", + "FreshClam (aktualizacje sygnatur)" + ] + }, + "interface": { + "title": "Interfejs i platforma", + "entries": [ + "Tauri (środowisko uruchomieniowe desktop)", + "React (UI/UX)", + "Rust (backend i bezpieczeństwo)", + "React Router (nawigacja)", + "ShadCN UI (system designu)", + "Tailwind CSS (stylowanie)", + "Specta (typowane IPC)" + ] + }, + "system": { + "title": "Integracja systemowa", + "entries": [ + "Harmonogram zadań Windows", + "API zabezpieczeń Windows", + "Zarządzanie procesami i sygnałami", + "Integracja z linią poleceń (narzędzia ClamAV)" + ] + }, + "ecosystem": { + "title": "Ekosystem open source", + "entries": [ + "Społeczność ClamAV", + "Społeczność Tauri", + "Ekosystem Rust", + "Współtwórcy open source" + ] + } + }, + "special-thanks": { + "title": "Specjalne podziękowania", + "notes": { + "early-test": "Wczesne testy i opinie", + "bug-report-test": "Zgłoszenia krytycznych błędów i testy w realnych warunkach" + }, + "desc": { + "line1": "Specjalne podziękowania dla użytkowników, którzy testowali wersje przedpremierowe i zgłaszali problemy bezpośrednio.", + "line2": "Stworzone z szacunkiem dla użytkowników, prywatności i oprogramowania open source. Wykonane przez ArsenTech z pasją i zaufaniem" + } + } +} From ef061baf0c3f9538aa55433a1cc30b8bf6e68a49 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:05:42 +0100 Subject: [PATCH 04/49] Create Polish localization for history.json Added Polish localization for history-related messages. --- public/locales/pl/history.json | 87 ++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 public/locales/pl/history.json diff --git a/public/locales/pl/history.json b/public/locales/pl/history.json new file mode 100644 index 0000000..3acdfe1 --- /dev/null +++ b/public/locales/pl/history.json @@ -0,0 +1,87 @@ +{ + "title": "Historia", + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear": { + "title": "Wyczyść historię", + "all": "Wyczyść wszystko", + "acknowledged": "Wyczyść potwierdzone", + "errors": "Wyczyść błędy", + "warnings": "Wyczyść ostrzeżenia", + "loading": "Czyszczenie..." + }, + "export": { + "title": "Eksportuj historię jako", + "dialog-title": "Eksportuj dane historii jako", + "csv": "Plik CSV", + "json": "Plik JSON" + }, + "clear-messages": { + "all": "Historia została wyczyszczona!", + "acknowledged": "Potwierdzone wpisy zostały wyczyszczone!", + "error": "Wszystkie błędy zostały wyczyszczone!", + "warning": "Wszystkie ostrzeżenia zostały wyczyszczone!" + }, + "events": { + "real-time-error": "Błąd skanowania w czasie rzeczywistym", + "real-time-start": "Rozpoczęto skanowanie w czasie rzeczywistym", + "real-time-stop": "Zatrzymano skanowanie w czasie rzeczywistym", + "quarantine-threat": "Zagrożenie przeniesione do kwarantanny", + "restore-threat": "Zagrożenie przywrócone", + "delete-threat": "Zagrożenie usunięte", + "scan-start": "Rozpoczęto skanowanie", + "scan-finish": "Zakończono skanowanie", + "def-update-start": "Rozpoczęto aktualizację baz sygnatur", + "def-update-finish": "Zakończono aktualizację baz sygnatur", + "def-update-error": "Błąd aktualizacji baz sygnatur", + "scheduler-create": "Utworzono nowe zaplanowane zadanie skanowania", + "scheduler-delete": "Usunięto zaplanowane zadanie skanowania", + "scheduler-trigger": "Uruchomiono zaplanowane zadanie skanowania", + "file-delete": "Plik usunięty", + "file-delete-error": "Nie udało się usunąć pliku" + }, + "behavior": { + "balanced": "Zrównoważony", + "safe": "Bezpieczny", + "strict": "Restrykcyjny", + "expert": "Ekspert" + }, + "details": { + "real-time-error": "Nie udało się uruchomić skanowania w czasie rzeczywistym: {{err}}", + "real-time-start_one": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowana jest jedna ścieżka", + "real-time-start_two": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowane są dwie ścieżki", + "real-time-start_few": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowane są {{count}} ścieżki", + "real-time-start_many": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowanych jest {{count}} ścieżek", + "real-time-start_other": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowanych jest {{count}} ścieżek", + "real-time-stop": "Skanowanie w czasie rzeczywistym zostało zatrzymane", + "quarantine-threat": "{{threat}} został przeniesiony do kwarantanny", + "restore-threat": "{{threat}} został przywrócony z kwarantanny", + "delete-threat": "{{threat}} został usunięty z kwarantanny", + "scan-start": "Rozpoczęto skanowanie typu: {{scanType}}", + "scan-finish": { + "state_zero": "Skanowanie zakończone pomyślnie, nie znaleziono zagrożeń", + "state_one": "Skanowanie zakończone pomyślnie, znaleziono jedno zagrożenie", + "state_two": "Skanowanie zakończone pomyślnie, znaleziono dwa zagrożenia", + "state_few": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożenia", + "state_many": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożeń", + "state_other": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożeń", + "partial": "Skanowanie zakończone z błędami; niektóre pliki mogły nie zostać przeskanowane", + "clamav-error": "Skanowanie nie powiodło się z powodu błędu ClamAV", + "error": "Skanowanie nie powiodło się (kod wyjścia {{code}})" + }, + "def-update-start": "Rozpoczęto aktualizację bazy ClamAV", + "def-update-finish": { + "success": "Baza sygnatur jest już aktualna", + "warning": "Aktualizacja zakończona z ostrzeżeniami", + "error": "Aktualizacja nie powiodła się (kod wyjścia {{code}})" + }, + "scheduler-create": "Nowe zadanie zaplanowane zostało utworzone pomyślnie: {{task}}", + "scheduler-delete": "Zadanie skanowania zostało usunięte pomyślnie: {{task}}", + "scheduler-trigger-error": "Nie udało się uruchomić zaplanowanego zadania: {{task}}", + "scheduler-trigger": "Zaplanowane zadanie uruchomione ręcznie: {{task}}", + "file-delete": "Plik został usunięty: {{path}}", + "file-delete-error": "Nie udało się usunąć pliku: {{path}} ({{err}})" + } +} From e7a96c0fbf8dcc1316d5b4ef70737c10509b51b0 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:06:35 +0100 Subject: [PATCH 05/49] Add Polish translations for various messages --- public/locales/pl/messages.json | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 public/locales/pl/messages.json diff --git a/public/locales/pl/messages.json b/public/locales/pl/messages.json new file mode 100644 index 0000000..d02968c --- /dev/null +++ b/public/locales/pl/messages.json @@ -0,0 +1,97 @@ +{ + "copy-command": { + "success": "Polecenie skopiowane", + "error": "Nie udało się skopiować polecenia" + }, + "fetch-error": { + "history": "Nie udało się załadować ostatniej historii", + "scheduler": "Nie udało się załadować zaplanowanych skanów", + "exclusions": "Nie udało się załadować istniejących wykluczeń", + "realtime-paths": "Nie udało się załadować ścieżek dla skanowania w czasie rzeczywistym" + }, + "scan-stop-error": "Nie udało się zatrzymać skanowania", + "scan-start-error": "Nie udało się uruchomić skanowania", + "log-reveal-error": "Nie udało się otworzyć pliku logów", + "acknowledge-history": { + "success": "Wpis oznaczony jako potwierdzony!", + "error": "Nie udało się oznaczyć wpisu jako potwierdzonego" + }, + "trigger-scan": { + "success": "Zadanie skanowania uruchomione", + "error": "Nie udało się uruchomić zaplanowanego zadania" + }, + "quarantine": { + "success": "Zagrożenie przeniesione do kwarantanny!", + "error": "Nie udało się przenieść zagrożenia do kwarantanny" + }, + "history-clear-errror": "Nie udało się wyczyścić historii", + "export": { + "success": "Dane historii wyeksportowano jako {{fileName}}", + "error": "Nie udało się wyeksportować danych historii" + }, + "schedule-scan-error": "Nie udało się zaplanować zadania skanowania", + "remove-job": { + "success": "Zaplanowane zadanie skanowania zostało usunięte!", + "error": "Nie udało się usunąć zaplanowanego zadania skanowania" + }, + "clear-jobs": { + "success": "Wszystkie zaplanowane zadania skanowania zostały usunięte!", + "error": "Nie udało się usunąć wszystkich zaplanowanych zadań skanowania" + }, + "threat-deleted": { + "success": "Zagrożenie zostało trwale usunięte!", + "error": "Nie udało się usunąć zagrożenia" + }, + "threat-quarantined": { + "success": "Wszystkie zagrożenia przeniesione do kwarantanny", + "error": "Nie udało się przenieść wszystkich zagrożeń do kwarantanny" + }, + "threat-bulk-delete": { + "success": "Wszystkie zagrożenia zostały usunięte", + "error": "Nie udało się usunąć wszystkich zagrożeń" + }, + "restore-settings": { + "success": "Ustawienia przywrócone do domyślnych", + "error": "Nie udało się przywrócić ustawień domyślnych" + }, + "delete-settings": { + "success": "Ustawienia zostały usunięte", + "error": "Nie udało się usunąć ustawień" + }, + "def-update-error": "Nie udało się zaktualizować baz sygnatur", + "save-settings-error": "Nie udało się zapisać ustawień", + "restore-quarantine": { + "success": "Plik przywrócony z kwarantanny!", + "error": "Nie udało się przywrócić pliku z kwarantanny" + }, + "delete-quarantine": { + "success": "Plik został trwale usunięty", + "error": "Nie udało się usunąć pliku z kwarantanny" + }, + "bulk-restore-quarantine": { + "success": "Wszystkie zagrożenia zostały przywrócone", + "error": "Nie udało się przywrócić wszystkich zagrożeń" + }, + "bulk-delete-quarantine": { + "success": "Wszystkie zagrożenia zostały usunięte", + "error": "Nie udało się usunąć wszystkich zagrożeń" + }, + "no-scan-command": "Nie znaleziono polecenia skanowania", + "form-validations": { + "interval": "Wybierz typ interwału", + "scanType": "Wybierz typ skanowania", + "days": "Wybierz dzień tygodnia", + "hours": { + "min": "Wartość musi być między 0 a 23 godzinami", + "max": "Wartość nie może być większa niż 23 godziny" + }, + "minutes": { + "min": "Wartość musi być między 0 a 59 minutami", + "max": "Wartość nie może być większa niż 59 minut" + }, + "directory-path": { + "required": "Ścieżka katalogu jest wymagana.", + "too-long": "Ścieżka katalogu jest za długa." + } + } +} From 3f183dda23ecb74ab89838a516252e9d23634d99 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:07:49 +0100 Subject: [PATCH 06/49] Add Polish localization for no ClamAV page --- public/locales/pl/no-clamav-page.json | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 public/locales/pl/no-clamav-page.json diff --git a/public/locales/pl/no-clamav-page.json b/public/locales/pl/no-clamav-page.json new file mode 100644 index 0000000..8d29732 --- /dev/null +++ b/public/locales/pl/no-clamav-page.json @@ -0,0 +1,40 @@ +{ + "title": "Ups, ClamAV nie jest zainstalowany", + "step": "Krok {{current}} z {{total}}", + "installation": { + "title": "Instalacja", + "info": "Upewnij się, że zainstalowałeś ClamAV, korzystając z instrukcji instalacji tutaj:", + "linux-commands": "Zalecane polecenia dla Linuxa" + }, + "add-to-path": { + "title": "Dodawanie do zmiennej środowiskowej PATH", + "windows": { + "cmd": "Otwórz Wiersz polecenia, a następnie wpisz:", + "if-returns-path": "Jeśli zostanie zwrócona ścieżka (np.: C:\\Program Files\\ClamAV):", + "steps": [ + "Otwórz menu Start i wpisz env", + "Kliknij \"Edytuj zmienne środowiskowe systemu\".", + "Kliknij \"Zmienne środowiskowe\" w oknie Właściwości systemu.", + "Znajdź zmienną Path, kliknij Edytuj, a następnie dodaj ścieżkę zwróconą przez polecenie where clamscan.", + "Kliknij OK, następnie OK, Zastosuj i ponownie OK" + ], + "verification": "Sprawdź, otwierając Wiersz polecenia i wpisując:" + }, + "linux": { + "cmd": "Otwórz preferowany terminal, a następnie wpisz:", + "nano": "Po uzyskaniu ścieżki (np.: /path/to/clamav/bin), otwórz plik ~/.bashrc w nano:", + "snippet": "Dodaj poniższy fragment na końcu pliku ~/.bashrc:", + "kbd-shortcut": "Naciśnij , następnie , a potem przeładuj terminal, używając:", + "verification": "Sprawdź, wpisując:" + }, + "check-step": "Po zainstalowaniu ClamAV i dodaniu jego ścieżki do zmiennej środowiskowej PATH, kliknij poniższy przycisk Sprawdź dostępność, aby aktywować GUI ClamAV za darmo" + }, + "buttons": { + "prev": "Wstecz", + "next": "Dalej", + "check": { + "pending": "Sprawdzanie...", + "original": "Sprawdź dostępność" + } + } +} From d337226aa4d2aef8ab0ea7bbefcebb8f8b22692f Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:09:08 +0100 Subject: [PATCH 07/49] Add Polish localization for scanning features --- public/locales/pl/overview.json | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 public/locales/pl/overview.json diff --git a/public/locales/pl/overview.json b/public/locales/pl/overview.json new file mode 100644 index 0000000..e283d88 --- /dev/null +++ b/public/locales/pl/overview.json @@ -0,0 +1,53 @@ +{ + "main-scan": { + "name": "Skan szybki", + "desc": "Sprawdź najczęściej używane lokalizacje" + }, + "full-scan": { + "name": "Pełne skanowanie", + "desc": "Przeskanuj wszystko (może to chwilę potrwać)" + }, + "custom-scan": { + "name": "Skan niestandardowy", + "desc": "Wybierz folder do skanowania" + }, + "file-scan": { + "name": "Skan pliku", + "desc": "Wybierz plik do skanowania" + }, + "quarantine": { + "name": "Kwarantanna", + "desc": "Zobacz odizolowane złośliwe pliki" + }, + "update": { + "name": "Aktualizacja", + "desc": "Zaktualizuj definicje wirusów z bazy ClamAV" + }, + "history": { + "name": "Historia", + "desc": "Zobacz historię działań GUI ClamAV" + }, + "real-time": { + "name": "Skanowanie w czasie rzeczywistym", + "desc": "Skanuje nowo tworzone pliki w czasie rzeczywistym" + }, + "indicator": { + "safe": "Urządzenie jest bezpieczne!", + "alert": "Urządzenie jest zagrożone!", + "warning": "Niektóre ustawienia ochrony są wyłączone.", + "outdated": "Definicje są starsze niż 7 dni. Zaktualizuj natychmiast!", + "last-scan": "Ostatnie skanowanie:", + "never-scanned": "Nigdy nie skanowano" + }, + "definition": { + "title": "Definicje: {{status}}", + "updated": "Aktualne", + "outdated": "Nieaktualne", + "loading": "Ładowanie..." + }, + "turn-on-realtime": "Włącz skanowanie w czasie rzeczywistym", + "dialog-title": { + "file": "Wybierz plik do skanowania", + "folder": "Wybierz wiele folderów do skanowania" + } +} From 201a7a7dcb04fe6ccc1ffe27e113fe66ead6ee9c Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:10:46 +0100 Subject: [PATCH 08/49] Add Polish localization for quarantine messages --- public/locales/pl/quarantine.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 public/locales/pl/quarantine.json diff --git a/public/locales/pl/quarantine.json b/public/locales/pl/quarantine.json new file mode 100644 index 0000000..e5f8709 --- /dev/null +++ b/public/locales/pl/quarantine.json @@ -0,0 +1,15 @@ +{ + "title": "Kwarantanna", + "no-threats": { + "title": "Brak zagrożeń w kwarantannie", + "desc": "Twój system jest czysty i wszystko wygląda dobrze!" + }, + "bulk-actions": { + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear": "Usuń wszystko", + "restore": "Przywróć wszystko" + } +} From 7872d2894cbb296c96401b62bbf81e7dd7b43241 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:13:39 +0100 Subject: [PATCH 09/49] Add Polish localization for scan settings --- public/locales/pl/scan-settings.json | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 public/locales/pl/scan-settings.json diff --git a/public/locales/pl/scan-settings.json b/public/locales/pl/scan-settings.json new file mode 100644 index 0000000..8da0475 --- /dev/null +++ b/public/locales/pl/scan-settings.json @@ -0,0 +1,70 @@ +{ + "labels": { + "recursive": "Rekursywnie", + "crossFs": "Skanuj inne zamontowane systemy plików", + "followDirSymlinks": "Śledź dowiązania symboliczne katalogów", + "followFileSymlinks": "Śledź dowiązania symboliczne plików", + "quiet": "Tłumienie standardowego wyjścia", + "verbose": "Wyświetl szczegółowe logi", + "infected": "Wyświetl tylko zainfekowane pliki", + "noSummary": "Ukryj podsumowanie skanowania", + "bell": "Odtwórz dźwięk przy wykryciu", + "debug": "Wyjście debug", + "algorithmicDetection": "Wykrywanie algorytmiczne", + "heuristicAlerts": "Alerty heurystyczne", + "heuristicPrecedence": "Priorytet skanowania heurystycznego", + "detectPUA": "Wykryj potencjalnie niepożądane aplikacje (PUA)", + "detectStructured": "Wykryj numery SSN i karty kredytowe", + "structuredSSNFormat": "Format SSN", + "structuredSSNCount": "Próg wykrywania SSN", + "structuredCCCount": "Próg wykrywania kart kredytowych", + "scanPE": "Skanuj pliki PE", + "scanELF": "Skanuj pliki ELF", + "scanOLE2": "Skanuj pliki Office / MSI", + "scanPDF": "Skanuj pliki PDF", + "scanHTML": "Skanuj pliki HTML", + "scanArchive": "Skanuj archiwa", + "scanMail": "Skanuj pliki mailowe", + "detectBroken": "Wykryj uszkodzone pliki wykonywalne", + "maxFileSize": "Maksymalny rozmiar pliku (KB)", + "maxScanSize": "Maksymalny rozmiar skanowania (KB)", + "alertEncrypted": "Alert dla zaszyfrowanych archiwów lub dokumentów", + "maxFiles": "Maksymalna liczba wyodrębnionych plików", + "maxRecursion": "Limit rekursji archiwum", + "maxDirRecursion": "Głębokość rekursji katalogów", + "noCerts": "Wyłącz weryfikację Authenticode", + "disableCache": "Wyłącz pamięć podręczną", + "officialDbOnly": "Używaj tylko oficjalnych baz danych", + "leaveTemps": "Nie usuwaj plików tymczasowych", + "bytecode": "Włącz bytecode", + "bytecodeUnsigned": "Pozwól na niezaufany bytecode", + "bytecodeTimeout": "Limit czasu bytecode (ms)", + "databasePath": "Ścieżka bazy danych", + "tempDir": "Katalog plików tymczasowych" + }, + "descriptions": { + "debug": "Wyświetl komunikaty debug z libclamav.", + "heuristicAlerts": "Może zwiększyć liczbę fałszywych alarmów.", + "bytecodeUnsigned": "Niebezpieczne. Używaj tylko do testów." + }, + "option-group": { + "detection": "Wykrywanie", + "file-types": "Typy plików", + "filesystem": "System plików", + "limits-performance": "Limity i wydajność", + "output": "Wyjście", + "advanced": "Zaawansowane opcje skanowania" + }, + "choices": { + "sym-links": [ + "Nigdy", + "Tylko jeśli podano jawnie", + "Zawsze" + ], + "ssn-formats": [ + "xxx-yy-zzzz", + "xxxyyzzzz", + "Oba formaty" + ] + } +} From 3fbdc43773b4ecc4f0558f19fd34ea18bd4f114a Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:14:37 +0100 Subject: [PATCH 10/49] Add Polish localization for scan feature --- public/locales/pl/scan.json | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 public/locales/pl/scan.json diff --git a/public/locales/pl/scan.json b/public/locales/pl/scan.json new file mode 100644 index 0000000..55ff2ca --- /dev/null +++ b/public/locales/pl/scan.json @@ -0,0 +1,89 @@ +{ + "title": "Skanowanie", + "scan-complete": "Skanowanie zakończone!", + "dialog-title": { + "file": "Wybierz plik do skanowania", + "folder": "Wybierz foldery do skanowania" + }, + "scan-type": { + "title": "Typ skanowania: {{scanType}}", + "main": { + "name": "Skan szybki", + "desc": "Sprawdź najczęstsze lokalizacje pod kątem złośliwych plików" + }, + "full": { + "name": "Pełne skanowanie", + "desc": "Skanuj wszystko na tym urządzeniu (może to chwilę potrwać)" + }, + "custom": { + "name": "Skan niestandardowy", + "desc": "Wybierz folder do skanowania" + }, + "file": { + "name": "Skan pliku", + "desc": "Wybierz plik do skanowania" + }, + "fallback": "Nieznany typ skanowania" + }, + "process": { + "preparing": "Przygotowywanie skanowania...", + "percentage": "{{percentage}}% - przeskanowano {{scanned}} z {{total}} plików", + "files": "Przeskanowano {{scanned}} plików", + "scanning": "Skanowanie..." + }, + "items": { + "currently-scanned": "Aktualnie skanowane", + "location": "Miejsce skanowania", + "findings": "Wyniki", + "start-time": "Czas rozpoczęcia", + "threat": "{{threats}} zagrożeń" + }, + "stop-scan": "Zatrzymaj skanowanie", + "full-scan-warn": "Pełne skanowanie może potrwać dłużej w zależności od rozmiaru dysku.", + "start-scan": "Rozpocznij skanowanie", + "choose": { + "file": "Wybierz plik", + "folder": "Wybierz folder" + }, + "finished": { + "error": "Skanowanie nie powiodło się", + "no-threats": "Nie wykryto zagrożeń!", + "with-threats_one": "Jedno zagrożenie wymaga uwagi", + "with-threats_two": "Dwa zagrożenia wymagają uwagi", + "with-threats_few": "{{count}} zagrożenia wymagają uwagi", + "with-threats_many": "{{count}} zagrożeń wymaga uwagi", + "with-threats_other": "{{count}} zagrożeń wymaga uwagi" + }, + "close": "Zamknij", + "back-to-overview": "Powrót do przeglądu", + "exit-code": [ + "Skanowanie zakończone pomyślnie", + "Wykryto zagrożenia", + "Niektóre pliki nie mogły zostać przeskanowane z powodu ograniczeń dostępu" + ], + "exit-code-fallback": "Skanowanie nie powiodło się z powodu błędu wewnętrznego", + "exit-code-formatting": "{{msg}} (Kod wyjścia: {{exitCode}})", + "please-wait": "Proszę czekać...", + "resolve": { + "title": "Rozwiąż", + "quarantine": "Przenieś wszystkie do kwarantanny", + "delete": "Usuń wszystkie", + "success": "Pomyślnie rozwiązano!" + }, + "notification": { + "scan-finish": { + "title": "Skanowanie zakończone!", + "desc_zero": "Nie wykryto żadnych zagrożeń", + "desc_one": "Wykryto jedno zagrożenie", + "desc_two": "Wykryto dwa zagrożenia", + "desc_few": "Wykryto {{count}} zagrożenia", + "desc_many": "Wykryto {{count}} zagrożeń", + "desc_other": "Wykryto {{count}} zagrożeń", + "with-err": "Skanowanie zakończone z błędami" + }, + "scan-start": { + "title": "Rozpoczęto skanowanie!", + "desc": "Rozpoczęto skanowanie: {{scanName}}" + } + } +} From dc4b1ebb0838066280cc6899a0227792f43a6016 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:15:49 +0100 Subject: [PATCH 11/49] Add Polish translations for scheduler interface --- public/locales/pl/scheduler.json | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 public/locales/pl/scheduler.json diff --git a/public/locales/pl/scheduler.json b/public/locales/pl/scheduler.json new file mode 100644 index 0000000..95ff8a1 --- /dev/null +++ b/public/locales/pl/scheduler.json @@ -0,0 +1,44 @@ +{ + "title": "Harmonogram", + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear-jobs": "Wyczyść zadania", + "form": { + "title": "Zaplanuj skanowanie", + "interval": { + "label": "Interwał", + "values": { + "daily": "Codziennie", + "weekly": "Co tydzień", + "monthly": "Co miesiąc" + }, + "placeholder": "Wybierz interwał zadania" + }, + "scan-type": { + "label": "Typ skanowania", + "placeholder": "Wybierz typ skanowania" + }, + "days": { + "label": "Dzień tygodnia", + "values": { + "mon": "Poniedziałek", + "tue": "Wtorek", + "wed": "Środa", + "thu": "Czwartek", + "fri": "Piątek", + "sat": "Sobota", + "sun": "Niedziela" + }, + "placeholder": "Wybierz dzień tygodnia" + }, + "hour": "Godzina", + "minute": "Minuta", + "button": { + "pending": "Proszę czekać...", + "original": "Zaplanuj" + }, + "scheduled-time": "Zaplanowany czas: {{time}}" + } +} From fad64d44df94529d0658aecf2d613a747d76b674 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:17:03 +0100 Subject: [PATCH 12/49] Add Polish localization for settings Added Polish localization for settings in JSON format, including export, import, scan profiles, tabs, appearance, date formats, UI settings, notifications, scan settings, exclusions, real-time paths, advanced options, logs, and danger zone. --- public/locales/pl/settings.json | 173 ++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 public/locales/pl/settings.json diff --git a/public/locales/pl/settings.json b/public/locales/pl/settings.json new file mode 100644 index 0000000..5b11723 --- /dev/null +++ b/public/locales/pl/settings.json @@ -0,0 +1,173 @@ +{ + "title": "Ustawienia", + "json-settings": "Ustawienia JSON", + "export": { + "button-title": "Eksportuj ustawienia", + "title": "Eksport ustawień GUI ClamAV", + "success": "Ustawienia zostały pomyślnie wyeksportowane", + "error": "Nie udało się wyeksportować ustawień" + }, + "import": { + "button-title": "Importuj ustawienia", + "title": "Import ustawień GUI ClamAV", + "empty-content": "Wygląda na to, że zawartość ustawień jest prawie pusta", + "success": "Ustawienia zostały pomyślnie zaimportowane", + "error": "Nie udało się zaimportować ustawień" + }, + "scan-profile": { + "title": "Aktywny profil skanowania", + "main": "Skan szybki", + "custom": "Skan niestandardowy", + "file": "Skan pliku" + }, + "tabs": { + "general": "Ogólne", + "advanced": "Zaawansowane", + "scan": "Skanowanie", + "update": "Aktualizacja" + }, + "appearance": { + "title": "Wygląd", + "theme": { + "title": "Motyw", + "system": "Systemowy", + "light": "Jasny", + "dark": "Ciemny" + }, + "color": { + "title": "Kolor", + "blue": "Niebieski", + "green": "Zielony", + "rose": "Różowy" + } + }, + "date-format": { + "title": "Format daty", + "us": { + "title": "Amerykański", + "format": "mm/dd/yyyy hh:mm:ss" + }, + "eu": { + "title": "Europejski", + "format": "dd/mm/yyyy hh:mm:ss" + }, + "iso": { + "title": "Międzynarodowy", + "format": "yyyy-mm-dd hh:mm:ss" + } + }, + "ui": { + "title": "Interfejs użytkownika", + "scheduler-ui": { + "title": "Włącz UI Harmonogramu", + "desc": "Daje dostęp do strony Harmonogram" + }, + "language": { + "title": "Język", + "desc": "Język interfejsu GUI ClamAV" + }, + "badge": { + "title": "Widoczność odznaki", + "desc": "Pokaż ikony lub tekst w odznakach UI", + "placeholder": "Wybierz typ widoczności odznaki", + "options": { + "icon": "Tylko ikona", + "icon-text": "Ikona i tekst", + "text": "Tylko tekst" + } + } + }, + "notifs": { + "title": "Powiadomienia", + "scan-start": { + "title": "Przy rozpoczęciu skanowania", + "desc": "Powiadamia po rozpoczęciu skanowania" + }, + "scan-finish": { + "title": "Po zakończeniu skanowania", + "desc": "Powiadamia po zakończeniu skanowania" + } + }, + "scan": { + "title": "Ustawienia skanowania", + "desc": "Te ustawienia są stosowane tylko do Skanu szybkiego, Skanu niestandardowego i Skanu pliku", + "confirm-stop": { + "title": "Potwierdź zatrzymanie", + "desc": "Pokaż komunikat potwierdzający przy zatrzymywaniu skanowania" + }, + "advanced-desc": "Zaawansowane opcje dla każdego profilu skanowania. Może zmniejszyć skuteczność wykrywania" + }, + "exclusions": { + "title": "Wykluczenia katalogów", + "add-button": "Dodaj wykluczenie", + "no-exclusions": "Brak wykluczeń folderów", + "form-title": "Dodaj katalog do wykluczeń", + "modal-title": "To spowoduje usunięcie ścieżki katalogu z wykluczeń" + }, + "realtime-paths": { + "title": "Ścieżki monitorowane przez Skanowanie w Czasie Rzeczywistym", + "desc": "Lista folderów aktualnie monitorowanych przez skanowanie w czasie rzeczywistym", + "add-button": "Dodaj ścieżkę", + "no-paths": "Brak aktualnych ścieżek do monitorowania", + "form-title": "Dodaj ścieżkę do monitorowania", + "modal-title": "To spowoduje usunięcie folderu z monitorowanych ścieżek, co może narazić folder na zagrożenia." + }, + "folder-path-form": { + "path": "Ścieżka katalogu", + "browse": "Przeglądaj", + "add": "Dodaj", + "close": "Zamknij", + "dialog-title": "Wybierz ścieżkę folderu do dodania" + }, + "advanced": { + "title": "Zaawansowane opcje GUI", + "desc": "Może naruszyć niektóre funkcje i zmniejszyć skuteczność wykrywania", + "dev-mode": { + "title": "Tryb deweloperski", + "desc": "Pokazuje ID przy każdym danych. Idealne dla programistów!" + }, + "real-time-scan": { + "title": "Skanowanie w czasie rzeczywistym", + "desc": "Automatycznie skanuje pliki przy ich tworzeniu lub modyfikacji." + }, + "behavior": { + "title": "Zachowanie", + "desc": "Jak GUI ClamAV zachowuje się w innych przypadkach?", + "placeholder": "Zachowanie ClamAV", + "choices": { + "balanced": "Zbalansowane", + "safe": "Bezpieczne", + "strict": "Surowe", + "expert": "Ekspert" + } + } + }, + "logs": { + "title": "Logi", + "auto-scroll": { + "title": "Automatyczne przewijanie", + "desc": "Przewija log automatycznie po dodaniu nowego wpisu" + }, + "max-lines": { + "title": "Maksymalna liczba linii logu", + "desc": "Wyświetla log do wybranej maksymalnej liczby linii", + "placeholder": "Wybierz maksymalną liczbę linii", + "lines": "{{lines}} linii" + } + }, + "danger-zone": { + "title": "Strefa zagrożenia", + "desc": "Uważaj przed usunięciem ustawień związanych z GUI ClamAV", + "delete": { + "title": "Usuń ustawienia (trwale)", + "desc": "To spowoduje wyczyszczenie wszystkich danych ustawień", + "button": "Usuń ustawienia" + }, + "restore": { + "title": "Przywróć ustawienia domyślne", + "desc": "To spowoduje przywrócenie wszystkich ustawień do wartości domyślnych", + "button": "Przywróć domyślne" + }, + "pending": "Proszę czekać..." + } +} From 68aa6621ae7de920ec6d229e9edf41b36d97e8c5 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:18:51 +0100 Subject: [PATCH 13/49] Add Polish localization for statistics --- public/locales/pl/stats.json | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 public/locales/pl/stats.json diff --git a/public/locales/pl/stats.json b/public/locales/pl/stats.json new file mode 100644 index 0000000..7116b0d --- /dev/null +++ b/public/locales/pl/stats.json @@ -0,0 +1,71 @@ +{ + "title": "Statystyki", + "refresh": { + "original": "Odśwież statystyki antywirusa", + "loading": "Odświeżanie..." + }, + "device-info": { + "title": "Informacje o urządzeniu", + "os": "System operacyjny:", + "host-name": "Nazwa hosta:" + }, + "loading": "Ładowanie...", + "no-data": "Brak danych", + "date": { + "last-30-secs": "Ostatnie 30 sekund", + "last-6-months": "Ostatnie 6 miesięcy" + }, + "disk": { + "title": "Dysk twardy", + "desc": "Operacje I/O dysku twardego", + "read-stat": "Odczyt: {{read}}/s", + "write-stat": "Zapis: {{write}}/s", + "labels": { + "read": "Prędkość odczytu", + "write": "Prędkość zapisu" + } + }, + "ram": { + "title": "Pamięć", + "desc": "Aktualne użycie pamięci RAM", + "stat": "{{total}} ({{used}} użyte)", + "usage": "Użycie (%):" + }, + "cpu": { + "title": "Aktywność CPU", + "desc": "Aktualna aktywność CPU w oparciu o częstotliwość bazową", + "speed-stat": "Prędkość: {{freq}} GHz", + "util-stat": "Wykorzystanie: {{util}}%", + "utilization": "Wykorzystanie (%):" + }, + "stat-label": "Zagrożenia", + "threats": { + "title": "Przegląd stanu zagrożeń", + "quarantined": "W kwarantannie", + "skipped": "Pominięte", + "deleted": "Oczyszczone", + "unresolved": "Nie rozwiązane" + }, + "virus-types": { + "title": "Zagrożenia według typu złośliwego oprogramowania", + "trojan": "Koń trojański", + "ransomware": "Ransomware", + "spyware": "Spyware", + "rootkit": "Rootkit", + "other": "Inne" + }, + "scan": { + "title": "Zagrożenia według typu skanowania", + "main": "Skan szybki", + "full": "Pełne skanowanie", + "custom": "Skan niestandardowy", + "file": "Skan pliku", + "real-time": "Skan w czasie rzeczywistym" + }, + "activity": { + "title": "Aktywność skanowania", + "unresolved": "Nie rozwiązane", + "resolved": "Rozwiązane" + }, + "month": ["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"] +} From cde8e2cce82afad2800171565f0843645de2dae5 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:19:41 +0100 Subject: [PATCH 14/49] Add Polish localization for pagination and views --- public/locales/pl/table.json | 89 ++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 public/locales/pl/table.json diff --git a/public/locales/pl/table.json b/public/locales/pl/table.json new file mode 100644 index 0000000..cca95ce --- /dev/null +++ b/public/locales/pl/table.json @@ -0,0 +1,89 @@ +{ + "pagination": { + "rows-count": "{{selected}} z {{filtered}} wierszy wybranych.", + "row-per-page": "Wierszy na stronę", + "page-count": "Strona {{index}} z {{count}}", + "buttons": { + "first": "Przejdź do pierwszej strony", + "previous": "Przejdź do poprzedniej strony", + "next": "Przejdź do następnej strony", + "last": "Przejdź do ostatniej strony" + } + }, + "view": { + "title": "Widok", + "toggle": "Przełącz kolumny" + }, + "filter": { + "threats": "Szukaj zagrożeń...", + "history": { + "title": "Filtruj status po", + "all": "Wszystkie", + "success": "Sukces", + "warning": "Ostrzeżenie", + "error": "Błąd", + "acknowledged": "Potwierdzone" + } + }, + "not-found": { + "threats": "Nie znaleziono zagrożeń.", + "history": "Nie znaleziono wpisów.", + "scheduler": "Nie znaleziono zaplanowanych skanowań." + }, + "heading": { + "threats": { + "threat": "Zagrożenie", + "path": "Ścieżka", + "detected-at": "Wykryto" + }, + "quarantine": { + "quarantined-at": "W kwarantannie od", + "size": "Rozmiar" + }, + "history": { + "timestamp": "Znacznik czasu", + "event": "Zdarzenie", + "details": "Szczegóły" + }, + "scheduler": { + "job-name": "Nazwa zadania", + "interval": "Interwał", + "scan-type": "Typ", + "last-scan": "Ostatnie skanowanie", + "next-scan": "Następne skanowanie" + }, + "status": "Status", + "actions": "Akcje" + }, + "actions": { + "open-menu": "Otwórz menu", + "quarantine": "Kwarantanna", + "delete": "Usuń trwale", + "open": "Otwórz folder", + "scan-now": "Skanuj teraz", + "view-log": "Pokaż log", + "reveal-log": "Pokaż plik logu", + "restore": "Przywróć", + "remove-job": "Usuń zadanie", + "view-details": "Pokaż szczegóły" + }, + "status": { + "threats": { + "quarantined": "W kwarantannie", + "deleted": "Usunięte", + "detected": "Wykryte" + }, + "history": { + "success": "Sukces", + "warning": "Ostrzeżenie", + "error": "Błąd", + "acknowledged": "Potwierdzone" + } + }, + "interval": { + "daily": "Codziennie", + "weekly": "Co tydzień", + "monthly": "Co miesiąc" + }, + "mark-as-acknowledged": "Oznacz jako potwierdzone" +} From 14be100149d1453ba741e6c472ea5e77cbae26ef Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:20:16 +0100 Subject: [PATCH 15/49] Add Polish translations for UI elements --- public/locales/pl/translation.json | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 public/locales/pl/translation.json diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json new file mode 100644 index 0000000..16659ff --- /dev/null +++ b/public/locales/pl/translation.json @@ -0,0 +1,34 @@ +{ + "sidebar": { + "overview": "Przegląd", + "scan": "Skanowanie", + "quarantine": "Kwarantanna", + "history": "Historia", + "stats": "Statystyki", + "scheduler": "Harmonogram", + "settings": "Ustawienia", + "about": "O ClamAV GUI" + }, + "num-suffix": { + "kilo": "K", + "million": "M", + "billion": "B", + "trillion": "T" + }, + "size-suffix": { + "byte": "Bajty", + "kb": "KB", + "mb": "MB", + "gb": "GB", + "tb": "TB" + }, + "log": { + "title": "Log", + "page-name": "Przeglądarka logów", + "log-id": "ID logu:", + "back": "Powrót", + "please-wait": "Proszę czekać..." + }, + "splash-screen-text": "Ładowanie...", + "copy-command": "Skopiuj polecenie" +} From 0785e62420dd6da0294bad08ca9718b74a6dd18d Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:21:17 +0100 Subject: [PATCH 16/49] Add Polish localization for update messages --- public/locales/pl/update.json | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 public/locales/pl/update.json diff --git a/public/locales/pl/update.json b/public/locales/pl/update.json new file mode 100644 index 0000000..25ee5a4 --- /dev/null +++ b/public/locales/pl/update.json @@ -0,0 +1,65 @@ +{ + "definitions": { + "title": "Definicje", + "status": { + "updating": "Aktualizacja definicji...", + "checking": "Sprawdzanie statusu bazy danych...", + "outdated": "Wymagana aktualizacja!", + "updated": "Aktualne!" + }, + "last-updated": "Ostatnia aktualizacja: {{date}}", + "update": { + "pending": "Aktualizacja...", + "original": "Aktualizuj bazę danych" + }, + "exit-codes": [ + "Definicje zostały zaktualizowane pomyślnie", + "Niektóre źródła aktualizacji mogły być niedostępne" + ], + "clamav-version": "ClamAV v{{engine}}, Wersja bazy danych: {{dbVersion}}", + "version": "Wersja bazy definicji wirusów" + }, + "gui": { + "title": "Aktualizator GUI", + "checking": { + "main": "Sprawdzanie nowej wersji...", + "secondary": "Proszę czekać..." + }, + "updating": { + "main": "Aktualizacja GUI...", + "secondary": "Proszę czekać aż pobieranie zostanie zakończone..." + }, + "needs-update": { + "main": "Nowa wersja jest dostępna!", + "secondary": "Upewnij się, że zaktualizujesz GUI dla ulepszeń." + }, + "updated": { + "main": "GUI jest aktualne!", + "secondary": "Brak nowych aktualizacji" + }, + "failed-check": { + "main": "Nie udało się sprawdzić aktualizacji", + "secondary": "Spróbuj ponownie później, aby sprawdzić nową wersję." + }, + "completed": { + "main": "GUI zostało zaktualizowane do nowej wersji!", + "secondary": "Upewnij się, że ponownie uruchomisz aplikację, aby zakończyć aktualizację." + }, + "failed-update": { + "main": "Nie udało się zaktualizować GUI", + "secondary": "Spróbuj ponownie później." + }, + "buttons": { + "relaunch": "Uruchom ponownie", + "update": { + "pending": "Aktualizacja...", + "original": "Aktualizuj" + }, + "check": { + "pending": "Sprawdzanie...", + "original": "Sprawdź aktualizacje" + }, + "changelog": "Otwórz dziennik zmian" + } + } +} From b0b0b564c6ccfd50e126837180d55532f5ac4508 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 13:56:03 +0100 Subject: [PATCH 17/49] Create Polish localization for About section Added Polish localization for the About section of ClamAV GUI. --- public/locales/pl/about.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 public/locales/pl/about.json diff --git a/public/locales/pl/about.json b/public/locales/pl/about.json new file mode 100644 index 0000000..809e7a2 --- /dev/null +++ b/public/locales/pl/about.json @@ -0,0 +1,20 @@ +{ + "title": "About ClamAV GUI", + "version": "Version {{version}}", + "desc": { + "line1": "Minimalistyczny interfejs typu open source do skanowania plików i wykrywania zagrożeń, dzięki któremu sam program antywirusowy wygląda profesjonalnie i działa dokładnie tak samo jak ClamAV (antywirus FOSS CLI).", + "line2": "Zbudowany z wykorzystaniem Tauri, React oraz nowoczesnych narzędzi desktopowych i internetowych. Oprogramowanie jest udostępniane w stanie „jak jest”. Żadne dane nie są gromadzone ani przesyłane. Ten interfejs graficzny korzysta z silników clamscan i freshclam firmy ClamAV. Typy skanowania to ustawienia predefiniowane, które definiują używane lokalizacje i limity.", + "line3": "ClamAV jest znakiem towarowym firmy Cisco Systems, Inc. Projekt ten jest niezależnym, otwartym interfejsem graficznym i nie jest powiązany z firmą Cisco ani przez nią wspierany.", + "line4": "Ten projekt jest napędzany przez społeczność. Twoja opinia kształtuje przyszłość." + }, + "clamav-version": "ClamAV v{{engine}}, Wersja Bazy danych: {{dbVersion}}", + "all-rights-reserved": "Wszelkie Prawa Zastrzezone", + "translated-by": "github.com/olek980", + "def-version": "Wersja bazy definicji wirusów", + "buttons": { + "bug-report": "Zreportuj Bug", + "feature-request": "Poproś o funkcje", + "contribute": "Contribute", + "translate": "Dodaj swój język" + } +} From ab68b2245cf57a2b99af634486cdde6ccb15abb1 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:03:03 +0100 Subject: [PATCH 18/49] Add Polish localization for confirmation messages --- public/locales/pl/confirmation.json | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 public/locales/pl/confirmation.json diff --git a/public/locales/pl/confirmation.json b/public/locales/pl/confirmation.json new file mode 100644 index 0000000..2e1201d --- /dev/null +++ b/public/locales/pl/confirmation.json @@ -0,0 +1,80 @@ +{ + "actions": { + "cancel": "Anuluj", + "clear": "Wyczyść", + "delete": "Usuń", + "restore": "Przywróć", + "delete-settings": "Usuń ustawienia", + "restore-defaults": "Przywróć ustawienia domyślne", + "delete-job": "Usuń zadanie", + "clear-jobs": "Wyczyść zadania", + "remove": "Usuń", + "stop": "Zatrzymaj", + "turn-off": "Wyłącz" + }, + "clear-all": { + "title": "Wyczyścić historię?", + "desc": "Spowoduje to usunięcie całej historii skanowania, aktualizacji i działań. Logi oraz elementy kwarantanny pozostaną bez zmian." + }, + "clear-acknowledged": { + "title": "Wyczyścić potwierdzone wpisy?", + "desc": "Spowoduje to usunięcie tylko potwierdzonych wpisów z historii. Nierozwiązane zdarzenia pozostaną." + }, + "clear-errors": { + "title": "Wyczyścić wszystkie błędy?", + "desc": "Spowoduje to usunięcie wszystkich błędów z tabeli historii. Pozostałe zdarzenia pozostaną." + }, + "clear-warnings": { + "title": "Wyczyścić wszystkie ostrzeżenia?", + "desc": "Spowoduje to usunięcie wszystkich ostrzeżeń z tabeli historii. Pozostałe zdarzenia pozostaną." + }, + "restore": { + "title": "Spowoduje to przywrócenie pliku z kwarantanny.", + "desc": "Kontynuować?" + }, + "delete": { + "title": "Czy na pewno chcesz trwale usunąć ten plik?", + "desc": "Tego procesu nie można cofnąć." + }, + "bulk-restore": { + "title": "Spowoduje to przywrócenie wszystkich zagrożeń z kwarantanny.", + "desc": "Kontynuować?" + }, + "bulk-delete": { + "title": "Czy na pewno chcesz usunąć wszystkie zagrożenia z kwarantanny?", + "desc": "Tego procesu nie można cofnąć." + }, + "delete-settings": { + "title": "Spowoduje to trwałe usunięcie wszystkich ustawień, wykluczeń i preferencji GUI ClamAV.", + "desc": "Kontynuować?" + }, + "restore-defaults": { + "title": "Spowoduje to trwałe przywrócenie wszystkich ustawień, wykluczeń i preferencji GUI ClamAV do wartości domyślnych.", + "desc": "Kontynuować?" + }, + "delete-threats": { + "title": "Czy na pewno chcesz trwale usunąć ten plik?", + "desc": "Tego procesu nie można cofnąć." + }, + "clear-threats": { + "title": "Czy na pewno chcesz usunąć wszystkie wykryte zagrożenia?", + "desc": "Tego procesu nie można cofnąć." + }, + "delete-job": { + "title": "Spowoduje to usunięcie wybranego zaplanowanego zadania skanowania.", + "desc": "Kontynuować?" + }, + "clear-jobs": { + "title": "Spowoduje to usunięcie wszystkich zaplanowanych skanów.", + "desc": "Kontynuować?" + }, + "scan": { + "title": "Czy na pewno chcesz zatrzymać {{scanName}}?", + "desc": "Spowoduje to anulowanie całego procesu skanowania i powrót do menu opcji skanowania." + }, + "folder-path-form-desc": "Kontynuować?", + "real-time-scan": { + "title": "Czy na pewno chcesz wyłączyć ochronę w czasie rzeczywistym?", + "desc": "Wyłączenie ochrony w czasie rzeczywistym narazi urządzenie na wirusy." + } +} From a3e36ea2eb477b6a937d32dd1f5d61ca74096d7c Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:04:37 +0100 Subject: [PATCH 19/49] Add Polish localization credits.json file --- public/locales/pl/credits.json | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 public/locales/pl/credits.json diff --git a/public/locales/pl/credits.json b/public/locales/pl/credits.json new file mode 100644 index 0000000..19e95a0 --- /dev/null +++ b/public/locales/pl/credits.json @@ -0,0 +1,54 @@ +{ + "titles": "Podziękowania", + "credits-data": { + "coreTech": { + "title": "Technologie podstawowe", + "entries": [ + "ClamAV (silnik antywirusowy)", + "ClamScan (skaner na żądanie)", + "FreshClam (aktualizacje sygnatur)" + ] + }, + "interface": { + "title": "Interfejs i platforma", + "entries": [ + "Tauri (środowisko uruchomieniowe desktop)", + "React (UI/UX)", + "Rust (backend i bezpieczeństwo)", + "React Router (nawigacja)", + "ShadCN UI (system designu)", + "Tailwind CSS (stylowanie)", + "Specta (typowane IPC)" + ] + }, + "system": { + "title": "Integracja systemowa", + "entries": [ + "Harmonogram zadań Windows", + "API zabezpieczeń Windows", + "Zarządzanie procesami i sygnałami", + "Integracja z linią poleceń (narzędzia ClamAV)" + ] + }, + "ecosystem": { + "title": "Ekosystem open source", + "entries": [ + "Społeczność ClamAV", + "Społeczność Tauri", + "Ekosystem Rust", + "Współtwórcy open source" + ] + } + }, + "special-thanks": { + "title": "Specjalne podziękowania", + "notes": { + "early-test": "Wczesne testy i opinie", + "bug-report-test": "Zgłoszenia krytycznych błędów i testy w realnych warunkach" + }, + "desc": { + "line1": "Specjalne podziękowania dla użytkowników, którzy testowali wersje przedpremierowe i zgłaszali problemy bezpośrednio.", + "line2": "Stworzone z szacunkiem dla użytkowników, prywatności i oprogramowania open source. Wykonane przez ArsenTech z pasją i zaufaniem" + } + } +} From 0472c8220676cd0999f747dbb81b7665d62a67c0 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:05:42 +0100 Subject: [PATCH 20/49] Create Polish localization for history.json Added Polish localization for history-related messages. --- public/locales/pl/history.json | 87 ++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 public/locales/pl/history.json diff --git a/public/locales/pl/history.json b/public/locales/pl/history.json new file mode 100644 index 0000000..3acdfe1 --- /dev/null +++ b/public/locales/pl/history.json @@ -0,0 +1,87 @@ +{ + "title": "Historia", + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear": { + "title": "Wyczyść historię", + "all": "Wyczyść wszystko", + "acknowledged": "Wyczyść potwierdzone", + "errors": "Wyczyść błędy", + "warnings": "Wyczyść ostrzeżenia", + "loading": "Czyszczenie..." + }, + "export": { + "title": "Eksportuj historię jako", + "dialog-title": "Eksportuj dane historii jako", + "csv": "Plik CSV", + "json": "Plik JSON" + }, + "clear-messages": { + "all": "Historia została wyczyszczona!", + "acknowledged": "Potwierdzone wpisy zostały wyczyszczone!", + "error": "Wszystkie błędy zostały wyczyszczone!", + "warning": "Wszystkie ostrzeżenia zostały wyczyszczone!" + }, + "events": { + "real-time-error": "Błąd skanowania w czasie rzeczywistym", + "real-time-start": "Rozpoczęto skanowanie w czasie rzeczywistym", + "real-time-stop": "Zatrzymano skanowanie w czasie rzeczywistym", + "quarantine-threat": "Zagrożenie przeniesione do kwarantanny", + "restore-threat": "Zagrożenie przywrócone", + "delete-threat": "Zagrożenie usunięte", + "scan-start": "Rozpoczęto skanowanie", + "scan-finish": "Zakończono skanowanie", + "def-update-start": "Rozpoczęto aktualizację baz sygnatur", + "def-update-finish": "Zakończono aktualizację baz sygnatur", + "def-update-error": "Błąd aktualizacji baz sygnatur", + "scheduler-create": "Utworzono nowe zaplanowane zadanie skanowania", + "scheduler-delete": "Usunięto zaplanowane zadanie skanowania", + "scheduler-trigger": "Uruchomiono zaplanowane zadanie skanowania", + "file-delete": "Plik usunięty", + "file-delete-error": "Nie udało się usunąć pliku" + }, + "behavior": { + "balanced": "Zrównoważony", + "safe": "Bezpieczny", + "strict": "Restrykcyjny", + "expert": "Ekspert" + }, + "details": { + "real-time-error": "Nie udało się uruchomić skanowania w czasie rzeczywistym: {{err}}", + "real-time-start_one": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowana jest jedna ścieżka", + "real-time-start_two": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowane są dwie ścieżki", + "real-time-start_few": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowane są {{count}} ścieżki", + "real-time-start_many": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowanych jest {{count}} ścieżek", + "real-time-start_other": "Uruchomiono skanowanie w czasie rzeczywistym w trybie {{behavior}}, monitorowanych jest {{count}} ścieżek", + "real-time-stop": "Skanowanie w czasie rzeczywistym zostało zatrzymane", + "quarantine-threat": "{{threat}} został przeniesiony do kwarantanny", + "restore-threat": "{{threat}} został przywrócony z kwarantanny", + "delete-threat": "{{threat}} został usunięty z kwarantanny", + "scan-start": "Rozpoczęto skanowanie typu: {{scanType}}", + "scan-finish": { + "state_zero": "Skanowanie zakończone pomyślnie, nie znaleziono zagrożeń", + "state_one": "Skanowanie zakończone pomyślnie, znaleziono jedno zagrożenie", + "state_two": "Skanowanie zakończone pomyślnie, znaleziono dwa zagrożenia", + "state_few": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożenia", + "state_many": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożeń", + "state_other": "Skanowanie zakończone pomyślnie, znaleziono {{count}} zagrożeń", + "partial": "Skanowanie zakończone z błędami; niektóre pliki mogły nie zostać przeskanowane", + "clamav-error": "Skanowanie nie powiodło się z powodu błędu ClamAV", + "error": "Skanowanie nie powiodło się (kod wyjścia {{code}})" + }, + "def-update-start": "Rozpoczęto aktualizację bazy ClamAV", + "def-update-finish": { + "success": "Baza sygnatur jest już aktualna", + "warning": "Aktualizacja zakończona z ostrzeżeniami", + "error": "Aktualizacja nie powiodła się (kod wyjścia {{code}})" + }, + "scheduler-create": "Nowe zadanie zaplanowane zostało utworzone pomyślnie: {{task}}", + "scheduler-delete": "Zadanie skanowania zostało usunięte pomyślnie: {{task}}", + "scheduler-trigger-error": "Nie udało się uruchomić zaplanowanego zadania: {{task}}", + "scheduler-trigger": "Zaplanowane zadanie uruchomione ręcznie: {{task}}", + "file-delete": "Plik został usunięty: {{path}}", + "file-delete-error": "Nie udało się usunąć pliku: {{path}} ({{err}})" + } +} From d4de6a8b9cc5e378b6cf22662ec55f449befbf39 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:06:35 +0100 Subject: [PATCH 21/49] Add Polish translations for various messages --- public/locales/pl/messages.json | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 public/locales/pl/messages.json diff --git a/public/locales/pl/messages.json b/public/locales/pl/messages.json new file mode 100644 index 0000000..d02968c --- /dev/null +++ b/public/locales/pl/messages.json @@ -0,0 +1,97 @@ +{ + "copy-command": { + "success": "Polecenie skopiowane", + "error": "Nie udało się skopiować polecenia" + }, + "fetch-error": { + "history": "Nie udało się załadować ostatniej historii", + "scheduler": "Nie udało się załadować zaplanowanych skanów", + "exclusions": "Nie udało się załadować istniejących wykluczeń", + "realtime-paths": "Nie udało się załadować ścieżek dla skanowania w czasie rzeczywistym" + }, + "scan-stop-error": "Nie udało się zatrzymać skanowania", + "scan-start-error": "Nie udało się uruchomić skanowania", + "log-reveal-error": "Nie udało się otworzyć pliku logów", + "acknowledge-history": { + "success": "Wpis oznaczony jako potwierdzony!", + "error": "Nie udało się oznaczyć wpisu jako potwierdzonego" + }, + "trigger-scan": { + "success": "Zadanie skanowania uruchomione", + "error": "Nie udało się uruchomić zaplanowanego zadania" + }, + "quarantine": { + "success": "Zagrożenie przeniesione do kwarantanny!", + "error": "Nie udało się przenieść zagrożenia do kwarantanny" + }, + "history-clear-errror": "Nie udało się wyczyścić historii", + "export": { + "success": "Dane historii wyeksportowano jako {{fileName}}", + "error": "Nie udało się wyeksportować danych historii" + }, + "schedule-scan-error": "Nie udało się zaplanować zadania skanowania", + "remove-job": { + "success": "Zaplanowane zadanie skanowania zostało usunięte!", + "error": "Nie udało się usunąć zaplanowanego zadania skanowania" + }, + "clear-jobs": { + "success": "Wszystkie zaplanowane zadania skanowania zostały usunięte!", + "error": "Nie udało się usunąć wszystkich zaplanowanych zadań skanowania" + }, + "threat-deleted": { + "success": "Zagrożenie zostało trwale usunięte!", + "error": "Nie udało się usunąć zagrożenia" + }, + "threat-quarantined": { + "success": "Wszystkie zagrożenia przeniesione do kwarantanny", + "error": "Nie udało się przenieść wszystkich zagrożeń do kwarantanny" + }, + "threat-bulk-delete": { + "success": "Wszystkie zagrożenia zostały usunięte", + "error": "Nie udało się usunąć wszystkich zagrożeń" + }, + "restore-settings": { + "success": "Ustawienia przywrócone do domyślnych", + "error": "Nie udało się przywrócić ustawień domyślnych" + }, + "delete-settings": { + "success": "Ustawienia zostały usunięte", + "error": "Nie udało się usunąć ustawień" + }, + "def-update-error": "Nie udało się zaktualizować baz sygnatur", + "save-settings-error": "Nie udało się zapisać ustawień", + "restore-quarantine": { + "success": "Plik przywrócony z kwarantanny!", + "error": "Nie udało się przywrócić pliku z kwarantanny" + }, + "delete-quarantine": { + "success": "Plik został trwale usunięty", + "error": "Nie udało się usunąć pliku z kwarantanny" + }, + "bulk-restore-quarantine": { + "success": "Wszystkie zagrożenia zostały przywrócone", + "error": "Nie udało się przywrócić wszystkich zagrożeń" + }, + "bulk-delete-quarantine": { + "success": "Wszystkie zagrożenia zostały usunięte", + "error": "Nie udało się usunąć wszystkich zagrożeń" + }, + "no-scan-command": "Nie znaleziono polecenia skanowania", + "form-validations": { + "interval": "Wybierz typ interwału", + "scanType": "Wybierz typ skanowania", + "days": "Wybierz dzień tygodnia", + "hours": { + "min": "Wartość musi być między 0 a 23 godzinami", + "max": "Wartość nie może być większa niż 23 godziny" + }, + "minutes": { + "min": "Wartość musi być między 0 a 59 minutami", + "max": "Wartość nie może być większa niż 59 minut" + }, + "directory-path": { + "required": "Ścieżka katalogu jest wymagana.", + "too-long": "Ścieżka katalogu jest za długa." + } + } +} From 279e54cf9bb9b4df46efff8bb21ab750a5d887ec Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:07:49 +0100 Subject: [PATCH 22/49] Add Polish localization for no ClamAV page --- public/locales/pl/no-clamav-page.json | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 public/locales/pl/no-clamav-page.json diff --git a/public/locales/pl/no-clamav-page.json b/public/locales/pl/no-clamav-page.json new file mode 100644 index 0000000..8d29732 --- /dev/null +++ b/public/locales/pl/no-clamav-page.json @@ -0,0 +1,40 @@ +{ + "title": "Ups, ClamAV nie jest zainstalowany", + "step": "Krok {{current}} z {{total}}", + "installation": { + "title": "Instalacja", + "info": "Upewnij się, że zainstalowałeś ClamAV, korzystając z instrukcji instalacji tutaj:", + "linux-commands": "Zalecane polecenia dla Linuxa" + }, + "add-to-path": { + "title": "Dodawanie do zmiennej środowiskowej PATH", + "windows": { + "cmd": "Otwórz Wiersz polecenia, a następnie wpisz:", + "if-returns-path": "Jeśli zostanie zwrócona ścieżka (np.: C:\\Program Files\\ClamAV):", + "steps": [ + "Otwórz menu Start i wpisz env", + "Kliknij \"Edytuj zmienne środowiskowe systemu\".", + "Kliknij \"Zmienne środowiskowe\" w oknie Właściwości systemu.", + "Znajdź zmienną Path, kliknij Edytuj, a następnie dodaj ścieżkę zwróconą przez polecenie where clamscan.", + "Kliknij OK, następnie OK, Zastosuj i ponownie OK" + ], + "verification": "Sprawdź, otwierając Wiersz polecenia i wpisując:" + }, + "linux": { + "cmd": "Otwórz preferowany terminal, a następnie wpisz:", + "nano": "Po uzyskaniu ścieżki (np.: /path/to/clamav/bin), otwórz plik ~/.bashrc w nano:", + "snippet": "Dodaj poniższy fragment na końcu pliku ~/.bashrc:", + "kbd-shortcut": "Naciśnij , następnie , a potem przeładuj terminal, używając:", + "verification": "Sprawdź, wpisując:" + }, + "check-step": "Po zainstalowaniu ClamAV i dodaniu jego ścieżki do zmiennej środowiskowej PATH, kliknij poniższy przycisk Sprawdź dostępność, aby aktywować GUI ClamAV za darmo" + }, + "buttons": { + "prev": "Wstecz", + "next": "Dalej", + "check": { + "pending": "Sprawdzanie...", + "original": "Sprawdź dostępność" + } + } +} From c277d1e59f945c884ec7b0814be230bad1bfba45 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:09:08 +0100 Subject: [PATCH 23/49] Add Polish localization for scanning features --- public/locales/pl/overview.json | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 public/locales/pl/overview.json diff --git a/public/locales/pl/overview.json b/public/locales/pl/overview.json new file mode 100644 index 0000000..e283d88 --- /dev/null +++ b/public/locales/pl/overview.json @@ -0,0 +1,53 @@ +{ + "main-scan": { + "name": "Skan szybki", + "desc": "Sprawdź najczęściej używane lokalizacje" + }, + "full-scan": { + "name": "Pełne skanowanie", + "desc": "Przeskanuj wszystko (może to chwilę potrwać)" + }, + "custom-scan": { + "name": "Skan niestandardowy", + "desc": "Wybierz folder do skanowania" + }, + "file-scan": { + "name": "Skan pliku", + "desc": "Wybierz plik do skanowania" + }, + "quarantine": { + "name": "Kwarantanna", + "desc": "Zobacz odizolowane złośliwe pliki" + }, + "update": { + "name": "Aktualizacja", + "desc": "Zaktualizuj definicje wirusów z bazy ClamAV" + }, + "history": { + "name": "Historia", + "desc": "Zobacz historię działań GUI ClamAV" + }, + "real-time": { + "name": "Skanowanie w czasie rzeczywistym", + "desc": "Skanuje nowo tworzone pliki w czasie rzeczywistym" + }, + "indicator": { + "safe": "Urządzenie jest bezpieczne!", + "alert": "Urządzenie jest zagrożone!", + "warning": "Niektóre ustawienia ochrony są wyłączone.", + "outdated": "Definicje są starsze niż 7 dni. Zaktualizuj natychmiast!", + "last-scan": "Ostatnie skanowanie:", + "never-scanned": "Nigdy nie skanowano" + }, + "definition": { + "title": "Definicje: {{status}}", + "updated": "Aktualne", + "outdated": "Nieaktualne", + "loading": "Ładowanie..." + }, + "turn-on-realtime": "Włącz skanowanie w czasie rzeczywistym", + "dialog-title": { + "file": "Wybierz plik do skanowania", + "folder": "Wybierz wiele folderów do skanowania" + } +} From 2166c80d8870eadbf7192cc8b45caae4f9fb5e5c Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:10:46 +0100 Subject: [PATCH 24/49] Add Polish localization for quarantine messages --- public/locales/pl/quarantine.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 public/locales/pl/quarantine.json diff --git a/public/locales/pl/quarantine.json b/public/locales/pl/quarantine.json new file mode 100644 index 0000000..e5f8709 --- /dev/null +++ b/public/locales/pl/quarantine.json @@ -0,0 +1,15 @@ +{ + "title": "Kwarantanna", + "no-threats": { + "title": "Brak zagrożeń w kwarantannie", + "desc": "Twój system jest czysty i wszystko wygląda dobrze!" + }, + "bulk-actions": { + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear": "Usuń wszystko", + "restore": "Przywróć wszystko" + } +} From 8c072b506ca29052b36b6267590cc82444089a07 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:13:39 +0100 Subject: [PATCH 25/49] Add Polish localization for scan settings --- public/locales/pl/scan-settings.json | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 public/locales/pl/scan-settings.json diff --git a/public/locales/pl/scan-settings.json b/public/locales/pl/scan-settings.json new file mode 100644 index 0000000..8da0475 --- /dev/null +++ b/public/locales/pl/scan-settings.json @@ -0,0 +1,70 @@ +{ + "labels": { + "recursive": "Rekursywnie", + "crossFs": "Skanuj inne zamontowane systemy plików", + "followDirSymlinks": "Śledź dowiązania symboliczne katalogów", + "followFileSymlinks": "Śledź dowiązania symboliczne plików", + "quiet": "Tłumienie standardowego wyjścia", + "verbose": "Wyświetl szczegółowe logi", + "infected": "Wyświetl tylko zainfekowane pliki", + "noSummary": "Ukryj podsumowanie skanowania", + "bell": "Odtwórz dźwięk przy wykryciu", + "debug": "Wyjście debug", + "algorithmicDetection": "Wykrywanie algorytmiczne", + "heuristicAlerts": "Alerty heurystyczne", + "heuristicPrecedence": "Priorytet skanowania heurystycznego", + "detectPUA": "Wykryj potencjalnie niepożądane aplikacje (PUA)", + "detectStructured": "Wykryj numery SSN i karty kredytowe", + "structuredSSNFormat": "Format SSN", + "structuredSSNCount": "Próg wykrywania SSN", + "structuredCCCount": "Próg wykrywania kart kredytowych", + "scanPE": "Skanuj pliki PE", + "scanELF": "Skanuj pliki ELF", + "scanOLE2": "Skanuj pliki Office / MSI", + "scanPDF": "Skanuj pliki PDF", + "scanHTML": "Skanuj pliki HTML", + "scanArchive": "Skanuj archiwa", + "scanMail": "Skanuj pliki mailowe", + "detectBroken": "Wykryj uszkodzone pliki wykonywalne", + "maxFileSize": "Maksymalny rozmiar pliku (KB)", + "maxScanSize": "Maksymalny rozmiar skanowania (KB)", + "alertEncrypted": "Alert dla zaszyfrowanych archiwów lub dokumentów", + "maxFiles": "Maksymalna liczba wyodrębnionych plików", + "maxRecursion": "Limit rekursji archiwum", + "maxDirRecursion": "Głębokość rekursji katalogów", + "noCerts": "Wyłącz weryfikację Authenticode", + "disableCache": "Wyłącz pamięć podręczną", + "officialDbOnly": "Używaj tylko oficjalnych baz danych", + "leaveTemps": "Nie usuwaj plików tymczasowych", + "bytecode": "Włącz bytecode", + "bytecodeUnsigned": "Pozwól na niezaufany bytecode", + "bytecodeTimeout": "Limit czasu bytecode (ms)", + "databasePath": "Ścieżka bazy danych", + "tempDir": "Katalog plików tymczasowych" + }, + "descriptions": { + "debug": "Wyświetl komunikaty debug z libclamav.", + "heuristicAlerts": "Może zwiększyć liczbę fałszywych alarmów.", + "bytecodeUnsigned": "Niebezpieczne. Używaj tylko do testów." + }, + "option-group": { + "detection": "Wykrywanie", + "file-types": "Typy plików", + "filesystem": "System plików", + "limits-performance": "Limity i wydajność", + "output": "Wyjście", + "advanced": "Zaawansowane opcje skanowania" + }, + "choices": { + "sym-links": [ + "Nigdy", + "Tylko jeśli podano jawnie", + "Zawsze" + ], + "ssn-formats": [ + "xxx-yy-zzzz", + "xxxyyzzzz", + "Oba formaty" + ] + } +} From ae85813c662e9d1b216663f931bb617dbea72a08 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:14:37 +0100 Subject: [PATCH 26/49] Add Polish localization for scan feature --- public/locales/pl/scan.json | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 public/locales/pl/scan.json diff --git a/public/locales/pl/scan.json b/public/locales/pl/scan.json new file mode 100644 index 0000000..55ff2ca --- /dev/null +++ b/public/locales/pl/scan.json @@ -0,0 +1,89 @@ +{ + "title": "Skanowanie", + "scan-complete": "Skanowanie zakończone!", + "dialog-title": { + "file": "Wybierz plik do skanowania", + "folder": "Wybierz foldery do skanowania" + }, + "scan-type": { + "title": "Typ skanowania: {{scanType}}", + "main": { + "name": "Skan szybki", + "desc": "Sprawdź najczęstsze lokalizacje pod kątem złośliwych plików" + }, + "full": { + "name": "Pełne skanowanie", + "desc": "Skanuj wszystko na tym urządzeniu (może to chwilę potrwać)" + }, + "custom": { + "name": "Skan niestandardowy", + "desc": "Wybierz folder do skanowania" + }, + "file": { + "name": "Skan pliku", + "desc": "Wybierz plik do skanowania" + }, + "fallback": "Nieznany typ skanowania" + }, + "process": { + "preparing": "Przygotowywanie skanowania...", + "percentage": "{{percentage}}% - przeskanowano {{scanned}} z {{total}} plików", + "files": "Przeskanowano {{scanned}} plików", + "scanning": "Skanowanie..." + }, + "items": { + "currently-scanned": "Aktualnie skanowane", + "location": "Miejsce skanowania", + "findings": "Wyniki", + "start-time": "Czas rozpoczęcia", + "threat": "{{threats}} zagrożeń" + }, + "stop-scan": "Zatrzymaj skanowanie", + "full-scan-warn": "Pełne skanowanie może potrwać dłużej w zależności od rozmiaru dysku.", + "start-scan": "Rozpocznij skanowanie", + "choose": { + "file": "Wybierz plik", + "folder": "Wybierz folder" + }, + "finished": { + "error": "Skanowanie nie powiodło się", + "no-threats": "Nie wykryto zagrożeń!", + "with-threats_one": "Jedno zagrożenie wymaga uwagi", + "with-threats_two": "Dwa zagrożenia wymagają uwagi", + "with-threats_few": "{{count}} zagrożenia wymagają uwagi", + "with-threats_many": "{{count}} zagrożeń wymaga uwagi", + "with-threats_other": "{{count}} zagrożeń wymaga uwagi" + }, + "close": "Zamknij", + "back-to-overview": "Powrót do przeglądu", + "exit-code": [ + "Skanowanie zakończone pomyślnie", + "Wykryto zagrożenia", + "Niektóre pliki nie mogły zostać przeskanowane z powodu ograniczeń dostępu" + ], + "exit-code-fallback": "Skanowanie nie powiodło się z powodu błędu wewnętrznego", + "exit-code-formatting": "{{msg}} (Kod wyjścia: {{exitCode}})", + "please-wait": "Proszę czekać...", + "resolve": { + "title": "Rozwiąż", + "quarantine": "Przenieś wszystkie do kwarantanny", + "delete": "Usuń wszystkie", + "success": "Pomyślnie rozwiązano!" + }, + "notification": { + "scan-finish": { + "title": "Skanowanie zakończone!", + "desc_zero": "Nie wykryto żadnych zagrożeń", + "desc_one": "Wykryto jedno zagrożenie", + "desc_two": "Wykryto dwa zagrożenia", + "desc_few": "Wykryto {{count}} zagrożenia", + "desc_many": "Wykryto {{count}} zagrożeń", + "desc_other": "Wykryto {{count}} zagrożeń", + "with-err": "Skanowanie zakończone z błędami" + }, + "scan-start": { + "title": "Rozpoczęto skanowanie!", + "desc": "Rozpoczęto skanowanie: {{scanName}}" + } + } +} From 19d6af51fbe3725b8d49c8e113760619b27a98c8 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:15:49 +0100 Subject: [PATCH 27/49] Add Polish translations for scheduler interface --- public/locales/pl/scheduler.json | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 public/locales/pl/scheduler.json diff --git a/public/locales/pl/scheduler.json b/public/locales/pl/scheduler.json new file mode 100644 index 0000000..95ff8a1 --- /dev/null +++ b/public/locales/pl/scheduler.json @@ -0,0 +1,44 @@ +{ + "title": "Harmonogram", + "refresh": { + "original": "Odśwież", + "loading": "Odświeżanie..." + }, + "clear-jobs": "Wyczyść zadania", + "form": { + "title": "Zaplanuj skanowanie", + "interval": { + "label": "Interwał", + "values": { + "daily": "Codziennie", + "weekly": "Co tydzień", + "monthly": "Co miesiąc" + }, + "placeholder": "Wybierz interwał zadania" + }, + "scan-type": { + "label": "Typ skanowania", + "placeholder": "Wybierz typ skanowania" + }, + "days": { + "label": "Dzień tygodnia", + "values": { + "mon": "Poniedziałek", + "tue": "Wtorek", + "wed": "Środa", + "thu": "Czwartek", + "fri": "Piątek", + "sat": "Sobota", + "sun": "Niedziela" + }, + "placeholder": "Wybierz dzień tygodnia" + }, + "hour": "Godzina", + "minute": "Minuta", + "button": { + "pending": "Proszę czekać...", + "original": "Zaplanuj" + }, + "scheduled-time": "Zaplanowany czas: {{time}}" + } +} From dcdb1b51fdb4a42765fd4891e1dd2303590e0361 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:17:03 +0100 Subject: [PATCH 28/49] Add Polish localization for settings Added Polish localization for settings in JSON format, including export, import, scan profiles, tabs, appearance, date formats, UI settings, notifications, scan settings, exclusions, real-time paths, advanced options, logs, and danger zone. --- public/locales/pl/settings.json | 173 ++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 public/locales/pl/settings.json diff --git a/public/locales/pl/settings.json b/public/locales/pl/settings.json new file mode 100644 index 0000000..5b11723 --- /dev/null +++ b/public/locales/pl/settings.json @@ -0,0 +1,173 @@ +{ + "title": "Ustawienia", + "json-settings": "Ustawienia JSON", + "export": { + "button-title": "Eksportuj ustawienia", + "title": "Eksport ustawień GUI ClamAV", + "success": "Ustawienia zostały pomyślnie wyeksportowane", + "error": "Nie udało się wyeksportować ustawień" + }, + "import": { + "button-title": "Importuj ustawienia", + "title": "Import ustawień GUI ClamAV", + "empty-content": "Wygląda na to, że zawartość ustawień jest prawie pusta", + "success": "Ustawienia zostały pomyślnie zaimportowane", + "error": "Nie udało się zaimportować ustawień" + }, + "scan-profile": { + "title": "Aktywny profil skanowania", + "main": "Skan szybki", + "custom": "Skan niestandardowy", + "file": "Skan pliku" + }, + "tabs": { + "general": "Ogólne", + "advanced": "Zaawansowane", + "scan": "Skanowanie", + "update": "Aktualizacja" + }, + "appearance": { + "title": "Wygląd", + "theme": { + "title": "Motyw", + "system": "Systemowy", + "light": "Jasny", + "dark": "Ciemny" + }, + "color": { + "title": "Kolor", + "blue": "Niebieski", + "green": "Zielony", + "rose": "Różowy" + } + }, + "date-format": { + "title": "Format daty", + "us": { + "title": "Amerykański", + "format": "mm/dd/yyyy hh:mm:ss" + }, + "eu": { + "title": "Europejski", + "format": "dd/mm/yyyy hh:mm:ss" + }, + "iso": { + "title": "Międzynarodowy", + "format": "yyyy-mm-dd hh:mm:ss" + } + }, + "ui": { + "title": "Interfejs użytkownika", + "scheduler-ui": { + "title": "Włącz UI Harmonogramu", + "desc": "Daje dostęp do strony Harmonogram" + }, + "language": { + "title": "Język", + "desc": "Język interfejsu GUI ClamAV" + }, + "badge": { + "title": "Widoczność odznaki", + "desc": "Pokaż ikony lub tekst w odznakach UI", + "placeholder": "Wybierz typ widoczności odznaki", + "options": { + "icon": "Tylko ikona", + "icon-text": "Ikona i tekst", + "text": "Tylko tekst" + } + } + }, + "notifs": { + "title": "Powiadomienia", + "scan-start": { + "title": "Przy rozpoczęciu skanowania", + "desc": "Powiadamia po rozpoczęciu skanowania" + }, + "scan-finish": { + "title": "Po zakończeniu skanowania", + "desc": "Powiadamia po zakończeniu skanowania" + } + }, + "scan": { + "title": "Ustawienia skanowania", + "desc": "Te ustawienia są stosowane tylko do Skanu szybkiego, Skanu niestandardowego i Skanu pliku", + "confirm-stop": { + "title": "Potwierdź zatrzymanie", + "desc": "Pokaż komunikat potwierdzający przy zatrzymywaniu skanowania" + }, + "advanced-desc": "Zaawansowane opcje dla każdego profilu skanowania. Może zmniejszyć skuteczność wykrywania" + }, + "exclusions": { + "title": "Wykluczenia katalogów", + "add-button": "Dodaj wykluczenie", + "no-exclusions": "Brak wykluczeń folderów", + "form-title": "Dodaj katalog do wykluczeń", + "modal-title": "To spowoduje usunięcie ścieżki katalogu z wykluczeń" + }, + "realtime-paths": { + "title": "Ścieżki monitorowane przez Skanowanie w Czasie Rzeczywistym", + "desc": "Lista folderów aktualnie monitorowanych przez skanowanie w czasie rzeczywistym", + "add-button": "Dodaj ścieżkę", + "no-paths": "Brak aktualnych ścieżek do monitorowania", + "form-title": "Dodaj ścieżkę do monitorowania", + "modal-title": "To spowoduje usunięcie folderu z monitorowanych ścieżek, co może narazić folder na zagrożenia." + }, + "folder-path-form": { + "path": "Ścieżka katalogu", + "browse": "Przeglądaj", + "add": "Dodaj", + "close": "Zamknij", + "dialog-title": "Wybierz ścieżkę folderu do dodania" + }, + "advanced": { + "title": "Zaawansowane opcje GUI", + "desc": "Może naruszyć niektóre funkcje i zmniejszyć skuteczność wykrywania", + "dev-mode": { + "title": "Tryb deweloperski", + "desc": "Pokazuje ID przy każdym danych. Idealne dla programistów!" + }, + "real-time-scan": { + "title": "Skanowanie w czasie rzeczywistym", + "desc": "Automatycznie skanuje pliki przy ich tworzeniu lub modyfikacji." + }, + "behavior": { + "title": "Zachowanie", + "desc": "Jak GUI ClamAV zachowuje się w innych przypadkach?", + "placeholder": "Zachowanie ClamAV", + "choices": { + "balanced": "Zbalansowane", + "safe": "Bezpieczne", + "strict": "Surowe", + "expert": "Ekspert" + } + } + }, + "logs": { + "title": "Logi", + "auto-scroll": { + "title": "Automatyczne przewijanie", + "desc": "Przewija log automatycznie po dodaniu nowego wpisu" + }, + "max-lines": { + "title": "Maksymalna liczba linii logu", + "desc": "Wyświetla log do wybranej maksymalnej liczby linii", + "placeholder": "Wybierz maksymalną liczbę linii", + "lines": "{{lines}} linii" + } + }, + "danger-zone": { + "title": "Strefa zagrożenia", + "desc": "Uważaj przed usunięciem ustawień związanych z GUI ClamAV", + "delete": { + "title": "Usuń ustawienia (trwale)", + "desc": "To spowoduje wyczyszczenie wszystkich danych ustawień", + "button": "Usuń ustawienia" + }, + "restore": { + "title": "Przywróć ustawienia domyślne", + "desc": "To spowoduje przywrócenie wszystkich ustawień do wartości domyślnych", + "button": "Przywróć domyślne" + }, + "pending": "Proszę czekać..." + } +} From a646d98e9046047131010c8983b86095effd7f5b Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:18:51 +0100 Subject: [PATCH 29/49] Add Polish localization for statistics --- public/locales/pl/stats.json | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 public/locales/pl/stats.json diff --git a/public/locales/pl/stats.json b/public/locales/pl/stats.json new file mode 100644 index 0000000..7116b0d --- /dev/null +++ b/public/locales/pl/stats.json @@ -0,0 +1,71 @@ +{ + "title": "Statystyki", + "refresh": { + "original": "Odśwież statystyki antywirusa", + "loading": "Odświeżanie..." + }, + "device-info": { + "title": "Informacje o urządzeniu", + "os": "System operacyjny:", + "host-name": "Nazwa hosta:" + }, + "loading": "Ładowanie...", + "no-data": "Brak danych", + "date": { + "last-30-secs": "Ostatnie 30 sekund", + "last-6-months": "Ostatnie 6 miesięcy" + }, + "disk": { + "title": "Dysk twardy", + "desc": "Operacje I/O dysku twardego", + "read-stat": "Odczyt: {{read}}/s", + "write-stat": "Zapis: {{write}}/s", + "labels": { + "read": "Prędkość odczytu", + "write": "Prędkość zapisu" + } + }, + "ram": { + "title": "Pamięć", + "desc": "Aktualne użycie pamięci RAM", + "stat": "{{total}} ({{used}} użyte)", + "usage": "Użycie (%):" + }, + "cpu": { + "title": "Aktywność CPU", + "desc": "Aktualna aktywność CPU w oparciu o częstotliwość bazową", + "speed-stat": "Prędkość: {{freq}} GHz", + "util-stat": "Wykorzystanie: {{util}}%", + "utilization": "Wykorzystanie (%):" + }, + "stat-label": "Zagrożenia", + "threats": { + "title": "Przegląd stanu zagrożeń", + "quarantined": "W kwarantannie", + "skipped": "Pominięte", + "deleted": "Oczyszczone", + "unresolved": "Nie rozwiązane" + }, + "virus-types": { + "title": "Zagrożenia według typu złośliwego oprogramowania", + "trojan": "Koń trojański", + "ransomware": "Ransomware", + "spyware": "Spyware", + "rootkit": "Rootkit", + "other": "Inne" + }, + "scan": { + "title": "Zagrożenia według typu skanowania", + "main": "Skan szybki", + "full": "Pełne skanowanie", + "custom": "Skan niestandardowy", + "file": "Skan pliku", + "real-time": "Skan w czasie rzeczywistym" + }, + "activity": { + "title": "Aktywność skanowania", + "unresolved": "Nie rozwiązane", + "resolved": "Rozwiązane" + }, + "month": ["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"] +} From 05c0a8638d7548369f7a7327a3391ecb114228ff Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:19:41 +0100 Subject: [PATCH 30/49] Add Polish localization for pagination and views --- public/locales/pl/table.json | 89 ++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 public/locales/pl/table.json diff --git a/public/locales/pl/table.json b/public/locales/pl/table.json new file mode 100644 index 0000000..cca95ce --- /dev/null +++ b/public/locales/pl/table.json @@ -0,0 +1,89 @@ +{ + "pagination": { + "rows-count": "{{selected}} z {{filtered}} wierszy wybranych.", + "row-per-page": "Wierszy na stronę", + "page-count": "Strona {{index}} z {{count}}", + "buttons": { + "first": "Przejdź do pierwszej strony", + "previous": "Przejdź do poprzedniej strony", + "next": "Przejdź do następnej strony", + "last": "Przejdź do ostatniej strony" + } + }, + "view": { + "title": "Widok", + "toggle": "Przełącz kolumny" + }, + "filter": { + "threats": "Szukaj zagrożeń...", + "history": { + "title": "Filtruj status po", + "all": "Wszystkie", + "success": "Sukces", + "warning": "Ostrzeżenie", + "error": "Błąd", + "acknowledged": "Potwierdzone" + } + }, + "not-found": { + "threats": "Nie znaleziono zagrożeń.", + "history": "Nie znaleziono wpisów.", + "scheduler": "Nie znaleziono zaplanowanych skanowań." + }, + "heading": { + "threats": { + "threat": "Zagrożenie", + "path": "Ścieżka", + "detected-at": "Wykryto" + }, + "quarantine": { + "quarantined-at": "W kwarantannie od", + "size": "Rozmiar" + }, + "history": { + "timestamp": "Znacznik czasu", + "event": "Zdarzenie", + "details": "Szczegóły" + }, + "scheduler": { + "job-name": "Nazwa zadania", + "interval": "Interwał", + "scan-type": "Typ", + "last-scan": "Ostatnie skanowanie", + "next-scan": "Następne skanowanie" + }, + "status": "Status", + "actions": "Akcje" + }, + "actions": { + "open-menu": "Otwórz menu", + "quarantine": "Kwarantanna", + "delete": "Usuń trwale", + "open": "Otwórz folder", + "scan-now": "Skanuj teraz", + "view-log": "Pokaż log", + "reveal-log": "Pokaż plik logu", + "restore": "Przywróć", + "remove-job": "Usuń zadanie", + "view-details": "Pokaż szczegóły" + }, + "status": { + "threats": { + "quarantined": "W kwarantannie", + "deleted": "Usunięte", + "detected": "Wykryte" + }, + "history": { + "success": "Sukces", + "warning": "Ostrzeżenie", + "error": "Błąd", + "acknowledged": "Potwierdzone" + } + }, + "interval": { + "daily": "Codziennie", + "weekly": "Co tydzień", + "monthly": "Co miesiąc" + }, + "mark-as-acknowledged": "Oznacz jako potwierdzone" +} From fdbd4c95b3b6168215bddebcf1c7be82b659b191 Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:20:16 +0100 Subject: [PATCH 31/49] Add Polish translations for UI elements --- public/locales/pl/translation.json | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 public/locales/pl/translation.json diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json new file mode 100644 index 0000000..16659ff --- /dev/null +++ b/public/locales/pl/translation.json @@ -0,0 +1,34 @@ +{ + "sidebar": { + "overview": "Przegląd", + "scan": "Skanowanie", + "quarantine": "Kwarantanna", + "history": "Historia", + "stats": "Statystyki", + "scheduler": "Harmonogram", + "settings": "Ustawienia", + "about": "O ClamAV GUI" + }, + "num-suffix": { + "kilo": "K", + "million": "M", + "billion": "B", + "trillion": "T" + }, + "size-suffix": { + "byte": "Bajty", + "kb": "KB", + "mb": "MB", + "gb": "GB", + "tb": "TB" + }, + "log": { + "title": "Log", + "page-name": "Przeglądarka logów", + "log-id": "ID logu:", + "back": "Powrót", + "please-wait": "Proszę czekać..." + }, + "splash-screen-text": "Ładowanie...", + "copy-command": "Skopiuj polecenie" +} From 3f98cab67fad3a6a3dc8dfb5c3ad9279fb0816ed Mon Sep 17 00:00:00 2001 From: Olek980 Date: Tue, 24 Mar 2026 14:21:17 +0100 Subject: [PATCH 32/49] Add Polish localization for update messages --- public/locales/pl/update.json | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 public/locales/pl/update.json diff --git a/public/locales/pl/update.json b/public/locales/pl/update.json new file mode 100644 index 0000000..25ee5a4 --- /dev/null +++ b/public/locales/pl/update.json @@ -0,0 +1,65 @@ +{ + "definitions": { + "title": "Definicje", + "status": { + "updating": "Aktualizacja definicji...", + "checking": "Sprawdzanie statusu bazy danych...", + "outdated": "Wymagana aktualizacja!", + "updated": "Aktualne!" + }, + "last-updated": "Ostatnia aktualizacja: {{date}}", + "update": { + "pending": "Aktualizacja...", + "original": "Aktualizuj bazę danych" + }, + "exit-codes": [ + "Definicje zostały zaktualizowane pomyślnie", + "Niektóre źródła aktualizacji mogły być niedostępne" + ], + "clamav-version": "ClamAV v{{engine}}, Wersja bazy danych: {{dbVersion}}", + "version": "Wersja bazy definicji wirusów" + }, + "gui": { + "title": "Aktualizator GUI", + "checking": { + "main": "Sprawdzanie nowej wersji...", + "secondary": "Proszę czekać..." + }, + "updating": { + "main": "Aktualizacja GUI...", + "secondary": "Proszę czekać aż pobieranie zostanie zakończone..." + }, + "needs-update": { + "main": "Nowa wersja jest dostępna!", + "secondary": "Upewnij się, że zaktualizujesz GUI dla ulepszeń." + }, + "updated": { + "main": "GUI jest aktualne!", + "secondary": "Brak nowych aktualizacji" + }, + "failed-check": { + "main": "Nie udało się sprawdzić aktualizacji", + "secondary": "Spróbuj ponownie później, aby sprawdzić nową wersję." + }, + "completed": { + "main": "GUI zostało zaktualizowane do nowej wersji!", + "secondary": "Upewnij się, że ponownie uruchomisz aplikację, aby zakończyć aktualizację." + }, + "failed-update": { + "main": "Nie udało się zaktualizować GUI", + "secondary": "Spróbuj ponownie później." + }, + "buttons": { + "relaunch": "Uruchom ponownie", + "update": { + "pending": "Aktualizacja...", + "original": "Aktualizuj" + }, + "check": { + "pending": "Sprawdzanie...", + "original": "Sprawdź aktualizacje" + }, + "changelog": "Otwórz dziennik zmian" + } + } +} From 7252500ea33f79429ae5f36d56aa75e60ecce9da Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 20:40:39 +0400 Subject: [PATCH 33/49] =?UTF-8?q?feat(i18n):=20Added=20=F0=9F=87=B5?= =?UTF-8?q?=F0=9F=87=B1=20Polish=20translation=20(thanks=20@Olek980)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/locales/pl/about.json | 2 +- src-tauri/assets/i18n/pl.json | 17 +++++++++++++++++ src/i18n/config.ts | 15 +++++++++------ src/lib/constants/index.ts | 13 ------------- src/lib/constants/md-components.tsx | 17 +++++++++++++++++ src/pages/about.tsx | 2 +- 6 files changed, 45 insertions(+), 21 deletions(-) create mode 100644 src-tauri/assets/i18n/pl.json create mode 100644 src/lib/constants/md-components.tsx diff --git a/public/locales/pl/about.json b/public/locales/pl/about.json index 809e7a2..aab310a 100644 --- a/public/locales/pl/about.json +++ b/public/locales/pl/about.json @@ -9,7 +9,7 @@ }, "clamav-version": "ClamAV v{{engine}}, Wersja Bazy danych: {{dbVersion}}", "all-rights-reserved": "Wszelkie Prawa Zastrzezone", - "translated-by": "github.com/olek980", + "translated-by": "Tłumaczenie: [github.com/olek980](https://github.com/olek980)", "def-version": "Wersja bazy definicji wirusów", "buttons": { "bug-report": "Zreportuj Bug", diff --git a/src-tauri/assets/i18n/pl.json b/src-tauri/assets/i18n/pl.json new file mode 100644 index 0000000..2587009 --- /dev/null +++ b/src-tauri/assets/i18n/pl.json @@ -0,0 +1,17 @@ +{ + "tray": { + "open": "", + "about": "", + "settings": "Ustawienia", + "scan": { + "title": "Skanowanie", + "main": "", + "full": "", + "custom": "", + "file": "" + }, + "quit": "", + "update": "Aktualizacja", + "tooltip": "" + } +} \ No newline at end of file diff --git a/src/i18n/config.ts b/src/i18n/config.ts index 9a97b50..fcae5b1 100644 --- a/src/i18n/config.ts +++ b/src/i18n/config.ts @@ -1,17 +1,20 @@ -export type LangCode = "en" | "hy" | "ru" -type CountryCode = "us" | "am" | "ru" +export type LangCode = "en" | "hy" | "ru" | "pl" +type CountryCode = "us" | "am" | "ru" | "pl" type languageOption = { language: string; code: LangCode, countryCode: CountryCode }; -import {enUS,hy,ru, type Locale} from "date-fns/locale" +import * as DateFnsLocale from "date-fns/locale" export const languageOptions: languageOption[] = [ { language: "English", code: "en", countryCode: "us"}, { language: "Հայերեն", code: "hy", countryCode: "am"}, { language: "Русский", code: "ru", countryCode: "ru"}, + { language: "Polski", code: "pl", countryCode: "pl" } ]; -export const dateFnsLanguages: Record = { - en: enUS, - hy, ru +export const dateFnsLanguages: Record = { + en: DateFnsLocale.enUS, + hy: DateFnsLocale.hy, + ru: DateFnsLocale.ru, + pl: DateFnsLocale.pl } export const suffixWhitelist: Set = new Set(["en"]) \ No newline at end of file diff --git a/src/lib/constants/index.ts b/src/lib/constants/index.ts index 6173937..1553fe7 100644 --- a/src/lib/constants/index.ts +++ b/src/lib/constants/index.ts @@ -1,19 +1,6 @@ import { Search, SearchCheck, FolderSearch, FileSearch } from "lucide-react"; import { IScanMenuItem, ISpecialThanksItem } from "../types/items"; import { ScanType } from "../types/enums"; -import { cn } from "@/lib/utils"; -import { buttonVariants } from "@/components/ui/button"; -import { MarkdownToJSX } from "markdown-to-jsx"; - -export const COMPONENTS: MarkdownToJSX.Overrides = { - h1: { props: { className: "scroll-m-40 border-b pb-2 text-3xl font-semibold tracking-tight mt-0! mb-2!" } }, - h2: { props: { className: "scroll-m-40 border-b pb-2 text-2xl font-semibold tracking-tight mt-0! mb-2!" } }, - h3: { props: { className: "scroll-m-40 text-xl font-semibold tracking-tight mt-0! mb-2!", } }, - h4: { props: { className: "scroll-m-40 text-lg font-semibold tracking-tight mt-0! mb-2!", } }, - p: { props: { className: "leading-7" } }, - a: { props: { className: cn(buttonVariants({ variant: "link" }), "px-0.5 py-0 whitespace-normal inline-block text-sm md:text-base break-all") } }, - small: { props: { className: "text-sm font-medium leading-none" } }, -} export const DAYS_OF_THE_WEEK = ["mon","tue","wed","thu","fri","sat","sun"] as const; export const INTERVALS = ["daily","weekly","monthly"] as const diff --git a/src/lib/constants/md-components.tsx b/src/lib/constants/md-components.tsx new file mode 100644 index 0000000..dd1dabe --- /dev/null +++ b/src/lib/constants/md-components.tsx @@ -0,0 +1,17 @@ +import { Button } from "@/components/ui/button"; +import { openUrl } from "@tauri-apps/plugin-opener"; +import { MarkdownToJSX } from "markdown-to-jsx"; + +export const COMPONENTS: MarkdownToJSX.Overrides = { + h1: { props: { className: "scroll-m-40 border-b pb-2 text-3xl font-semibold tracking-tight mt-0! mb-2!" } }, + h2: { props: { className: "scroll-m-40 border-b pb-2 text-2xl font-semibold tracking-tight mt-0! mb-2!" } }, + h3: { props: { className: "scroll-m-40 text-xl font-semibold tracking-tight mt-0! mb-2!", } }, + h4: { props: { className: "scroll-m-40 text-lg font-semibold tracking-tight mt-0! mb-2!", } }, + p: { props: { className: "leading-7" } }, + a: (props: React.ComponentProps<"a">) => ( + + ), + small: { props: { className: "text-sm font-medium leading-none" } }, +} \ No newline at end of file diff --git a/src/pages/about.tsx b/src/pages/about.tsx index 11e5968..375e941 100644 --- a/src/pages/about.tsx +++ b/src/pages/about.tsx @@ -2,7 +2,7 @@ import CreditsSection from "@/components/credits"; import { AppLayout } from "@/components/layout"; import Logo from "@/components/logo"; import { Button } from "@/components/ui/button"; -import { COMPONENTS } from "@/lib/constants"; +import { COMPONENTS } from "@/lib/constants/md-components"; import { INITIAL_VERSION_INFO } from "@/lib/constants/states"; import { parseClamVersion } from "@/lib/helpers"; import { IClamAvVersion } from "@/lib/types"; From b57efb5c4628ba267a187d4590ba0bf68e3bbba2 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 20:47:22 +0400 Subject: [PATCH 34/49] Changed some translations for clarity --- public/locales/pl/about.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/pl/about.json b/public/locales/pl/about.json index aab310a..f6195c0 100644 --- a/public/locales/pl/about.json +++ b/public/locales/pl/about.json @@ -1,6 +1,6 @@ { - "title": "About ClamAV GUI", - "version": "Version {{version}}", + "title": "O ClamAV GUI", + "version": "Wersja {{version}}", "desc": { "line1": "Minimalistyczny interfejs typu open source do skanowania plików i wykrywania zagrożeń, dzięki któremu sam program antywirusowy wygląda profesjonalnie i działa dokładnie tak samo jak ClamAV (antywirus FOSS CLI).", "line2": "Zbudowany z wykorzystaniem Tauri, React oraz nowoczesnych narzędzi desktopowych i internetowych. Oprogramowanie jest udostępniane w stanie „jak jest”. Żadne dane nie są gromadzone ani przesyłane. Ten interfejs graficzny korzysta z silników clamscan i freshclam firmy ClamAV. Typy skanowania to ustawienia predefiniowane, które definiują używane lokalizacje i limity.", From 4233d230cc3235ed7690daf709828ae4b8f9f025 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 20:52:24 +0400 Subject: [PATCH 35/49] Noted a language change inside the changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab36247..5f8c0b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm --- ## [1.0.4] - Unreleased +### Added Languages +- **🇵🇱 Polish** - Thanks @Olek980! ## [1.0.3] - 2026-03-22 ### Added From 45d449dda31d52a5038a027e976cc1e4cdc3c23d Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:06:10 +0400 Subject: [PATCH 36/49] added the signing keys --- .github/workflows/test-build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 3f39c0e..426b714 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -43,5 +43,7 @@ jobs: - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: args: ${{ matrix.args }} \ No newline at end of file From 9894dc3ee8e4e38651c010f8f383713f6c7a6464 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:18:06 +0400 Subject: [PATCH 37/49] Tweaked the test build workflow --- .github/workflows/test-build.yml | 42 +++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 426b714..0eb3619 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -4,43 +4,57 @@ on: [pull_request] jobs: test-tauri: + permissions: + contents: write strategy: fail-fast: false matrix: include: - - platform: "macos-latest" - args: "--target aarch64-apple-darwin" - - platform: "macos-latest" - args: "--target x86_64-apple-darwin" - - platform: "ubuntu-22.04" - args: "" - - platform: "windows-latest" - args: "" + - platform: 'macos-latest' + args: '--target aarch64-apple-darwin' + - platform: 'macos-latest' + args: '--target x86_64-apple-darwin' + - platform: 'ubuntu-22.04' + args: '' + - platform: 'windows-latest' + args: '' runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y \ + libwebkit2gtk-4.1-dev \ + libgtk-3-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev \ + patchelf + - name: setup node uses: actions/setup-node@v4 with: node-version: lts/* + cache: 'npm' - name: install Rust stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' - run: | - sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' - name: install frontend dependencies run: npm install - - uses: tauri-apps/tauri-action@v0 + - name: "Test Build" + uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} From 32676fe96be638b030c75f97b7d950b0b26dc230 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:19:41 +0400 Subject: [PATCH 38/49] Added another event --- .github/workflows/test-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 0eb3619..d2e7fc3 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -1,6 +1,6 @@ name: "Test Build" -on: [pull_request] +on: [pull_request, push] jobs: test-tauri: From bdc1b237e647b95cbfc0be6a9eebced02ffc7290 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:45:05 +0400 Subject: [PATCH 39/49] Merged the test build workflow into the main workflow --- .github/workflows/{publish.yml => build.yml} | 14 ++++- .github/workflows/test-build.yml | 63 -------------------- README.md | 4 +- 3 files changed, 13 insertions(+), 68 deletions(-) rename .github/workflows/{publish.yml => build.yml} (91%) delete mode 100644 .github/workflows/test-build.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/build.yml similarity index 91% rename from .github/workflows/publish.yml rename to .github/workflows/build.yml index 1bbed46..f635ac3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,7 @@ on: push: tags: - 'v*' + pull_request: workflow_dispatch: jobs: @@ -28,7 +29,7 @@ jobs: - uses: actions/checkout@v4 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' + if: github.event_name != 'pull_request' || matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y \ @@ -55,15 +56,17 @@ jobs: workspaces: './src-tauri -> target' - name: install frontend dependencies - run: npm install + run: npm ci - name: "Build a Tauri App" uses: tauri-apps/tauri-action@v0 + if: startsWith(github.ref, 'refs/tags/v') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: + releaseId: ${{ github.ref_name }} tagName: v__VERSION__ releaseName: "ClamAV GUI v__VERSION__" releaseDraft: true @@ -108,4 +111,9 @@ jobs: [linux-rpm]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI-__VERSION__-1.x86_64.rpm [linux-app-image]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.AppImage [linux-deb]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.deb - \ No newline at end of file + + - name: "Test Build (no signing)" + if: github.event_name == 'pull_request' + run: | + npm run build + npm run tauri build \ No newline at end of file diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml deleted file mode 100644 index d2e7fc3..0000000 --- a/.github/workflows/test-build.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: "Test Build" - -on: [pull_request, push] - -jobs: - test-tauri: - permissions: - contents: write - strategy: - fail-fast: false - matrix: - include: - - platform: 'macos-latest' - args: '--target aarch64-apple-darwin' - - platform: 'macos-latest' - args: '--target x86_64-apple-darwin' - - platform: 'ubuntu-22.04' - args: '' - - platform: 'windows-latest' - args: '' - - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v4 - - - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' - run: | - sudo apt-get update - sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf - - - name: setup node - uses: actions/setup-node@v4 - with: - node-version: lts/* - cache: 'npm' - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - - - name: Rust cache - uses: swatinem/rust-cache@v2 - with: - workspaces: './src-tauri -> target' - - - name: install frontend dependencies - run: npm install - - - name: "Test Build" - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - with: - args: ${{ matrix.args }} \ No newline at end of file diff --git a/README.md b/README.md index 6c8fa27..fae8920 100644 --- a/README.md +++ b/README.md @@ -169,8 +169,8 @@ ClamAV is a trademark of Cisco Systems, Inc. This project is an independent, ope [version-shield]: https://img.shields.io/github/package-json/v/ArsenTech/clamav-gui?style=for-the-badge [downloads-shield]: https://img.shields.io/github/downloads/ArsenTech/clamav-gui/total?style=for-the-badge&label=Total%20Downloads&color=%2322b455 [downloads-url]:https://github.com/ArsenTech/clamav-gui/releases -[status-shield]: https://img.shields.io/github/actions/workflow/status/ArsenTech/clamav-gui/publish.yml?style=for-the-badge -[status-url]: https://github.com/ArsenTech/clamav-gui/actions/workflows/publish.yml +[status-shield]: https://img.shields.io/github/actions/workflow/status/ArsenTech/clamav-gui/build.yml?style=for-the-badge +[status-url]: https://github.com/ArsenTech/clamav-gui/actions/workflows/build.yml [commits-since-shield]: https://img.shields.io/github/commits-since/ArsenTech/clamav-gui/latest?style=for-the-badge&color=%2322b455&label=Commits%20since%20latest%20version [created-at-shield]: https://img.shields.io/github/created-at/ArsenTech/clamav-gui?style=for-the-badge [repo-size-shield]: https://img.shields.io/github/repo-size/ArsenTech/clamav-gui?style=for-the-badge From 0b0a2ee831448c0f51b241702de14603dee7297f Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:53:33 +0400 Subject: [PATCH 40/49] Fixed another issue --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f635ac3..0219c12 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: - name: "Build a Tauri App" uses: tauri-apps/tauri-action@v0 - if: startsWith(github.ref, 'refs/tags/v') + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} @@ -116,4 +116,4 @@ jobs: if: github.event_name == 'pull_request' run: | npm run build - npm run tauri build \ No newline at end of file + npm run tauri build -- --config '{"tauri":{"updater":{"active":false}}}' \ No newline at end of file From 21a695c92054e068c02ff54dcb28cba1eef67d19 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:58:31 +0400 Subject: [PATCH 41/49] Merged ARM64 builds into 1 + added a separate config --- .github/workflows/arm-publish.yml | 60 ------------------------------- .github/workflows/build.yml | 6 ++-- src-tauri/tauri-pr.conf.json | 5 +++ 3 files changed, 9 insertions(+), 62 deletions(-) delete mode 100644 .github/workflows/arm-publish.yml create mode 100644 src-tauri/tauri-pr.conf.json diff --git a/.github/workflows/arm-publish.yml b/.github/workflows/arm-publish.yml deleted file mode 100644 index 6774819..0000000 --- a/.github/workflows/arm-publish.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: 'Publish Linux Arm builds' - -on: - push: - tags: - - 'v*' - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-22.04 - timeout-minutes: 120 - strategy: - matrix: - include: - - cpu: cortex-a72 - base_image: https://dietpi.com/downloads/images/DietPi_RPi5-ARMv8-Bookworm.img.xz - appimage: aarch64 - steps: - - uses: actions/checkout@v4 - - - name: Cache rust build artifacts - uses: Swatinem/rust-cache@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - with: - workspaces: src-tauri - cache-on-failure: true - - - name: Build app - uses: pguyot/arm-runner-action@v2.6.5 - with: - base_image: ${{ matrix.base_image }} - cpu: ${{ matrix.cpu }} - bind_mount_repository: true - image_additional_mb: 10240 - optimize_image: no - - commands: | - # Prevent Rust from complaining about $HOME not matching eid home - export HOME=/root - - # Workaround to CI worker being stuck on Updating crates.io index - export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse - - # Install setup prerequisites - apt-get update -y - apt-get install -y --no-install-recommends --no-install-suggests xz-utils xdg-utils curl libwebkit2gtk-4.1-dev build-essential libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf libfuse2 file - curl https://sh.rustup.rs -sSf | sh -s -- -y - . "$HOME/.cargo/env" - curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - apt-get install -y nodejs - - # Install frontend dependencies - npm install - - # Build the application - npm run tauri build -- --bundles appimage --verbose \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0219c12..5c8ab2c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,6 +21,8 @@ jobs: args: '--target x86_64-apple-darwin' - platform: 'ubuntu-22.04' args: '' + - platform: ubuntu-24.04-arm + args: '' - platform: 'windows-latest' args: '' @@ -83,7 +85,7 @@ jobs: --- ## Downloads - ### :penguin: Linux + ### :penguin: Linux (Debian-based) - **rpm** - [ClamAV.GUI-__VERSION__-1.x86_64.rpm][linux-rpm] - **AppImage** - [ClamAV.GUI___VERSION___amd64.AppImage][linux-app-image] - **deb** - [ClamAV.GUI___VERSION___amd64.deb][linux-deb] @@ -116,4 +118,4 @@ jobs: if: github.event_name == 'pull_request' run: | npm run build - npm run tauri build -- --config '{"tauri":{"updater":{"active":false}}}' \ No newline at end of file + npm run tauri build --config src-tauri/tauri.pr.conf.json \ No newline at end of file diff --git a/src-tauri/tauri-pr.conf.json b/src-tauri/tauri-pr.conf.json new file mode 100644 index 0000000..cf5dc17 --- /dev/null +++ b/src-tauri/tauri-pr.conf.json @@ -0,0 +1,5 @@ +{ + "updater": { + "active": false + } +} \ No newline at end of file From 6139ad14758d42f1fb176eb13b2e0d7ed19c04e0 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:03:27 +0400 Subject: [PATCH 42/49] Trying another approach of a build test --- .github/workflows/build.yml | 4 +++- src-tauri/tauri-pr.conf.json | 5 ----- src-tauri/tauri.conf.json | 4 +--- 3 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 src-tauri/tauri-pr.conf.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5c8ab2c..67d6d1f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,6 +116,8 @@ jobs: - name: "Test Build (no signing)" if: github.event_name == 'pull_request' + env: + TAURI_CONFIG: '{"updater":{"active":false}}' run: | npm run build - npm run tauri build --config src-tauri/tauri.pr.conf.json \ No newline at end of file + npm run tauri build \ No newline at end of file diff --git a/src-tauri/tauri-pr.conf.json b/src-tauri/tauri-pr.conf.json deleted file mode 100644 index cf5dc17..0000000 --- a/src-tauri/tauri-pr.conf.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "updater": { - "active": false - } -} \ No newline at end of file diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index b6ea42e..bb1833d 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -9,9 +9,6 @@ "beforeBuildCommand": "npm run build", "frontendDist": "../dist" }, - "bundle": { - "publisher": "ArsenTech" - }, "app": { "windows": [ { @@ -25,6 +22,7 @@ } }, "bundle": { + "publisher": "ArsenTech", "active": true, "targets": "all", "icon": [ From 66851c51a99a74b523d5e97398a9049f7db9ccd9 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:06:58 +0400 Subject: [PATCH 43/49] Changed the condition to run on ARM builds --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 67d6d1f..5bf1227 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@v4 - name: install dependencies (ubuntu only) - if: github.event_name != 'pull_request' || matrix.platform == 'ubuntu-22.04' + if: github.event_name != 'pull_request' || startsWith(matrix.platform, 'ubuntu') run: | sudo apt-get update sudo apt-get install -y \ From 7141d4c7ff2fabbee770e0a3dfcd37f06c94d4d1 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:10:37 +0400 Subject: [PATCH 44/49] Trying another approach --- .github/workflows/build.yml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bf1227..d74eb5b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -117,7 +117,7 @@ jobs: - name: "Test Build (no signing)" if: github.event_name == 'pull_request' env: - TAURI_CONFIG: '{"updater":{"active":false}}' + TAURI_CONFIG: '{"plugins":{"updater":{"active":false}}}' run: | npm run build npm run tauri build \ No newline at end of file diff --git a/README.md b/README.md index fae8920..228985a 100644 --- a/README.md +++ b/README.md @@ -81,11 +81,11 @@ Built with Tauri, React, and modern desktop and web tools. This software is prov - [ ] Clear last 7 days - [ ] Clear last 30 days - [ ] Clear by date +- [ ] Fix the ARM64 build workflow #### v1.0.5 (Planned) - [ ] Backend Error Translation - [ ] Add a macOS Guide inside the **No ClamAV** Page #### v1.0.6 (Stability) -- [ ] Fix the ARM64 build workflow - [ ] Scheduler support for Linux and MacOS #### v1.1.x (Major) - [ ] Limit `helpers::scheduler::windows::get_last_run_time` only for Windows Users From 04cee6cece864fa3ceaa225f30dbc06103c2ab5c Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:23:38 +0400 Subject: [PATCH 45/49] Another attempt to test the PR test build --- .github/workflows/build.yml | 4 +--- src-tauri/Cargo.toml | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d74eb5b..5ecb7f3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,8 +116,6 @@ jobs: - name: "Test Build (no signing)" if: github.event_name == 'pull_request' - env: - TAURI_CONFIG: '{"plugins":{"updater":{"active":false}}}' run: | npm run build - npm run tauri build \ No newline at end of file + npx tauri build --no-default-features \ No newline at end of file diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index c630ae3..e7abc13 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -40,5 +40,9 @@ notify = "8.2.0" tauri-plugin-notification = "2" regex = "1.12.3" +[features] +default = ["updater"] +updater = ["tauri-plugin-updater"] + [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] -tauri-plugin-updater = "2.10" +tauri-plugin-updater = { version = "2.10", optional = true } \ No newline at end of file From 82ce37eff029c8d68108b45188345801a8a4b26f Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:26:31 +0400 Subject: [PATCH 46/49] Trying another approach --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5ecb7f3..e0188c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,4 +118,4 @@ jobs: if: github.event_name == 'pull_request' run: | npm run build - npx tauri build --no-default-features \ No newline at end of file + npx tauri build -- --no-default-features \ No newline at end of file From 35ca2b0079b1adba5dac3042564252d939976339 Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:40:51 +0400 Subject: [PATCH 47/49] Attempting another approach --- .github/workflows/build.yml | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0188c4..384deb4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: args: '--target x86_64-apple-darwin' - platform: 'ubuntu-22.04' args: '' - - platform: ubuntu-24.04-arm + - platform: 'ubuntu-24.04-arm' args: '' - platform: 'windows-latest' args: '' @@ -30,8 +30,8 @@ jobs: steps: - uses: actions/checkout@v4 - - name: install dependencies (ubuntu only) - if: github.event_name != 'pull_request' || startsWith(matrix.platform, 'ubuntu') + - name: Install dependencies (Ubuntu only) + if: startsWith(matrix.platform, 'ubuntu') run: | sudo apt-get update sudo apt-get install -y \ @@ -41,13 +41,13 @@ jobs: librsvg2-dev \ patchelf - - name: setup node + - name: Setup Node uses: actions/setup-node@v4 with: node-version: lts/* cache: 'npm' - - name: install Rust stable + - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} @@ -57,20 +57,19 @@ jobs: with: workspaces: './src-tauri -> target' - - name: install frontend dependencies + - name: Install frontend dependencies run: npm ci - - name: "Build a Tauri App" + - name: Build and Publish Release uses: tauri-apps/tauri-action@v0 - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + if: startsWith(github.ref, 'refs/tags/v') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: - releaseId: ${{ github.ref_name }} tagName: v__VERSION__ - releaseName: "ClamAV GUI v__VERSION__" + releaseName: 'ClamAV GUI v__VERSION__' releaseDraft: true prerelease: false generateReleaseNotes: true @@ -113,9 +112,9 @@ jobs: [linux-rpm]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI-__VERSION__-1.x86_64.rpm [linux-app-image]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.AppImage [linux-deb]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.deb - - - name: "Test Build (no signing)" - if: github.event_name == 'pull_request' - run: | - npm run build - npx tauri build -- --no-default-features \ No newline at end of file + + - name: Test Build (PR / workflow_dispatch) + uses: tauri-apps/tauri-action@v0 + if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + with: + args: ${{ matrix.args }} --no-bundle \ No newline at end of file From 4f815e7608630cb8915a2c0a27c33cb1740ff08c Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:06:10 +0400 Subject: [PATCH 48/49] Fixed the Github Actions Build Workflow --- .github/workflows/arm-publish.yml | 60 -------------------- .github/workflows/{publish.yml => build.yml} | 29 ++++++---- .github/workflows/test-build.yml | 47 --------------- README.md | 6 +- src-tauri/Cargo.toml | 6 +- src-tauri/tauri.conf.json | 4 +- 6 files changed, 28 insertions(+), 124 deletions(-) delete mode 100644 .github/workflows/arm-publish.yml rename .github/workflows/{publish.yml => build.yml} (84%) delete mode 100644 .github/workflows/test-build.yml diff --git a/.github/workflows/arm-publish.yml b/.github/workflows/arm-publish.yml deleted file mode 100644 index 6774819..0000000 --- a/.github/workflows/arm-publish.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: 'Publish Linux Arm builds' - -on: - push: - tags: - - 'v*' - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-22.04 - timeout-minutes: 120 - strategy: - matrix: - include: - - cpu: cortex-a72 - base_image: https://dietpi.com/downloads/images/DietPi_RPi5-ARMv8-Bookworm.img.xz - appimage: aarch64 - steps: - - uses: actions/checkout@v4 - - - name: Cache rust build artifacts - uses: Swatinem/rust-cache@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - with: - workspaces: src-tauri - cache-on-failure: true - - - name: Build app - uses: pguyot/arm-runner-action@v2.6.5 - with: - base_image: ${{ matrix.base_image }} - cpu: ${{ matrix.cpu }} - bind_mount_repository: true - image_additional_mb: 10240 - optimize_image: no - - commands: | - # Prevent Rust from complaining about $HOME not matching eid home - export HOME=/root - - # Workaround to CI worker being stuck on Updating crates.io index - export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse - - # Install setup prerequisites - apt-get update -y - apt-get install -y --no-install-recommends --no-install-suggests xz-utils xdg-utils curl libwebkit2gtk-4.1-dev build-essential libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf libfuse2 file - curl https://sh.rustup.rs -sSf | sh -s -- -y - . "$HOME/.cargo/env" - curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - apt-get install -y nodejs - - # Install frontend dependencies - npm install - - # Build the application - npm run tauri build -- --bundles appimage --verbose \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/build.yml similarity index 84% rename from .github/workflows/publish.yml rename to .github/workflows/build.yml index 1bbed46..384deb4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,7 @@ on: push: tags: - 'v*' + pull_request: workflow_dispatch: jobs: @@ -20,6 +21,8 @@ jobs: args: '--target x86_64-apple-darwin' - platform: 'ubuntu-22.04' args: '' + - platform: 'ubuntu-24.04-arm' + args: '' - platform: 'windows-latest' args: '' @@ -27,8 +30,8 @@ jobs: steps: - uses: actions/checkout@v4 - - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' + - name: Install dependencies (Ubuntu only) + if: startsWith(matrix.platform, 'ubuntu') run: | sudo apt-get update sudo apt-get install -y \ @@ -38,13 +41,13 @@ jobs: librsvg2-dev \ patchelf - - name: setup node + - name: Setup Node uses: actions/setup-node@v4 with: node-version: lts/* cache: 'npm' - - name: install Rust stable + - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} @@ -54,18 +57,19 @@ jobs: with: workspaces: './src-tauri -> target' - - name: install frontend dependencies - run: npm install + - name: Install frontend dependencies + run: npm ci - - name: "Build a Tauri App" + - name: Build and Publish Release uses: tauri-apps/tauri-action@v0 + if: startsWith(github.ref, 'refs/tags/v') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: tagName: v__VERSION__ - releaseName: "ClamAV GUI v__VERSION__" + releaseName: 'ClamAV GUI v__VERSION__' releaseDraft: true prerelease: false generateReleaseNotes: true @@ -80,7 +84,7 @@ jobs: --- ## Downloads - ### :penguin: Linux + ### :penguin: Linux (Debian-based) - **rpm** - [ClamAV.GUI-__VERSION__-1.x86_64.rpm][linux-rpm] - **AppImage** - [ClamAV.GUI___VERSION___amd64.AppImage][linux-app-image] - **deb** - [ClamAV.GUI___VERSION___amd64.deb][linux-deb] @@ -108,4 +112,9 @@ jobs: [linux-rpm]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI-__VERSION__-1.x86_64.rpm [linux-app-image]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.AppImage [linux-deb]: https://github.com/ArsenTech/clamav-gui/releases/download/v__VERSION__/ClamAV.GUI___VERSION___amd64.deb - \ No newline at end of file + + - name: Test Build (PR / workflow_dispatch) + uses: tauri-apps/tauri-action@v0 + if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + with: + args: ${{ matrix.args }} --no-bundle \ No newline at end of file diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml deleted file mode 100644 index 3f39c0e..0000000 --- a/.github/workflows/test-build.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: "Test Build" - -on: [pull_request] - -jobs: - test-tauri: - strategy: - fail-fast: false - matrix: - include: - - platform: "macos-latest" - args: "--target aarch64-apple-darwin" - - platform: "macos-latest" - args: "--target x86_64-apple-darwin" - - platform: "ubuntu-22.04" - args: "" - - platform: "windows-latest" - args: "" - - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v4 - - - name: setup node - uses: actions/setup-node@v4 - with: - node-version: lts/* - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - - - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' - run: | - sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - - - name: install frontend dependencies - run: npm install - - - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - args: ${{ matrix.args }} \ No newline at end of file diff --git a/README.md b/README.md index 6c8fa27..228985a 100644 --- a/README.md +++ b/README.md @@ -81,11 +81,11 @@ Built with Tauri, React, and modern desktop and web tools. This software is prov - [ ] Clear last 7 days - [ ] Clear last 30 days - [ ] Clear by date +- [ ] Fix the ARM64 build workflow #### v1.0.5 (Planned) - [ ] Backend Error Translation - [ ] Add a macOS Guide inside the **No ClamAV** Page #### v1.0.6 (Stability) -- [ ] Fix the ARM64 build workflow - [ ] Scheduler support for Linux and MacOS #### v1.1.x (Major) - [ ] Limit `helpers::scheduler::windows::get_last_run_time` only for Windows Users @@ -169,8 +169,8 @@ ClamAV is a trademark of Cisco Systems, Inc. This project is an independent, ope [version-shield]: https://img.shields.io/github/package-json/v/ArsenTech/clamav-gui?style=for-the-badge [downloads-shield]: https://img.shields.io/github/downloads/ArsenTech/clamav-gui/total?style=for-the-badge&label=Total%20Downloads&color=%2322b455 [downloads-url]:https://github.com/ArsenTech/clamav-gui/releases -[status-shield]: https://img.shields.io/github/actions/workflow/status/ArsenTech/clamav-gui/publish.yml?style=for-the-badge -[status-url]: https://github.com/ArsenTech/clamav-gui/actions/workflows/publish.yml +[status-shield]: https://img.shields.io/github/actions/workflow/status/ArsenTech/clamav-gui/build.yml?style=for-the-badge +[status-url]: https://github.com/ArsenTech/clamav-gui/actions/workflows/build.yml [commits-since-shield]: https://img.shields.io/github/commits-since/ArsenTech/clamav-gui/latest?style=for-the-badge&color=%2322b455&label=Commits%20since%20latest%20version [created-at-shield]: https://img.shields.io/github/created-at/ArsenTech/clamav-gui?style=for-the-badge [repo-size-shield]: https://img.shields.io/github/repo-size/ArsenTech/clamav-gui?style=for-the-badge diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index c630ae3..e7abc13 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -40,5 +40,9 @@ notify = "8.2.0" tauri-plugin-notification = "2" regex = "1.12.3" +[features] +default = ["updater"] +updater = ["tauri-plugin-updater"] + [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] -tauri-plugin-updater = "2.10" +tauri-plugin-updater = { version = "2.10", optional = true } \ No newline at end of file diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index b6ea42e..bb1833d 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -9,9 +9,6 @@ "beforeBuildCommand": "npm run build", "frontendDist": "../dist" }, - "bundle": { - "publisher": "ArsenTech" - }, "app": { "windows": [ { @@ -25,6 +22,7 @@ } }, "bundle": { + "publisher": "ArsenTech", "active": true, "targets": "all", "icon": [ From 358ae6e550753a2121348b0a1ed154863353053a Mon Sep 17 00:00:00 2001 From: ArsenTech <62609185+ArsenTech@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:06:10 +0400 Subject: [PATCH 49/49] added the signing keys --- .github/workflows/test-build.yml | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/test-build.yml diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml new file mode 100644 index 0000000..426b714 --- /dev/null +++ b/.github/workflows/test-build.yml @@ -0,0 +1,49 @@ +name: "Test Build" + +on: [pull_request] + +jobs: + test-tauri: + strategy: + fail-fast: false + matrix: + include: + - platform: "macos-latest" + args: "--target aarch64-apple-darwin" + - platform: "macos-latest" + args: "--target x86_64-apple-darwin" + - platform: "ubuntu-22.04" + args: "" + - platform: "windows-latest" + args: "" + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: lts/* + + - name: install Rust stable + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - name: install frontend dependencies + run: npm install + + - uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + with: + args: ${{ matrix.args }} \ No newline at end of file