"desc":"Układ kamer w grupie można przeciągać/zmieniać rozmiar. Pozycje są zapisywane w lokalnej pamięci przeglądarki."
},
"calendar":{
"title":"Kalendarz",
"firstWeekday":{
"label":"Pierwszy dzień tygodnia",
"sunday":"Niedziela",
"monday":"Poniedziałek",
"desc":"Dzień od którego zaczyna się kalendarz przeglądu."
}
},
"liveDashboard":{
"automaticLiveView":{
"label":"Automatyczny Podgląd na Żywo",
"desc":"Automatycznie przełącz na podgląd na żywo kamery, gdy wykryta zostanie aktywność. Wyłączenie tej opcji spowoduje, że statyczne obrazy kamer na panelu Na Żywo będą aktualizowane tylko raz na minutę."
},
"title":"Panel Na Żywo",
"playAlertVideos":{
"label":"Odtwarzaj Filmy Alarmowe",
"desc":"Domyślnie, ostatnie alerty na panelu Na Żywo są odtwarzane jako małe zapętlone filmy. Wyłącz tę opcję, aby pokazywać tylko statyczny obraz ostatnich alertów na tym urządzeniu/przeglądarce."
"desc":"Używanie <em>małego</em> modelu wykorzystuje skwantyzowaną wersję, która zużywa mniej pamięci RAM i działa szybciej na procesorze przy bardzo nieznacznej różnicy w jakości osadzeń."
},
"large":{
"title":"duży",
"desc":"Używanie <em>dużego</em> modelu wykorzystuje pełny model Jina i automatycznie uruchomi się na GPU, jeśli jest dostępny."
},
"desc":"Rozmiar modelu używanego do osadzeń wyszukiwania semantycznego.",
"label":"Rozmiar Modelu"
},
"title":"Wyszukiwanie Semantyczne",
"desc":"Wyszukiwanie semantyczne w Frigate pozwala znaleźć śledzone obiekty w elementach przeglądu za pomocą samego obrazu, zdefiniowanego przez użytkownika opisu tekstowego lub automatycznie wygenerowanego opisu.",
"readTheDocumentation":"Przeczytaj Dokumentację",
"reindexNow":{
"label":"Przeindeksuj Teraz",
"desc":"Przeindeksowanie wygeneruje ponownie osadzenia dla wszystkich śledzonych obiektów. Ten proces działa w tle i może maksymalnie obciążyć procesor oraz zająć sporo czasu w zależności od liczby śledzonych obiektów.",
"alreadyInProgress":"Przeindeksowanie jest już w toku.",
"error":"Nie udało się rozpocząć przeindeksowania: {{errorMessage}}",
"confirmTitle":"Potwierdź Przeindeksowanie",
"confirmDesc":"Czy na pewno chcesz przeindeksować osadzenia wszystkich śledzonych obiektów? Ten proces będzie działał w tle, ale może maksymalnie obciążyć procesor i zająć sporo czasu. Możesz śledzić postęp na stronie Eksploruj."
}
},
"faceRecognition":{
"title":"Rozpoznawanie Twarzy",
"desc":"Rozpoznawanie twarzy pozwala na przypisanie imion do osób przez Frigate jako podrzędna etykieta. Ta informacja jest zawarta w interfejsie użytkownika, filtrach jak i w powiadomieniach.",
"modelSize":{
"label":"Rozmiar Modelu",
"desc":"Rozmiar modelu używanego do rozpoznawania twarzy.",
"small":{
"title":"mały",
"desc":"Używanie <em>małego</em> modelu wykorzystuje model osadzania twarzy FaceNet, który działa efektywnie na większości procesorów."
},
"large":{
"title":"duży",
"desc":"Używanie <em>dużego</em> modelu wykorzystuje model osadzania twarzy ArcFace i automatycznie uruchomi się na GPU, jeśli jest dostępny."
}
},
"readTheDocumentation":"Przeczytaj Dokumentację"
},
"licensePlateRecognition":{
"title":"Rozpoznawanie Tablic Rejestracyjnych",
"desc":"Frigate może rozpoznawać tablice rejestracyjne pojazdów i automatycznie dodawać wykryte znaki do pola recognized_license_plate albo znaną nazwę jako etykietę podrzędną do obiektów typu samochód. Częstym przypadkiem użycia może być odczytywanie tablic rejestracyjnych samochodów wjeżdżających na podjazd albo przejeżdżających ulicą.",
"readTheDocumentation":"Przeczytaj Dokumentację"
},
"toast":{
"error":"Nie udało się zapisać zmian w konfiguracji: {{errorMessage}}",
"success":"Ustawienia klasyfikacji zostały zapisane. Uruchom ponownie Frigate aby wprowadzić swoje zmiany."
},
"birdClassification":{
"desc":"Klasyfikacja ptaków identyfikuje znane ptaki przy użyciu skwantyzowanego modelu Tensorflow. Gdy znany ptak zostanie rozpoznany, jego popularna nazwa zostanie dodana jako sub_label. Ta informacja jest uwzględniana w interfejsie użytkownika, filtrach oraz powiadomieniach.",
"noDefinedZones":"Brak stref zdefiniowanych dla tej kamery.",
"selectAlertsZones":"Wybierz strefy dla Alertów",
"title":"Klasyfikacja Przeglądu",
"desc":"Frigate kategoryzuje elementy przeglądu jako Alerty i Wykrycia. Domyślnie wszystkie obiekty <em>osoba</em> i <em>samochód</em> są traktowane jako Alerty. Możesz doprecyzować kategoryzację elementów przeglądu, konfigurując dla nich wymagane strefy.",
"readTheDocumentation":"Przeczytaj Dokumentację",
"objectAlertsTips":"Wszystkie obiekty {{alertsLabels}} na {{cameraName}} będą wyświetlane jako Alerty.",
"zoneObjectAlertsTips":"Wszystkie obiekty {{alertsLabels}} wykryte w strefie {{zone}} na {{cameraName}} będą wyświetlane jako Alerty.",
"zoneObjectDetectionsTips":{
"notSelectDetections":"Wszystkie obiekty {{detectionsLabels}} wykryte w strefie {{zone}} na {{cameraName}}, które nie są skategoryzowane jako Alerty, będą wyświetlane jako Wykrycia niezależnie od strefy, w której się znajdują.",
"regardlessOfZoneObjectDetectionsTips":"Wszystkie nieskategoryzowane obiekty {{detectionsLabels}} na {{cameraName}} będą wyświetlane jako Wykrycia niezależnie od strefy, w której się znajdują.",
"text":"Wszystkie nieskategoryzowane obiekty {{detectionsLabels}} w strefie {{zone}} na {{cameraName}} będą wyświetlane jako Wykrycia."
},
"toast":{
"success":"Konfiguracja klasyfikacji przeglądu została zapisana. Uruchom ponownie Frigate, aby zastosować zmiany."
},
"objectDetectionsTips":"Wszystkie nieskategoryzowane obiekty {{detectionsLabels}} na {{cameraName}} będą wyświetlane jako Wykrycia niezależnie od strefy, w której się znajdują.",
"limitDetections":"Ogranicz wykrycia do określonych stref",
"desc":"Tymczasowo włącz/wyłącz alerty i wykrywania dla tej kamery do czasu restartu Frigate. Po wyłączeniu nie będą generowane nowe elementy do przeglądu. "
"desc":"Tymczasowo wyłącz kamerę dopóki Frigate nie uruchomi się ponownie. Wyłączenie kamery całkowicie zatrzymuje przetwarzanie strumieni tej kamery przez Frigate. Wykrywanie, nagrywanie i debugowanie będą niedostępne.<br /><em>Uwaga: Nie wyłącza to przekazywania strumieni go2rtc.</em>",
"title":"Opisy obiektów wygenerowane przez Sztuczną Inteligencję",
"desc":"Tymczasowo włącz/wyłącz opisy obiektów generowane przez SI. Gdy zostanie to wyłączone, prośby o opis śledzonych obiektów dla tej kamery nie będzie przesyłany do SI."
},
"review_descriptions":{
"title":"Opis recenzji od SI",
"desc":"Tymczasowo włącz/wyłącz recenzje opisów SI dla tej kamery. Gdy wyłączone prośby o wykonanie opisów nie zostaną przekazane do SI dla tej kamery."
},
"addCamera":"Dodaj nową kamerę",
"editCamera":"Edytuj kamerę:",
"selectCamera":"Wybierz kamerę",
"backToSettings":"Powrót do ustawień kamery",
"cameraConfig":{
"add":"Dodaj kamerę",
"edit":"Edytuj kamerę",
"description":"Konfiguracja ustawień kamery wraz ze strumieniem wejściowym i rolami.",
"name":"Nazwa kamery",
"nameRequired":"Nazwa kamery jest wymagana",
"nameLength":"Nazwa kamery musi być krótsza niż 24 znaki.",
"namePlaceholder":"np. drzwi_wejsciowe",
"enabled":"Włączony",
"ffmpeg":{
"inputs":"Strumienie wejściowe",
"path":"Ścieżka do strumienia",
"pathRequired":"Ścieżka do strumienia jest wymagana",
"pathPlaceholder":"rtsp://...",
"roles":"Role",
"rolesRequired":"Przynajmniej jedna rola jest wymagana",
"rolesUnique":"Każda z ról (audio, detect, record) może być przypisana tylko do jednego strumienia",
"addInput":"Dodaj strumień wejściowy",
"removeInput":"Usuń strumień wejściowy",
"inputsRequired":"Przynajmniej jeden strumień wejściowy jest wymagany"
},
"toast":{
"success":"Konfiguracja kamery {{cameraName}} została zapisana"
"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."
"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 <em>bardzo oszczędnie</em>, nadmierne maskowanie utrudni śledzenie obiektów."
"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."
"detectorDesc":"Frigate używa twoich detektorów ({{detectors}}) do wykrywania obiektów w strumieniu wideo kamery.",
"boundingBoxes":{
"desc":"Pokaż ramki ograniczające wokół śledzonych obiektów",
"colors":{
"label":"Kolory Ramek Ograniczających Obiekty",
"info":"<li>Przy uruchomieniu, różne kolory zostaną przypisane do każdej etykiety obiektu</li><li>Ciemnoniebieska cienka linia oznacza, że obiekt nie jest wykrywany w tym momencie</li><li>Szara cienka linia oznacza, że obiekt jest wykrywany jako nieruchomy</li><li>Gruba linia oznacza, że obiekt jest przedmiotem automatycznego śledzenia (gdy włączone)</li>"
},
"title":"Ramki ograniczające"
},
"zones":{
"desc":"Pokaż kontur zdefiniowanych stref",
"title":"Strefy"
},
"desc":"Widok debugowania pokazuje podgląd śledzonych obiektów w czasie rzeczywistym i ich statystyki. Lista obiektów pokazuje opóźnione podsumowanie wykrytych obiektów.",
"noObjects":"Brak obiektów",
"timestamp":{
"title":"Znacznik czasu",
"desc":"Nałóż znacznik czasu na obraz"
},
"mask":{
"title":"Maski ruchu",
"desc":"Pokaż wielokąty maski ruchu"
},
"motion":{
"title":"Ramki ruchu",
"desc":"Pokaż ramki wokół obszarów, gdzie wykryto ruch",
"tips":"<p><strong>Ramki Regionów</strong></p><br><p>Jasnozielone ramki będą nakładane na obszary zainteresowania w kadrze, które są wysyłane do detektora obiektów.</p>"
"tips":"Włącz tę opcję, aby narysować prostokąt na obrazie kamery w celu pokazania jego obszaru i proporcji. Te wartości mogą być następnie użyte do ustawienia parametrów filtra kształtu obiektu w twojej konfiguracji.",
"desc":"Narysuj prostokąt na obrazie, aby zobaczyć szczegóły obszaru i proporcji",
"desc":"Powiadomienia push w przeglądarce wymagają bezpiecznego kontekstu (<code>https://…</code>). To jest ograniczenie przeglądarki. Uzyskaj dostęp do Frigate przez bezpieczne połączenie, aby korzystać z powiadomień.",
"descPwa":"W systemie iOS powiadomienia web push są dostępne tylko wtedy, gdy Frigate jest zainstalowane na ekranie głównym. Otwórz menu <strong>Udostępnij</strong>, wybierz <strong>Do ekranu początkowego</strong>, a następnie otwórz Frigate z nowej ikony, aby zarejestrować to urządzenie do powiadomień."
"modelSelect":"Tutaj możesz wybrać swoje dostępne modele w Frigate+. Pamiętaj, że można wybrać tylko modele kompatybilne z Twoją aktualną konfiguracją detektora.",
"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+.",
"desc":"Rozpoznawanie twarzy pozwala na przypisywanie imion osobom, a gdy ich twarz zostanie rozpoznana, Frigate przypisze imię osoby jako sub label. Ta informacja jest wyświetlana w interfejsie, filtrach oraz powiadomieniach.",
"readTheDocumentation":"Przeczytaj Dokumentację",
"modelSize":{
"label":"Rozmiar modelu",
"desc":"Rozmiar modelu używanego do rozpoznawania twarzy.",
"small":{
"title":"mały",
"desc":"Użycie opcji <em>mały</em> wykorzystuje model osadzeń twarzy FaceNet, który działa wydajnie na większości procesorów."
},
"large":{
"title":"duży",
"desc":"Użycie opcji <em>duży</em> wykorzystuje model osadzeń twarzy ArcFace i automatycznie uruchomi się na karcie graficznej, jeśli jest dostępna."
"unsavedChanges":"Niezapisane zmiany ustawień wzbogacania",
"birdClassification":{
"title":"Klasyfikacja ptaków",
"desc":"Klasyfikacja ptaków identyfikuje znane gatunki przy użyciu skwantyzowanego modelu Tensorflow. Gdy rozpoznany zostanie znany ptak, jego zwyczajowa nazwa zostanie dodana jako sub_label. Ta informacja jest wyświetlana w interfejsie, filtrach oraz powiadomieniach."
},
"semanticSearch":{
"title":"Wyszukiwanie semantyczne",
"desc":"Wyszukiwanie semantyczne w Frigate pozwala na znajdowanie śledzonych obiektów w elementach przeglądowych za pomocą samego obrazu, opisu tekstowego zdefiniowanego przez użytkownika lub automatycznie wygenerowanego.",
"readTheDocumentation":"Przeczytaj Dokumentację",
"reindexNow":{
"label":"Reindeksuj teraz",
"desc":"Reindeksowanie zregeneruje osadzenia dla wszystkich śledzonych obiektów. Ten proces działa w tle i może maksymalnie obciążyć procesor oraz zająć sporo czasu w zależności od liczby śledzonych obiektów.",
"confirmTitle":"Potwierdź reindeksowanie",
"confirmDesc":"Czy na pewno chcesz reindeksować wszystkie osadzenia śledzonych obiektów? Ten proces będzie działał w tle, ale może maksymalnie obciążyć procesor i zająć sporo czasu. Postęp możesz śledzić na stronie Eksploruj.",
"confirmButton":"Reindeksuj",
"success":"Reindeksowanie zostało pomyślnie uruchomione.",
"alreadyInProgress":"Reindeksowanie już trwa.",
"error":"Nie udało się uruchomić reindeksowania: {{errorMessage}}"
},
"modelSize":{
"label":"Rozmiar modelu",
"desc":"Rozmiar modelu używanego do osadzeń wyszukiwania semantycznego.",
"small":{
"title":"mały",
"desc":"Użycie opcji <em>mały</em> wykorzystuje skwantyzowaną wersję modelu, która zużywa mniej pamięci RAM i działa szybciej na procesorze przy zaniedbywalnej różnicy w jakości osadzeń."
},
"large":{
"title":"duży",
"desc":"Użycie opcji <em>duży</em> wykorzystuje pełny model Jina i automatycznie uruchomi się na karcie graficznej, jeśli jest dostępna."
}
}
},
"licensePlateRecognition":{
"title":"Rozpoznawanie tablic rejestracyjnych",
"desc":"Frigate może rozpoznawać tablice rejestracyjne na pojazdach i automatycznie dodawać wykryte znaki do pola recognized_license_plate lub znaną nazwę jako sub_label do obiektów typu samochód. Typowy przypadek użycia to odczytywanie tablic rejestracyjnych samochodów wjeżdżających na podjazd lub przejeżdżających ulicą.",
"userRolesUpdated_one":"{{count}} użytkownik przypisany do tej roli został zaktualizowany do roli 'viewer', która ma dostęp do wszystkich kamer.",
"userRolesUpdated_few":"{{count}} użytkowników przypisanych do tej roli zostało zaktualizowanych do roli 'viewer', która ma dostęp do wszystkich kamer.",
"userRolesUpdated_many":"{{count}} użytkowników przypisanych do tej roli zostało zaktualizowanych do roli 'viewer', która ma dostęp do wszystkich kamer."
"createRoleFailed":"Nie udało się utworzyć roli: {{errorMessage}}",
"updateCamerasFailed":"Nie udało się zaktualizować kamery: {{errorMessage}}",
"deleteRoleFailed":"Nie udało się usunąć roli: {{errorMessage}}",
"userUpdateFailed":"Nie udało się zaktualizować ról użytkownika: {{errorMessage}}"
}
},
"dialog":{
"createRole":{
"title":"Dodaj nową rolę",
"desc":"Dodaj nową rolę i określ prawa dostępu do kamer."
},
"editCameras":{
"title":"Edytuj kamery roli",
"desc":"Aktualizuj dostęp do kamer dla roli <strong>{{role}}</strong>."
},
"deleteRole":{
"title":"Usuń rolę",
"desc":"Ta akcja nie może zostać wycofana. To usunie rolę na stałe i przypisze jej użytkowników do roli 'viewer' która ma dostęp do wszystkich kamer.",
"warn":"Czy na pewno chcesz usunąć rolę <strong>{{role}}</strong>?",
"deleting":"Usuwanie..."
},
"form":{
"role":{
"title":"Nazwa roli",
"placeholder":"Wprowadź nazwę roli",
"desc":"Tylko litery, liczby, kropki i podkreślenie są dozwolone.",
"roleIsRequired":"Nazwa roli jest wymagana",
"roleOnlyInclude":"Nazwa roli może zawierać litery, liczby, . albo _",
"roleExists":"Taka rola już istnieje."
},
"cameras":{
"title":"Kamery",
"desc":"Wybierz do jakich kamer ta rola ma dostęp. Wymagana jest przynajmniej jedna kamera.",
"required":"Przynajmniej jedna kamera musi zostać wybrana."
"desc":"Zarządzaj wyzwalaczami dla kamery {{camera}}. Użyj typu miniatury, aby aktywować miniatury podobne do wybranego śledzonego obiektu, i typu opisu, aby aktywować opisy podobne do określonego tekstu."
"imageDesc":"Wyświetlane jest tylko 100 najnowszych miniatur. Jeśli nie możesz znaleźć żądanej miniatury, przejrzyj wcześniejsze obiekty w sekcji Eksploruj i skonfiguruj wyzwalacz z menu w tym miejscu.",
"desc":"Domyślnie Frigate wysyła komunikat MQTT dla wszystkich wyzwalaczy. Podetykiety dodają nazwę wyzwalacza do etykiety obiektu. Atrybuty to metadane, które można przeszukiwać, przechowywane oddzielnie w metadanych śledzonego obiektu.",
"onvifPortDescription":"Dla kamer wspierających protokół ONVIF, port to zazwyczaj 80 lub 8080.",
"errors":{
"brandOrCustomUrlRequired":"Wybierz markę kamery oraz host/adres IP lub wybierz 'Inny' i podaj niestandardowy adres URL",
"nameRequired":"Wymagana nazwa kamery",
"nameLength":"Nazwa kamery musi mieć 64 lub mniej znaków",
"invalidCharacters":"Nazwa kamery zawiera niepoprawne znaki",
"nameExists":"Nazwa kamery jest już zajęta",
"customUrlRtspRequired":"Niestandardowe adresy URL muszą zaczynać się od \"rtsp://\". Ręczna konfiguracja wymagana jest dla strumieniów innych niż RTSP."
},
"description":"Wprowadź szczegóły kamery i wybierz autodetekcję lub ręcznie wybierz firmę.",
"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\".",
"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."
},
"step2":{
"testSuccess":"Test połączenia udany!",
"testFailed":"Test połączenia nieudany. Sprawdź adres źródła obrazu i spróbuj ponownie.",
"rtspCandidatesDescription":"W wyniku sprawdzania kamery znaleziono następujące adresy URL RTSP. Przetestuj połączenie, aby wyświetlić metadane strumienia.",
"noRtspCandidates":"Nie znaleziono adresów URL RTSP z kamery. Twoje dane uwierzytelniające mogą być nieprawidłowe lub kamera może nie obsługiwać protokołu ONVIF lub metody używanej do pobierania adresów URL RTSP. Wróć i wprowadź adres URL RTSP ręcznie.",
"candidateStreamTitle":"Kandydat {{number}}",
"useCandidate":"Użyj",
"toggleUriView":"Kliknij, aby przełączyć widok pełnego adresu URI",
"ffmpegModuleDescription":"Jeżeli po kilku próbach strumień nadal nie ładuje się, uruchom ten tryb. Gdy włączony jest ten tryb Frigate będzie używać modułu ffmpeg z go2rtc. Może to zapewnić lepszą kompatybilność z niektórymi typami strumieniów.",
"reolink-rtsp":"Strumień RTSP dla kamer firmy Reolink nie jest rekomendowany. Uruchom strumień HTTP w oprogramowaniu kamery i uruchom kreator jeszcze raz.",
"reolink-http":"Strumienie HTTP Reolink powinny korzystać z FFmpeg w celu zapewnienia lepszej kompatybilności. Włącz opcję 'Użyj trybu kompatybilności strumienia' dla tego strumienia."
},
"videoCodecGood":"Kodek wideo to {{codec}}.",
"dahua":{
"substreamWarning":"Podstrumień 1 jest zablokowany na niskiej rozdzielczości. Wiele kamer Dahua / Amcrest / EmpireTech 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."
},
"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."
"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. <br /><em>Uwaga: nie powoduje to wyłączenia strumieni go2rtc.</em>",
"label":"Stan kamery",
"description":"Ustaw stan pracy dla każdej kamery.<br /><br /><strong>Włączona</strong>: strumienie są przetwarzane normalnie.<br /><strong>Wyłączona</strong>: tymczasowo wstrzymuje przetwarzanie. Stan nie jest zachowywany po restarcie Frigate.<br /><strong>Zdezaktywowana</strong>: zatrzymuje przetwarzanie i zapisuje zmianę w konfiguracji. Wymagany jest restart, aby ponownie włączyć kamerę.<br /><br /><em>Uwaga: Zdezaktywowanie nie wpływa na retransmisje go2rtc.</em><br /><br />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."
"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 <strong>{{cameraName}}</strong> jest nieodwracalne.",
"deleteExports":"Usuń także eksporty dla tej kamery",
"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.",
"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.",
"desc":"Tymczasowo włącz/wyłącz alerty i wykrywania dla tej kamery do momentu ponownego uruchomienia programu Frigate. Po wyłączeniu nie będą generowane żadne nowe elementy do przeglądu. "
"noDefinedZones":"Nie zdefiniowano żadnych stref dla tej kamery.",
"objectDetectionsTips":"Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte przez kamerę {{cameraName}} będą wyświetlane jako Wykrycia niezależnie od strefy w której zostały wykryte.",
"zoneObjectDetectionsTips":{
"text":"Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane w strefie {{zone}} kamery {{cameraName}} będą wyświetlane jako Wykrycia.",
"notSelectDetections":"Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte w strefie {{zone}} kamery {{cameraName}} nieskategoryzowane jako Alerty będą wyświetlane jako Wykrycia, niezależnie w której strefie zostaną wykryte.",
"regardlessOfZoneObjectDetectionsTips":"Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane dla kamery {{cameraName}} będą wyświetlane jako Wykrycia niezależnie w której strefie zostaną wykryte."
},
"unsavedChanges":"Niezapisane ustawienia klasyfikacji przeglądu dla kamery {{camera}}",
"selectAlertsZones":"Wybierz strefę dla Alertów",
"selectDetectionsZones":"Wybierz strefę dla Wykryć",
"limitDetections":"Ogranicz detekcje do konkretnych stref",
"desc":"Frigate dzieli elementy do przeglądu na alarmy i detekcje. Domyślnie wszystkie obiekty typu <em>osoba</em> i <em>samochód</em> są traktowane jako alerty. Możesz doprecyzować kategoryzację elementów do przeglądu, konfigurując dla nich wymagane strefy.",
"objectAlertsTips":"Wszystkie obiekty {{alertsLabels}} w {{cameraName}} będą wyświetlane jako alarmy.",
"zoneObjectAlertsTips":"Wszystkie obiekty {{alertsLabels}} wykryte w {{zone}} na {{cameraName}} zostaną wyświetlone jako alarmy.",
"toast":{
"success":"Konfiguracja klasyfikacji została zapisana. Uruchom ponownie program Frigate, aby zastosować zmiany."
}
},
"title":"Ustawienia przeglądu kamery",
"object_descriptions":{
"title":"Generatywne opisy obiektów AI",
"desc":"Tymczasowo włącz/wyłącz generatywne opisy obiektów AI dla tej kamery. Po wyłączeniu funkcja nie będzie generować opisów AI dla obiektów śledzonych przez tę kamerę."
"desc":"Tymczasowo włącz/wyłącz generatywne opisy AI dla tej kamery. Po wyłączeniu opisy generowane przez AI nie będą wymagane dla elementów przeglądu w tej kamerze."
"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.",
"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.",
"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.",
"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."