diff --git a/web/public/locales/pl/common.json b/web/public/locales/pl/common.json index f9238b4b72..9c86ab1fe6 100644 --- a/web/public/locales/pl/common.json +++ b/web/public/locales/pl/common.json @@ -221,7 +221,8 @@ "ur": "اردو (Urdu)", "hr": "Hrvatski (Chorwacki)", "zhHant": "繁體中文 (Chiński Tradycyjny)", - "bs": "Bosanski (Bośniacki)" + "bs": "Bosanski (Bośniacki)", + "be": "Беларуская (Białoruski)" }, "appearance": "Wygląd", "darkMode": { diff --git a/web/public/locales/pl/components/dialog.json b/web/public/locales/pl/components/dialog.json index b0fa95c3fd..0da96fb0ac 100644 --- a/web/public/locales/pl/components/dialog.json +++ b/web/public/locales/pl/components/dialog.json @@ -83,9 +83,9 @@ "batchSuccess_many": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", "batchPartial": "Rozpoczęto {{successful}} z {{total}} eksportów. Nieudane kamery: {{failedCameras}}", "batchFailed": "Nie udało się uruchomić {{total}} eksportów. Nieudane kamery: {{failedCameras}}", - "batchQueuedSuccess_one": "Eksport dodany do kolejki. Otwieranie przypadku.", - "batchQueuedSuccess_few": "Dodano {{count}} eksportydo kolejki. Otwieranie przypadku.", - "batchQueuedSuccess_many": "Dodano {{count}} eksportów do kolejki. Otwieranie przypadku.", + "batchQueuedSuccess_one": "Dodano 1 eksport do kolejki.", + "batchQueuedSuccess_few": "Dodano {{count}} eksporty do kolejki.", + "batchQueuedSuccess_many": "Dodano {{count}} eksportów do kolejki.", "batchQueuedPartial": "Dodano do kolejki {{successful}} z {{total}} eksportów. Nieudane kamery: {{failedCameras}}", "batchQueueFailed": "Nie udało się dodać do kolejki {{total}} eksportów. Nieudane kamery: {{failedCameras}}" }, @@ -144,9 +144,9 @@ "exportButton_many": "Eksport {{count}} recenzji", "exportingButton": "Eksportowanie...", "toast": { - "started_one": "Rozpoczęto 1 eksport. Otwieranie przypadku.", - "started_few": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", - "started_many": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", + "started_one": "Rozpoczęto 1 eksport.", + "started_few": "Rozpoczęto {{count}} eksporty.", + "started_many": "Rozpoczęto {{count}} eksportów.", "startedNoCase_one": "Rozpoczęto 1 eksport.", "startedNoCase_few": "Rozpoczęto {{count}} eksportów.", "startedNoCase_many": "Rozpoczęto {{count}} eksportów.", diff --git a/web/public/locales/pl/config/cameras.json b/web/public/locales/pl/config/cameras.json index 80338792b8..76f04ae590 100644 --- a/web/public/locales/pl/config/cameras.json +++ b/web/public/locales/pl/config/cameras.json @@ -3,59 +3,66 @@ "genai": { "required_zones": { "label": "Wymagane strefy", - "description": "Strefy, które należy wprowadzić, aby obiekty kwalifikowały się do generowania opisu GenAI." + "description": "Strefy, do których obiekt musi wejść, aby kwalifikował się do generowania opisu GenAI." }, "debug_save_thumbnails": { - "label": "Zapisz miniatury", - "description": "Zapisz miniatury wysłane do GenAI w celu debugowania i przeglądu." + "label": "Zapisuj miniatury", + "description": "Zapisuj miniatury wysyłane do GenAI w celach debugowania i weryfikacji." }, "send_triggers": { "label": "Wyzwalacze GenAI", - "description": "Określa, kiedy ramki powinny być wysyłane do GenAI (na końcu, po aktualizacjach itp.).", + "description": "Definiuje, kiedy klatki powinny być wysyłane do GenAI (po zakończeniu zdarzenia, po aktualizacjach itp.).", "tracked_object_end": { - "label": "Wyślij na koniec", - "description": "Wyślij żądanie do GenAI, gdy śledzony obiekt się zakończy." + "label": "Wysyłaj po zakończeniu", + "description": "Wyślij żądanie do GenAI po zakończeniu śledzenia obiektu." }, "after_significant_updates": { "label": "Wczesny wyzwalacz GenAI", - "description": "Wyślij żądanie do GenAI po określonej liczbie istotnych aktualizacji dla śledzonego obiektu." + "description": "Wyślij żądanie do GenAI po określonej liczbie istotnych aktualizacji śledzonego obiektu." } }, "enabled_in_config": { - "label": "Oryginalny stan GenAI", - "description": "Wskazuje, czy GenAI było włączone w oryginalnej konfiguracji statycznej." + "label": "Pierwotny stan GenAI", + "description": "Wskazuje, czy GenAI było włączone w pierwotnej konfiguracji statycznej." }, "enabled": { "label": "Włącz GenAI", "description": "Włącz domyślnie generowanie opisów obiektów śledzonych przez GenAI." }, "use_snapshot": { - "label": "Korzystaj z migawek" + "label": "Korzystaj z migawek", + "description": "Używaj migawek obiektów zamiast miniatur do generowania opisów GenAI." }, "prompt": { "label": "Podpowiedź do podpisu", "description": "Domyślny szablon monitu używany podczas generowania opisów za pomocą GenAI." }, "object_prompts": { - "label": "Podpowiedzi dotyczące obiektów" + "label": "Podpowiedzi dotyczące obiektów", + "description": "Monity specyficzne dla poszczególnych obiektów do personalizacji odpowiedzi GenAI dla konkretnych etykiet." }, "objects": { - "label": "Obiekty GenAI" - } + "label": "Obiekty GenAI", + "description": "Lista etykiet obiektów domyślnie wysyłanych do GenAI." + }, + "label": "Konfiguracja GenAI dla obiektów", + "description": "Opcje GenAI do opisywania śledzonych obiektów i wysyłania klatek do generowania opisów." }, - "label": "Objekty", + "label": "Obiekty", "track": { - "label": "Obiekty do śledzenia", - "description": "Lista etykiet obiektów, które mają być śledzone przez tę kamerę." + "label": "Śledzone obiekty", + "description": "Lista typów obiektów do wykrywania i śledzenia na tej kamerze." }, "filters": { "label": "Filtry obiektów", - "description": "Filtry stosowane do wykrytych obiektów w celu ograniczenia liczby fałszywych alarmów (powierzchnia, współczynnik, poziom pewności).", + "description": "Domyślne filtry obiektów (powierzchnia, proporcje, progi pewności).", "min_area": { - "label": "Minimalna powierzchnia obiektu" + "label": "Minimalna powierzchnia obiektu", + "description": "Minimalna powierzchnia ramki ograniczającej (w pikselach lub procentach) wymagana dla tego typu obiektu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." }, "max_area": { - "label": "Maksymalna powierzchnia obiektu" + "label": "Maksymalna powierzchnia obiektu", + "description": "Maksymalna powierzchnia ramki ograniczającej (w pikselach lub procentach) dozwolona dla tego typu obiektu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." }, "min_ratio": { "label": "Minimalny współczynnik proporcji", @@ -72,141 +79,216 @@ "min_score": { "label": "Minimalny poziom ufności", "description": "Minimalny poziom pewności wykrycia pojedynczej klatki wymagany do zaliczenia obiektu." + }, + "mask": { + "label": "Maska filtra", + "description": "Współrzędne wielokąta definiujące, gdzie ten filtr ma zastosowanie w kadrze." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" } + }, + "description": "Domyślne ustawienia śledzenia obiektów dla wszystkich kamer.", + "mask": { + "label": "Maska obiektów", + "description": "Współrzędne wielokąta określające obszar wykluczony z detekcji." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" } }, "record": { "label": "Nagrywanie", "enabled": { - "label": "Włącz nagrywanie" + "label": "Włącz nagrywanie", + "description": "Włącz lub wyłącz nagrywanie wideo dla tej kamery." }, "expire_interval": { - "label": "Częstotliwość usuwania nagrań", - "description": "Minuty między kolejnymi operacjami czyszczenia, które usuwają nieaktualne segmenty nagrań." + "label": "Interwał czyszczenia nagrań", + "description": "Liczba minut między kolejnymi przebiegami czyszczenia wygasłych segmentów nagrań." }, "continuous": { - "label": "Ciągłe przechowywanie", - "description": "Liczba dni przechowywania nagrań niezależnie od śledzonych obiektów lub ruchu. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "label": "Retencja ciągła", + "description": "Liczba dni przechowywania nagrań niezależnie od śledzonych obiektów czy ruchu. Ustaw na 0, jeśli chcesz zachowywać wyłącznie nagrania alertów i detekcji.", "days": { - "label": "Ilość dni przechowywania", - "description": "Dni przechowywania nagrań." + "label": "Dni retencji", + "description": "Dni przechowywania nagrań ciągłych." } }, "motion": { - "label": "Przechowywanie ruchu", - "description": "Liczba dni przechowywania nagrań wywołanych ruchem, niezależnie od śledzonych obiektów. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "label": "Retencja ruchu", + "description": "Liczba dni przechowywania nagrań wywołanych ruchem niezależnie od śledzonych obiektów. Ustaw na 0, jeśli chcesz zachowywać wyłącznie nagrania alertów i detekcji.", "days": { - "label": "Dni przechowywania", - "description": "Dni przechowywania nagrań." + "label": "Dni retencji", + "description": "Dni przechowywania nagrań ruchu." } }, "detections": { - "label": "Przechowywanie detekcji", - "description": "Ustawienia przechowywania nagrań dla zdarzeń wykrywania, w tym czas przed i po przechwyceniu.", + "label": "Retencja detekcji", + "description": "Ustawienia retencji nagrań dla zdarzeń detekcji, w tym czasy trwania pre/post-capture.", "pre_capture": { - "label": "Sekundy pre-alarmu", - "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + "label": "Sekundy przed zdarzeniem", + "description": "Liczba sekund nagrania przed zdarzeniem do dołączenia do klipu." }, "post_capture": { - "label": "Sekundy post-alarmu", - "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + "label": "Sekundy po zdarzeniu", + "description": "Liczba sekund nagrania po ustaniu zdarzenia do dołączenia do klipu." }, "retain": { - "label": "Przechowywanie zdarzeń", - "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "label": "Retencja zdarzeń", + "description": "Ustawienia retencji nagrań detekcji.", "days": { - "label": "Dni przechowywania", - "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + "label": "Dni retencji", + "description": "Liczba dni przechowywania nagrań detekcji." }, "mode": { - "label": "Tryb przechowywania", - "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + "label": "Tryb retencji", + "description": "Tryb retencji: all (wszystkie segmenty), motion (segmenty z ruchem), active_objects (segmenty z aktywnymi obiektami)." } } }, "alerts": { - "label": "Przechowywanie alarmów", - "description": "Ustawienia przechowywania nagrań dla zdarzeń alarmowych, w tym czas przed i po przechwyceniu.", + "label": "Retencja alertów", + "description": "Ustawienia retencji nagrań dla zdarzeń detekcji, w tym czasy trwania pre/post-capture.", "pre_capture": { - "label": "Długość pre-alarmu", - "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + "label": "Sekundy przed zdarzeniem", + "description": "Liczba sekund nagrania przed zdarzeniem do dołączenia do klipu." }, "post_capture": { - "label": "Długość post-alarmu", - "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + "label": "Sekundy po zdarzeniu", + "description": "Liczba sekund nagrania po ustaniu zdarzenia do dołączenia do klipu." }, "retain": { - "label": "Przechowywanie zdarzeń", - "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "label": "Retencja zdarzeń", + "description": "Ustawienia retencji dla nagrań zdarzeń detekcji.", "days": { - "label": "Dni przechowywania", - "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + "label": "Dni retencji", + "description": "Liczba dni przechowywania nagrań alertów." }, "mode": { - "label": "Tryb przechowywania", - "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + "label": "Tryb retencji", + "description": "Tryb retencji: all (wszystkie segmenty), motion (segmenty z ruchem), active_objects (segmenty z aktywnymi obiektami)." } } }, "export": { - "label": "Eksport konfiguracji", - "description": "Ustawienia używane podczas eksportowania nagrań, takie jak przyspieszenie czasu i przyspieszenie sprzętowe.", + "label": "Konfiguracja eksportu", + "description": "Ustawienia używane podczas eksportowania nagrań, takie jak timelapse i akceleracja sprzętowa.", "hwaccel_args": { - "label": "Eksportuj argumenty akceleracji sprzętowej", - "description": "Argumenty przyspieszenia sprzętowego do wykorzystania podczas operacji eksportu/transkodowania." + "label": "Argumenty hwaccel eksportu", + "description": "Argumenty akceleracji sprzętowej dla operacji eksportu/transkodowania." + }, + "max_concurrent": { + "label": "Maksymalna liczba równoległych eksportów", + "description": "Maksymalna liczba zadań eksportu przetwarzanych jednocześnie." + }, + "chapters": { + "label": "Metadane rozdziałów do osadzenia w eksportowanych nagraniach" } }, "preview": { - "label": "Podgląd konfiguracji", - "description": "Ustawienia kontrolujące jakość podglądu nagrań wyświetlanych w interfejsie użytkownika.", + "label": "Konfiguracja podglądu", + "description": "Ustawienia kontrolujące jakość podglądów nagrań wyświetlanych w interfejsie użytkownika.", "quality": { "label": "Jakość podglądu", - "description": "Poziom jakości podglądu (bardzo_niski, niski, średni, wysoki, bardzo_wysoki)." + "description": "Poziom jakości podglądu (very_low, low, medium, high, very_high)." } }, "enabled_in_config": { - "label": "Oryginalny stan nagrania", - "description": "Wskazuje, czy nagrywanie było włączone w oryginalnej konfiguracji statycznej." - } + "label": "Pierwotny stan nagrywania", + "description": "Wskazuje, czy nagrywanie było włączone w pierwotnej konfiguracji." + }, + "description": "Ustawienia nagrywania i retencji dla tej kamery." }, "review": { - "label": "Recenzja", + "label": "Przegląd", "alerts": { - "label": "Konfiguracja alarmów", - "description": "Ustawienia dotyczące obiektów śledzonych, które generują alerty, oraz sposobu przechowywania alertów.", + "label": "Konfiguracja alertów", + "description": "Ustawienia określające, które śledzone obiekty generują alerty i jak alerty są przechowywane.", "enabled": { - "label": "Włącz alarmy" + "label": "Włącz alerty", + "description": "Włącz lub wyłącz generowanie alertów dla tej kamery." }, "labels": { - "label": "Etykiety alarmów", - "description": "Lista etykiet obiektów, które kwalifikują się jako alerty (na przykład: samochód, osoba)." + "label": "Etykiety alertów", + "description": "Lista etykiet obiektów kwalifikujących się jako alerty (na przykład: car, person)." }, "required_zones": { "label": "Wymagane strefy", - "description": "Strefy, do których obiekt musi wejść, aby zostać uznanym za alarm; pozostaw puste, aby zezwolić na dowolną strefę." + "description": "Strefy, w których obiekt musi się znaleźć, aby został uznany za alert; pozostaw puste, aby zezwolić na dowolną strefę." }, "enabled_in_config": { - "label": "Oryginalny stan alarmów", - "description": "Śledzi, czy alarmy były pierwotnie włączone w konfiguracji statycznej." + "label": "Pierwotny stan alertów", + "description": "Śledzi pierwotny stan włączenia alertów w konfiguracji." }, "cutoff_time": { - "label": "Czas wyłączenia alarmów", - "description": "Sekundy, które należy odczekać po zakończeniu czynności powodującej alarm, zanim alarm zostanie wyłączony." + "label": "Czas odcięcia alertu", + "description": "Liczba sekund oczekiwania po ustaniu aktywności wywołującej alert przed jego zakończeniem." } }, "detections": { "label": "Konfiguracja detekcji", - "description": "Ustawienia dotyczące tworzenia zdarzeń wykrywania (niebędących alertami) oraz czasu ich przechowywania.", + "description": "Ustawienia określające, które śledzone obiekty generują detekcje (niebędące alertami) i jak detekcje są przechowywane.", "enabled": { - "label": "Włącz detekcje" + "label": "Włącz detekcje", + "description": "Włącz lub wyłącz zdarzenia detekcji dla tej kamery." }, "labels": { "label": "Etykiety detekcji", - "description": "Lista etykiet(klas) obiektów, które kwalifikują się jako zdarzenia wykrycia." + "description": "Lista etykiet obiektów kwalifikujących się jako zdarzenia detekcji." }, "required_zones": { "label": "Wymagane strefy", - "description": "Strefy, do których obiekt musi wejść, aby zostać wykryty; pozostaw puste, aby zezwolić na dowolną strefę." + "description": "Strefy, w których obiekt musi się znaleźć, aby został uznany za detekcję; pozostaw puste, aby zezwolić na dowolną strefę." + }, + "cutoff_time": { + "label": "Czas odcięcia detekcji", + "description": "Liczba sekund oczekiwania po ustaniu aktywności wywołującej detekcję przed jej zakończeniem." + }, + "enabled_in_config": { + "label": "Pierwotny stan detekcji", + "description": "Śledzi pierwotny stan włączenia detekcji w konfiguracji." + } + }, + "description": "Ustawienia generowania i kategoryzowania elementów przeglądu.", + "genai": { + "label": "Konfiguracja GenAI", + "description": "Kontroluje użycie generatywnej sztucznej inteligencji do tworzenia opisów i podsumowań elementów przeglądu.", + "enabled": { + "label": "Włącz opisy GenAI", + "description": "Włącz lub wyłącz generowanie opisów i podsumowań GenAI dla elementów przeglądu." + }, + "alerts": { + "label": "Włącz GenAI dla alertów", + "description": "Używaj GenAI do generowania opisów dla elementów alertów." + }, + "detections": { + "label": "Włącz GenAI dla detekcji", + "description": "Używaj GenAI do generowania opisów dla elementów detekcji." + }, + "image_source": { + "label": "Źródło obrazu dla przeglądu", + "description": "Źródło obrazów wysyłanych do GenAI (\"preview\" lub \"recordings\"); \"recordings\" używa klatek wyższej jakości, ale zużywa więcej tokenów." + }, + "additional_concerns": { + "label": "Dodatkowe uwagi", + "description": "Lista dodatkowych uwag lub notatek, które model GenAI powinien wziąć pod uwagę podczas oceny aktywności na tej kamerze." + }, + "debug_save_thumbnails": { + "label": "Zapisuj miniatury", + "description": "Zapisuj miniatury wysyłane do dostawcy GenAI w celach debugowania i przeglądu." + }, + "enabled_in_config": { + "label": "Pierwotny stan GenAI", + "description": "Śledzi pierwotny stan włączenia GenAI w konfiguracji." + }, + "preferred_language": { + "label": "Preferowany język", + "description": "Preferowany język odpowiedzi generowanych przez GenAI." + }, + "activity_context_prompt": { + "label": "Monit kontekstu aktywności", + "description": "Niestandardowy monit opisujący, co jest, a co nie jest podejrzaną aktywnością, aby zapewnić kontekst dla podsumowań GenAI." } } }, @@ -224,10 +306,10 @@ "description": "Włączone" }, "audio": { - "label": "Wykrywanie dźwięku", + "label": "Dźwięk", "description": "Ustawienia detekcji zdarzeń audio dla tej kamery.", "enabled": { - "label": "Włącz detekcję audio", + "label": "Włącz wykrywanie dźwięku", "description": "Włącz lub wyłącz detekcję zdarzeń audio dla tej kamery." }, "max_not_heard": { @@ -260,8 +342,8 @@ } }, "audio_transcription": { - "label": "Transkrypcja audio", - "description": "Ustawienia transkrypcji audio na żywo i mowy, używane do zdarzeń i napisów na żywo.", + "label": "Transkrypcja dźwięku", + "description": "Ustawienia transkrypcji dźwięku na żywo i mowy, używanej dla zdarzeń i napisów na żywo.", "enabled": { "label": "Włącz transkrypcję", "description": "Włącz lub wyłącz ręcznie wyzwalaną transkrypcję zdarzeń audio." @@ -276,18 +358,18 @@ }, "birdseye": { "mode": { - "label": "Tryb śledzenia", - "description": "Tryb uwzględniania kamer w widoku z lotu ptaka: „obiekty”, „ruch” lub „ciągły”." + "label": "Tryb Birdseye", + "description": "Określa, kiedy kamery pojawiają się w Birdseye: objects (tylko obiekty), motion (ruch) lub continuous (ciągły)." }, "order": { - "label": "Pozycja", - "description": "Pozycja numeryczna określająca kolejność kamery w układzie widoku z lotu ptaka." + "label": "Kolejność kamer", + "description": "Pozycja numeryczna kontrolująca kolejność kamery w układzie Birdseye." }, - "label": "Widok z lotu ptaka", - "description": "Ustawienia widoku z lotu ptaka „Birdseye”, który łączy obraz z wielu kamer w jeden układ.", + "label": "Birdseye", + "description": "Ustawienia widoku łączonego Birdseye, który składa obrazy z wielu kamer w jeden układ.", "enabled": { - "label": "Włącz widok z lotu ptaka", - "description": "Włącz lub wyłącz funkcję widoku z lotu ptaka." + "label": "Włącz Birdseye", + "description": "Włącz lub wyłącz widok Birdseye." } }, "detect": { @@ -358,8 +440,8 @@ "description": "Włącz lub wyłącz rozpoznawanie twarzy." }, "min_area": { - "label": "Minimalny obszar twarzy", - "description": "Minimalny obszar twarzy (w pikselach) wymagany do podjęcia próby rozpoznania." + "label": "Minimalna powierzchnia twarzy", + "description": "Minimalna powierzchnia (w pikselach) ramki wykrytej twarzy wymagana do podjęcia próby rozpoznania." } }, "ffmpeg": { @@ -403,41 +485,51 @@ }, "input_args": { "label": "Wejściowe parametry", - "description": "Argumenty wejściowe przekazywane strumieniom wejściowym FFmpeg" + "description": "Argumenty wejściowe przekazywane do strumieni wejściowych FFmpeg." }, "inputs": { "path": { "label": "Ścieżka wejścia", - "description": "URL lub ścieżka strumienia wejściowego kamery" + "description": "Adres URL lub ścieżka strumienia wejściowego kamery." }, "global_args": { - "label": "Parametry globalne FFmpeg" + "label": "Parametry globalne FFmpeg", + "description": "Globalne argumenty FFmpeg dla tego strumienia wejściowego." }, "label": "Wejścia kamery", "description": "Lista definicji strumienia wejściowego (ścieżki i role) dla tej kamery.", "hwaccel_args": { - "description": "Argumenty akceleracji sprzętowej dla tego strumienia wejściowego." + "description": "Argumenty akceleracji sprzętowej dla tego strumienia wejściowego.", + "label": "Argumenty akceleracji sprzętowej" }, "input_args": { - "label": "Argumenty wejścia" + "label": "Argumenty wejścia", + "description": "Argumenty wejściowe specyficzne dla tego strumienia." + }, + "roles": { + "label": "Role wejściowe", + "description": "Role przypisane do tego strumienia wejściowego." } } }, "motion": { - "label": "Detekcja ruchu", + "label": "Ruch", "description": "Domyślne ustawienia detekcji ruchu dla tej kamery.", "enabled": { "label": "Włącz detekcje ruchu", "description": "Włącz lub wyłącz detekcje ruchu dla tej kamery." }, "threshold": { - "label": "Próg detekcji" + "label": "Próg detekcji", + "description": "Próg różnicy pikseli używany przez detektor ruchu; wyższe wartości zmniejszają czułość (zakres 1-255)." }, "lightning_threshold": { - "label": "Próg pioruna" + "label": "Próg pioruna", + "description": "Próg do wykrywania i ignorowania krótkich skoków oświetlenia (niższe wartości są bardziej czułe, zakres od 0.3 do 1.0). Nie zapobiega to całkowicie detekcji ruchu; powoduje jedynie, że detektor przestaje analizować kolejne klatki po przekroczeniu progu. Nagrania oparte na ruchu są nadal tworzone podczas tych zdarzeń." }, "skip_motion_threshold": { - "label": "Pomiń próg detekcji" + "label": "Pomiń próg detekcji", + "description": "Jeśli ustawiono wartość z przedziału od 0.0 do 1.0, a w pojedynczej klatce zmieni się większa część obrazu, detektor nie zwróci ramek ruchu i natychmiast przeprowadzi rekalibrację. Może to zaoszczędzić czas procesora i zmniejszyć liczbę fałszywych alarmów podczas wyładowań atmosferycznych, burz itp., ale może pominąć prawdziwe zdarzenia, takie jak auto-śledzenie obiektu przez kamerę PTZ. Kompromis polega na utracie kilku megabajtów nagrań w porównaniu z przeglądaniem kilku krótkich klipów. Pozostaw nieustawione (None), aby wyłączyć tę funkcję." }, "improve_contrast": { "label": "Popraw kontrast", @@ -452,10 +544,12 @@ "description": "Współczynnik mieszania alfa stosowany przy obliczaniu różnic między klatkami w celu wyznaczenia ruchu." }, "frame_alpha": { - "label": "Klatka alfa (przezroczystość ramki)" + "label": "Klatka alfa (przezroczystość ramki)", + "description": "Wartość alfa używana podczas mieszania klatek do wstępnego przetwarzania ruchu." }, "frame_height": { - "label": "Wysokość ramki" + "label": "Wysokość ramki", + "description": "Wysokość w pikselach, do której skalowane są klatki podczas obliczania ruchu." }, "mqtt_off_delay": { "label": "Opóźnienie wyłączenia MQTT", @@ -464,6 +558,399 @@ "enabled_in_config": { "label": "Pierwotny stan ruchu", "description": "Wskazuje, czy w pierwotnej konfiguracji statycznej włączono wykrywanie ruchu." + }, + "mask": { + "label": "Współrzędne maski", + "description": "Uporządkowane współrzędne x,y definiujące wielokąt maski ruchu." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" } + }, + "live": { + "label": "Odtwarzanie na żywo", + "description": "Ustawienia używane przez interfejs WWW do kontrolowania wyboru strumienia na żywo, rozdzielczości i jakości.", + "streams": { + "label": "Nazwy strumieni na żywo", + "description": "Mapowanie skonfigurowanych nazw strumieni na nazwy go2rtc używane do odtwarzania na żywo." + }, + "height": { + "label": "Wysokość na żywo", + "description": "Wysokość (w pikselach) do renderowania strumienia na żywo jsmpeg w interfejsie WWW; musi być <= wysokości strumienia detekcji." + }, + "quality": { + "label": "Jakość na żywo", + "description": "Jakość kodowania strumienia jsmpeg (1 najwyższa, 31 najniższa)." + } + }, + "lpr": { + "label": "Rozpoznawanie tablic rejestracyjnych", + "description": "Ustawienia rozpoznawania tablic rejestracyjnych, w tym progi detekcji, formatowanie i znane tablice.", + "enabled": { + "label": "Włącz LPR", + "description": "Włącz lub wyłącz LPR na tej kamerze." + }, + "expire_time": { + "label": "Czas wygaśnięcia (sekundy)", + "description": "Czas w sekundach, po którym niewidziana tablica wygasa z modułu śledzenia (dla kamer dedykowanych LPR)." + }, + "min_area": { + "label": "Minimalna powierzchnia tablicy", + "description": "Minimalna powierzchnia tablicy rejestracyjnej (w pikselach) wymagana do podjęcia próby rozpoznania." + }, + "enhancement": { + "label": "Poziom ulepszania", + "description": "Poziom ulepszania (0-10) stosowany do wycinków tablic przed OCR; wyższe wartości nie zawsze poprawiają wyniki, poziomy powyżej 5 mogą działać tylko z tablicami nocnymi i należy ich używać ostrożnie." + } + }, + "semantic_search": { + "label": "Wyszukiwanie semantyczne", + "description": "Ustawienia indeksowania i wyzwalaczy wyszukiwania semantycznego dla tej kamery.", + "triggers": { + "label": "Wyzwalacze", + "description": "Akcje i kryteria dopasowania dla specyficznych dla kamery wyzwalaczy wyszukiwania semantycznego.", + "friendly_name": { + "label": "Przyjazna nazwa", + "description": "Przyjazna nazwa wyświetlana w interfejsie użytkownika." + }, + "enabled": { + "label": "Włącz ten wyzwalacz", + "description": "Włącz lub wyłącz wyzwalacz wyszukiwania semantycznego." + }, + "type": { + "label": "Typ wyzwalacza", + "description": "Typ wyzwalacza: \"thumbnail\" (dopasowanie do obrazu) lub \"description\" (dopasowanie do tekstu)." + }, + "data": { + "label": "Zawartość wyzwalacza", + "description": "Fraza tekstowa lub ID miniatury do dopasowania." + }, + "threshold": { + "label": "Próg wyzwalacza", + "description": "Minimalny próg podobieństwa (0-1) aktywujący wyzwalacz." + }, + "actions": { + "label": "Akcje wyzwalacza", + "description": "Lista akcji do wykonania po dopasowaniu wyzwalacza (notification, sub_label, attribute)." + } + } + }, + "snapshots": { + "label": "Migawki", + "description": "Ustawienia generowania migawek śledzonych obiektów dla tej kamery.", + "enabled": { + "label": "Włącz migawki", + "description": "Włącz lub wyłącz zapisywanie migawek dla tej kamery." + }, + "timestamp": { + "label": "Nakładka znacznika czasu", + "description": "Nakładaj znacznik czasu na migawki z API." + }, + "bounding_box": { + "label": "Nakładka ramki ograniczającej", + "description": "Rysuj ramki ograniczające wokół obiektów na migawkach z API." + }, + "crop": { + "label": "Kadruj migawkę", + "description": "Kadruj migawki z API do ramki ograniczającej wykrytego obiektu." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się znaleźć, aby zapisać migawkę." + }, + "height": { + "label": "Wysokość migawki", + "description": "Wysokość (w pikselach), do której mają być przeskalowane migawki z API; pozostaw puste, aby zachować oryginalny rozmiar." + }, + "retain": { + "label": "Retencja migawek", + "description": "Ustawienia retencji migawek, w tym domyślna liczba dni i nadpisania dla poszczególnych obiektów.", + "default": { + "label": "Domyślna retencja", + "description": "Domyślna liczba dni przechowywania migawek." + }, + "objects": { + "label": "Retencja obiektów", + "description": "Nadpisania liczby dni retencji dla poszczególnych typów obiektów." + } + }, + "quality": { + "label": "Jakość migawki", + "description": "Jakość kodowania zapisywanych migawek (0-100)." + } + }, + "timestamp_style": { + "label": "Styl znacznika czasu", + "description": "Opcje stylizacji znaczników czasu stosowanych na migawkach i w widoku debugowania.", + "position": { + "label": "Pozycja znacznika czasu", + "description": "Pozycja znacznika czasu na obrazie (tl/tr/bl/br)." + }, + "format": { + "label": "Format znacznika czasu", + "description": "Ciąg formatujący datę i czas używany dla znaczników (kody formatu datetime w Pythonie)." + }, + "color": { + "label": "Kolor znacznika czasu", + "description": "Wartości kolorów RGB tekstu znacznika (0-255).", + "red": { + "label": "Czerwony", + "description": "Składowa czerwona (0-255) koloru znacznika czasu." + }, + "green": { + "label": "Zielony", + "description": "Składowa zielona (0-255) koloru znacznika czasu." + }, + "blue": { + "label": "Niebieski", + "description": "Składowa niebieska (0-255) koloru znacznika czasu." + } + }, + "thickness": { + "label": "Grubość znacznika czasu", + "description": "Grubość linii tekstu znacznika czasu." + }, + "effect": { + "label": "Efekt znacznika czasu", + "description": "Efekt wizualny tekstu znacznika czasu (none, solid, shadow)." + } + }, + "best_image_timeout": { + "label": "Limit czasu najlepszego obrazu", + "description": "Maksymalny czas w sekundach oczekiwania na lepszy obraz po tym, jak obiekt przestanie być aktywny." + }, + "mqtt": { + "label": "MQTT", + "description": "Ustawienia publikowania MQTT specyficzne dla kamery.", + "enabled": { + "label": "Wyślij obraz", + "description": "Włącz lub wyłącz publikowanie migawek obrazów obiektów do tematów MQTT dla tej kamery." + }, + "timestamp": { + "label": "Znacznik czasu", + "description": "Dołącz znacznik czasu do wiadomości MQTT." + }, + "bounding_box": { + "label": "Ramka ograniczająca", + "description": "Dołącz współrzędne ramki ograniczającej do wiadomości MQTT." + }, + "crop": { + "label": "Kadrowanie", + "description": "Kadruj obrazy MQTT do ramki wykrytego obiektu." + }, + "height": { + "label": "Wysokość", + "description": "Wysokość w pikselach dla obrazów publikowanych przez MQTT." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się znaleźć, aby wywołać publikację MQTT." + }, + "quality": { + "label": "Jakość", + "description": "Jakość obrazu JPEG (0-100) dla obrazów publikowanych przez MQTT." + } + }, + "notifications": { + "label": "Powiadomienia", + "description": "Ustawienia włączania i kontrolowania powiadomień dla tej kamery.", + "enabled": { + "label": "Włącz powiadomienia", + "description": "Włącz lub wyłącz powiadomienia dla tej kamery." + }, + "email": { + "label": "Adres e-mail powiadomień", + "description": "Adres e-mail używany do powiadomień push lub wymagany przez niektórych dostawców powiadomień." + }, + "cooldown": { + "label": "Czas odnowienia (sekundy)", + "description": "Czas odnowienia (w sekundach) między powiadomieniami, aby uniknąć zalewania odbiorców powiadomieniami." + }, + "enabled_in_config": { + "label": "Pierwotny stan powiadomień", + "description": "Wskazuje, czy powiadomienia były włączone w pierwotnej konfiguracji." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Domyślne ustawienia protokołu ONVIF dla sterowania PTZ i zdarzeń kamer.", + "host": { + "label": "Host", + "description": "Host (oraz opcjonalnie schemat/protokół) dla usługi ONVIF tej kamery." + }, + "port": { + "label": "Port", + "description": "Numer portu usługi ONVIF." + }, + "user": { + "label": "Użytkownik", + "description": "Nazwa użytkownika do uwierzytelniania ONVIF; niektóre urządzenia wymagają użytkownika z uprawnieniami administratora dla ONVIF." + }, + "password": { + "label": "Hasło", + "description": "Hasło użytkownika ONVIF." + }, + "tls_insecure": { + "label": "Zezwalaj na niezabezpieczony TLS", + "description": "Pomiń weryfikację TLS i wyłącz uwierzytelnianie digest dla ONVIF (niebezpieczne; używaj tylko w zaufanych sieciach)." + }, + "profile": { + "label": "Profil ONVIF", + "description": "Określony profil multimedialny ONVIF do użycia w sterowaniu PTZ, dopasowywany po tokenie lub nazwie. Jeśli nie jest ustawiony, pierwszy profil z prawidłową konfiguracją PTZ zostanie wybrany automatycznie." + }, + "autotracking": { + "label": "Auto-śledzenie", + "description": "Automatycznie śledź poruszające się obiekty i utrzymuj je w centrum kadru za pomocą ruchów kamery PTZ.", + "enabled": { + "label": "Włącz auto-śledzenie", + "description": "Włącz automatyczne sterowanie ruchem kamery PTZ." + }, + "calibrate_on_startup": { + "label": "Kalibruj przy uruchomieniu", + "description": "Zmierz prędkości silników PTZ przy uruchomieniu, aby poprawić dokładność śledzenia. Frigate zaktualizuje konfigurację o movement_weights po kalibracji." + }, + "zooming": { + "label": "Przybliżanie (Zoom)", + "description": "Kontrola zachowania zoomu: disabled (tylko obrót/pochylenie), absolute (najbardziej kompatybilny) lub relative (jednoczesny obrót/pochylenie/zoom)." + }, + "zoom_factor": { + "label": "Współczynnik przybliżenia", + "description": "Kontrola poziomu przybliżenia śledzonych obiektów. Niższe wartości utrzymują szerszy widok sceny; wyższe wartości przybliżają mocniej, ale mogą spowodować utratę śledzenia. Wartości od 0.1 do 0.75." + }, + "track": { + "label": "Śledzone obiekty", + "description": "Typy obiektów wywołujące auto-śledzenie." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się pojawić, aby rozpocząć auto-śledzenie." + }, + "return_preset": { + "label": "Preset powrotny", + "description": "Preset PTZ, do którego kamera ma powrócić po zakończeniu śledzenia." + }, + "timeout": { + "label": "Czas oczekiwania na powrót", + "description": "Liczba sekund bezczynności przed powrotem do presetu powrotnego." + }, + "movement_weights": { + "label": "Wagi ruchu", + "description": "Wartości kalibracji wygenerowane automatycznie przez kalibrację kamery. Nie modyfikuj ręcznie." + }, + "enabled_in_config": { + "label": "Pierwotny stan auto-śledzenia", + "description": "Wewnętrzne pole śledzące, czy auto-śledzenie było włączone w konfiguracji." + } + }, + "ignore_time_mismatch": { + "label": "Ignoruj rozbieżność czasu", + "description": "Ignoruj różnice w synchronizacji czasu między kamerą a serwerem Frigate w komunikacji ONVIF." + } + }, + "type": { + "label": "Typ kamery", + "description": "Typ kamery" + }, + "ui": { + "label": "Interfejs kamery", + "description": "Kolejność wyświetlania i widoczność tej kamery w interfejsie użytkownika. Kolejność wpływa na domyślny pulpit nawigacyjny. Aby uzyskać bardziej szczegółową kontrolę, użyj grup kamer.", + "order": { + "label": "Kolejność w UI", + "description": "Kolejność numeryczna używana do sortowania kamery w interfejsie (domyślny pulpit i listy); większe liczby pojawiają się później." + }, + "dashboard": { + "label": "Pokazuj na pulpicie Na żywo", + "description": "Przełącz, czy ta kamera ma być widoczna na domyślnym pulpicie Na żywo (Wszystkie kamery). Kamera pozostaje dostępna we wszystkich innych miejscach interfejsu, w tym w grupach kamer i ustawieniach." + }, + "review": { + "label": "Pokazuj w Przeglądzie", + "description": "Przełącz, czy ta kamera ma być widoczna w przeglądzie (strona przeglądu, filtr kamer, przegląd ruchu oraz widok historii)." + } + }, + "webui_url": { + "label": "Adres URL kamery", + "description": "Adres URL umożliwiający bezpośrednie przejście do kamery ze strony systemowej" + }, + "profiles": { + "label": "Profile", + "description": "Nazwane profile konfiguracyjne z częściowymi nadpisaniami, które można aktywować w czasie działania." + }, + "zones": { + "label": "Strefy", + "description": "Strefy pozwalają zdefiniować określony obszar kadru w celu określenia, czy obiekt znajduje się w danym miejscu.", + "friendly_name": { + "label": "Nazwa strefy", + "description": "Przyjazna dla użytkownika nazwa strefy wyświetlana w interfejsie Frigate. Jeśli nie jest ustawiona, zostanie użyta sformatowana nazwa strefy." + }, + "enabled": { + "label": "Włączona", + "description": "Włącz lub wyłącz tę strefę. Wyłączone strefy są ignorowane w czasie działania." + }, + "enabled_in_config": { + "label": "Śledź pierwotny stan strefy." + }, + "filters": { + "label": "Filtry strefy", + "description": "Filtry stosowane do obiektów w tej strefie. Używane do ograniczania fałszywych alarmów lub zawężania obiektów obecnych w strefie.", + "min_area": { + "label": "Minimalna powierzchnia obiektu", + "description": "Minimalna powierzchnia ramki ograniczającej (w pikselach lub procentach) wymagana dla tego typu obiektu." + }, + "max_area": { + "label": "Maksymalna powierzchnia obiektu", + "description": "Maksymalna powierzchnia ramki ograniczającej (w pikselach lub procentach) dozwolona dla tego typu obiektu." + }, + "min_ratio": { + "label": "Minimalne proporcje", + "description": "Minimalny stosunek szerokości do wysokości ramki ograniczającej." + }, + "max_ratio": { + "label": "Maksymalne proporcje", + "description": "Maksymalny stosunek szerokości do wysokości ramki ograniczającej." + }, + "threshold": { + "label": "Próg pewności", + "description": "Próg średniej pewności detekcji wymagany, aby obiekt został uznany za prawidłowo wykryty." + }, + "min_score": { + "label": "Minimalna pewność", + "description": "Minimalna pewność detekcji w pojedynczej klatce wymagana do zliczenia obiektu." + }, + "mask": { + "label": "Maska filtra", + "description": "Współrzędne wielokąta definiujące, gdzie ten filtr ma zastosowanie w kadrze." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" + } + }, + "coordinates": { + "label": "Współrzędne", + "description": "Współrzędne wielokąta definiujące obszar strefy. Mogą być ciągiem rozdzielanym przecinkami lub listą współrzędnych. Współrzędne powinny być względne (0-1) lub bezwzględne (starszy format)." + }, + "distances": { + "label": "Rzeczywiste odległości", + "description": "Opcjonalne rzeczywiste odległości dla każdego boku czworoboku strefy, używane do obliczeń prędkości lub odległości. Jeśli są ustawione, muszą zawierać dokładnie 4 wartości." + }, + "inertia": { + "label": "Klatki bezwładności", + "description": "Liczba kolejnych klatek, w których obiekt musi być wykryty w strefie, zanim zostanie uznany za obecny. Pomaga odfiltrować chwilowe detekcje." + }, + "loitering_time": { + "label": "Czas przebywania (sekundy)", + "description": "Liczba sekund, przez które obiekt musi pozostać w strefie, aby został uznany za przebywający (loitering). Ustaw 0, aby wyłączyć wykrywanie przebywania." + }, + "speed_threshold": { + "label": "Minimalna prędkość", + "description": "Minimalna prędkość (w jednostkach rzeczywistych, jeśli ustawiono odległości) wymagana, aby obiekt został uznany za obecny w strefie. Używane dla wyzwalaczy strefowych opartych na prędkości." + }, + "objects": { + "label": "Obiekty wyzwalające", + "description": "Lista typów obiektów, które mogą wyzwalać tę strefę. Jeśli pusta, uwzględniane są wszystkie obiekty." + } + }, + "enabled_in_config": { + "label": "Włączona w konfiguracji", + "description": "Śledzi, czy kamera jest włączona w pliku konfiguracyjnym." } } diff --git a/web/public/locales/pl/config/global.json b/web/public/locales/pl/config/global.json index aa836e74dc..a91681c74b 100644 --- a/web/public/locales/pl/config/global.json +++ b/web/public/locales/pl/config/global.json @@ -1,8 +1,9 @@ { "audio": { - "label": "Wykrywanie dźwięku", + "label": "Dźwięk", "enabled": { - "label": "Włącz detekcję audio" + "label": "Włącz wykrywanie dźwięku", + "description": "Włącz lub wyłącz detekcję zdarzeń dźwiękowych dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." }, "max_not_heard": { "label": "Limit czasu zakończenia", @@ -31,14 +32,31 @@ "num_threads": { "label": "Wątki detekcji", "description": "Liczba wątków używanych do przetwarzania detekcji audio." - } + }, + "description": "Ustawienia detekcji zdarzeń na podstawie dźwięku dla wszystkich kamer; mogą być nadpisane dla poszczególnych kamer." }, "audio_transcription": { - "label": "Transkrypcja audio", - "description": "Ustawienia transkrypcji audio na żywo i mowy, używane do zdarzeń i napisów na żywo.", + "label": "Transkrypcja dźwięku", + "description": "Ustawienia transkrypcji dźwięku na żywo i mowy, używanej dla zdarzeń i napisów na żywo.", "live_enabled": { "label": "Transkrypcja na żywo", "description": "Włącz transkrypcję strumieniową audio na żywo w momencie jego odbierania." + }, + "enabled": { + "label": "Włącz transkrypcję dźwięku", + "description": "Włącz lub wyłącz automatyczną transkrypcję dźwięku dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "language": { + "label": "Język", + "description": "Kod języka używany do transkrypcji/tłumaczenia (np. \"pl\" dla polskiego, \"en\" dla angielskiego). Zobacz https://whisper-api.com/docs/languages/ aby sprawdzić listę obsługiwanych kodów języków." + }, + "device": { + "label": "Urządzenie", + "description": "Klucz urządzenia (CPU/GPU), na którym ma być uruchamiany model transkrypcji. Obecnie tylko karty NVIDIA CUDA GPU są obsługiwane dla transkrypcji." + }, + "model_size": { + "label": "Rozmiar modelu", + "description": "Rozmiar modelu używanego do transkrypcji zdarzeń dźwiękowych offline." } }, "version": { @@ -67,31 +85,108 @@ }, "auth": { "label": "Uwierzytelnianie", - "description": "Ustawienia związane z uwierzytelnianiem i sesjami, w tym opcje dotyczące plików cookie i ograniczeń częstotliwości.", + "description": "Ustawienia uwierzytelniania natywnego i sesji użytkowników.", "enabled": { "label": "Włącz uwierzytelnianie", - "description": "Włącz natywne uwierzytelnianie dla interfejsu Frigate." + "description": "Włącz lub wyłącz natywne uwierzytelnianie we Frigate." + }, + "reset_admin_password": { + "label": "Zresetuj hasło administratora", + "description": "Jeśli true, resetuje hasło administratora przy starcie i wypisuje nowe hasło w logach." + }, + "cookie_name": { + "label": "Nazwa ciasteczka JWT", + "description": "Nazwa pliku cookie używanego do przechowywania tokenu JWT." + }, + "cookie_secure": { + "label": "Flaga Secure ciasteczka", + "description": "Ustaw flagę secure na ciasteczku auth; powinno być true przy korzystaniu z TLS." + }, + "session_length": { + "label": "Czas trwania sesji", + "description": "Czas trwania sesji w sekundach dla sesji opartych na JWT." + }, + "refresh_time": { + "label": "Okno odświeżania sesji", + "description": "Gdy sesja zbliży się do wygaśnięcia o tę liczbę sekund, odśwież ją do pełnego czasu trwania." + }, + "failed_login_rate_limit": { + "label": "Limity nieudanych logowań", + "description": "Reguły ograniczania częstotliwości nieudanych prób logowania w celu ochrony przed atakami brute-force." + }, + "trusted_proxies": { + "label": "Zaufane proxy", + "description": "Lista zaufanych adresów IP serwerów proxy do określania IP klienta dla limitów żądań." + }, + "hash_iterations": { + "label": "Liczba iteracji haszowania", + "description": "Liczba iteracji PBKDF2-SHA256 używanych podczas haszowania haseł użytkowników." + }, + "roles": { + "label": "Mapowanie ról", + "description": "Mapuj role na listy kamer. Pusta lista przyznaje dostęp do wszystkich kamer." + }, + "admin_first_time_login": { + "label": "Flaga pierwszego logowania administratora", + "description": "Gdy włączone, interfejs wyświetla link pomocy informujący, jak się zalogować po resecie hasła. " } }, "birdseye": { "mode": { - "label": "Tryb śledzenia", - "description": "Tryb uwzględniania kamer w widoku z lotu ptaka: „obiekty”, „ruch” lub „ciągły”." + "label": "Tryb Birdseye", + "description": "Określa, kiedy kamery pojawiają się w Birdseye: objects (tylko obiekty), motion (ruch) lub continuous (ciągły)." }, "order": { - "label": "Pozycja", - "description": "Pozycja numeryczna określająca kolejność kamery w układzie widoku z lotu ptaka." + "label": "Kolejność kamer", + "description": "Pozycja numeryczna kontrolująca kolejność kamery w układzie Birdseye." }, - "label": "Widok z lotu ptaka", - "description": "Ustawienia widoku z lotu ptaka „Birdseye”, który łączy obraz z wielu kamer w jeden układ.", + "label": "Birdseye", + "description": "Ustawienia widoku łączonego Birdseye, który składa obrazy z wielu kamer w jeden układ.", "enabled": { - "label": "Włącz widok z lotu ptaka", - "description": "Włącz lub wyłącz funkcję widoku z lotu ptaka." + "label": "Włącz Birdseye", + "description": "Włącz lub wyłącz widok Birdseye." + }, + "restream": { + "label": "Retransmisja Birdseye", + "description": "Retransmituj wyjście Birdseye jako strumień RTSP; włączenie tej opcji sprawi, że Birdseye będzie działał nieprzerwanie." + }, + "width": { + "label": "Szerokość", + "description": "Szerokość widoku Birdseye w pikselach." + }, + "height": { + "label": "Wysokość", + "description": "Wysokość widoku Birdseye w pikselach." + }, + "quality": { + "label": "Jakość", + "description": "Jakość kodowania dla strumienia mpeg1 Birdseye (1 najwyższa jakość, 31 najniższa)." + }, + "inactivity_threshold": { + "label": "Próg nieaktywności (sekundy)", + "description": "Liczba sekund bezczynności przed usunięciem kamery z widoku Birdseye." + }, + "layout": { + "label": "Układ kamer", + "description": "Ustawienia rozmieszczenia kamer w widoku Birdseye.", + "scaling_factor": { + "label": "Współczynnik skalowania", + "description": "Współczynnik skalowania używany przez kalkulator układu (zakres 1.0 do 5.0)." + }, + "max_cameras": { + "label": "Maksymalna liczba kamer", + "description": "Maksymalna liczba kamer wyświetlanych jednocześnie w Birdseye; pokazuje najnowsze kamery." + } + }, + "idle_heartbeat_fps": { + "label": "Liczba klatek FPS sygnału tętna w stanie bezczynności", + "description": "Liczba klatek na sekundę, z jaką ma być ponownie wysyłana ostatnia złożona klatka Birdseye w stanie bezczynności; ustaw 0, aby wyłączyć." } }, "detect": { "enabled": { - "label": "Włącz wykrywanie obiektów" + "label": "Włącz wykrywanie obiektów", + "description": "Włącz lub wyłącz detekcję obiektów dla wszystkich kamer; można nadpisać dla pojedynczej kamery." }, "stationary": { "label": "Konfiguracja obiektów stacjonarnych", @@ -151,11 +246,45 @@ "face_recognition": { "label": "Rozpoznawanie twarzy", "enabled": { - "label": "Włącz rozpoznawanie twarzy" + "label": "Włącz rozpoznawanie twarzy", + "description": "Włącz lub wyłącz rozpoznawanie twarzy dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." }, "min_area": { - "label": "Minimalny obszar twarzy", - "description": "Minimalny obszar twarzy (w pikselach) wymagany do podjęcia próby rozpoznania." + "label": "Minimalna powierzchnia twarzy", + "description": "Minimalna powierzchnia (w pikselach) ramki wykrytej twarzy wymagana do podjęcia próby rozpoznania." + }, + "description": "Ustawienia detekcji i rozpoznawania twarzy dla wszystkich kamer; mogą być nadpisane dla poszczególnych kamer.", + "model_size": { + "label": "Rozmiar modelu", + "description": "Rozmiar modelu rozpoznawania twarzy (small dla CPU, large dla GPU/NPU)." + }, + "unknown_score": { + "label": "Próg oceny nieznanej twarzy", + "description": "Próg odległości, poniżej którego twarz jest uważana za potencjalne dopasowanie (wyższy = bardziej restrykcyjny)." + }, + "detection_threshold": { + "label": "Próg detekcji", + "description": "Minimalna pewność detekcji wymagana, aby uznać detekcję twarzy za prawidłową." + }, + "recognition_threshold": { + "label": "Próg rozpoznawania", + "description": "Próg pewności wymagany do przypisania rozpoznanej twarzy jako podetykiety." + }, + "min_faces": { + "label": "Minimalna liczba twarzy", + "description": "Minimalna liczba rozpoznań twarzy wymagana przed przypisaniem rozpoznanej podetykiety do osoby." + }, + "save_attempts": { + "label": "Zapisuj próby", + "description": "Liczba obrazów twarzy do zapisania w celach treningowych i weryfikacji." + }, + "blur_confidence_filter": { + "label": "Filtr pewności na podstawie rozmycia", + "description": "Koryguj wyniki pewności na podstawie rozmycia obrazu, aby zmniejszyć liczbę fałszywych dopasowań dla twarzy o słabej jakości." + }, + "device": { + "label": "Urządzenie", + "description": "Nadpisanie urządzenia docelowego. Więcej informacji: https://onnxruntime.ai/docs/execution-providers/" } }, "ffmpeg": { @@ -197,39 +326,52 @@ }, "input_args": { "label": "Wejściowe parametry", - "description": "Argumenty wejściowe przekazywane strumieniom wejściowym FFmpeg" + "description": "Argumenty wejściowe przekazywane do strumieni wejściowych FFmpeg." }, "inputs": { "path": { "label": "Ścieżka wejścia", - "description": "URL lub ścieżka strumienia wejściowego kamery" + "description": "Adres URL lub ścieżka strumienia wejściowego kamery." }, "global_args": { - "label": "Parametry globalne FFmpeg" + "label": "Parametry globalne FFmpeg", + "description": "Globalne argumenty FFmpeg dla tego strumienia wejściowego." }, "label": "Wejścia kamery", "description": "Lista definicji strumienia wejściowego (ścieżki i role) dla tej kamery.", "hwaccel_args": { - "description": "Argumenty akceleracji sprzętowej dla tego strumienia wejściowego." + "description": "Argumenty akceleracji sprzętowej dla tego strumienia wejściowego.", + "label": "Argumenty akceleracji sprzętowej" }, "input_args": { - "label": "Argumenty wejścia" + "label": "Argumenty wejścia", + "description": "Argumenty wejściowe specyficzne dla tego strumienia." + }, + "roles": { + "label": "Role wejściowe", + "description": "Role przypisane do tego strumienia wejściowego." } - } + }, + "label": "FFmpeg", + "description": "Ustawienia FFmpeg, w tym ścieżka do pliku binarnego, argumenty globalne, akceleracja sprzętowa i parametry wyjściowe." }, "motion": { - "label": "Detekcja ruchu", + "label": "Ruch", "enabled": { - "label": "Włącz detekcje ruchu" + "label": "Włącz detekcje ruchu", + "description": "Włącz lub wyłącz detekcję ruchu dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." }, "threshold": { - "label": "Próg detekcji" + "label": "Próg detekcji", + "description": "Próg różnicy pikseli używany przez detektor ruchu; wyższe wartości zmniejszają czułość (zakres 1-255)." }, "lightning_threshold": { - "label": "Próg pioruna" + "label": "Próg pioruna", + "description": "Próg do wykrywania i ignorowania krótkich skoków oświetlenia (niższe wartości są bardziej czułe, zakres od 0.3 do 1.0). Nie zapobiega to całkowicie detekcji ruchu; powoduje jedynie, że detektor przestaje analizować kolejne klatki po przekroczeniu progu. Nagrania oparte na ruchu są nadal tworzone podczas tych zdarzeń." }, "skip_motion_threshold": { - "label": "Pomiń próg detekcji" + "label": "Pomiń próg detekcji", + "description": "Jeśli ustawiono wartość z przedziału od 0.0 do 1.0, a w pojedynczej klatce zmieni się większa część obrazu, detektor nie zwróci ramek ruchu i natychmiast przeprowadzi rekalibrację. Może to zaoszczędzić czas procesora i zmniejszyć liczbę fałszywych alarmów podczas wyładowań atmosferycznych, burz itp., ale może pominąć prawdziwe zdarzenia, takie jak auto-śledzenie obiektu przez kamerę PTZ. Kompromis polega na utracie kilku megabajtów nagrań w porównaniu z przeglądaniem kilku krótkich klipów. Pozostaw nieustawione (None), aby wyłączyć tę funkcję." }, "improve_contrast": { "label": "Popraw kontrast", @@ -244,10 +386,12 @@ "description": "Współczynnik mieszania alfa stosowany przy obliczaniu różnic między klatkami w celu wyznaczenia ruchu." }, "frame_alpha": { - "label": "Klatka alfa (przezroczystość ramki)" + "label": "Klatka alfa (przezroczystość ramki)", + "description": "Wartość alfa używana podczas mieszania klatek do wstępnego przetwarzania ruchu." }, "frame_height": { - "label": "Wysokość ramki" + "label": "Wysokość ramki", + "description": "Wysokość w pikselach, do której skalowane są klatki podczas obliczania ruchu." }, "mqtt_off_delay": { "label": "Opóźnienie wyłączenia MQTT", @@ -256,21 +400,32 @@ "enabled_in_config": { "label": "Pierwotny stan ruchu", "description": "Wskazuje, czy w pierwotnej konfiguracji statycznej włączono wykrywanie ruchu." - } + }, + "mask": { + "label": "Współrzędne maski", + "description": "Uporządkowane współrzędne x,y definiujące wielokąt maski ruchu." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" + }, + "description": "Domyślne ustawienia detekcji ruchu stosowane do kamer, o ile nie zostaną nadpisane dla poszczególnych kamer." }, "objects": { - "label": "Objekty", + "label": "Obiekty", "track": { - "label": "Obiekty do śledzenia" + "label": "Śledzone obiekty", + "description": "Lista etykiet obiektów do śledzenia dla wszystkich kamer; może być nadpisana dla poszczególnych kamer." }, "filters": { "label": "Filtry obiektów", - "description": "Filtry stosowane do wykrytych obiektów w celu ograniczenia liczby fałszywych alarmów (powierzchnia, współczynnik, poziom pewności).", + "description": "Domyślne filtry obiektów (powierzchnia, proporcje, progi pewności).", "min_area": { - "label": "Minimalna powierzchnia obiektu" + "label": "Minimalna powierzchnia obiektu", + "description": "Minimalna powierzchnia ramki ograniczającej (w pikselach lub procentach) wymagana dla tego typu obiektu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." }, "max_area": { - "label": "Maksymalna powierzchnia obiektu" + "label": "Maksymalna powierzchnia obiektu", + "description": "Maksymalna powierzchnia ramki ograniczającej (w pikselach lub procentach) dozwolona dla tego typu obiektu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." }, "min_ratio": { "label": "Minimalny współczynnik proporcji", @@ -287,6 +442,13 @@ "min_score": { "label": "Minimalny poziom ufności", "description": "Minimalny poziom pewności wykrycia pojedynczej klatki wymagany do zaliczenia obiektu." + }, + "mask": { + "label": "Maska filtra", + "description": "Współrzędne wielokąta definiujące, gdzie ten filtr ma zastosowanie w kadrze." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" } }, "genai": { @@ -295,18 +457,1158 @@ "description": "Włącz domyślnie generowanie opisów obiektów śledzonych przez GenAI." }, "use_snapshot": { - "label": "Korzystaj z migawek" + "label": "Korzystaj z migawek", + "description": "Używaj migawek obiektów zamiast miniatur do generowania opisów GenAI." }, "prompt": { "label": "Podpowiedź do podpisu", "description": "Domyślny szablon monitu używany podczas generowania opisów za pomocą GenAI." }, "object_prompts": { - "label": "Podpowiedzi dotyczące obiektów" + "label": "Podpowiedzi dotyczące obiektów", + "description": "Monity specyficzne dla poszczególnych obiektów do personalizacji odpowiedzi GenAI dla konkretnych etykiet." }, "objects": { - "label": "Obiekty GenAI" + "label": "Obiekty GenAI", + "description": "Lista etykiet obiektów domyślnie wysyłanych do GenAI." + }, + "label": "Konfiguracja GenAI dla obiektów", + "description": "Opcje GenAI do opisywania śledzonych obiektów i wysyłania klatek do generowania opisów.", + "required_zones": { + "description": "Strefy, do których obiekt musi wejść, aby kwalifikował się do generowania opisu GenAI.", + "label": "Wymagane strefy" + }, + "debug_save_thumbnails": { + "label": "Zapisuj miniatury", + "description": "Zapisuj miniatury wysyłane do GenAI w celach debugowania i weryfikacji." + }, + "send_triggers": { + "label": "Wyzwalacze GenAI", + "description": "Definiuje, kiedy klatki powinny być wysyłane do GenAI (po zakończeniu zdarzenia, po aktualizacjach itp.).", + "tracked_object_end": { + "label": "Wysyłaj po zakończeniu", + "description": "Wyślij żądanie do GenAI po zakończeniu śledzenia obiektu." + }, + "after_significant_updates": { + "label": "Wczesny wyzwalacz GenAI", + "description": "Wyślij żądanie do GenAI po określonej liczbie istotnych aktualizacji śledzonego obiektu." + } + }, + "enabled_in_config": { + "label": "Pierwotny stan GenAI", + "description": "Wskazuje, czy GenAI było włączone w pierwotnej konfiguracji statycznej." } + }, + "description": "Domyślne ustawienia śledzenia obiektów dla wszystkich kamer.", + "mask": { + "label": "Maska obiektów", + "description": "Współrzędne wielokąta określające obszar wykluczony z detekcji." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" + }, + "filters_attribute": { + "label": "Filtry atrybutów", + "description": "Filtry stosowane do wykrytych atrybutów w celu zmniejszenia fałszywych alarmów (powierzchnia, proporcje, pewność).", + "min_area": { + "label": "Minimalna powierzchnia atrybutu", + "description": "Minimalna powierzchnia ramki ograniczającej (w pikselach lub procentach) wymagana dla tego atrybutu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." + }, + "max_area": { + "label": "Maksymalna powierzchnia atrybutu", + "description": "Maksymalna powierzchnia ramki ograniczającej (w pikselach lub procentach) dozwolona dla tego atrybutu. Może być liczbą całkowitą (piksele) lub ułamkiem dziesiętnym (od 0.000001 do 0.99 dla procentów)." + }, + "min_ratio": { + "label": "Minimalne proporcje", + "description": "Minimalny stosunek szerokości do wysokości ramki ograniczającej." + }, + "max_ratio": { + "label": "Maksymalne proporcje", + "description": "Maksymalny stosunek szerokości do wysokości ramki ograniczającej." + }, + "threshold": { + "label": "Próg pewności", + "description": "Średni próg pewności detekcji wymagany, aby atrybut został uznany za prawidłowy." + }, + "min_score": { + "label": "Minimalna pewność", + "description": "Minimalna pewność detekcji w pojedynczej klatce wymagana do powiązania tego atrybutu z obiektem nadrzędnym." + }, + "mask": { + "label": "Maska filtra", + "description": "Współrzędne wielokąta definiujące obszar zastosowania filtra." + }, + "raw_mask": { + "label": "Maska surowa (Raw Mask)" + } + } + }, + "live": { + "label": "Odtwarzanie na żywo", + "streams": { + "label": "Nazwy strumieni na żywo", + "description": "Mapowanie skonfigurowanych nazw strumieni na nazwy go2rtc używane do odtwarzania na żywo." + }, + "height": { + "label": "Wysokość na żywo", + "description": "Wysokość (w pikselach) do renderowania strumienia na żywo jsmpeg w interfejsie WWW; musi być <= wysokości strumienia detekcji." + }, + "quality": { + "label": "Jakość na żywo", + "description": "Jakość kodowania strumienia jsmpeg (1 najwyższa, 31 najniższa)." + }, + "description": "Ustawienia kontrolujące rozdzielczość i jakość strumienia na żywo jsmpeg. Nie ma to wpływu na kamery retransmitowane, które używają go2rtc do podglądu na żywo." + }, + "lpr": { + "label": "Rozpoznawanie tablic rejestracyjnych", + "description": "Ustawienia rozpoznawania tablic rejestracyjnych, w tym progi detekcji, formatowanie i znane tablice.", + "enabled": { + "label": "Włącz LPR", + "description": "Włącz lub wyłącz rozpoznawanie tablic rejestracyjnych dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "expire_time": { + "label": "Czas wygaśnięcia (sekundy)", + "description": "Czas w sekundach, po którym niewidziana tablica wygasa z modułu śledzenia (dla kamer dedykowanych LPR)." + }, + "min_area": { + "label": "Minimalna powierzchnia tablicy", + "description": "Minimalna powierzchnia tablicy rejestracyjnej (w pikselach) wymagana do podjęcia próby rozpoznania." + }, + "enhancement": { + "label": "Poziom ulepszania", + "description": "Poziom ulepszania (0-10) stosowany do wycinków tablic przed OCR; wyższe wartości nie zawsze poprawiają wyniki, poziomy powyżej 5 mogą działać tylko z tablicami nocnymi i należy ich używać ostrożnie." + }, + "model_size": { + "label": "Rozmiar modelu", + "description": "Rozmiar modelu LPR (small dla standardowych tablic jednowierszowych, large dla wielowierszowych)." + }, + "detection_threshold": { + "label": "Próg detekcji", + "description": "Próg pewności detekcji, od którego rozpoczyna się uruchamianie OCR na podejrzanej tablicy." + }, + "recognition_threshold": { + "label": "Próg rozpoznawania", + "description": "Próg pewności wymagany do przypisania tekstu rozpoznanej tablicy jako podetykiety." + }, + "min_plate_length": { + "label": "Minimalna długość tablicy", + "description": "Minimalna liczba znaków, którą musi zawierać rozpoznana tablica, aby została uznana za prawidłową." + }, + "format": { + "label": "Wyrażenie regularne formatu tablicy", + "description": "Opcjonalne wyrażenie regularne do sprawdzania poprawności rozpoznanych tablic względem oczekiwanego formatu." + }, + "match_distance": { + "label": "Dystans dopasowania", + "description": "Liczba dopuszczalnych niezgodności znaków podczas porównywania wykrytych tablic ze znanymi tablicami." + }, + "known_plates": { + "label": "Znane tablice", + "description": "Lista znanych tablic rejestracyjnych z przyjaznymi nazwami." + }, + "debug_save_plates": { + "label": "Zapisuj tablice do debugowania", + "description": "Zapisuj wycinki tablic do debugowania działania modułu LPR." + }, + "device": { + "label": "Urządzenie", + "description": "Nadpisanie urządzenia docelowego. Więcej informacji: https://onnxruntime.ai/docs/execution-providers/" + }, + "replace_rules": { + "label": "Reguły zastępowania", + "description": "Reguły zastępowania regex używane do normalizacji wykrytych ciągów tablic przed dopasowaniem.", + "pattern": { + "label": "Wzorzec regex" + }, + "replacement": { + "label": "Ciąg zastępczy" + } + } + }, + "record": { + "export": { + "max_concurrent": { + "label": "Maksymalna liczba równoległych eksportów", + "description": "Maksymalna liczba zadań eksportu przetwarzanych jednocześnie." + }, + "chapters": { + "label": "Metadane rozdziałów do osadzenia w eksportowanych nagraniach" + }, + "label": "Konfiguracja eksportu", + "description": "Ustawienia używane podczas eksportowania nagrań, takie jak timelapse i akceleracja sprzętowa.", + "hwaccel_args": { + "label": "Argumenty hwaccel eksportu", + "description": "Argumenty akceleracji sprzętowej dla operacji eksportu/transkodowania." + } + }, + "detections": { + "pre_capture": { + "label": "Sekundy przed zdarzeniem", + "description": "Liczba sekund nagrania przed zdarzeniem do dołączenia do klipu." + }, + "post_capture": { + "label": "Sekundy po zdarzeniu", + "description": "Liczba sekund nagrania po ustaniu zdarzenia do dołączenia do klipu." + }, + "retain": { + "days": { + "label": "Dni retencji", + "description": "Liczba dni przechowywania nagrań detekcji." + }, + "label": "Retencja zdarzeń", + "description": "Ustawienia retencji nagrań detekcji.", + "mode": { + "label": "Tryb retencji", + "description": "Tryb retencji: all (wszystkie segmenty), motion (segmenty z ruchem), active_objects (segmenty z aktywnymi obiektami)." + } + }, + "label": "Retencja detekcji", + "description": "Ustawienia retencji nagrań dla zdarzeń detekcji, w tym czasy trwania pre/post-capture." + }, + "alerts": { + "pre_capture": { + "label": "Sekundy przed zdarzeniem", + "description": "Liczba sekund nagrania przed zdarzeniem do dołączenia do klipu." + }, + "post_capture": { + "label": "Sekundy po zdarzeniu", + "description": "Liczba sekund nagrania po ustaniu zdarzenia do dołączenia do klipu." + }, + "retain": { + "days": { + "label": "Dni retencji", + "description": "Liczba dni przechowywania nagrań alertów." + }, + "label": "Retencja zdarzeń", + "description": "Ustawienia retencji dla nagrań zdarzeń detekcji.", + "mode": { + "label": "Tryb retencji", + "description": "Tryb retencji: all (wszystkie segmenty), motion (segmenty z ruchem), active_objects (segmenty z aktywnymi obiektami)." + } + }, + "label": "Retencja alertów", + "description": "Ustawienia retencji nagrań dla zdarzeń detekcji, w tym czasy trwania pre/post-capture." + }, + "label": "Nagrywanie", + "description": "Ustawienia nagrywania i retencji stosowane do kamer, o ile nie zostaną nadpisane dla poszczególnych kamer.", + "enabled": { + "label": "Włącz nagrywanie", + "description": "Włącz lub wyłącz nagrywanie dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "expire_interval": { + "label": "Interwał czyszczenia nagrań", + "description": "Liczba minut między kolejnymi przebiegami czyszczenia wygasłych segmentów nagrań." + }, + "continuous": { + "label": "Retencja ciągła", + "description": "Liczba dni przechowywania nagrań niezależnie od śledzonych obiektów czy ruchu. Ustaw na 0, jeśli chcesz zachowywać wyłącznie nagrania alertów i detekcji.", + "days": { + "label": "Dni retencji", + "description": "Dni przechowywania nagrań ciągłych." + } + }, + "motion": { + "label": "Retencja ruchu", + "description": "Liczba dni przechowywania nagrań wywołanych ruchem niezależnie od śledzonych obiektów. Ustaw na 0, jeśli chcesz zachowywać wyłącznie nagrania alertów i detekcji.", + "days": { + "label": "Dni retencji", + "description": "Dni przechowywania nagrań ruchu." + } + }, + "preview": { + "label": "Konfiguracja podglądu", + "description": "Ustawienia kontrolujące jakość podglądów nagrań wyświetlanych w interfejsie użytkownika.", + "quality": { + "label": "Jakość podglądu", + "description": "Poziom jakości podglądu (very_low, low, medium, high, very_high)." + } + }, + "enabled_in_config": { + "label": "Pierwotny stan nagrywania", + "description": "Wskazuje, czy nagrywanie było włączone w pierwotnej konfiguracji." + } + }, + "review": { + "label": "Przegląd", + "alerts": { + "label": "Konfiguracja alertów", + "description": "Ustawienia określające, które śledzone obiekty generują alerty i jak alerty są przechowywane.", + "labels": { + "label": "Etykiety alertów", + "description": "Lista etykiet obiektów kwalifikujących się jako alerty (na przykład: car, person)." + }, + "required_zones": { + "description": "Strefy, w których obiekt musi się znaleźć, aby został uznany za alert; pozostaw puste, aby zezwolić na dowolną strefę.", + "label": "Wymagane strefy" + }, + "enabled": { + "label": "Włącz alerty", + "description": "Włącz lub wyłącz generowanie alertów dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "enabled_in_config": { + "label": "Pierwotny stan alertów", + "description": "Śledzi pierwotny stan włączenia alertów w konfiguracji." + }, + "cutoff_time": { + "label": "Czas odcięcia alertu", + "description": "Liczba sekund oczekiwania po ustaniu aktywności wywołującej alert przed jego zakończeniem." + } + }, + "detections": { + "label": "Konfiguracja detekcji", + "description": "Ustawienia określające, które śledzone obiekty generują detekcje (niebędące alertami) i jak detekcje są przechowywane.", + "labels": { + "description": "Lista etykiet obiektów kwalifikujących się jako zdarzenia detekcji.", + "label": "Etykiety detekcji" + }, + "required_zones": { + "description": "Strefy, w których obiekt musi się znaleźć, aby został uznany za detekcję; pozostaw puste, aby zezwolić na dowolną strefę.", + "label": "Wymagane strefy" + }, + "cutoff_time": { + "label": "Czas odcięcia detekcji", + "description": "Liczba sekund oczekiwania po ustaniu aktywności wywołującej detekcję przed jej zakończeniem." + }, + "enabled_in_config": { + "label": "Pierwotny stan detekcji", + "description": "Śledzi pierwotny stan włączenia detekcji w konfiguracji." + }, + "enabled": { + "label": "Włącz detekcje", + "description": "Włącz lub wyłącz zdarzenia detekcji dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + } + }, + "genai": { + "label": "Konfiguracja GenAI", + "description": "Kontroluje użycie generatywnej sztucznej inteligencji do tworzenia opisów i podsumowań elementów przeglądu.", + "enabled": { + "label": "Włącz opisy GenAI", + "description": "Włącz lub wyłącz generowanie opisów i podsumowań GenAI dla elementów przeglądu." + }, + "alerts": { + "label": "Włącz GenAI dla alertów", + "description": "Używaj GenAI do generowania opisów dla elementów alertów." + }, + "detections": { + "label": "Włącz GenAI dla detekcji", + "description": "Używaj GenAI do generowania opisów dla elementów detekcji." + }, + "image_source": { + "label": "Źródło obrazu dla przeglądu", + "description": "Źródło obrazów wysyłanych do GenAI (\"preview\" lub \"recordings\"); \"recordings\" używa klatek wyższej jakości, ale zużywa więcej tokenów." + }, + "additional_concerns": { + "label": "Dodatkowe uwagi", + "description": "Lista dodatkowych uwag lub notatek, które model GenAI powinien wziąć pod uwagę podczas oceny aktywności na tej kamerze." + }, + "debug_save_thumbnails": { + "label": "Zapisuj miniatury", + "description": "Zapisuj miniatury wysyłane do dostawcy GenAI w celach debugowania i przeglądu." + }, + "enabled_in_config": { + "label": "Pierwotny stan GenAI", + "description": "Śledzi pierwotny stan włączenia GenAI w konfiguracji." + }, + "preferred_language": { + "label": "Preferowany język", + "description": "Preferowany język odpowiedzi generowanych przez GenAI." + }, + "activity_context_prompt": { + "label": "Monit kontekstu aktywności", + "description": "Niestandardowy monit opisujący, co jest, a co nie jest podejrzaną aktywnością, aby zapewnić kontekst dla podsumowań GenAI." + } + }, + "description": "Ustawienia kontrolujące alerty, detekcje oraz podsumowania przeglądu GenAI używane przez interfejs i pamięć masową." + }, + "semantic_search": { + "label": "Wyszukiwanie semantyczne", + "triggers": { + "label": "Wyzwalacze", + "description": "Akcje i kryteria dopasowania dla specyficznych dla kamery wyzwalaczy wyszukiwania semantycznego.", + "friendly_name": { + "label": "Przyjazna nazwa", + "description": "Przyjazna nazwa wyświetlana w interfejsie użytkownika." + }, + "enabled": { + "label": "Włącz ten wyzwalacz", + "description": "Włącz lub wyłącz wyzwalacz wyszukiwania semantycznego." + }, + "type": { + "label": "Typ wyzwalacza", + "description": "Typ wyzwalacza: \"thumbnail\" (dopasowanie do obrazu) lub \"description\" (dopasowanie do tekstu)." + }, + "data": { + "label": "Zawartość wyzwalacza", + "description": "Fraza tekstowa lub ID miniatury do dopasowania." + }, + "threshold": { + "label": "Próg wyzwalacza", + "description": "Minimalny próg podobieństwa (0-1) aktywujący wyzwalacz." + }, + "actions": { + "label": "Akcje wyzwalacza", + "description": "Lista akcji do wykonania po dopasowaniu wyzwalacza (notification, sub_label, attribute)." + } + }, + "description": "Ustawienia wyszukiwania semantycznego opartego na wektorach cech obrazów i tekstu.", + "enabled": { + "label": "Włącz wyszukiwanie semantyczne", + "description": "Włącz lub wyłącz funkcję wyszukiwania semantycznego." + }, + "reindex": { + "label": "Przeindeksuj przy starcie", + "description": "Uruchom pełne przeindeksowanie historycznych obiektów do bazy wektorowej." + }, + "model": { + "label": "Model wyszukiwania lub dostawca GenAI", + "description": "Model wektoryzacji (embeddings) do użycia w wyszukiwaniu semantycznym (np. \"jinav1\") lub nazwa dostawcy GenAI z rolą \"embeddings\"." + }, + "model_size": { + "label": "Rozmiar modelu", + "description": "Wybierz rozmiar modelu; \"small\" działa na CPU, a \"large\" zazwyczaj wymaga GPU." + }, + "device": { + "label": "Urządzenie obliczeniowe", + "description": "Nadpisanie urządzenia docelowego (np. CPU, GPU). Więcej informacji: https://onnxruntime.ai/docs/execution-providers/" + } + }, + "snapshots": { + "label": "Migawki", + "enabled": { + "label": "Włącz migawki", + "description": "Włącz lub wyłącz zapisywanie migawek dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "timestamp": { + "label": "Nakładka znacznika czasu", + "description": "Nakładaj znacznik czasu na migawki z API." + }, + "bounding_box": { + "label": "Nakładka ramki ograniczającej", + "description": "Rysuj ramki ograniczające wokół obiektów na migawkach z API." + }, + "crop": { + "label": "Kadruj migawkę", + "description": "Kadruj migawki z API do ramki ograniczającej wykrytego obiektu." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się znaleźć, aby zapisać migawkę." + }, + "height": { + "label": "Wysokość migawki", + "description": "Wysokość (w pikselach), do której mają być przeskalowane migawki z API; pozostaw puste, aby zachować oryginalny rozmiar." + }, + "retain": { + "label": "Retencja migawek", + "description": "Ustawienia retencji migawek, w tym domyślna liczba dni i nadpisania dla poszczególnych obiektów.", + "default": { + "label": "Domyślna retencja", + "description": "Domyślna liczba dni przechowywania migawek." + }, + "objects": { + "label": "Retencja obiektów", + "description": "Nadpisania liczby dni retencji dla poszczególnych typów obiektów." + } + }, + "quality": { + "label": "Jakość migawki", + "description": "Jakość kodowania zapisywanych migawek (0-100)." + }, + "description": "Ustawienia generowania przez API migawek śledzonych obiektów dla wszystkich kamer; mogą być nadpisane dla poszczególnych kamer." + }, + "timestamp_style": { + "label": "Styl znacznika czasu", + "position": { + "label": "Pozycja znacznika czasu", + "description": "Pozycja znacznika czasu na obrazie (tl/tr/bl/br)." + }, + "format": { + "label": "Format znacznika czasu", + "description": "Ciąg formatujący datę i czas używany dla znaczników (kody formatu datetime w Pythonie)." + }, + "color": { + "label": "Kolor znacznika czasu", + "description": "Wartości kolorów RGB tekstu znacznika (0-255).", + "red": { + "label": "Czerwony", + "description": "Składowa czerwona (0-255) koloru znacznika czasu." + }, + "green": { + "label": "Zielony", + "description": "Składowa zielona (0-255) koloru znacznika czasu." + }, + "blue": { + "label": "Niebieski", + "description": "Składowa niebieska (0-255) koloru znacznika czasu." + } + }, + "thickness": { + "label": "Grubość znacznika czasu", + "description": "Grubość linii tekstu znacznika czasu." + }, + "effect": { + "label": "Efekt znacznika czasu", + "description": "Efekt wizualny tekstu znacznika czasu (none, solid, shadow)." + }, + "description": "Opcje stylizacji znaczników czasu na podglądzie debugowania i migawkach." + }, + "mqtt": { + "label": "MQTT", + "description": "Ustawienia łączenia i publikowania telemetrii, migawek oraz szczegółów zdarzeń do brokera MQTT.", + "enabled": { + "label": "Włącz MQTT", + "description": "Włącz lub wyłącz integrację MQTT dla stanów, zdarzeń i migawek." + }, + "host": { + "label": "Host brokera", + "description": "Adres IP lub nazwa hosta brokera MQTT." + }, + "port": { + "label": "Port brokera", + "description": "Port brokera MQTT (zazwyczaj 1883 lub 8883 dla TLS)." + }, + "topic_prefix": { + "label": "Prefiks tematów", + "description": "Prefiks dla wszystkich tematów MQTT publikowanych przez Frigate (domyślnie frigate)." + }, + "client_id": { + "label": "Identyfikator klienta", + "description": "Identyfikator klienta używany podczas łączenia z brokerem MQTT; powinien być unikalny dla każdej instancji." + }, + "stats_interval": { + "label": "Interwał statystyk", + "description": "Interwał w sekundach dla publikowania statystyk systemu i kamer do MQTT." + }, + "user": { + "label": "Użytkownik", + "description": "Opcjonalna nazwa użytkownika MQTT; może być przekazana za pomocą zmiennych środowiskowych lub sekretów." + }, + "password": { + "label": "Hasło", + "description": "Opcjonalne hasło MQTT; może być przekazane za pomocą zmiennych środowiskowych lub sekretów." + }, + "tls_ca_certs": { + "label": "Certyfikaty CA dla TLS", + "description": "Ścieżka do pliku certyfikatów CA dla bezpiecznych połączeń MQTT przez TLS." + }, + "tls_client_cert": { + "label": "Certyfikat klienta", + "description": "Ścieżka do certyfikatu klienta dla wzajemnego uwierzytelniania TLS; nie ustawiaj użytkownika/hasła przy używaniu certyfikatów klienta." + }, + "tls_client_key": { + "label": "Klucz prywatny klienta", + "description": "Ścieżka do klucza prywatnego dla certyfikatu klienta." + }, + "tls_insecure": { + "label": "Zezwalaj na niezabezpieczony TLS", + "description": "Ignoruj błędy weryfikacji certyfikatów TLS brokera MQTT." + }, + "qos": { + "label": "Jakość usługi MQTT (QoS)", + "description": "Poziom jakości usługi QoS dla publikacji/subskrypcji MQTT (0, 1 lub 2)." + } + }, + "notifications": { + "label": "Powiadomienia", + "enabled": { + "label": "Włącz powiadomienia", + "description": "Włącz lub wyłącz powiadomienia dla wszystkich kamer; może być nadpisane dla poszczególnych kamer." + }, + "email": { + "label": "Adres e-mail powiadomień", + "description": "Adres e-mail używany do powiadomień push lub wymagany przez niektórych dostawców powiadomień." + }, + "cooldown": { + "label": "Czas odnowienia (sekundy)", + "description": "Czas odnowienia (w sekundach) między powiadomieniami, aby uniknąć zalewania odbiorców powiadomieniami." + }, + "enabled_in_config": { + "label": "Pierwotny stan powiadomień", + "description": "Wskazuje, czy powiadomienia były włączone w pierwotnej konfiguracji." + }, + "description": "Ustawienia włączania i kontrolowania powiadomień dla wszystkich kamer; mogą być nadpisane dla poszczególnych kamer." + }, + "onvif": { + "label": "ONVIF", + "description": "Domyślne ustawienia protokołu ONVIF dla sterowania PTZ i zdarzeń kamer.", + "host": { + "label": "Host", + "description": "Host (oraz opcjonalnie schemat/protokół) dla usługi ONVIF tej kamery." + }, + "port": { + "label": "Port", + "description": "Numer portu usługi ONVIF." + }, + "user": { + "label": "Użytkownik", + "description": "Nazwa użytkownika do uwierzytelniania ONVIF; niektóre urządzenia wymagają użytkownika z uprawnieniami administratora dla ONVIF." + }, + "password": { + "label": "Hasło", + "description": "Hasło użytkownika ONVIF." + }, + "tls_insecure": { + "label": "Zezwalaj na niezabezpieczony TLS", + "description": "Pomiń weryfikację TLS i wyłącz uwierzytelnianie digest dla ONVIF (niebezpieczne; używaj tylko w zaufanych sieciach)." + }, + "profile": { + "label": "Profil ONVIF", + "description": "Określony profil multimedialny ONVIF do użycia w sterowaniu PTZ, dopasowywany po tokenie lub nazwie. Jeśli nie jest ustawiony, pierwszy profil z prawidłową konfiguracją PTZ zostanie wybrany automatycznie." + }, + "autotracking": { + "label": "Auto-śledzenie", + "description": "Automatycznie śledź poruszające się obiekty i utrzymuj je w centrum kadru za pomocą ruchów kamery PTZ.", + "enabled": { + "label": "Włącz auto-śledzenie", + "description": "Włącz automatyczne sterowanie ruchem kamery PTZ." + }, + "calibrate_on_startup": { + "label": "Kalibruj przy uruchomieniu", + "description": "Zmierz prędkości silników PTZ przy uruchomieniu, aby poprawić dokładność śledzenia. Frigate zaktualizuje konfigurację o movement_weights po kalibracji." + }, + "zooming": { + "label": "Przybliżanie (Zoom)", + "description": "Kontrola zachowania zoomu: disabled (tylko obrót/pochylenie), absolute (najbardziej kompatybilny) lub relative (jednoczesny obrót/pochylenie/zoom)." + }, + "zoom_factor": { + "label": "Współczynnik przybliżenia", + "description": "Kontrola poziomu przybliżenia śledzonych obiektów. Niższe wartości utrzymują szerszy widok sceny; wyższe wartości przybliżają mocniej, ale mogą spowodować utratę śledzenia. Wartości od 0.1 do 0.75." + }, + "track": { + "label": "Śledzone obiekty", + "description": "Typy obiektów wywołujące auto-śledzenie." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się pojawić, aby rozpocząć auto-śledzenie." + }, + "return_preset": { + "label": "Preset powrotny", + "description": "Preset PTZ, do którego kamera ma powrócić po zakończeniu śledzenia." + }, + "timeout": { + "label": "Czas oczekiwania na powrót", + "description": "Liczba sekund bezczynności przed powrotem do presetu powrotnego." + }, + "movement_weights": { + "label": "Wagi ruchu", + "description": "Wartości kalibracji wygenerowane automatycznie przez kalibrację kamery. Nie modyfikuj ręcznie." + }, + "enabled_in_config": { + "label": "Pierwotny stan auto-śledzenia", + "description": "Wewnętrzne pole śledzące, czy auto-śledzenie było włączone w konfiguracji." + } + }, + "ignore_time_mismatch": { + "label": "Ignoruj rozbieżność czasu", + "description": "Ignoruj różnice w synchronizacji czasu między kamerą a serwerem Frigate w komunikacji ONVIF." + } + }, + "profiles": { + "label": "Profile", + "description": "Definicje nazwanych profili z przyjaznymi nazwami. Profile kamer muszą odwoływać się do nazw zdefiniowanych tutaj.", + "friendly_name": { + "label": "Przyjazna nazwa", + "description": "Nazwa wyświetlana dla tego profilu w interfejsie użytkownika." + } + }, + "database": { + "label": "Baza danych", + "description": "Ustawienia bazy danych SQLite używanej przez Frigate do przechowywania metadanych.", + "path": { + "label": "Ścieżka do bazy danych", + "description": "Ścieżka w systemie plików, gdzie przechowywany jest plik bazy SQLite." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Ustawienia zintegrowanej usługi retransmisji go2rtc do strumieniowania na żywo." + }, + "networking": { + "label": "Sieć", + "description": "Ustawienia sieciowe, w tym obsługa IPv6 i porty nasłuchiwania.", + "ipv6": { + "label": "Konfiguracja IPv6", + "description": "Ustawienia specyficzne dla protokołu IPv6 w usługach sieciowych Frigate.", + "enabled": { + "label": "Włącz IPv6", + "description": "Włącz obsługę protokołu IPv6 dla usług Frigate." + } + }, + "listen": { + "label": "Konfiguracja portów nasłuchiwania", + "description": "Konfiguracja wewnętrznych i zewnętrznych portów nasłuchiwania. Jest to opcja dla zaawansowanych użytkowników. W większości przypadków zaleca się zmianę sekcji ports w pliku Docker Compose.", + "internal": { + "label": "Port wewnętrzny", + "description": "Wewnętrzny port nasłuchiwania dla Frigate (domyślnie 5000)." + }, + "external": { + "label": "Port zewnętrzny", + "description": "Zewnętrzny port nasłuchiwania dla Frigate (domyślnie 8971)." + } + } + }, + "proxy": { + "label": "Serwer proxy (Reverse Proxy)", + "description": "Ustawienia integracji Frigate za serwerem reverse proxy przekazującym nagłówki uwierzytelnionych użytkowników.", + "header_map": { + "label": "Mapowanie nagłówków", + "description": "Mapuj przychodzące nagłówki proxy na pola użytkowników i ról we Frigate.", + "user": { + "label": "Nagłówek użytkownika", + "description": "Nagłówek zawierający nazwę uwierzytelnionego użytkownika z proxy." + }, + "role": { + "label": "Nagłówek roli", + "description": "Nagłówek zawierający rolę lub grupy użytkownika z serwera proxy." + }, + "role_map": { + "label": "Mapowanie ról", + "description": "Mapuj grupy z serwera proxy na role Frigate (np. mapuj grupę admin na rolę administratora)." + } + }, + "logout_url": { + "label": "Adres URL wylogowania", + "description": "Adres URL, na który użytkownicy są przekierowywani podczas wylogowywania przez proxy." + }, + "auth_secret": { + "label": "Sekret proxy", + "description": "Opcjonalny sekret weryfikowany z nagłówkiem X-Proxy-Secret w celu uwierzytelnienia zaufanego proxy." + }, + "default_role": { + "label": "Domyślna rola", + "description": "Domyślna rola przypisywana użytkownikom uwierzytelnionym przez proxy, jeśli nie ma zastosowania żadne mapowanie ról." + }, + "separator": { + "label": "Znak separatora", + "description": "Znak używany do rozdzielania wielu wartości w nagłówkach proxy." + } + }, + "telemetry": { + "label": "Telemetria", + "description": "Opcje telemetrii i statystyk systemowych, w tym monitorowanie GPU i przepustowości sieci.", + "network_interfaces": { + "label": "Interfejsy sieciowe", + "description": "Lista prefiksów nazw interfejsów sieciowych monitorowanych pod kątem przepustowości." + }, + "stats": { + "label": "Statystyki systemowe", + "description": "Opcje włączania/wyłączania zbierania statystyk systemowych i GPU.", + "amd_gpu_stats": { + "label": "Statystyki AMD GPU", + "description": "Włącz zbieranie statystyk karty graficznej AMD." + }, + "intel_gpu_stats": { + "label": "Statystyki Intel GPU", + "description": "Włącz zbieranie statystyk układu graficznego Intel." + }, + "network_bandwidth": { + "label": "Przepustowość sieci", + "description": "Włącz monitorowanie przepustowości sieci dla poszczególnych procesów FFmpeg kamer oraz detektorów (wymaga odpowiednich uprawnień capabilities)." + }, + "intel_gpu_device": { + "label": "Urządzenie Intel GPU", + "description": "Adres magistrali PCI lub ścieżka urządzenia DRM (np. /dev/dri/card1) używane do przypisania statystyk Intel GPU do konkretnego urządzenia, gdy występuje ich kilka." + } + }, + "version_check": { + "label": "Sprawdzanie wersji", + "description": "Włącz sprawdzanie dostępności nowszej wersji Frigate." + } + }, + "tls": { + "label": "TLS", + "description": "Ustawienia protokołu TLS dla punktów końcowych sieci WWW Frigate (port 8971).", + "enabled": { + "label": "Włącz TLS", + "description": "Włącz bezpieczne połączenie TLS dla panelu WWW i API Frigate." + } + }, + "ui": { + "label": "Interfejs użytkownika (UI)", + "description": "Preferencje interfejsu użytkownika, takie jak strefa czasowa, formatowanie czasu/daty i jednostki.", + "timezone": { + "label": "Strefa czasowa", + "description": "Strefa czasowa wyświetlana w interfejsie (domyślnie czas lokalny przeglądarki)." + }, + "time_format": { + "label": "Format czasu", + "description": "Format czasu używany w UI (browser, 12hour lub 24hour)." + }, + "unit_system": { + "label": "System jednostek", + "description": "System jednostek wyświetlania (metric lub imperial) używany w UI i MQTT." + } + }, + "detectors": { + "label": "Detektory", + "description": "Konfiguracja sprzętu akceleracji detekcji (Coral TPU, OpenVINO, TensorRT, CPU itp.).", + "type": { + "label": "Typ detektora" + }, + "model": { + "label": "Ścieżka modelu", + "description": "Opcje konfiguracji modelu specyficzne dla detektora (ścieżka, rozmiar wejściowy itp.).", + "path": { + "label": "Ścieżka do niestandardowego modelu detektora", + "description": "Ścieżka do pliku niestandardowego modelu detekcji (lub plus:// dla modeli Frigate+)." + }, + "labelmap_path": { + "label": "Mapa etykiet dla niestandardowego detektora", + "description": "Ścieżka do pliku mapy etykiet przypisującego numeryczne klasy do etykiet tekstowych." + }, + "width": { + "label": "Szerokość wejściowa modelu detekcji", + "description": "Szerokość tensora wejściowego modelu w pikselach." + }, + "height": { + "label": "Wysokość wejściowa modelu detekcji", + "description": "Wysokość tensora wejściowego modelu w pikselach." + }, + "labelmap": { + "label": "Personalizacja mapy etykiet", + "description": "Wpisy nadpisujące lub remapujące do scalenia ze standardową mapą etykiet." + }, + "attributes_map": { + "label": "Mapa etykiet obiektów do ich etykiet atrybutów", + "description": "Mapowanie etykiet obiektów na etykiety atrybutów używane do dołączania metadanych (np. car -> [license_plate])." + }, + "input_tensor": { + "label": "Kształt tensora wejściowego modelu", + "description": "Format tensora oczekiwany przez model: nhwc lub nchw." + }, + "input_pixel_format": { + "label": "Format kolorów pikseli wejściowych modelu", + "description": "Przestrzeń barw oczekiwana przez model: rgb, bgr lub yuv." + }, + "input_dtype": { + "label": "Typ danych wejściowych modelu (dtype)", + "description": "Typ danych wejściowego tensora modelu (np. float32)." + }, + "model_type": { + "label": "Typ modelu detekcji obiektów", + "description": "Typ architektury modelu detektora (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine) używany do optymalizacji." + } + }, + "model_path": { + "label": "Ścieżka do modelu detektora", + "description": "Ścieżka do pliku binarnego modelu detektora, jeśli jest wymagana przez wybrany detektor." + }, + "axengine": { + "label": "AXEngine NPU", + "description": "Detektor AXERA AX650N/AX8850N NPU uruchamiający skompilowane pliki .axmodel za pośrednictwem środowiska wykonawczego AXEngine." + }, + "cpu": { + "label": "CPU", + "description": "Detektor CPU uruchamiający modele TensorFlow Lite na procesorze hosta. Nie jest zalecany do zastosowań produkcyjnych z powodu dużego obciążenia procesora.", + "num_threads": { + "label": "Liczba wątków", + "description": "Liczba wątków procesora używanych przez detektor." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detektor DeepStack/CodeProject.AI wysyłający obrazy do zdalnego API HTTP DeepStack. Nie jest zalecany.", + "api_url": { + "label": "Adres URL API DeepStack", + "description": "Adres URL API DeepStack." + }, + "api_timeout": { + "label": "Limit czasu API DeepStack (sekundy)", + "description": "Limit czasu żądania do API DeepStack w sekundach." + }, + "api_key": { + "label": "Klucz API DeepStack (jeśli wymagany)", + "description": "Opcjonalny klucz API dla uwierzytelnionych usług DeepStack." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detektor EdgeTPU uruchamiający modele TensorFlow Lite skompilowane dla akceleratorów Coral EdgeTPU.", + "device": { + "label": "Typ urządzenia", + "description": "Urządzenie używane do inferencji EdgeTPU (np. usb, pci)." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detektor Hailo-8/Hailo-8L używający modeli HEF i SDK HailoRT do inferencji na akceleratorach Hailo.", + "device": { + "label": "Typ urządzenia", + "description": "Urządzenie używane do inferencji Hailo (np. PCIe, M.2)." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detektor MemryX MX3 uruchamiający skompilowane modele DFP na akceleratorach MemryX.", + "device": { + "label": "Ścieżka urządzenia", + "description": "Urządzenie używane do inferencji MemryX (np. PCIe)." + } + }, + "onnx": { + "label": "ONNX", + "description": "Detektor ONNX do uruchamiania modeli ONNX; korzysta z dostępnych backendów akceleracji (CUDA/ROCm/OpenVINO).", + "device": { + "label": "Typ urządzenia", + "description": "Urządzenie używane do inferencji ONNX (np. AUTO, CPU, GPU)." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "Detektor OpenVINO dla procesorów AMD i Intel, układów graficznych Intel GPU oraz akceleratorów Intel VPU.", + "device": { + "label": "Typ urządzenia", + "description": "Urządzenie używane do inferencji OpenVINO (np. CPU, GPU, NPU)." + } + }, + "rknn": { + "label": "RKNN", + "description": "Detektor RKNN dla układów NPU Rockchip; uruchamia skompilowane modele RKNN na sprzęcie Rockchip.", + "num_cores": { + "label": "Liczba rdzeni NPU do użycia.", + "description": "Liczba rdzeni NPU do użycia (0 dla automatycznego)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Detektor Synaptics NPU dla modeli w formacie .synap przy użyciu Synap SDK." + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Detektor delegata Teflon dla TFLite wykorzystujący bibliotekę Mesa Teflon do akceleracji inferencji na obsługiwanych GPU." + }, + "tensorrt": { + "label": "TensorRT", + "description": "Detektor TensorRT dla urządzeń NVIDIA i kart graficznych GeForce/Jetson wykorzystujący silniki TensorRT do akceleracji inferencji.", + "device": { + "label": "Indeks urządzenia GPU", + "description": "Indeks urządzenia GPU do użycia." + } + }, + "zmq": { + "label": "ZMQ IPC", + "description": "Detektor ZMQ IPC oddelegowujący inferencję do zewnętrznego procesu przez punkt końcowy ZeroMQ IPC.", + "endpoint": { + "label": "Punkt końcowy ZMQ IPC", + "description": "Punkt końcowy ZMQ do połączenia." + }, + "request_timeout_ms": { + "label": "Limit czasu żądania ZMQ w milisekundach", + "description": "Limit czasu dla żądań ZMQ w milisekundach." + }, + "linger_ms": { + "label": "Czas oczekiwania gniazda ZMQ w milisekundach", + "description": "Okres oczekiwania gniazda ZMQ (linger) w milisekundach." + } + } + }, + "model": { + "label": "Model detekcji", + "description": "Ustawienia konfiguracji niestandardowego modelu detekcji obiektów i jego kształtu wejściowego.", + "path": { + "label": "Ścieżka do modelu", + "description": "Ścieżka do pliku niestandardowego modelu detekcji (lub plus:// dla modeli Frigate+)." + }, + "labelmap_path": { + "label": "Ścieżka mapy etykiet", + "description": "Ścieżka do pliku mapy etykiet, który mapuje klasy numeryczne na etykiety tekstowe dla detektora." + }, + "width": { + "label": "Szerokość wejściowa", + "description": "Szerokość wejściowa modelu detekcji w pikselach (np. 320 lub 640)." + }, + "height": { + "label": "Wysokość wejściowa", + "description": "Wysokość wejściowa modelu detekcji w pikselach (np. 320 lub 640)." + }, + "labelmap": { + "label": "Personalizacja mapy etykiet", + "description": "Wpisy nadpisujące lub remapujące do scalenia ze standardową mapą etykiet." + }, + "attributes_map": { + "label": "Mapa etykiet obiektów do ich etykiet atrybutów", + "description": "Mapowanie etykiet obiektów na etykiety atrybutów używane do dołączania metadanych (np. car -> [license_plate])." + }, + "input_tensor": { + "label": "Kształt tensora wejściowego modelu", + "description": "Format tensora oczekiwany przez model: nhwc lub nchw." + }, + "input_pixel_format": { + "label": "Format kolorów pikseli wejściowych modelu", + "description": "Przestrzeń barw oczekiwana przez model: rgb, bgr lub yuv." + }, + "input_dtype": { + "label": "Typ danych wejściowych modelu (dtype)", + "description": "Typ danych wejściowego tensora modelu (np. float32)." + }, + "model_type": { + "label": "Typ modelu detekcji obiektów", + "description": "Typ architektury modelu detektora (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine) używany do optymalizacji." + } + }, + "genai": { + "label": "Generative AI (GenAI)", + "description": "Ustawienia integracji z dostawcami Generative AI (OpenAI, Gemini, Ollama itp.) do generowania podsumowań i opisów.", + "api_key": { + "label": "Klucz API", + "description": "Klucz API wymagany przez niektórych dostawców (może być również ustawiony za pomocą zmiennych środowiskowych)." + }, + "base_url": { + "label": "Podstawowy adres URL", + "description": "Podstawowy adres URL dla dostawców hostowanych lokalnie lub kompatybilnych (na przykład instancji Ollama)." + }, + "model": { + "label": "Model", + "description": "Identyfikator modelu AI (np. gpt-4o-mini, gemini-1.5-flash)." + }, + "provider": { + "label": "Dostawca", + "description": "Nazwa dostawcy GenAI (openai, gemini, ollama itp.)." + }, + "roles": { + "label": "Role dostawcy", + "description": "Role przypisane do tego dostawcy (chat, descriptions, embeddings)." + }, + "provider_options": { + "label": "Opcje dostawcy", + "description": "Dodatkowe opcje specyficzne dla dostawcy przekazywane do klienta GenAI." + }, + "runtime_options": { + "label": "Opcje wykonawcze", + "description": "Opcje wykonawcze przekazywane dostawcy przy każdym wywołaniu inferencji." + } + }, + "classification": { + "label": "Klasyfikacja niestandardowa", + "description": "Ustawienia niestandardowych modeli klasyfikacji obrazów (np. rozpoznawanie zwierząt, roślin, pojazdów).", + "bird": { + "label": "Konfiguracja klasyfikacji ptaków", + "description": "Ustawienia specyficzne dla modeli klasyfikacji ptaków.", + "enabled": { + "label": "Klasyfikacja ptaków", + "description": "Włącz lub wyłącz klasyfikację gatunków ptaków." + }, + "threshold": { + "label": "Minimalna ocena", + "description": "Minimalna ocena klasyfikacji wymagana do zaakceptowania gatunku ptaka." + } + }, + "custom": { + "label": "Niestandardowe modele klasyfikacji", + "description": "Konfiguracja niestandardowych modeli klasyfikacji używanych do detekcji obiektów lub stanów.", + "enabled": { + "label": "Włącz model", + "description": "Włącz lub wyłącz niestandardowy model klasyfikacji." + }, + "name": { + "label": "Nazwa modelu", + "description": "Identyfikator używanego niestandardowego modelu klasyfikacji." + }, + "threshold": { + "label": "Próg oceny", + "description": "Próg oceny używany do zmiany stanu klasyfikacji." + }, + "save_attempts": { + "label": "Zapisuj próby", + "description": "Liczba prób klasyfikacji zapisywanych na potrzeby widoku ostatnich klasyfikacji." + }, + "object_config": { + "objects": { + "label": "Klasyfikuj obiekty", + "description": "Lista typów obiektów, dla których ma być uruchamiana klasyfikacja obiektów." + }, + "classification_type": { + "label": "Typ klasyfikacji", + "description": "Stosowany typ klasyfikacji: sub_label (dodaje podetykietę) lub inne obsługiwane typy." + } + }, + "state_config": { + "cameras": { + "label": "Kamery klasyfikacji", + "description": "Ustawienia kadrowania i konfiguracji klasyfikacji stanów dla poszczególnych kamer.", + "crop": { + "label": "Kadr klasyfikacji", + "description": "Współrzędne kadru używane do uruchamiania klasyfikacji na tej kamerze." + } + }, + "motion": { + "label": "Uruchamiaj przy ruchu", + "description": "Jeśli włączone, uruchamiaj klasyfikację po wykryciu ruchu w określonym kadrze." + }, + "interval": { + "label": "Interwał klasyfikacji", + "description": "Interwał (w sekundach) między okresowymi uruchomieniami klasyfikacji stanów." + } + } + } + }, + "camera_groups": { + "label": "Grupy kamer", + "description": "Konfiguracja nazwanych grup kamer używanych do organizowania kamer w interfejsie użytkownika.", + "cameras": { + "label": "Kamery w grupie", + "description": "Lista kamer należących do tej grupy." + }, + "icon": { + "label": "Ikona grupy", + "description": "Ikona wyświetlana dla tej grupy w interfejsie." + }, + "order": { + "label": "Kolejność grupy", + "description": "Kolejność numeryczna używana do sortowania grup kamer w interfejsie; większe liczby pojawiają się później." + } + }, + "active_profile": { + "label": "Aktywny profil", + "description": "Profil domyślnie aktywowany przy uruchomieniu Frigate." + }, + "camera_mqtt": { + "label": "MQTT kamery", + "description": "Domyślne ustawienia publikowania obrazów MQTT dla kamer.", + "enabled": { + "label": "Wysyłaj obraz", + "description": "Włącz publikowanie migawek obrazów dla obiektów do tematów MQTT dla tej kamery." + }, + "timestamp": { + "label": "Dodaj znacznik czasu", + "description": "Nakładaj znacznik czasu na obrazy publikowane przez MQTT." + }, + "bounding_box": { + "label": "Dodaj ramkę ograniczającą", + "description": "Rysuj ramki ograniczające na obrazach publikowanych przez MQTT." + }, + "crop": { + "label": "Kadruj obraz", + "description": "Kadruj obrazy publikowane do MQTT do ramki wykrytego obiektu." + }, + "height": { + "label": "Wysokość obrazu", + "description": "Wysokość w pikselach dla obrazów publikowanych przez MQTT." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, w których obiekt musi się znaleźć, aby opublikować obraz MQTT." + }, + "quality": { + "label": "Jakość JPEG", + "description": "Jakość JPEG dla obrazów publikowanych do MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Interfejs kamery", + "description": "Kolejność wyświetlania i widoczność tej kamery w interfejsie użytkownika. Kolejność wpływa na domyślny pulpit nawigacyjny. Aby uzyskać bardziej szczegółową kontrolę, użyj grup kamer.", + "order": { + "label": "Kolejność w UI", + "description": "Kolejność numeryczna używana do sortowania kamery w interfejsie (domyślny pulpit i listy); większe liczby pojawiają się później." + }, + "dashboard": { + "label": "Pokazuj na pulpicie Na żywo", + "description": "Przełącz, czy ta kamera ma być widoczna na domyślnym pulpicie Na żywo (Wszystkie kamery). Kamera pozostaje dostępna we wszystkich innych miejscach interfejsu, w tym w grupach kamer i ustawieniach." + }, + "review": { + "label": "Pokazuj w Przeglądzie", + "description": "Przełącz, czy ta kamera ma być widoczna w przeglądzie (strona przeglądu, filtr kamer, przegląd ruchu oraz widok historii)." } } } diff --git a/web/public/locales/pl/config/validation.json b/web/public/locales/pl/config/validation.json index cded1fbb3d..7874d2ee0c 100644 --- a/web/public/locales/pl/config/validation.json +++ b/web/public/locales/pl/config/validation.json @@ -3,16 +3,33 @@ "maximum": "Może wynosić najwyżej {{limit}}", "exclusiveMinimum": "Musi być większe niż {{limit}}", "exclusiveMaximum": "Musi być mniejsze niż {{limit}}", - "minLength": "Musi być co najmniej {{limit}} znaków", - "maxLength": "Maksymalnie może być {{limit}} znaków", - "minItems": "Musi zawierać co najmniej {{limit}} pozycji", - "maxItems": "Maksymalnie {{limit}} pozycji", + "minLength": "Musi zawierać co najmniej {{limit}} znaków", + "maxLength": "Może zawierać maksymalnie {{limit}} znaków", + "minItems": "Musi zawierać co najmniej {{limit}} elementów", + "maxItems": "Może zawierać maksymalnie {{limit}} elementów", "pattern": "Nieprawidłowy format", - "required": "To pole jest obowiązkowe", + "required": "To pole jest wymagane", "type": "Nieprawidłowy typ wartości", "enum": "Musi to być jedna z dozwolonych wartości", - "const": "Wartość niezgodna z oczekiwaną stałą", - "uniqueItems": "Wszystkie pozycje muszą być unikalne", + "const": "Wartość nie jest zgodna z oczekiwaną stałą", + "uniqueItems": "Wszystkie elementy muszą być unikalne", "format": "Nieprawidłowy format", - "additionalProperties": "Nieznana właściwość jest niedozwolona" + "additionalProperties": "Nieznana właściwość jest niedozwolona", + "oneOf": "Musi pasować dokładnie do jednego z dozwolonych schematów", + "anyOf": "Musi pasować do co najmniej jednego z dozwolonych schematów", + "proxy": { + "header_map": { + "roleHeaderRequired": "Nagłówek roli jest wymagany, gdy skonfigurowano mapowanie ról." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Każda rola może być przypisana tylko do jednego strumienia wejściowego.", + "detectRequired": "Co najmniej jeden strumień wejściowy musi mieć przypisaną rolę 'detect'.", + "hwaccelDetectOnly": "Tylko strumień wejściowy z rolą 'detect' może definiować argumenty akceleracji sprzętowej." + } + }, + "detect": { + "dimensionMustBeEven": "Musi być liczbą parzystą." + } } diff --git a/web/public/locales/pl/objects.json b/web/public/locales/pl/objects.json index 3923ec7266..9638285179 100644 --- a/web/public/locales/pl/objects.json +++ b/web/public/locales/pl/objects.json @@ -26,37 +26,37 @@ "bark": "Szczekanie", "person": "Osoba", "airplane": "Samolot", - "traffic_light": "Światła Uliczne", + "traffic_light": "Sygnalizacja świetlna", "fire_hydrant": "Hydrant", - "street_sign": "Znak Drogowy", - "stop_sign": "Znak Stopu", - "parking_meter": "Parkometr", + "street_sign": "Znak drogowy", + "stop_sign": "Znak stop", + "parking_meter": "Parkomat", "bench": "Ławka", "cow": "Krowa", "bear": "Niedźwiedź", "giraffe": "Żyrafa", "backpack": "Plecak", - "umbrella": "Parasolka", + "umbrella": "Parasol", "shoe": "But", - "eye_glasses": "Okulary Przeciwsłoneczne", + "eye_glasses": "Okulary", "tie": "Krawat", "skis": "Narty", - "tennis_racket": "Rakieta Tenisowa", + "tennis_racket": "Rakieta tenisowa", "bottle": "Butelka", - "plate": "Tależ", - "wine_glass": "Kieliszek do Wina", + "plate": "Talerz", + "wine_glass": "Kieliszek do wina", "cup": "Kubek", "fork": "Widelec", "banana": "Banan", "apple": "Jabłko", "carrot": "Marchewka", - "hot_dog": "Hot Dog", + "hot_dog": "Hot dog", "pizza": "Pizza", - "cake": "Ciastko", + "cake": "Ciasto", "chair": "Krzesło", "bed": "Łóżko", "mirror": "Lustro", - "dining_table": "Stół Jadalny", + "dining_table": "Stół jadalny", "window": "Okno", "toilet": "Toaleta", "tv": "Telewizor", @@ -65,21 +65,21 @@ "toaster": "Toster", "refrigerator": "Lodówka", "book": "Książka", - "vase": "Waza", - "hair_brush": "Szczotka do Włosów", + "vase": "Wazon", + "hair_brush": "Szczotka do włosów", "squirrel": "Wiewiórka", "fox": "Lis", - "waste_bin": "Kosz na Śmieci", + "waste_bin": "Kosz na śmieci", "face": "Twarz", - "license_plate": "Tablica Rejestracyjna", + "license_plate": "Tablica rejestracyjna", "package": "Paczka", "bbq_grill": "Grill", "amazon": "Amazon", "dhl": "DHL", "gls": "GLS", "dpd": "DPD", - "baseball_glove": "Rękawica Bejsbolowa", - "baseball_bat": "Kij Bejsbolowy", + "baseball_glove": "Rękawica bejsbolowa", + "baseball_bat": "Kij bejsbolowy", "bowl": "Miska", "spoon": "Łyżka", "sandwich": "Kanapka", @@ -87,11 +87,11 @@ "snowboard": "Snowboard", "knife": "Nóż", "broccoli": "Brokuł", - "elephant": "Śłoń", + "elephant": "Słoń", "desk": "Biurko", "orange": "Pomarańcza", - "cell_phone": "Telefon Komórkowy", - "microwave": "Mikrofalówka", + "cell_phone": "Telefon komórkowy", + "microwave": "Kuchenka mikrofalowa", "oven": "Piekarnik", "hat": "Kapelusz", "handbag": "Torebka", @@ -102,19 +102,30 @@ "donut": "Pączek", "couch": "Kanapa", "potted_plant": "Roślina doniczkowa", - "teddy_bear": "Miś pluszowy", + "teddy_bear": "Pluszowy miś", "deer": "Jeleń", "rabbit": "Królik", "raccoon": "Szop pracz", "robot_lawnmower": "Robot koszący", - "usps": "USPS (Poczta Amerykańska)", + "usps": "USPS", "on_demand": "Na żądanie", "ups": "UPS", "fedex": "FedEx", - "an_post": "An Post (Poczta Irlandzka)", + "an_post": "An Post", "purolator": "Purolator", - "postnl": "PostNL (Poczta Holenderska)", - "nzpost": "NZPost (Poczta Nowozelandzka)", - "postnord": "PostNord (Poczta Skandynawska)", - "frisbee": "Frisbee" + "postnl": "PostNL", + "nzpost": "NZPost", + "postnord": "PostNord", + "frisbee": "Frisbee", + "canada_post": "Canada Post", + "royal_mail": "Royal Mail", + "school_bus": "Autobus szkolny", + "skunk": "Skunks", + "kangaroo": "Kangur", + "baby": "Niemowlę", + "baby_stroller": "Wózek dziecięcy", + "rickshaw": "Ryksza", + "rodent": "Gryzoń", + "possum": "Opos", + "garbage_truck": "Śmieciarka" } diff --git a/web/public/locales/pl/views/chat.json b/web/public/locales/pl/views/chat.json index f16ccc2c32..a1c901baf1 100644 --- a/web/public/locales/pl/views/chat.json +++ b/web/public/locales/pl/views/chat.json @@ -1,4 +1,72 @@ { "documentTitle": "Czat - Frigate", - "title": "Frigate Czat" + "title": "Czat Frigate", + "subtitle": "Twój asystent AI do zarządzania kamerami i analizy zdarzeń", + "placeholder": "Zapytaj o cokolwiek...", + "error": "Coś poszło nie tak. Spróbuj ponownie.", + "processing": "Przetwarzanie...", + "toolsUsed": "Użyto: {{tools}}", + "showTools": "Pokaż narzędzia ({{count}})", + "hideTools": "Ukryj narzędzia", + "call": "Wywołanie", + "result": "Wynik", + "arguments": "Argumenty:", + "response": "Odpowiedź:", + "attachment_chip_label": "{{label}} na kamerze {{camera}}", + "attachment_chip_remove": "Usuń załącznik", + "open_in_explore": "Otwórz w Przeglądaj", + "attach_event_aria": "Załącz zdarzenie {{eventId}}", + "attachment_picker_paste_label": "Lub wklej identyfikator zdarzenia", + "attachment_picker_attach": "Załącz", + "attachment_picker_placeholder": "Załącz zdarzenie", + "quick_reply_find_similar": "Znajdź podobne obserwacje", + "quick_reply_tell_me_more": "Powiedz mi więcej na ten temat", + "quick_reply_when_else": "Kiedy jeszcze to widziano?", + "quick_reply_find_similar_text": "Znajdź podobne obserwacje do tej.", + "quick_reply_tell_me_more_text": "Opowiedz mi więcej o tym obiekcie.", + "quick_reply_when_else_text": "Kiedy jeszcze to zarejestrowano?", + "anchor": "Odnośnik", + "similarity_score": "Podobieństwo", + "no_similar_objects_found": "Nie znaleziono podobnych obiektów.", + "semantic_search_required": "Wyszukiwanie semantyczne musi być włączone, aby znaleźć podobne obiekty.", + "send": "Wyślij", + "suggested_requests": "Spróbuj zapytać:", + "starting_requests": { + "show_recent_events": "Pokaż ostatnie zdarzenia", + "show_camera_status": "Pokaż stan kamer", + "recap": "Co się wydarzyło pod moją nieobecność?", + "watch_camera": "Obserwuj aktywność na kamerze" + }, + "starting_requests_prompts": { + "show_recent_events": "Pokaż mi ostatnie zdarzenia z ostatniej godziny", + "show_camera_status": "Jaki jest aktualny stan moich kamer?", + "recap": "Co się wydarzyło pod moją nieobecność?", + "watch_camera": "Obserwuj drzwi wejściowe i daj mi znać, jeśli ktoś się pojawi" + }, + "new_chat": "Nowy czat", + "settings": { + "title": "Ustawienia czatu", + "show_stats": { + "title": "Pokaż statystyki", + "desc": "Pokaż szybkość generowania i rozmiar kontekstu dla odpowiedzi czatu.", + "while_generating": "Podczas generowania", + "always": "Zawsze" + }, + "auto_scroll": { + "title": "Automatyczne przewijanie", + "desc": "Podążaj za nowymi wiadomościami w miarę ich napływu." + } + }, + "stats": { + "context": "{{tokens}} tokenów", + "tokens_per_second": "{{rate}} t/s" + }, + "reasoning": { + "active": "Rozumowanie…", + "show": "Pokaż proces rozumowania", + "hide": "Ukryj proces rozumowania" + }, + "thinking": { + "toggle": "Przełącz myślenie" + } } diff --git a/web/public/locales/pl/views/classificationModel.json b/web/public/locales/pl/views/classificationModel.json index b5a048882e..fb1ab2736a 100644 --- a/web/public/locales/pl/views/classificationModel.json +++ b/web/public/locales/pl/views/classificationModel.json @@ -62,7 +62,20 @@ "title": "Edytuj model klasyfikacji", "descriptionObject": "Zmień typ obiektu i kryteria dla tego modelu klasyfikacji.", "stateClassesInfo": "Uwaga: Zmiana typu klasyfikacji wymaga treningu nowego modelu.", - "descriptionState": "Edycja klas dla tego modelu klasyfikacji stanu. Zmiany będą wymagały przekwalifikowania modelu." + "descriptionState": "Edycja klas dla tego modelu klasyfikacji stanu. Zmiany będą wymagały przekwalifikowania modelu.", + "enabled": "Włączony", + "enabledDesc": "Uruchamiaj ten model. Po wyłączeniu model przestanie działać i nie będzie już klasyfikować.", + "saveAttempts": "Zapisuj próby", + "saveAttemptsDesc": "Liczba obrazów prób klasyfikacji do zachowania na potrzeby widoku ostatnich klasyfikacji.", + "motion": "Uruchamiaj przy ruchu", + "motionDesc": "Uruchamiaj klasyfikację po wykryciu ruchu w skonfigurowanym kadrze.", + "interval": "Interwał", + "intervalDesc": "Liczba sekund między okresowymi uruchomieniami klasyfikacji. Pozostaw puste, aby uruchamiać tylko przy wykryciu ruchu.", + "intervalPlaceholder": "Brak interwału", + "errors": { + "saveAttemptsInvalid": "Liczba prób do zapisania musi być liczbą całkowitą równą 0 lub większą", + "intervalInvalid": "Interwał musi być liczbą całkowitą większą od 0" + } }, "tooltip": { "trainingInProgress": "Trwa trenowanie modelu", @@ -202,5 +215,6 @@ } }, "reclassifyImageAs": "Klasyfikuj jako:", - "reclassifyImage": "Zmiana klasyfikacji obrazu" + "reclassifyImage": "Zmiana klasyfikacji obrazu", + "disabled": "Wyłączony" } diff --git a/web/public/locales/pl/views/events.json b/web/public/locales/pl/views/events.json index 98378d224c..d157f20114 100644 --- a/web/public/locales/pl/views/events.json +++ b/web/public/locales/pl/views/events.json @@ -40,8 +40,8 @@ "label": "Zobacz nowe elementy do przeglądu", "button": "Nowe elementy do przeglądu" }, - "selected_one": "{{count}} wybrane", - "selected_other": "{{count}} wybrane", + "selected_one": "Wybrano {{count}}", + "selected_other": "Wybrano {{count}}", "detected": "wykryto", "suspiciousActivity": "Podejrzana aktywność", "threateningActivity": "Niebezpieczne działania", diff --git a/web/public/locales/pl/views/exports.json b/web/public/locales/pl/views/exports.json index 82e6857fc1..87ba3ea671 100644 --- a/web/public/locales/pl/views/exports.json +++ b/web/public/locales/pl/views/exports.json @@ -1,6 +1,6 @@ { "search": "Szukaj", - "documentTitle": "Eksportuj - Frigate", + "documentTitle": "Eksporty - Frigate", "noExports": "Nie znaleziono eksportów", "deleteExport": { "label": "Usuń eksport" @@ -13,7 +13,10 @@ }, "toast": { "error": { - "renameExportFailed": "Nie udało się zmienić nazwy eksportu: {{errorMessage}}" + "renameExportFailed": "Nie udało się zmienić nazwy eksportu: {{errorMessage}}", + "assignCaseFailed": "Nie udało się zaktualizować przypisania do sprawy: {{errorMessage}}", + "caseSaveFailed": "Nie udało się zapisać sprawy: {{errorMessage}}", + "caseDeleteFailed": "Nie udało się usunąć sprawy: {{errorMessage}}" } }, "tooltip": { @@ -21,10 +24,105 @@ "downloadVideo": "Pobierz wideo", "editName": "Edytuj nazwę", "deleteExport": "Usuń eksport", - "assignToCase": "Dodaj do sprawy" + "assignToCase": "Dodaj do sprawy", + "removeFromCase": "Usuń ze sprawy" }, "headings": { - "cases": "Przypadki", - "uncategorizedExports": "Bez kategorii Eksport" + "cases": "Sprawy", + "uncategorizedExports": "Nieskategoryzowane eksporty" + }, + "toolbar": { + "newCase": "Nowa sprawa", + "addExport": "Dodaj eksport", + "editCase": "Edytuj sprawę", + "deleteCase": "Usuń sprawę" + }, + "deleteCase": { + "label": "Usuń sprawę", + "desc": "Czy na pewno chcesz usunąć sprawę {{caseName}}?", + "descKeepExports": "Eksporty pozostaną dostępne jako nieskategoryzowane.", + "descDeleteExports": "Wszystkie eksporty w tej sprawie zostaną trwale usunięte.", + "deleteExports": "Usuń także eksporty" + }, + "caseDialog": { + "title": "Dodaj do sprawy", + "description": "Wybierz istniejącą sprawę lub utwórz nową.", + "selectLabel": "Sprawa", + "newCaseOption": "Utwórz nową sprawę", + "nameLabel": "Nazwa sprawy", + "descriptionLabel": "Opis" + }, + "caseCard": { + "emptyCase": "Brak eksportów" + }, + "jobCard": { + "defaultName": "Eksport {{camera}}", + "queued": "W kolejce", + "running": "W trakcie", + "preparing": "Przygotowywanie", + "copying": "Kopiowanie", + "encoding": "Kodowanie", + "encodingRetry": "Kodowanie (ponowna próba)", + "finalizing": "Finalizowanie" + }, + "caseView": { + "noDescription": "Brak opisu", + "createdAt": "Utworzono {{value}}", + "exportCount_one": "1 eksport", + "exportCount_other": "{{count}} eksportów", + "cameraCount_one": "1 kamera", + "cameraCount_other": "{{count}} kamer", + "showMore": "Pokaż więcej", + "showLess": "Pokaż mniej", + "emptyTitle": "Ta sprawa jest pusta", + "emptyDescription": "Dodaj istniejące nieskategoryzowane eksporty, aby zachować porządek w sprawie.", + "emptyDescriptionNoExports": "Brak dostępnych nieskategoryzowanych eksportów do dodania." + }, + "caseEditor": { + "createTitle": "Utwórz sprawę", + "editTitle": "Edytuj sprawę", + "namePlaceholder": "Nazwa sprawy", + "descriptionPlaceholder": "Dodaj notatki lub kontekst dla tej sprawy" + }, + "addExportDialog": { + "title": "Dodaj eksport do {{caseName}}", + "searchPlaceholder": "Szukaj nieskategoryzowanych eksportów", + "empty": "Brak nieskategoryzowanych eksportów pasujących do tego wyszukiwania.", + "addButton_one": "Dodaj 1 eksport", + "addButton_other": "Dodaj {{count}} eksportów", + "adding": "Dodawanie..." + }, + "selected_one": "Wybrano {{count}}", + "selected_other": "Wybrano {{count}}", + "bulkActions": { + "addToCase": "Dodaj do sprawy", + "moveToCase": "Przenieś do sprawy", + "removeFromCase": "Usuń ze sprawy", + "delete": "Usuń", + "deleteNow": "Usuń teraz" + }, + "bulkDelete": { + "title": "Usuń eksporty", + "desc_one": "Czy na pewno chcesz usunąć {{count}} eksport?", + "desc_other": "Czy na pewno chcesz usunąć {{count}} eksportów?" + }, + "bulkRemoveFromCase": { + "title": "Usuń ze sprawy", + "desc_one": "Usunąć {{count}} eksport z tej sprawy?", + "desc_other": "Usunąć {{count}} eksportów z tej sprawy?", + "descKeepExports": "Eksporty zostaną przeniesione do nieskategoryzowanych.", + "descDeleteExports": "Eksporty zostaną trwale usunięte.", + "deleteExports": "Zamiast tego trwale usuń eksporty" + }, + "bulkToast": { + "success": { + "delete": "Pomyślnie usunięto eksporty", + "reassign": "Pomyślnie zaktualizowano przypisanie do sprawy", + "remove": "Pomyślnie usunięto eksporty ze sprawy" + }, + "error": { + "deleteFailed": "Nie udało się usunąć eksportów: {{errorMessage}}", + "reassignFailed": "Nie udało się zaktualizować przypisania do sprawy: {{errorMessage}}" + } } } diff --git a/web/public/locales/pl/views/faceLibrary.json b/web/public/locales/pl/views/faceLibrary.json index 19b6dbbe30..9f7af92ef3 100644 --- a/web/public/locales/pl/views/faceLibrary.json +++ b/web/public/locales/pl/views/faceLibrary.json @@ -31,7 +31,11 @@ "aria": "Wybierz ostatnio rozpoznane", "title": "Ostatnie rozpoznania", "empty": "Nie podjęto ostatnio żadnych prób rozpoznawania twarzy", - "titleShort": "Ostatnie" + "titleShort": "Ostatnie", + "emptyNoLibrary": { + "title": "Prześlij twarz", + "description": "Musisz dodać co najmniej jedną twarz do biblioteki, aby rozpoznawanie twarzy mogło działać." + } }, "selectFace": "Wybierz twarz", "deleteFaceLibrary": { @@ -66,7 +70,8 @@ "addFaceLibrary": "{{name}} został pomyślnie dodany do Biblioteki Twarzy!", "trainedFace": "Pomyślnie wytrenowano twarz.", "updatedFaceScore": "Pomyślnie zaktualizowano wynik twarzy do {{name}} {{score}}.", - "renamedFace": "Pomyślnie zmieniono nazwę twarzy na {{name}}" + "renamedFace": "Pomyślnie zmieniono nazwę twarzy na {{name}}", + "reclassifiedFace": "Pomyślnie przeklasyfikowano twarz." }, "error": { "addFaceLibraryFailed": "Nie udało się ustawić nazwy twarzy: {{errorMessage}}", @@ -75,7 +80,8 @@ "trainFailed": "Nie udało się przeprowadzić treningu: {{errorMessage}}", "updateFaceScoreFailed": "Nie udało się zaktualizować wyniku twarzy: {{errorMessage}}", "uploadingImageFailed": "Nie udało się wgrać obrazu: {{errorMessage}}", - "renameFaceFailed": "Nie udało się zmienić nazwy twarzy: {{errorMessage}}" + "renameFaceFailed": "Nie udało się zmienić nazwy twarzy: {{errorMessage}}", + "reclassifyFailed": "Nie udało się przeklasyfikować twarzy: {{errorMessage}}" } }, "readTheDocs": "Przeczytaj dokumentację", @@ -101,5 +107,7 @@ "desc_many": "Czy na pewno chcesz usunąć {{count}} twarzy? Tej czynności nie można cofnąć." }, "nofaces": "Brak dostępnych twarzy", - "pixels": "{{area}}px" + "pixels": "{{area}}px", + "reclassifyFaceAs": "Przeklasyfikuj twarz jako:", + "reclassifyFace": "Przeklasyfikuj twarz" } diff --git a/web/public/locales/pl/views/live.json b/web/public/locales/pl/views/live.json index 77f1a4229e..aba635bf01 100644 --- a/web/public/locales/pl/views/live.json +++ b/web/public/locales/pl/views/live.json @@ -58,7 +58,8 @@ }, "recording": { "enable": "Włącz nagrywanie", - "disable": "Wyłącz nagrywanie" + "disable": "Wyłącz nagrywanie", + "disabledInConfig": "Nagrywanie musi być najpierw włączone w Ustawieniach dla tej kamery." }, "snapshots": { "enable": "Włącz zrzuty ekranu", @@ -129,7 +130,8 @@ "snapshots": "Zrzuty ekranu", "audioDetection": "Wykrywanie dźwięku", "autotracking": "Automatyczne śledzenie", - "transcription": "Stenogram" + "transcription": "Stenogram", + "camera": "Kamera" }, "effectiveRetainMode": { "modes": { @@ -152,7 +154,9 @@ }, "camera": { "disable": "Wyłącz kamerę", - "enable": "Włącz kamerę" + "enable": "Włącz kamerę", + "turnOn": "Włącz kamerę", + "turnOff": "Wyłącz kamerę" }, "autotracking": { "enable": "Włącz automatyczne śledzenie", diff --git a/web/public/locales/pl/views/motionSearch.json b/web/public/locales/pl/views/motionSearch.json index 6406859bb3..573aeb4e4b 100644 --- a/web/public/locales/pl/views/motionSearch.json +++ b/web/public/locales/pl/views/motionSearch.json @@ -1,30 +1,35 @@ { - "documentTitle": "Wyszukiwanie zdarzeń ruchu - Frigate", - "title": "Wyszukiwanie zdarzeń ruchu", - "description": "Narysuj wielokąt aby wyznaczyć obszar zainteresowania, a następnie określ przedział czasowy w którym chcesz wyszukać zmiany ruchu w tym obszarze.", - "selectCamera": "Ładowanie wyszukiwania zdarzeń ruchu", - "startSearch": "Start wyszukiwania", - "searchStarted": "Uruchomiono wyszukiwanie", - "searchCancelled": "Zatrzymano wyszukiwanie", + "documentTitle": "Wyszukiwanie ruchu - Frigate", + "title": "Wyszukiwanie ruchu", + "description": "Narysuj wielokąt, aby wyznaczyć obszar zainteresowania, a następnie określ zakres czasu, w którym chcesz wyszukać zmiany ruchu w tym obszarze.", + "selectCamera": "Ładowanie wyszukiwania ruchu", + "startSearch": "Rozpocznij wyszukiwanie", + "searchStarted": "Rozpoczęto wyszukiwanie", + "searchCancelled": "Anulowano wyszukiwanie", "cancelSearch": "Anuluj", - "searching": "Wyszukiwanie w trakcie.", - "searchComplete": "Wyszukiwanie zakończono", - "noResultsYet": "Przeprowadź wyszukiwanie aby znaleźć zmiany ruchu w zaznaczonym obszarze", - "noChangesFound": "W wybranym obszarze nie wykryto żadnych zmian w pikselach", - "framesProcessed": "{{count}} przetworzonych klatek obrazu", + "searching": "Wyszukiwanie w toku.", + "searchComplete": "Wyszukiwanie zakończone", + "noResultsYet": "Uruchom wyszukiwanie, aby znaleźć zmiany ruchu w zaznaczonym obszarze", + "noChangesFound": "Nie wykryto zmian pikseli w wybranym obszarze", + "framesProcessed": "Przetworzono {{count}} klatek", "jumpToTime": "Przejdź do tego momentu", "results": "Wyniki", - "showSegmentHeatmap": "Mapa cieplna", + "showSegmentHeatmap": "Mapa ciepła", "newSearch": "Nowe wyszukiwanie", "clearResults": "Wyczyść wyniki", - "clearROI": "Wyczyść strefę", + "clearROI": "Wyczyść wielokąt", "polygonControls": { - "undo": "Cofnij ostatnią zmianę", - "reset": "Reset strefy" + "undo": "Cofnij ostatni punkt", + "reset": "Zresetuj wielokąt", + "points_one": "{{count}} punkt", + "points_few": "{{count}} punkty", + "points_many": "{{count}} punktów", + "drawMode": "Rysuj", + "moveMode": "Przesuń" }, - "motionHeatmapLabel": "Mapa aktywności ruchu", + "motionHeatmapLabel": "Mapa ciepła ruchu", "dialog": { - "title": "Wyszukiwanie według ruchu", + "title": "Wyszukiwanie ruchu", "cameraLabel": "Kamera", "previewAlt": "Podgląd z kamery {{camera}}" }, @@ -36,23 +41,42 @@ "settings": { "title": "Ustawienia wyszukiwania", "parallelMode": "Tryb równoległy", - "parallelModeDesc": "Przeskanuj wiele fragmentów nagrania jednocześnie (szybsze, ale znacznie bardziej obciążające procesor)", + "parallelModeDesc": "Skanuj wiele zakresów nagrań jednocześnie (szybsze; zużywa więcej zasobów dekodowania)", "threshold": "Próg czułości", - "thresholdDesc": "Niższe wartości pozwalają wykrywać mniejsze zmiany (1–255)", - "minArea": "Obszar minimalnej zmiany", - "minAreaDesc": "Minimalny procent obszaru zainteresowania który musi ulec zmianie aby uznano to za istotne", + "thresholdDesc": "Niższe wartości wykrywają mniejsze zmiany (1-255)", + "minArea": "Minimalny obszar zmiany", + "minAreaDesc": "Minimalny rozmiar pojedynczego poruszającego się obszaru jako procent obszaru zainteresowania", "frameSkip": "Pominięcie klatki", "frameSkipDesc": "Przetwarza co N klatkę. Ustaw wartość na liczbę klatek na sekundę swojej kamery, aby przetwarzać jedną klatkę na sekundę (np. 5 dla kamery o 5 klatkach na sekundę, 30 dla kamery o 30 klatkach na sekundę). Wyższe wartości zapewniają większą szybkość ale mogą powodować pominięcie krótkich zdarzeń ruchu.", - "maxResults": "Maksymalne wyniki", - "maxResultsDesc": "Zatrzymaj się po osiągnięciu określonej liczby pasujących znaczników czasu" + "maxResults": "Maksymalna liczba wyników", + "maxResultsDesc": "Zatrzymaj po znalezieniu tylu pasujących znaczników czasu" }, "errors": { "noCamera": "Wybierz kamerę", - "noROI": "Zaznacz obszar zainteresowania", - "noTimeRange": "Ustaw przedział czasowy", + "noROI": "Narysuj obszar zainteresowania", + "noTimeRange": "Wybierz zakres czasu", "invalidTimeRange": "Czas zakończenia musi być późniejszy niż czas rozpoczęcia", "searchFailed": "Wyszukiwanie nie powiodło się: {{message}}", - "polygonTooSmall": "Obszar musi mieć co najmniej 3 punkty", + "polygonTooSmall": "Wielokąt musi mieć co najmniej 3 punkty", "unknown": "Nieznany błąd" + }, + "scanning": "Skanowanie {{time}}", + "changesFound_one": "Znaleziono {{count}} zmianę ruchu", + "changesFound_few": "Znaleziono {{count}} zmiany ruchu", + "changesFound_many": "Znaleziono {{count}} zmian ruchu", + "changePercentage": "Zmieniono {{percentage}}%", + "metrics": { + "title": "Metryki wyszukiwania", + "segmentsScanned": "Przeskanowane segmenty", + "segmentsProcessed": "Przetworzone", + "segmentsSkippedInactive": "Pominięte (brak aktywności)", + "segmentsSkippedHeatmap": "Pominięte (brak pokrycia z ROI)", + "fallbackFullRange": "Awaryjne skanowanie pełnego zakresu", + "framesDecoded": "Zdekodowane klatki", + "wallTime": "Czas wyszukiwania", + "segmentErrors": "Błędy segmentów", + "seconds": "{{seconds}} s", + "minutesSeconds": "{{minutes}} min {{seconds}} s", + "scanSummary": "Segmenty: {{segments}} · {{time}}" } } diff --git a/web/public/locales/pl/views/replay.json b/web/public/locales/pl/views/replay.json index bfc3c4fe3a..b8ef996b70 100644 --- a/web/public/locales/pl/views/replay.json +++ b/web/public/locales/pl/views/replay.json @@ -1,6 +1,60 @@ { "page": { - "preparingClip": "Przygotuje urywek…" + "preparingClip": "Przygotowywanie klipu…", + "noSession": "Brak aktywnej sesji odtwarzania debugowania", + "noSessionDesc": "Rozpocznij odtwarzanie debugowania z widoku Historii, klikając przycisk Akcje na pasku narzędzi i wybierając Odtwarzanie debugowania.", + "goToRecordings": "Przejdź do Historii", + "preparingClipDesc": "Frigate łączy nagrania dla wybranego zakresu czasu. W przypadku dłuższych zakresów może to potrwać chwilę.", + "startingCamera": "Uruchamianie odtwarzania debugowania…", + "startError": { + "title": "Nie udało się uruchomić odtwarzania debugowania", + "back": "Wróć do Historii" + }, + "sourceCamera": "Kamera źródłowa", + "replayCamera": "Kamera odtwarzania", + "initializingReplay": "Inicjalizacja odtwarzania debugowania...", + "stoppingReplay": "Zatrzymywanie odtwarzania debugowania...", + "stopReplay": "Zatrzymaj odtwarzanie", + "confirmStop": { + "title": "Zatrzymać odtwarzanie debugowania?", + "description": "Spowoduje to zatrzymanie sesji i usunięcie wszystkich danych tymczasowych. Czy na pewno chcesz kontynuować?", + "confirm": "Zatrzymaj odtwarzanie", + "cancel": "Anuluj" + }, + "activity": "Aktywność", + "objects": "Lista obiektów", + "audioDetections": "Wykrycia dźwięku", + "noActivity": "Nie wykryto aktywności", + "activeTracking": "Aktywne śledzenie", + "noActiveTracking": "Brak aktywnego śledzenia", + "configuration": "Konfiguracja", + "configurationDesc": "Dostosuj ustawienia detekcji ruchu i śledzenia obiektów dla kamery odtwarzania debugowania. Żadne zmiany nie zostaną zapisane w głównym pliku konfiguracyjnym Frigate." }, - "title": "Debugowanie nagrań" + "title": "Odtwarzanie debugowania", + "description": "Odtwarzaj nagrania z kamer w celu debugowania. Lista obiektów wyświetla opóźnione w czasie podsumowanie wykrytych obiektów, a karta Komunikaty pokazuje strumień wewnętrznych komunikatów Frigate z odtwarzanego materiału.", + "websocket_messages": "Komunikaty", + "dialog": { + "title": "Rozpocznij odtwarzanie debugowania", + "description": "Utwórz tymczasową kamerę odtwarzania, która zapętla materiał archiwalny w celu diagnozowania problemów z detekcją i śledzeniem obiektów. Kamera odtwarzania będzie miała taką samą konfigurację detekcji jak kamera źródłowa. Wybierz zakres czasu, aby rozpocząć.", + "camera": "Kamera źródłowa", + "timeRange": "Zakres czasu", + "preset": { + "1m": "Ostatnia 1 minuta", + "5m": "Ostatnie 5 minut", + "timeline": "Z osi czasu", + "custom": "Niestandardowy" + }, + "startButton": "Rozpocznij odtwarzanie", + "selectFromTimeline": "Wybierz", + "starting": "Uruchamianie odtwarzania...", + "startLabel": "Początek", + "endLabel": "Koniec", + "toast": { + "error": "Nie udało się rozpocząć odtwarzania debugowania: {{error}}", + "alreadyActive": "Sesja odtwarzania jest już aktywna", + "noRecordings": "Nie znaleziono nagrań w wybranym przedziale czasowym", + "stopError": "Nie udało się zatrzymać odtwarzania debugowania: {{error}}", + "goToReplay": "Przejdź do odtwarzania" + } + } } diff --git a/web/public/locales/pl/views/settings.json b/web/public/locales/pl/views/settings.json index 6167a9d0e9..1560b518ab 100644 --- a/web/public/locales/pl/views/settings.json +++ b/web/public/locales/pl/views/settings.json @@ -68,7 +68,10 @@ "cameraMqtt": "MQTT kamery", "maintenance": "Utrzymanie", "mediaSync": "Synchronizacja mediów", - "regionGrid": "Siatka regionalna" + "regionGrid": "Siatka regionalna", + "general": "Ogólne", + "globalConfig": "Konfiguracja globalna", + "system": "System" }, "dialog": { "unsavedChanges": { @@ -108,7 +111,7 @@ }, "displayCameraNames": { "label": "Zawsze pokazuj nazwy kamer", - "desc": "Zawsze pokazuj nazwę kamery w widoku wielu kamer." + "desc": "Zawsze pokazuj nazwy kamer w plakietce w pulpicie podglądu na żywo wielu kamer." }, "liveFallbackTimeout": { "label": "Przekroczono czas oczekiwania dla strumienia", @@ -343,12 +346,27 @@ "object_mask": "maska obiektowa", "motion_mask": "maska ruchu", "zone": "strefa" + }, + "revertOverride": { + "title": "Przywróć do konfiguracji podstawowej", + "desc": "Spowoduje to usunięcie nadpisania profilu dla {{type}} {{name}} i przywrócenie konfiguracji podstawowej." } }, "speed": { "error": { "mustBeGreaterOrEqualTo": "Próg prędkości musi być większy lub równy 0,1." } + }, + "id": { + "error": { + "mustNotBeEmpty": "Identyfikator nie może być pusty.", + "alreadyExists": "Maska o tym identyfikatorze już istnieje dla tej kamery." + } + }, + "name": { + "error": { + "mustNotBeEmpty": "Nazwa nie może być pusta." + } } }, "zones": { @@ -403,6 +421,10 @@ }, "toast": { "success": "Strefa ({{zoneName}}) została zapisana." + }, + "enabled": { + "title": "Włączona", + "description": "Określa, czy ta strefa jest aktywna i włączona w pliku konfiguracji. Jeśli jest wyłączona, nie można jej włączyć przez MQTT. Wyłączone strefy są ignorowane w czasie działania." } }, "motionMasks": { @@ -432,6 +454,12 @@ "context": { "documentation": "Przeczytaj dokumentację", "title": "Maski ruchu są używane do zapobiegania niepożądanym typom ruchu przed wyzwalaniem detekcji (przykład: gałęzie drzew, znaczniki czasowe kamery). Maski ruchu powinny być używane bardzo oszczędnie, nadmierne maskowanie utrudni śledzenie obiektów." + }, + "defaultName": "Maska ruchu {{number}}", + "name": { + "title": "Nazwa", + "description": "Opcjonalna przyjazna nazwa dla tej maski ruchu.", + "placeholder": "Wprowadź nazwę..." } }, "objectMasks": { @@ -458,7 +486,12 @@ "add": "Dodaj Maskę Obiektu", "edit": "Edytuj Maskę Obiektu", "clickDrawPolygon": "Kliknij, aby narysować wielokąt na obrazie.", - "context": "Maski filtrujące obiekty są używane do filtrowania fałszywych detekcji dla danego typu obiektu na podstawie lokalizacji." + "context": "Maski filtrujące obiekty są używane do filtrowania fałszywych detekcji dla danego typu obiektu na podstawie lokalizacji.", + "name": { + "title": "Nazwa", + "description": "Opcjonalna przyjazna nazwa dla tej maski obiektów.", + "placeholder": "Wprowadź nazwę..." + } }, "toast": { "success": { @@ -470,7 +503,17 @@ }, "restart_required": "Wymagane ponowne uruchomienie (maski/strefy zmienione)", "motionMaskLabel": "Maska Ruchu {{number}}", - "objectMaskLabel": "Maska Obiektu {{number}}" + "objectMaskLabel": "Maska Obiektu {{number}}", + "disabledInConfig": "Element jest wyłączony w pliku konfiguracji", + "addDisabledProfile": "Dodaj najpierw do konfiguracji podstawowej, a następnie nadpisz w profilu", + "profileBase": "(podstawa)", + "profileOverride": "(nadpisanie)", + "masks": { + "enabled": { + "title": "Włączona", + "description": "Określa, czy ta maska jest włączona w pliku konfiguracji. Jeśli jest wyłączona, nie można jej włączyć przez MQTT. Wyłączone maski są ignorowane w czasie działania." + } + } }, "debug": { "objectList": "Lista Obiektów", @@ -681,7 +724,8 @@ "notificationUnavailable": { "title": "Powiadomienia niedostępne", "desc": "Powiadomienia push w przeglądarce wymagają bezpiecznego kontekstu (https://…). To jest ograniczenie przeglądarki. Uzyskaj dostęp do Frigate przez bezpieczne połączenie, aby korzystać z powiadomień.", - "documentation": "Przeczytaj dokumentację" + "documentation": "Przeczytaj dokumentację", + "descPwa": "W systemie iOS powiadomienia web push są dostępne tylko wtedy, gdy Frigate jest zainstalowane na ekranie głównym. Otwórz menu Udostępnij, wybierz Do ekranu początkowego, a następnie otwórz Frigate z nowej ikony, aby zarejestrować to urządzenie do powiadomień." }, "globalSettings": { "title": "Ustawienia globalne", @@ -762,6 +806,14 @@ "plusModelType": { "baseModel": "Model bazowy", "userModel": "Dostrojony" + }, + "noModelLoaded": "Żaden model Frigate+ nie jest obecnie załadowany.", + "selectModel": "Wybierz model", + "noModelsAvailable": "Brak dostępnych modeli", + "filter": { + "ariaLabel": "Filtruj modele według typu", + "baseModels": "Modele bazowe", + "fineTunedModels": "Modele dostrojone (Fine-tuned)" } }, "toast": { @@ -769,7 +821,15 @@ "error": "Nie udało się zapisać zmian konfiguracji: {{errorMessage}}" }, "restart_required": "Wymagane ponowne uruchomienie (Zmieniony model Frigate+)", - "unsavedChanges": "Niezapisane zmiany ustawień Frigate+" + "unsavedChanges": "Niezapisane zmiany ustawień Frigate+", + "description": "Frigate+ to usługa subskrypcyjna dająca dostęp do dodatkowych funkcji Frigate, w tym możliwość używania niestandardowych modeli detekcji obiektów wytrenowanych na Twoich danych. Tutaj możesz zarządzać ustawieniami modelu Frigate+.", + "cardTitles": { + "api": "API", + "currentModel": "Bieżący model", + "otherModels": "Inne modele", + "configuration": "Konfiguracja" + }, + "changeInDetectorsAndModel": "Zmień model" }, "enrichments": { "faceRecognition": { @@ -1058,7 +1118,7 @@ "selectBrand": "Wybierz markę kamery aby dostosować wzór adresu URL", "customUrl": "Niestandardowy adres URL strumienia", "brandInformation": "Informacje o marce", - "brandUrlFormat": "Dla kamer z formatem RTSP, formatuj URL jako: {{exampleUrl}}", + "brandUrlFormat": "Dla kamer z formatem adresu URL RTSP jako: {{exampleUrl}}", "customUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka", "connectionSettings": "Ustawienia Połączenia", "detectionMethod": "Metoda wykrywania strumienia", @@ -1075,7 +1135,7 @@ }, "description": "Wprowadź szczegóły kamery i wybierz autodetekcję lub ręcznie wybierz firmę.", "probeMode": "Wykryj kamerę", - "detectionMethodDescription": "Wykryj kamerę za pomocą ONVIF (jeśli wspierane) by znaleźć adresy strumieni lub wybierz ręcznie markę kamery by wybrać predefiniowane adresy. By wpisać własny adres strumienia RTSP użyj ręcznej metody i wybierz \"Inne\".", + "detectionMethodDescription": "Wykryj kamerę za pomocą ONVIF (jeśli jest obsługiwane), aby znaleźć adresy URL strumieni kamery, lub wybierz ręcznie markę kamery, aby użyć wstępnie zdefiniowanych adresów URL. Aby wprowadzić niestandardowy adres URL RTSP, wybierz metodę ręczną i wskaż \"Inne\".", "useDigestAuth": "Użyj przesyłania skrótu autentykacji", "useDigestAuthDescription": "Użyj przesyłania skrótu logowania HTTP dla ONVIF. Niektóre kamery mogą wymagać dedykowanego użytkownika i hasła ONVIF zamiast standardowego konta admin." }, @@ -1121,7 +1181,7 @@ }, "step3": { "streamTitle": "Strumień numer: {{number}}", - "streamUrl": "URL strumienia", + "streamUrl": "Adres URL strumienia", "streamUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka", "selectStream": "Wybierz strumień", "noStreamFound": "Nie znaleziono żadnego strumienia", @@ -1199,7 +1259,8 @@ }, "hikvision": { "substreamWarning": "Podstrumień 1 jest zablokowany na niskiej rozdzielczości. Wiele kamer Hikvision obsługuje dodatkowe podstrumienie, które należy włączyć w ustawieniach kamery. Zaleca się sprawdzenie i wykorzystanie tych strumieni, jeśli są dostępne." - } + }, + "resolutionUnknown": "Nie udało się ustalić rozdzielczości tego strumienia. Należy ręcznie ustawić rozdzielczość detekcji w Ustawieniach lub w konfiguracji." }, "connectAllStreams": "Podłącz wszystkie strumienie", "reconnectionPartial": "Niektóre strumienie nie zostały ponownie połączone.", @@ -1219,7 +1280,34 @@ "backToSettings": "Powrót do ustawień kamery", "streams": { "title": "Włącz / Wyłącz kamery", - "desc": "Tymczasowo wyłącz kamerę do momentu ponownego uruchomienia Frigate. Wyłączenie kamery całkowicie zatrzymuje przetwarzanie strumieni z tej kamery przez program Frigate. Funkcje detekcji, nagrywania i debugowania będą niedostępne.
Uwaga: nie powoduje to wyłączenia strumieni go2rtc." + "desc": "Tymczasowo wyłącz kamerę do momentu ponownego uruchomienia Frigate. Wyłączenie kamery całkowicie zatrzymuje przetwarzanie strumieni z tej kamery przez program Frigate. Funkcje detekcji, nagrywania i debugowania będą niedostępne.
Uwaga: nie powoduje to wyłączenia strumieni go2rtc.", + "label": "Stan kamery", + "description": "Ustaw stan pracy dla każdej kamery.

Włączona: strumienie są przetwarzane normalnie.
Wyłączona: tymczasowo wstrzymuje przetwarzanie. Stan nie jest zachowywany po restarcie Frigate.
Zdezaktywowana: zatrzymuje przetwarzanie i zapisuje zmianę w konfiguracji. Wymagany jest restart, aby ponownie włączyć kamerę.

Uwaga: Zdezaktywowanie nie wpływa na retransmisje go2rtc.

Przeciągnij uchwyt, aby zmienić kolejność aktywnych kamer w całym interfejsie, w tym na pulpicie Na żywo oraz w listach wyboru kamer.", + "disabledSubheading": "Zdezaktywowane w konfiguracji", + "status": { + "on": "Włączona", + "off": "Wyłączona", + "disabled": "Zdezaktywowana" + }, + "enableSuccess": "Włączono {{cameraName}}. Zrestartuj Frigate, aby zastosować.", + "disableSuccess": "Zdezaktywowano {{cameraName}} i zapisano w konfiguracji.", + "reorderHandle": "Przeciągnij, aby zmienić kolejność", + "saving": "Zapisywanie…", + "saved": "Zapisano", + "details": { + "edit": "Edytuj szczegóły kamery", + "title": "Edytuj szczegóły kamery", + "description": "Zaktualizuj nazwę wyświetlaną, zewnętrzny adres URL oraz widoczność tej kamery w interfejsie Frigate.", + "friendlyNameLabel": "Nazwa wyświetlana", + "friendlyNameHelp": "Przyjazna nazwa wyświetlana dla tej kamery w interfejsie Frigate. Pozostaw puste, aby używać ID kamery.", + "webuiUrlLabel": "Adres URL panelu WWW kamery", + "webuiUrlHelp": "Adres URL umożliwiający bezpośrednie przejście do panelu WWW kamery z widoku Debugowania. Pozostaw puste, aby wyłączyć łącze.", + "webuiUrlInvalid": "Musi być prawidłowym adresem URL (np. https://example.com).", + "dashboardLabel": "Pokazuj na pulpicie Na żywo", + "dashboardHelp": "Pokazuj tę kamerę na domyślnym pulpicie Na żywo (Wszystkie kamery). Pozostaje dostępna we wszystkich innych miejscach, w tym w grupach kamer.", + "reviewLabel": "Pokazuj w Przeglądzie", + "reviewHelp": "Pokazuj tę kamerę w widoku Przeglądu, w tym w filtrze kamer, przeglądzie ruchu i historii." + } }, "cameraConfig": { "add": "Dodaj kamerę", @@ -1249,6 +1337,123 @@ "toast": { "success": "Zapisano poprawnie kamerę {{cameraName}}" } + }, + "description": "Dodawaj, edytuj i usuwaj kamery, steruj stanem każdej kamery oraz konfiguruj nadpisania dla profili i typów kamer. Aby skonfigurować strumienie, detekcję, ruch i inne ustawienia specyficzne dla kamery, wybierz odpowiednią sekcję w Konfiguracji kamer.", + "deleteCamera": "Usuń kamerę", + "deleteCameraDialog": { + "title": "Usuń kamerę", + "description": "Usunięcie kamery spowoduje trwałe usunięcie wszystkich nagrań, śledzonych obiektów oraz konfiguracji dla tej kamery. Strumienie go2rtc powiązane z tą kamerą mogą nadal wymagać ręcznego usunięcia.", + "selectPlaceholder": "Wybierz kamerę…", + "confirmTitle": "Czy na pewno?", + "confirmWarning": "Usunięcie kamery {{cameraName}} jest nieodwracalne.", + "deleteExports": "Usuń także eksporty dla tej kamery", + "confirmButton": "Usuń trwale", + "success": "Pomyślnie usunięto kamerę {{cameraName}}", + "error": "Nie udało się usunąć kamery {{cameraName}}" + }, + "profiles": { + "title": "Nadpisania kamer w profilach", + "selectLabel": "Wybierz profil", + "description": "Skonfiguruj, które kamery są włączane lub wyłączane po aktywowaniu profilu. Kamery ustawione na \"Dziedzicz\" zachowują swój domyślny stan.", + "inherit": "Dziedzicz", + "on": "Włączona", + "off": "Wyłączona" + }, + "cameraType": { + "title": "Typ kamery", + "label": "Typ kamery", + "description": "Ustaw typ dla każdej kamery. Dedykowane kamery LPR to kamery jednozadaniowe z silnym zoomem optycznym do rejestrowania tablic na odległych pojazdach. Większość kamer powinna używać typu zwykłego, chyba że kamera jest dedykowana wyłącznie do LPR i jest precyzyjnie wykadrowana na tablice.", + "normal": "Zwykła", + "dedicatedLpr": "Dedykowana LPR", + "saveSuccess": "Zaktualizowano typ kamery dla {{cameraName}}. Zrestartuj Frigate, aby zastosować zmiany." + }, + "clone": { + "sectionTitle": "Klonowanie ustawień", + "sectionDescription": "Skopiuj konfigurację z jednej kamery do innej lub nowej kamery.", + "button": "Klonuj ustawienia", + "title": "Klonuj ustawienia kamery", + "description": "Skopiuj konfigurację kamery do jednej lub wielu innych kamer albo do nowej kamery. Tożsamość (identyfikator, przyjazna nazwa, adres URL panelu WWW, kolejność wyświetlania) nigdy nie jest kopiowana.", + "source": { + "label": "Kamera źródłowa", + "placeholder": "Wybierz kamerę źródłową", + "required": "Wybierz kamerę źródłową" + }, + "target": { + "legend": "Cel", + "newRadio": "Nowa kamera", + "newNameLabel": "Nazwa kamery", + "newNamePlaceholder": "np. back_door lub Drzwi tylne", + "newNameRequired": "Nazwa kamery jest wymagana", + "newNameInvalid": "Nieprawidłowa nazwa kamery", + "newNameCollision": "Kamera o tej nazwie już istnieje", + "newStreamsForced": "Dla nowej kamery strumienie są zawsze kopiowane.", + "existingCamerasRadio": "Istniejące kamery", + "allCameras": "Wszystkie kamery", + "existingPlaceholder": "Wybierz co najmniej jedną kamerę", + "existingDisabled": "Brak innych kamer do skopiowania" + }, + "categories": { + "legend": "Ustawienia do sklonowania", + "description": "Wybierz ustawienia do skopiowania z kamery źródłowej.", + "selectAll": "Zaznacz wszystko", + "selectNone": "Odznacz wszystko", + "resetDefaults": "Przywróć domyślne", + "general": "Ogólne", + "spatial": "Ustawienia przestrzenne", + "streams": "Strumienie", + "spatialWarningTitle": "Niezgodność rozdzielczości", + "spatialWarning": "Rozdzielczość detekcji kamery źródłowej {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) różni się od: {{cameras}}. Wielokąty mogą nie pasować na tych kamerach. Opcje te są domyślnie odznaczone; włącz, aby skopiować bez zmian.", + "restartHint": "Wymagany restart", + "items": { + "record": "Nagrywanie", + "snapshots": "Migawki", + "review": "Przegląd", + "motion": "Ruch", + "objects": "Obiekty", + "audio": "Dźwięk", + "audio_transcription": "Transkrypcja dźwięku", + "notifications": "Powiadomienia", + "birdseye": "Birdseye", + "mqtt": "MQTT", + "timestamp_style": "Styl znacznika czasu", + "onvif": "ONVIF", + "lpr": "Rozpoznawanie tablic rejestracyjnych (LPR)", + "face_recognition": "Rozpoznawanie twarzy", + "semantic_search": "Wyszukiwanie semantyczne", + "genai": "GenAI", + "type": "Typ kamery (zwykła / dedykowana LPR)", + "profiles": "Profile", + "detect": "Detekcja", + "zones": "Strefy", + "motion_mask": "Maski ruchu", + "object_masks": "Maski obiektów", + "ffmpeg_live": "Adresy URL strumieni i role" + } + }, + "footer": { + "changeCount_one": "Zostanie zastosowana {{count}} zmiana", + "changeCount_few": "Zostaną zastosowane {{count}} zmiany", + "changeCount_many": "Zostanie zastosowanych {{count}} zmian", + "restartNeeded": "Niektóre zmiany będą wymagały restartu Frigate.", + "liveOnly": "Wszystkie zmiany zostaną zastosowane natychmiast bez konieczności restartu.", + "submit": "Klonuj", + "submitting": "Klonowanie…" + }, + "toast": { + "success": "Skopiowano ustawienia do {{cameraName}}", + "successWithRestart": "Skopiowano ustawienia do {{cameraName}}. Zrestartuj Frigate, aby zastosować wszystkie zmiany.", + "successMulti_one": "Skopiowano ustawienia do {{count}} kamery", + "successMulti_few": "Skopiowano ustawienia do {{count}} kamer", + "successMulti_many": "Skopiowano ustawienia do {{count}} kamer", + "successMultiWithRestart_one": "Skopiowano ustawienia do {{count}} kamery. Zrestartuj Frigate, aby zastosować wszystkie zmiany.", + "successMultiWithRestart_few": "Skopiowano ustawienia do {{count}} kamer. Zrestartuj Frigate, aby zastosować wszystkie zmiany.", + "successMultiWithRestart_many": "Skopiowano ustawienia do {{count}} kamer. Zrestartuj Frigate, aby zastosować wszystkie zmiany.", + "partialFailure": "Zastosowano {{successCount}} sekcji; błąd w {{failedSection}}: {{errorMessage}}", + "partialFailureMulti": "Skopiowano do {{successCount}} kamer; błąd dla {{failed}}: {{errorMessage}}", + "newCameraPartialFailure": "Kamera {{cameraName}} została utworzona, ale nie udało się skopiować niektórych ustawień: {{errorMessage}}", + "sourceMissing": "Kamera źródłowa już nie istnieje", + "submitError": "Nie udało się sklonować kamery: {{errorMessage}}" + } } }, "cameraReview": { @@ -1307,7 +1512,14 @@ "label_many": "Zastąpiono w kamerach {{count}}", "tooltip_one": "Kamera {{count}} zastępuje wartości w tej sekcji. Kliknij, aby wyświetlić szczegóły.", "tooltip_few": "Kamery {{count}} zastępują wartości w tej sekcji. Kliknij, aby wyświetlić szczegóły.", - "tooltip_many": "Kamery {{count}} zastępują wartości w tej sekcji. Kliknij, aby wyświetlić szczegóły." + "tooltip_many": "Kamery {{count}} zastępują wartości w tej sekcji. Kliknij, aby wyświetlić szczegóły.", + "heading_one": "Ta sekcja globalna zawiera pola nadpisane w {{count}} kamerze.", + "heading_few": "Ta sekcja globalna zawiera pola nadpisane w {{count}} kamerach.", + "heading_many": "Ta sekcja globalna zawiera pola nadpisane w {{count}} kamerach.", + "othersField_one": "{{count}} inne", + "othersField_few": "{{count}} inne", + "othersField_many": "{{count}} innych", + "profilePrefix": "Profil {{profile}}: {{fields}}" } }, "saveAllPreview": { @@ -1329,5 +1541,609 @@ "title": "Zmiany do zapisania", "triggerLabel": "Przejrzyj oczekujące zmiany", "empty": "Brak oczekujących zmian." + }, + "menuDot": { + "overrideGlobal": "Ta sekcja nadpisuje konfigurację globalną", + "overrideProfile": "Ta sekcja jest nadpisywana przez profil {{profile}}", + "unsaved": "Ta sekcja zawiera niezapisane zmiany" + }, + "timestampPosition": { + "tl": "Góra lewo", + "tr": "Góra prawo", + "bl": "Dół lewo", + "br": "Dół prawo" + }, + "detectorsAndModel": { + "title": "Detektory i model", + "description": "Skonfiguruj backend detektora wykonujący detekcję obiektów oraz model, którego używa. Zmiany są zapisywane wspólnie, aby zachować synchronizację.", + "cardTitles": { + "detector": "Sprzęt detektora", + "model": "Model detekcji" + }, + "tabs": { + "plus": "Frigate+", + "custom": "Model niestandardowy" + }, + "mismatch": { + "warning": "Bieżący model Frigate+ \"{{model}}\" wymaga detektora {{required}}. Wybierz kompatybilny model poniżej lub przełącz na Model niestandardowy przed zapisaniem." + }, + "plusModel": { + "requiresDetector": "Wymaga: {{detector}}", + "noModelSelected": "Wybierz model Frigate+" + }, + "toast": { + "saveSuccess": "Zapisano ustawienia detektorów i modelu. Zrestartuj Frigate, aby zastosować zmiany.", + "saveError": "Nie udało się zapisać ustawień detektorów i modelu" + }, + "unsavedChanges": "Niezapisane zmiany detektora i modelu", + "restartRequired": "Wymagany restart (zmieniono detektor lub model)" + }, + "maintenance": { + "title": "Konserwacja", + "sync": { + "title": "Synchronizacja multimediów", + "desc": "Frigate okresowo czyści multimedia zgodnie z harmonogramem retencji. Obecność pojedynczych osieroconych plików podczas działania jest normalna. Użyj tej funkcji, aby usunąć z dysku osierocone pliki multimedialne, do których nie ma już odwołań w bazie danych.", + "started": "Rozpoczęto synchronizację multimediów.", + "alreadyRunning": "Zadanie synchronizacji jest już uruchomione", + "error": "Nie udało się rozpocząć synchronizacji", + "currentStatus": "Stan", + "jobId": "Identyfikator zadania", + "startTime": "Czas rozpoczęcia", + "endTime": "Czas zakończenia", + "statusLabel": "Stan", + "results": "Wyniki", + "errorLabel": "Błąd", + "mediaTypes": "Typy multimediów", + "allMedia": "Wszystkie multimedia", + "dryRun": "Tryb testowy (Dry Run)", + "dryRunEnabled": "Żadne pliki nie zostaną usunięte", + "dryRunDisabled": "Pliki zostaną usunięte", + "force": "Wymuś", + "forceDesc": "Pomiń próg bezpieczeństwa i dokończ synchronizację, nawet jeśli do usunięcia kwalifikuje się ponad 50% plików.", + "verbose": "Szczegółowy", + "verboseDesc": "Zapisz pełną listę osieroconych plików na dysku do wglądu.", + "running": "Synchronizacja w toku...", + "start": "Rozpocznij synchronizację", + "inProgress": "Synchronizacja jest w toku. Ta strona jest zablokowana.", + "status": { + "queued": "W kolejce", + "running": "W trakcie", + "completed": "Zakończono", + "failed": "Niepowodzenie", + "notRunning": "Nieuruchomione" + }, + "resultsFields": { + "filesChecked": "Sprawdzone pliki", + "orphansFound": "Znalezione osierocone pliki", + "orphansDeleted": "Usunięte osierocone pliki", + "aborted": "Przerwano. Usunięcie przekroczyłoby próg bezpieczeństwa.", + "error": "Błąd", + "totals": "Łącznie" + }, + "event_snapshots": "Migawki śledzonych obiektów", + "event_thumbnails": "Miniatury śledzonych obiektów", + "review_thumbnails": "Miniatury przeglądu", + "previews": "Podglądy", + "exports": "Eksporty", + "recordings": "Nagrania" + }, + "regionGrid": { + "title": "Siatka regionów (Region Grid)", + "desc": "Siatka regionów to optymalizacja ucząca się, gdzie w polu widzenia kamery zazwyczaj pojawiają się obiekty o różnych rozmiarach. Frigate używa tych danych do efektywnego dobierania rozmiarów regionów detekcji. Siatka buduje się automatycznie na podstawie śledzonych obiektów.", + "clear": "Wyczyść siatkę regionów", + "clearConfirmTitle": "Wyczyścić siatkę regionów?", + "clearConfirmDesc": "Czyszczenie siatki regionów nie jest zalecane, chyba że niedawno zmieniono rozmiar modelu detektora lub zmieniono fizyczne położenie kamery i występują problemy ze śledzeniem obiektów. Siatka zostanie automatycznie odbudowana z czasem. Wymagany jest restart Frigate.", + "clearSuccess": "Pomyślnie wyczyszczono siatkę regionów", + "clearError": "Nie udało się wyczyścić siatki regionów", + "restartRequired": "Wymagany restart, aby zmiany w siatce regionów zaczęły obowiązywać" + } + }, + "configForm": { + "global": { + "title": "Ustawienia globalne", + "description": "Te ustawienia mają zastosowanie do wszystkich kamer, o ile nie zostaną nadpisane w ustawieniach poszczególnych kamer." + }, + "camera": { + "title": "Ustawienia kamery", + "description": "Te ustawienia dotyczą tylko tej kamery i nadpisują ustawienia globalne.", + "noCameras": "Brak dostępnych kamer" + }, + "advancedSettingsCount": "Ustawienia zaawansowane ({{count}})", + "advancedCount": "Zaawansowane ({{count}})", + "showAdvanced": "Pokaż ustawienia zaawansowane", + "tabs": { + "sharedDefaults": "Wspólne wartości domyślne", + "system": "System", + "integrations": "Integracje" + }, + "additionalProperties": { + "keyLabel": "Klucz", + "valueLabel": "Wartość", + "keyPlaceholder": "Nowy klucz", + "remove": "Usuń", + "providerNameLabel": "Nazwa dostawcy", + "providerNamePlaceholder": "np. openai", + "variableNameLabel": "Nazwa zmiennej", + "variableNamePlaceholder": "np. MOJA_ZMIENNA", + "loggerNameLabel": "Nazwa rejestratora", + "loggerNamePlaceholder": "np. frigate.record", + "keyPatternError": "Używaj tylko liter, cyfr, myślników i podkreśleń (bez spacji)" + }, + "knownPlates": { + "namePlaceholder": "np. Samochód żony", + "platePlaceholder": "Numer rejestracyjny lub regex" + }, + "liveStreams": { + "streamNameLabel": "Nazwa strumienia", + "streamNamePlaceholder": "np. Główny strumień HD", + "go2rtcStreamLabel": "Strumień go2rtc", + "go2rtcStreamPlaceholder": "Wybierz strumień go2rtc", + "go2rtcStreamSearch": "Szukaj lub wprowadź nazwę strumienia…", + "noGo2rtcStreams": "Brak skonfigurowanych strumieni go2rtc", + "availableStreams": "Dostępne strumienie", + "useCustom": "Użyj \"{{value}}\"", + "addStream": "Dodaj strumień" + }, + "timezone": { + "defaultOption": "Użyj strefy czasowej przeglądarki" + }, + "roleMap": { + "empty": "Brak mapowania ról", + "roleLabel": "Rola", + "groupsLabel": "Grupy", + "addMapping": "Dodaj mapowanie ról", + "remove": "Usuń" + }, + "ffmpegArgs": { + "preset": "Profil", + "manual": "Argumenty ręczne", + "inherit": "Dziedzicz z ustawienia kamery", + "none": "Brak", + "useGlobalSetting": "Dziedzicz z ustawienia globalnego", + "selectPreset": "Wybierz profil", + "manualPlaceholder": "Wprowadź argumenty FFmpeg", + "presetLabels": { + "preset-rpi-64-h264": "Raspberry Pi (H.264)", + "preset-rpi-64-h265": "Raspberry Pi (H.265)", + "preset-vaapi": "VAAPI (Karta graficzna Intel/AMD)", + "preset-intel-qsv-h264": "Intel QuickSync (H.264)", + "preset-intel-qsv-h265": "Intel QuickSync (H.265)", + "preset-nvidia": "Karta NVIDIA GPU", + "preset-jetson-h264": "NVIDIA Jetson (H.264)", + "preset-jetson-h265": "NVIDIA Jetson (H.265)", + "preset-rkmpp": "Rockchip RKMPP", + "preset-http-jpeg-generic": "HTTP JPEG (Ogólny)", + "preset-http-mjpeg-generic": "HTTP MJPEG (Ogólny)", + "preset-http-reolink": "HTTP — Kamery Reolink", + "preset-rtmp-generic": "RTMP (Ogólny)", + "preset-rtsp-generic": "RTSP (Ogólny)", + "preset-rtsp-restream": "RTSP — Retransmisja z go2rtc", + "preset-rtsp-restream-low-latency": "RTSP — Retransmisja z go2rtc (Niskie opóźnienie)", + "preset-rtsp-udp": "RTSP — UDP", + "preset-rtsp-blue-iris": "RTSP — Blue Iris", + "preset-record-generic": "Nagrywanie (Ogólne, bez dźwięku)", + "preset-record-generic-audio-copy": "Nagrywanie (Ogólne + kopiowanie dźwięku)", + "preset-record-generic-audio-aac": "Nagrywanie (Ogólne + dźwięk do AAC)", + "preset-record-mjpeg": "Nagrywanie — Kamery MJPEG", + "preset-record-jpeg": "Nagrywanie — Kamery JPEG", + "preset-record-ubiquiti": "Nagrywanie — Kamery Ubiquiti" + } + }, + "cameraInputs": { + "itemTitle": "Strumień {{index}}", + "sourceMode": { + "restream": "Retransmisja (go2rtc)", + "manual": "Ręczna ścieżka wejściowa", + "go2rtcStreamLabel": "Strumień go2rtc", + "go2rtcStreamPlaceholder": "Wybierz strumień go2rtc", + "noGo2rtcStreams": "Brak skonfigurowanych strumieni go2rtc", + "go2rtcStreamSearch": "Szukaj strumieni...", + "availableStreams": "Dostępne strumienie", + "noMatchingStreams": "Brak pasujących strumieni" + } + }, + "restartRequiredField": "Wymagany restart", + "restartRequiredFooter": "Konfiguracja zmieniona — wymagany restart", + "sections": { + "detect": "Detekcja", + "record": "Nagrywanie", + "snapshots": "Migawki", + "motion": "Ruch", + "objects": "Obiekty", + "review": "Przegląd", + "audio": "Dźwięk", + "notifications": "Powiadomienia", + "live": "Podgląd na żywo", + "timestamp_style": "Znaczniki czasu", + "mqtt": "MQTT", + "database": "Baza danych", + "telemetry": "Telemetria", + "auth": "Uwierzytelnianie", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detektory", + "model": "Model", + "semantic_search": "Wyszukiwanie semantyczne", + "genai": "GenAI", + "face_recognition": "Rozpoznawanie twarzy", + "lpr": "Rozpoznawanie tablic rejestracyjnych (LPR)", + "birdseye": "Birdseye", + "masksAndZones": "Maski / Strefy" + }, + "detect": { + "title": "Ustawienia detekcji" + }, + "detectors": { + "title": "Ustawienia detektorów", + "singleType": "Dozwolony jest tylko jeden detektor typu {{type}}.", + "keyRequired": "Nazwa detektora jest wymagana.", + "keyDuplicate": "Nazwa detektora już istnieje.", + "noSchema": "Brak dostępnych schematów detektorów.", + "none": "Brak skonfigurowanych instancji detektorów.", + "add": "Dodaj detektor", + "addCustomKey": "Dodaj niestandardowy klucz" + }, + "record": { + "title": "Ustawienia nagrywania" + }, + "snapshots": { + "title": "Ustawienia migawek" + }, + "motion": { + "title": "Ustawienia ruchu" + }, + "objects": { + "title": "Ustawienia obiektów" + }, + "audioLabels": { + "summary": "Wybrano {{count}} etykiet dźwiękowych", + "empty": "Brak dostępnych etykiet dźwiękowych" + }, + "objectLabels": { + "summary": "Wybrano {{count}} typów obiektów", + "empty": "Brak dostępnych etykiet obiektów" + }, + "reviewLabels": { + "summary": "Wybrano {{count}} etykiet", + "empty": "Brak dostępnych etykiet" + }, + "filters": { + "objectFieldLabel": "{{field}} dla {{label}}" + }, + "zoneNames": { + "summary": "Wybrano {{count}}", + "empty": "Brak dostępnych stref" + }, + "inputRoles": { + "summary": "Wybrano {{count}} ról", + "empty": "Brak dostępnych ról", + "options": { + "detect": "Detect", + "record": "Record", + "audio": "Audio" + } + }, + "genaiRoles": { + "options": { + "embeddings": "Wektoryzacja (Embeddings)", + "descriptions": "Opisy", + "chat": "Czat" + } + }, + "semanticSearchModel": { + "placeholder": "Wybierz model…", + "builtIn": "Wbudowane modele", + "genaiProviders": "Dostawcy GenAI" + }, + "semanticSearchModelSize": { + "notApplicable": "Nie dotyczy dostawców GenAI" + }, + "review": { + "title": "Ustawienia przeglądu" + }, + "audio": { + "title": "Ustawienia dźwięku" + }, + "notifications": { + "title": "Ustawienia powiadomień" + }, + "live": { + "title": "Ustawienia podglądu na żywo" + }, + "timestamp_style": { + "title": "Ustawienia znaczników czasu" + }, + "searchPlaceholder": "Szukaj...", + "addCustomLabel": "Dodaj własną etykietę...", + "genaiModel": { + "placeholder": "Wybierz lub wprowadź model…", + "search": "Szukaj lub wprowadź model…", + "noModels": "Brak dostępnych modeli", + "available": "Dostępne modele", + "useCustom": "Użyj \"{{value}}\"", + "refresh": "Odśwież modele", + "probeFailed": "Nie udało się pobrać modeli", + "fetchedModels": "Pomyślnie pobrano listę modeli" + }, + "ptzPresets": { + "placeholder": "Wybierz lub wprowadź preset...", + "search": "Szukaj lub wprowadź preset...", + "noPresets": "Brak dostępnych presetów", + "available": "Presety kamery", + "useCustom": "Użyj \"{{value}}\"" + }, + "defaultRole": { + "admin": "Administrator", + "viewer": "Przeglądający" + } + }, + "globalConfig": { + "title": "Konfiguracja globalna", + "description": "Skonfiguruj ustawienia globalne, które mają zastosowanie do wszystkich kamer, o ile nie zostaną nadpisane.", + "toast": { + "success": "Ustawienia globalne zapisane pomyślnie", + "error": "Nie udało się zapisać ustawień globalnych", + "validationError": "Błąd walidacji" + } + }, + "cameraConfig": { + "title": "Konfiguracja kamer", + "description": "Skonfiguruj ustawienia dla poszczególnych kamer. Ustawienia te nadpisują wartości domyślne z konfiguracji globalnej.", + "overriddenBadge": "Nadpisano", + "resetToGlobal": "Przywróć do globalnych", + "toast": { + "success": "Ustawienia kamery zapisane pomyślnie", + "error": "Nie udało się zapisać ustawień kamery" + } + }, + "toast": { + "success": "Ustawienia zapisane pomyślnie", + "applied": "Ustawienia zastosowane pomyślnie", + "successRestartRequired": "Ustawienia zapisane pomyślnie. Zrestartuj Frigate, aby zastosować zmiany.", + "error": "Nie udało się zapisać ustawień", + "validationError": "Błąd walidacji: {{message}}", + "resetSuccess": "Przywrócono domyślne ustawienia globalne", + "resetError": "Nie udało się zresetować ustawień", + "saveAllSuccess_one": "Pomyślnie zapisano {{count}} sekcję.", + "saveAllSuccess_few": "Pomyślnie zapisano {{count}} sekcje.", + "saveAllSuccess_many": "Pomyślnie zapisano {{count}} sekcji.", + "saveAllSuccessRestartRequired_one": "Pomyślnie zapisano {{count}} sekcję. Zrestartuj Frigate, aby zastosować zmiany.", + "saveAllSuccessRestartRequired_few": "Pomyślnie zapisano {{count}} sekcje. Zrestartuj Frigate, aby zastosować zmiany.", + "saveAllSuccessRestartRequired_many": "Pomyślnie zapisano {{count}} sekcji. Zrestartuj Frigate, aby zastosować zmiany.", + "saveAllPartial_one": "Zapisano {{successCount}} z {{totalCount}} sekcji. Niepowodzenie: {{failCount}}.", + "saveAllPartial_few": "Zapisano {{successCount}} z {{totalCount}} sekcji. Niepowodzenie: {{failCount}}.", + "saveAllPartial_many": "Zapisano {{successCount}} z {{totalCount}} sekcji. Niepowodzenie: {{failCount}}.", + "saveAllFailure": "Nie udało się zapisać wszystkich sekcji." + }, + "profiles": { + "title": "Profile", + "activeProfile": "Aktywny profil", + "noActiveProfile": "Brak aktywnego profilu", + "active": "Aktywny", + "activated": "Profil \"{{profile}}\" został aktywowany", + "activateFailed": "Nie udało się ustawić profilu", + "deactivated": "Profil został dezaktywowany", + "noProfiles": "Brak zdefiniowanych profili.", + "noOverrides": "Brak nadpisań", + "cameraCount_one": "{{count}} kamera", + "cameraCount_few": "{{count}} kamery", + "cameraCount_many": "{{count}} kamer", + "columnCamera": "Kamera", + "columnOverrides": "Nadpisania profilu", + "baseConfig": "Konfiguracja podstawowa", + "addProfile": "Dodaj profil", + "newProfile": "Nowy profil", + "profileNamePlaceholder": "np. Uzbrojony, Poza domem, Tryb nocny", + "friendlyNameLabel": "Nazwa profilu", + "profileIdLabel": "Identyfikator profilu", + "profileIdDescription": "Wewnętrzny identyfikator używany w konfiguracji i automatyzacjach", + "nameInvalid": "Dozwolone są tylko małe litery, cyfry i podkreślenia", + "nameDuplicate": "Profil o tej nazwie już istnieje", + "error": { + "mustBeAtLeastTwoCharacters": "Musi mieć co najmniej 2 znaki", + "mustNotContainPeriod": "Nie może zawierać kropek", + "alreadyExists": "Profil o tym identyfikatorze już istnieje" + }, + "renameProfile": "Zmień nazwę profilu", + "renameSuccess": "Zmieniono nazwę profilu na {{profile}}", + "deleteProfile": "Usuń profil", + "deleteProfileConfirm": "Usunąć profil \"{{profile}}\" ze wszystkich kamer? Tej czynności nie można cofnąć.", + "deleteSuccess": "Profil {{profile}} został usunięty", + "createSuccess": "Profil \"{{profile}}\" został utworzony", + "removeOverride": "Usuń nadpisanie profilu", + "deleteSection": "Usuń nadpisania sekcji", + "deleteSectionConfirm": "Usunąć nadpisania sekcji {{section}} dla profilu {{profile}} na kamerze {{camera}}?", + "deleteSectionSuccess": "Usunięto nadpisania sekcji {{section}} dla profilu {{profile}}", + "enableSwitch": "Włącz profile", + "enabledDescription": "Profile są włączone. Utwórz nowy profil poniżej, przejdź do sekcji konfiguracji kamery, aby wprowadzić zmiany, i zapisz je, aby zaczęły obowiązywać.", + "disabledDescription": "Profile pozwalają definiować nazwane zestawy nadpisań konfiguracji kamer (np. uzbrojony, poza domem, tryb nocny), które można aktywować na żądanie." + }, + "unsavedChanges": "Masz niezapisane zmiany", + "confirmReset": "Potwierdź reset", + "resetToDefaultDescription": "Spowoduje to przywrócenie wszystkich ustawień w tej sekcji do ich wartości domyślnych. Tej czynności nie można cofnąć.", + "resetToGlobalDescription": "Spowoduje to przywrócenie ustawień w tej sekcji do domyślnych wartości globalnych. Tej czynności nie można cofnąć.", + "go2rtcStreams": { + "title": "Strumienie go2rtc", + "description": "Zarządzaj konfiguracją strumieni go2rtc do retransmisji z kamer. Każdy strumień ma nazwę i jeden lub więcej źródłowych adresów URL.", + "addStream": "Dodaj strumień", + "addStreamDesc": "Wprowadź nazwę dla nowego strumienia. Nazwa ta będzie używana w konfiguracji kamer.", + "addUrl": "Dodaj adres URL", + "sourceNumber": "Źródło {{index}}", + "streamName": "Nazwa strumienia", + "streamNamePlaceholder": "np. front_door", + "streamUrlPlaceholder": "np. rtsp://user:pass@192.168.1.100/stream", + "deleteStream": "Usuń strumień", + "deleteStreamConfirm": "Czy na pewno chcesz usunąć strumień \"{{streamName}}\"? Kamery korzystające z tego strumienia mogą przestać działać.", + "noStreams": "Brak skonfigurowanych strumieni go2rtc. Dodaj strumień, aby rozpocząć.", + "validation": { + "nameRequired": "Nazwa strumienia jest wymagana", + "nameDuplicate": "Strumień o tej nazwie już istnieje", + "nameInvalid": "Nazwa strumienia może zawierać tylko litery, cyfry, podkreślenia i myślniki", + "urlRequired": "Wymagany jest co najmniej jeden adres URL" + }, + "renameStream": "Zmień nazwę strumienia", + "renameStreamDesc": "Wprowadź nową nazwę dla tego strumienia. Zmiana nazwy może wpłynąć na kamery lub inne strumienie odwołujące się do tej nazwy.", + "newStreamName": "Nowa nazwa strumienia", + "ffmpeg": { + "useFfmpegModule": "Użyj trybu zgodności (ffmpeg)", + "video": "Wideo", + "audio": "Dźwięk", + "hardware": "Akceleracja sprzętowa", + "videoCopy": "Kopiuj", + "videoH264": "Transkoduj do H.264", + "videoH265": "Transkoduj do H.265", + "videoExclude": "Wyklucz", + "audioCopy": "Kopiuj", + "audioAac": "Transkoduj do AAC", + "audioOpus": "Transkoduj do Opus", + "audioPcmu": "Transkoduj do PCM μ-law", + "audioPcma": "Transkoduj do PCM A-law", + "audioPcm": "Transkoduj do PCM", + "audioMp3": "Transkoduj do MP3", + "audioExclude": "Wyklucz", + "hardwareNone": "Brak akceleracji sprzętowej", + "hardwareAuto": "Automatyczna (zalecana)", + "hardwareVaapi": "VAAPI", + "hardwareCuda": "CUDA", + "hardwareV4l2m2m": "V4L2 M2M", + "hardwareDxva2": "DXVA2", + "hardwareVideotoolbox": "VideoToolbox", + "addVideoCodec": "Dodaj kodek wideo", + "addAudioCodec": "Dodaj kodek dźwięku", + "removeCodec": "Usuń kodek" + } + }, + "birdseye": { + "trackingMode": { + "objects": "Obiekty", + "motion": "Ruch", + "continuous": "Ciągły" + }, + "cameraOrder": { + "label": "Kolejność kamer", + "description": "Przeciągnij kamery, aby ustalić ich kolejność w układzie Birdseye.", + "reorderHandle": "Przeciągnij, aby zmienić kolejność", + "saving": "Zapisywanie…", + "saved": "Zapisano" + } + }, + "retainMode": { + "all": "Wszystkie", + "motion": "Ruch", + "active_objects": "Aktywne obiekty" + }, + "previewQuality": { + "very_high": "Bardzo wysoka", + "high": "Wysoka", + "medium": "Średnia", + "low": "Niska", + "very_low": "Bardzo niska" + }, + "ui": { + "timeFormat": { + "browser": "Przeglądarka", + "12hour": "12-godzinny", + "24hour": "24-godzinny" + }, + "unitSystem": { + "metric": "Metryczny", + "imperial": "Imperialny" + } + }, + "review": { + "imageSource": { + "recordings": "Nagrania", + "previews": "Podglądy" + } + }, + "logger": { + "logLevel": { + "debug": "Debug", + "info": "Informacja", + "warning": "Ostrzeżenie", + "error": "Błąd", + "critical": "Krytyczny" + } + }, + "onvif": { + "profileAuto": "Auto", + "profileLoading": "Ładowanie profili...", + "autotracking": { + "zooming": { + "disabled": "Wyłączone", + "absolute": "Bezwzględne", + "relative": "Względne" + } + } + }, + "modelSize": { + "small": "Mały", + "large": "Duży" + }, + "configMessages": { + "review": { + "recordDisabled": "Nagrywanie jest wyłączone, elementy przeglądu nie będą generowane.", + "detectDisabled": "Detekcja obiektów jest wyłączona. Elementy przeglądu wymagają wykrytych obiektów do kategoryzowania alertów i detekcji.", + "allNonAlertDetections": "Wszystkie aktywności niebędące alertami zostaną uwzględnione jako detekcje.", + "genaiImageSourceRecordingsRecordDisabled": "Źródło obrazu jest ustawione na recordings, ale nagrywanie jest wyłączone. Frigate użyje obrazów podglądu." + }, + "audio": { + "noAudioRole": "Żaden strumień nie ma zdefiniowanej roli audio. Musisz włączyć rolę audio, aby wykrywanie dźwięku działało." + }, + "audioTranscription": { + "audioDetectionDisabled": "Wykrywanie dźwięku nie jest włączone dla tej kamery. Transkrypcja dźwięku wymaga aktywnego wykrywania dźwięku." + }, + "detect": { + "fpsGreaterThanFive": "Ustawienie FPS detekcji powyżej 5 nie jest zalecane. Wyższe wartości mogą powodować problemy z wydajnością i nie dają żadnych korzyści.", + "disabled": "Detekcja obiektów jest wyłączona. Migawki, elementy przeglądu oraz rozszerzenia, takie jak rozpoznawanie twarzy, tablic rejestracyjnych i Generative AI, nie będą działać.", + "resolutionShouldBeMultipleOfFour": "Aby uzyskać najlepsze rezultaty, szerokość i wysokość detekcji powinny być wielokrotnościami 4. Inne wartości parzyste mogą powodować artefakty wizualne lub lekkie zniekształcenia w strumieniu detekcji.", + "aspectRatioMismatch": "Wprowadzona szerokość i wysokość nie pasują do proporcji bieżącej rozdzielczości detekcji. Może to spowodować rozciągnięcie lub zniekształcenie obrazu.", + "maxFramesSet": "Ustawienie maksymalnej liczby klatek nadpisuje domyślne zachowanie i wyłącza śledzenie obiektów nieruchomych. Jest to potrzebne w bardzo rzadkich sytuacjach; używaj ostrożnie.", + "squareResolution": "Kwadratowa rozdzielczość detekcji jest nietypowa. Szerokość i wysokość detekcji powinny odpowiadać proporcjom Twojej kamery (np. 16:9), a nie wymiarom modelu detekcji. Niedopasowanie proporcji może rozciągnąć obraz i obniżyć dokładność detekcji.", + "resolutionHigh": "Ta rozdzielczość detekcji jest wyższa niż zalecana i może zwiększyć zużycie zasobów bez poprawy dokładności detekcji. Dla większości kamer zalecana jest rozdzielczość detekcji 1080p lub niższa.", + "globalResolutionMultipleCameras": "Ustawiono globalną rozdzielczość detekcji przy wielu skonfigurowanych kamerach. Jeśli kamery nie mają identycznej rozdzielczości i proporcji, szerokość i wysokość detekcji należy zdefiniować dla każdej kamery osobno, dopasowując do jej natywnych proporcji." + }, + "model": { + "optimizedFor320": "Frigate jest zoptymalizowany pod kątem modelu 320x320, który jest najlepszym wyborem dla większości instalacji. Model 640x640 jest wolniejszy i pomaga tylko w szczególnych scenariuszach.", + "inputDimensionsNotDetectResolution": "Szerokość i wysokość wejściowa modelu to wymiary wejściowe modelu detekcji obiektów, a nie rozdzielczość detekcji kamery. Powinny one odpowiadać wymiarom używanego modelu — zwykle kwadratowym, jak 320x320 lub 640x640." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "Ręczne argumenty akceleracji sprzętowej nie są zalecane. O ile nie masz specyficznych wymagań, wybierz profil dopasowany do Twojego sprzętu.", + "inputsMissingGo2rtcStream": "Jedno z poniższych wejść wskazuje na strumień go2rtc, który już nie istnieje. Wybierz istniejący strumień lub wprowadź adres URL kamery ręcznie, w przeciwnym razie kamera nie połączy się." + }, + "objects": { + "genaiNoDescriptionsProvider": "Musisz skonfigurować dostawcę GenAI z rolą descriptions, aby opisy mogły być generowane." + }, + "faceRecognition": { + "globalDisabled": "Rozszerzenie rozpoznawania twarzy musi być włączone globalnie, aby funkcje rozpoznawania twarzy działały na tej kamerze.", + "personNotTracked": "Rozpoznawanie twarzy wymaga śledzenia obiektu person. Włącz person w sekcji Obiekty dla tej kamery.", + "modelSizeLarge": "Model large wymaga GPU lub NPU do uzyskania odpowiedniej wydajności. W systemach opartych wyłącznie na CPU używaj small." + }, + "lpr": { + "globalDisabled": "Rozszerzenie rozpoznawania tablic rejestracyjnych musi być włączone globalnie, aby funkcje LPR działały na tej kamerze.", + "vehicleNotTracked": "Rozpoznawanie tablic rejestracyjnych wymaga śledzenia pojazdu. Włącz car lub inny typ pojazdu w sekcji Obiekty dla tej kamery.", + "modelSizeLarge": "Model large jest zoptymalizowany pod kątem wielowierszowych tablic rejestracyjnych. Model small zapewnia lepszą wydajność i powinien być stosowany, chyba że w Twoim regionie używane są tablice wielowierszowe." + }, + "record": { + "noRecordRole": "Żaden strumień nie ma zdefiniowanej roli record. Nagrywanie nie będzie działać." + }, + "birdseye": { + "objectsModeDetectDisabled": "Birdseye jest ustawiony na tryb objects, ale detekcja obiektów jest wyłączona dla tej kamery. Kamera nie pojawi się w Birdseye." + }, + "snapshots": { + "detectDisabled": "Detekcja obiektów jest wyłączona. Migawki są generowane na podstawie śledzonych obiektów i nie będą tworzone." + }, + "detectors": { + "mixedTypes": "Wszystkie detektory muszą używać tego samego typu. Usuń istniejące detektory, aby użyć innego typu.", + "mixedTypesSuggestion": "Wszystkie detektory muszą używać tego samego typu. Usuń istniejące detektory lub wybierz {{type}}." + }, + "semanticSearch": { + "jinav2SmallModelSize": "Rozmiar small z modelem Jina V2 ma wysokie zapotrzebowanie na pamięć RAM i czas inferencji. Zaleca się model large z dedykowaną kartą graficzną GPU." + }, + "onvif": { + "autotrackingNoZones": "Auto-śledzenie wymaga co najmniej jednej strefy. Zdefiniuj strefę dla tej kamery w Maski / Strefy, a następnie ustaw ją jako wymaganą strefę poniżej." + } } } diff --git a/web/public/locales/pl/views/system.json b/web/public/locales/pl/views/system.json index cc5851067f..4463f32133 100644 --- a/web/public/locales/pl/views/system.json +++ b/web/public/locales/pl/views/system.json @@ -8,7 +8,7 @@ "frigate": "Logi Frigate - Frigate", "go2rtc": "Logi Go2RTC - Frigate", "nginx": "Logi Nginx - Frigate", - "websocket": "Logi Websocket - Frigate" + "websocket": "Logi komunikatów - Frigate" } }, "general": { @@ -48,7 +48,10 @@ "message": "Statystyki układu graficznego niedostępne", "description": "W narzędziach telemetrii i statystyki układów graficznych firmy Intel (intel_gpu_top) znajduje się znany błąd powodujący raportowanie użycia układu graficznego wynoszące 0%, nawet gdy akceleracja sprzętowa i wykrywanie obiektów działa prawidłowo korzystając ze zintegrowanego układu graficznego. To nie jest błąd oprogramowania Frigate. Restart hosta może chwilowo rozwiązać problem i pozwolić na weryfikację działania układu graficznego. Ten bład nie wpływa na wydajność systemu.", "title": "Ostrzeżenie dotyczące statystyk Intel GPU" - } + }, + "gpuCompute": "Obliczenia GPU / Kodowanie", + "gpuTemperature": "Temperatura GPU", + "npuTemperature": "Temperatura NPU" }, "title": "Ogólne", "detector": { @@ -88,7 +91,22 @@ "title": "Informacje o sondowaniu kamery" }, "fetching": "Pobieranie danych kamery", - "aspectRatio": "proporcje" + "aspectRatio": "proporcje", + "keyframes": { + "title": "Analiza klatek kluczowych", + "analyzing": "Analizowanie klatek kluczowych... Pozostało {{seconds}} s", + "stillAnalyzing": "Trwa analizowanie klatek kluczowych...", + "recordStream": "Strumień nagrywania:", + "keyframeCount": "Zaobserwowane klatki kluczowe:", + "observedDuration": "Obserwowany czas trwania:", + "gap": "Odstęp klatek kluczowych (min / śr / maks):", + "segmentLength": "Długość segmentu nagrywania:", + "ok": "Klatki kluczowe co ~{{seconds}} s, optymalnie dla nagrywania i odtwarzania.", + "warning": "Rzadkie lub zmienne klatki kluczowe (najdłuższy odstęp ~{{seconds}} s), prawdopodobnie inteligentny kodek (H.264+/H.265+), co nie jest zalecane.", + "error": "Odstęp klatek kluczowych (~{{seconds}} s) przekracza długość segmentu nagrywania ({{segmentTime}} s). Niektóre segmenty mogą nie mieć klatki kluczowej, co uniemożliwi odtwarzanie. Wyłącz kodek smart/+ w kamerze lub skróć interwał klatek kluczowych.", + "unknown": "Nie udało się określić odstępu klatek kluczowych.", + "recordDisabled": "Nagrywanie jest wyłączone dla tej kamery." + } }, "toast": { "success": { @@ -115,7 +133,22 @@ "cameraDetect": "{{camName}} detekcja", "cameraFramesPerSecond": "{{camName}} liczba klatek na sekundę", "cameraDetectionsPerSecond": "{{camName}} liczba detekcji na sekundę", - "cameraFfmpeg": "{{camName}} FFmpeg" + "cameraFfmpeg": "{{camName}} FFmpeg", + "cameraGpu": "{{camName}} GPU" + }, + "noCameras": { + "title": "Nie znaleziono kamer" + }, + "connectionQuality": { + "title": "Jakość połączenia", + "excellent": "Doskonała", + "fair": "Dostateczna", + "poor": "Słaba", + "unusable": "Bezużyteczna", + "fps": "FPS", + "expectedFps": "Oczekiwany FPS", + "reconnectsLastHour": "Ponowne połączenia (ostatnia godzina)", + "stallsLastHour": "Zacięcia (ostatnia godzina)" } }, "storage": { @@ -140,7 +173,11 @@ }, "shm": { "title": "Wykorzystanie pamięci współdzielonej SHM", - "warning": "Obecny rozmiar pamięci współdzielonej SHM {{total}}MB jest za mały. Zwiększ shm_size do co najmniej {{min_shm}}MB." + "warning": "Obecny rozmiar pamięci współdzielonej SHM {{total}}MB jest za mały. Zwiększ shm_size do co najmniej {{min_shm}}MB.", + "frameLifetime": { + "title": "Czas życia klatki", + "description": "Każda kamera ma {{frames}} slotów na klatki w pamięci współdzielonej. Przy częstotliwości klatek najszybszej kamery każda klatka jest dostępna przez około {{lifetime}} s przed nadpisaniem." + } } }, "logs": { @@ -166,13 +203,30 @@ } }, "websocket": { - "label": "Wiadomości", - "pause": "Pauza", + "label": "Komunikaty", + "pause": "Wstrzymaj", "resume": "Wznów", "clear": "Wyczyść", "filter": { "all": "Wszystkie tematy", - "topics": "Tematy" + "topics": "Tematy", + "events": "Zdarzenia", + "reviews": "Przeglądy", + "classification": "Klasyfikacja", + "face_recognition": "Rozpoznawanie twarzy", + "lpr": "LPR (tablice rejestracyjne)", + "camera_activity": "Aktywność kamery", + "system": "System", + "camera": "Kamera", + "all_cameras": "Wszystkie kamery", + "cameras_count_one": "{{count}} kamera", + "cameras_count_other": "{{count}} kamer" + }, + "empty": "Nie zarejestrowano jeszcze żadnych komunikatów", + "count_one": "{{count}} komunikat", + "count_other": "{{count}} komunikatów", + "expanded": { + "payload": "Ładunek (Payload)" } } }, @@ -187,7 +241,8 @@ "detectIsSlow": "{{detect}} jest wolne ({{speed}} ms)", "detectIsVerySlow": "{{detect}} jest bardzo wolne ({{speed}} ms)", "cameraIsOffline": "{{camera}} jest niedostępna", - "shmTooLow": "przydział {{total}} MB dla /dev/shm powinien zostać zwiększony do przynajmniej {{min}} MB." + "shmTooLow": "przydział {{total}} MB dla /dev/shm powinien zostać zwiększony do przynajmniej {{min}} MB.", + "debugReplayActive": "Sesja odtwarzania debugowania jest aktywna" }, "enrichments": { "title": "Wzbogacenia",