diff --git a/web/public/locales/ro/common.json b/web/public/locales/ro/common.json index 1148d60c8..65129e6d6 100644 --- a/web/public/locales/ro/common.json +++ b/web/public/locales/ro/common.json @@ -185,7 +185,9 @@ "withSystem": "Modul sistemului", "restart": "Repornește Frigate", "review": "Revizuire", - "classification": "Clasificare" + "classification": "Clasificare", + "chat": "Chat", + "actions": "Acțiuni" }, "button": { "cameraAudio": "Sunet cameră", @@ -223,7 +225,18 @@ "export": "Exportă", "deleteNow": "Șterge acum", "next": "Următorul", - "continue": "Continuă" + "continue": "Continuă", + "add": "Adaugă", + "undo": "Anulează", + "copiedToClipboard": "Copiat în clipboard", + "modified": "Modificat", + "overridden": "Suprascris", + "resetToGlobal": "Resetare la valori Globale", + "resetToDefault": "Resetare la valori implicite", + "saveAll": "Salvează toate", + "savingAll": "Se salvează toate…", + "undoAll": "Anulează toate", + "applying": "Se aplică…" }, "unit": { "speed": { diff --git a/web/public/locales/ro/components/camera.json b/web/public/locales/ro/components/camera.json index 55396367d..093ff4532 100644 --- a/web/public/locales/ro/components/camera.json +++ b/web/public/locales/ro/components/camera.json @@ -67,7 +67,7 @@ "desc": "Activează această opțiune doar dacă stream-ul live al camerei afișează artefacte de culoare și are o linie diagonală pe partea dreaptă a imaginii." } }, - "birdseye": "Vedere de ansamblu" + "birdseye": "Birdseye" } }, "debug": { diff --git a/web/public/locales/ro/components/dialog.json b/web/public/locales/ro/components/dialog.json index 5d478f76a..ec929c023 100644 --- a/web/public/locales/ro/components/dialog.json +++ b/web/public/locales/ro/components/dialog.json @@ -95,6 +95,10 @@ "fromTimeline": { "saveExport": "Salvează exportul", "previewExport": "Previzualizează exportul" + }, + "case": { + "label": "Caz", + "placeholder": "Selectează caz" } }, "streaming": { diff --git a/web/public/locales/ro/components/filter.json b/web/public/locales/ro/components/filter.json index 74a65aa62..a0438b56e 100644 --- a/web/public/locales/ro/components/filter.json +++ b/web/public/locales/ro/components/filter.json @@ -106,7 +106,7 @@ }, "trackedObjectDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice încorporări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

Ești sigur că dorești să continui?

Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", + "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice înglobări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

Ești sigur că dorești să continui?

Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", "toast": { "success": "Obiectele urmărite au fost șterse cu succes.", "error": "Ștergerea obiectelor urmărite a eșuat: {{errorMessage}}" diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json new file mode 100644 index 000000000..5735e9b6a --- /dev/null +++ b/web/public/locales/ro/config/cameras.json @@ -0,0 +1,941 @@ +{ + "label": "Configurație Cameră", + "name": { + "label": "Nume cameră", + "description": "Numele camerei este obligatoriu" + }, + "friendly_name": { + "label": "Nume prietenos", + "description": "Numele camerei afișat în interfața Frigate" + }, + "enabled": { + "label": "Activată", + "description": "Activată" + }, + "audio": { + "label": "Evenimente audio", + "description": "Setări pentru detectarea evenimentelor bazate pe sunet pentru această cameră.", + "enabled": { + "label": "Activare detecție audio", + "description": "Activează sau dezactivează detecția evenimentelor audio pentru această cameră." + }, + "max_not_heard": { + "label": "Timeout final", + "description": "Secunde fără tipul audio configurat înainte ca evenimentul să fie încheiat." + }, + "min_volume": { + "label": "Volum minim", + "description": "Pragul minim de volum RMS; valorile mici cresc sensibilitatea (ex: 200 ridicată, 500 medie, 1000 scăzută)." + }, + "listen": { + "label": "Tipuri ascultate", + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + }, + "filters": { + "label": "Filtre audio", + "description": "Setări de filtrare per tip audio, cum ar fi pragul de încredere." + }, + "enabled_in_config": { + "label": "Stare audio originală", + "description": "Indică dacă detecția audio a fost activată inițial în fișierul de configurare static." + }, + "num_threads": { + "label": "Thread-uri detecție", + "description": "Numărul de thread-uri pentru procesarea detecției audio." + } + }, + "audio_transcription": { + "label": "Transcriere audio", + "description": "Setări pentru transcrierea audio live și a vorbirii pentru evenimente.", + "enabled": { + "label": "Activare transcriere", + "description": "Activează sau dezactivează transcrierea declanșată manual pentru evenimentele audio." + }, + "enabled_in_config": { + "label": "Stare transcriere originală" + }, + "live_enabled": { + "label": "Transcriere live", + "description": "Activează streaming-ul de transcriere live pe măsură ce sunetul e recepționat." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Setări pentru vizualizarea compusă Birdseye care combină mai multe stream-uri într-un singur layout.", + "enabled": { + "label": "Activare Birdseye", + "description": "Activează sau dezactivează funcția Birdseye." + }, + "mode": { + "label": "Mod urmărire", + "description": "Modul de includere a camerelor în Birdseye: 'objects', 'motion' sau 'continuous'." + }, + "order": { + "label": "Poziție", + "description": "Poziția numerică ce controlează ordinea camerei în layout-ul Birdseye." + } + }, + "detect": { + "label": "Detecție obiecte", + "description": "Setări pentru rolul de detecție folosit pentru a rula recunoașterea obiectelor și trackerele.", + "enabled": { + "label": "Detecție activată", + "description": "Activează sau dezactivează detecția obiectelor pentru această cameră. Detecția trebuie să fie activă pentru ca urmărirea obiectelor să funcționeze." + }, + "height": { + "label": "Înălțime detect", + "description": "Înălțimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "width": { + "label": "Lățime detect", + "description": "Lățimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "fps": { + "label": "FPS detect", + "description": "FPS-ul dorit pentru detecție; valori mici reduc consumul CPU (recomandat 5, max 10 pentru obiecte foarte rapide)." + }, + "min_initialized": { + "label": "Cadre minime inițializare", + "description": "Numărul de detecții consecutive necesare înainte de a crea un obiect urmărit. Crește valoarea pentru a reduce alarmele false." + }, + "max_disappeared": { + "label": "Cadre maxime dispariție", + "description": "Numărul de cadre fără detecție înainte ca un obiect urmărit să fie considerat dispărut." + }, + "stationary": { + "label": "Configurație obiecte staționare", + "description": "Setări pentru gestionarea obiectelor care rămân nemișcate o perioadă.", + "interval": { + "label": "Interval staționar", + "description": "Cât de des (în cadre) se verifică prezența unui obiect staționar." + }, + "threshold": { + "label": "Prag staționar", + "description": "Numărul de cadre fără schimbare de poziție pentru a marca un obiect ca staționar." + }, + "max_frames": { + "label": "Cadre maxime", + "description": "Limitează cât timp sunt urmărite obiectele staționare înainte de a fi ignorate.", + "default": { + "label": "Cadre maxime implicit", + "description": "Valoarea implicită pentru urmărirea obiectelor staționare." + }, + "objects": { + "label": "Cadre maxime per obiect", + "description": "Suprascrieri per obiect pentru durata urmăririi staționare." + } + }, + "classifier": { + "label": "Activare clasificator vizual", + "description": "Folosește un clasificator vizual pentru a detecta obiectele cu adevărat staționare, chiar dacă chenarul oscilează." + } + }, + "annotation_offset": { + "label": "Offset adnotare", + "description": "Milisecunde pentru a decala adnotările de detecție pentru a alinia mai bine chenarele cu înregistrarea." + } + }, + "face_recognition": { + "label": "Recunoaștere facială", + "description": "Setări pentru detecția și recunoașterea fețelor pentru această cameră.", + "enabled": { + "label": "Activare recunoaștere facială", + "description": "Activează sau dezactivează recunoașterea facială." + }, + "min_area": { + "label": "Arie minimă față", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", + "path": { + "label": "Cale FFmpeg", + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pasate proceselor FFmpeg." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente pentru accelerarea hardware. Se recomandă presetările specifice furnizorului." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente aplicate stream-urilor de intrare FFmpeg." + }, + "output_args": { + "label": "Argumente ieșire", + "description": "Argumente de ieșire implicite pentru diverse roluri (detect, record).", + "detect": { + "label": "Argumente ieșire detect", + "description": "Argumente implicite pentru stream-urile cu rol detect." + }, + "record": { + "label": "Argumente ieșire record", + "description": "Argumente implicite pentru stream-urile cu rol record." + } + }, + "retry_interval": { + "label": "Timp reîncercare FFmpeg", + "description": "Secunde de așteptare înainte de reconectarea unui stream după o eroare. Implicit 10." + }, + "apple_compatibility": { + "label": "Compatibilitate Apple", + "description": "Activează tag-ul HEVC pentru compatibilitate mai bună cu playerele Apple la înregistrările H.265." + }, + "gpu": { + "label": "Index GPU", + "description": "Indexul GPU implicit folosit pentru accelerarea hardware." + }, + "inputs": { + "label": "Intrări cameră", + "description": "Listă de definiții pentru stream-urile de intrare (căi și roluri).", + "path": { + "label": "Cale intrare", + "description": "URL-ul sau calea stream-ului de intrare al camerei." + }, + "roles": { + "label": "Roluri intrare", + "description": "Rolurile atribuite acestui stream de intrare." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pentru acest stream de intrare." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente de accelerare hardware pentru acest stream." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente specifice acestui stream." + } + } + }, + "live": { + "label": "Redare live", + "description": "Setări folosite de interfața web pentru a controla selecția, rezoluția și calitatea stream-ului live.", + "streams": { + "label": "Nume stream-uri live", + "description": "Maparea numelor de stream-uri configurate către numele restream/go2rtc folosite live." + }, + "height": { + "label": "Înălțime live", + "description": "Înălțimea (pixeli) pentru redarea jsmpeg în UI; trebuie să fie <= înălțimea stream-ului de detect." + }, + "quality": { + "label": "Calitate live", + "description": "Calitatea encodării pentru stream-ul jsmpeg (1 maxim, 31 minim)." + } + }, + "lpr": { + "label": "Recunoaștere numere înmatriculare", + "description": "Setări pentru recunoașterea numerelor de înmatriculare, inclusiv praguri de detecție, formatare și numere cunoscute.", + "enabled": { + "label": "Activare LPR", + "description": "Activează sau dezactivează LPR pe această cameră." + }, + "expire_time": { + "label": "Secunde expirare", + "description": "Timpul în secunde după care un număr nevăzut este expirat din tracker (doar pentru camerele LPR dedicate)." + }, + "min_area": { + "label": "Arie minimă plăcuță", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "enhancement": { + "label": "Nivel îmbunătățire", + "description": "Nivelul de îmbunătățire (0-10) aplicat decupajelor cu numere înainte de OCR; valorile mai mari nu îmbunătățesc mereu rezultatele, iar nivelurile peste 5 pot funcționa doar cu numerele pe timp de noapte și trebuie folosite cu atenție." + } + }, + "motion": { + "label": "Detecție mișcare", + "description": "Setări implicite pentru detecția mișcării pentru această cameră.", + "enabled": { + "label": "Activare detecție mișcare", + "description": "Activează sau dezactivează detecția mișcării pentru această cameră." + }, + "threshold": { + "label": "Prag mișcare", + "description": "Pragul de diferență între pixeli; valorile mari reduc sensibilitatea (1-255)." + }, + "lightning_threshold": { + "label": "Prag fulger/lumină", + "description": "Prag pentru a ignora salturile bruște de lumină (sensibilitate între 0.3 și 1.0)." + }, + "improve_contrast": { + "label": "Îmbunătățire contrast", + "description": "Aplică o îmbunătățire a contrastului înainte de analiza mișcării pentru a ajuta detecția." + }, + "contour_area": { + "label": "Arie contur", + "description": "Aria minimă a conturului în pixeli pentru a fi considerat mișcare." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Factor de blending alpha folosit în diferențierea cadrelor." + }, + "frame_alpha": { + "label": "Cadru alfa", + "description": "Valoarea alpha pentru amestecarea cadrelor la preprocesarea mișcării." + }, + "frame_height": { + "label": "Înălțime cadru", + "description": "Înălțimea la care sunt scalate cadrele pentru calculul mișcării." + }, + "mask": { + "label": "Coordonate mască", + "description": "Coordonate x,y care definesc poligonul măștii de mișcare." + }, + "mqtt_off_delay": { + "label": "Întârziere MQTT off", + "description": "Secunde de așteptare după ultima mișcare înainte de a trimite starea 'off' prin MQTT." + }, + "enabled_in_config": { + "label": "Stare mișcare originală", + "description": "Indică dacă detecția mișcării a fost activă în configurația inițială." + }, + "raw_mask": { + "label": "Mască brută" + }, + "skip_motion_threshold": { + "label": "Ignoră pragul de mișcare", + "description": "Dacă se schimbă mai mult de această fracțiune din imagine într-un singur cadru, detectorul nu va returna nicio casetă de mișcare și se va recalibra imediat. Acest lucru poate economisi CPU și reduce alertele false în timpul fulgerelor, furtunilor etc., dar poate rata evenimente reale, cum ar fi o cameră PTZ care urmărește automat un obiect. Compromisul este între a pierde câțiva megaocteți de înregistrări versus a revizui câteva clipuri scurte. Interval 0.0 - 1.0." + } + }, + "objects": { + "label": "Obiecte", + "description": "Setări implicite pentru urmărire, inclusiv ce etichete se urmăresc și filtrele per obiect.", + "track": { + "label": "Obiecte de urmărit", + "description": "Lista etichetelor de obiecte de urmărit pentru această cameră." + }, + "filters": { + "label": "Filtre obiecte", + "description": "Filtre pentru a reduce alarmele false (arie, raport, încredere).", + "min_area": { + "label": "Arie minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procent)." + }, + "max_area": { + "label": "Arie maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procent)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime pentru chenar." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime pentru chenar." + }, + "threshold": { + "label": "Prag încredere", + "description": "Încrederea medie necesară pentru a considera obiectul valid." + }, + "min_score": { + "label": "Scor minim", + "description": "Încrederea minimă la un singur cadru pentru a număra obiectul." + }, + "mask": { + "label": "Mască filtru", + "description": "Poligonul unde se aplică acest filtru în cadru." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "mask": { + "label": "Mască obiect", + "description": "Mască pentru a preveni detecția obiectelor în anumite zone." + }, + "raw_mask": { + "label": "Mască brută" + }, + "genai": { + "label": "Configurație obiecte GenAI", + "description": "Opțiuni GenAI pentru descrierea obiectelor urmărite și trimiterea cadrelor.", + "enabled": { + "label": "Activare GenAI", + "description": "Activează generarea de descrieri prin GenAI pentru obiectele urmărite." + }, + "use_snapshot": { + "label": "Folosește snapshot-uri", + "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." + }, + "prompt": { + "label": "Prompt descriere", + "description": "Șablonul de prompt implicit pentru descrierile GenAI." + }, + "object_prompts": { + "label": "Prompt-uri per obiect", + "description": "Prompt-uri personalizate pentru anumite etichete de obiecte." + }, + "objects": { + "label": "Obiecte GenAI", + "description": "Lista etichetelor de obiecte care vor fi trimise la GenAI." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă obiectele pentru a genera descrieri." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la GenAI pentru depanare." + }, + "send_triggers": { + "label": "Trigger-e GenAI", + "description": "Definește când sunt trimise cadrele la GenAI (la final, după actualizări etc.).", + "tracked_object_end": { + "label": "Trimite la final", + "description": "Trimite cererea la GenAI când urmărirea obiectului s-a terminat." + }, + "after_significant_updates": { + "label": "Trigger GenAI timpuriu", + "description": "Trimite la GenAI după un număr de actualizări semnificative ale obiectului." + } + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Indică dacă GenAI a fost activat în configurația inițială." + } + } + }, + "record": { + "label": "Înregistrare", + "description": "Setări de înregistrare și retenție pentru această cameră.", + "enabled": { + "label": "Activare înregistrare", + "description": "Activează sau dezactivează înregistrarea pentru această cameră." + }, + "expire_interval": { + "label": "Interval curățare înregistrări", + "description": "Minute între trecerile de curățare a segmentelor expirate." + }, + "continuous": { + "label": "Retenție continuă", + "description": "Zile de păstrare a înregistrărilor indiferent de obiecte sau mișcare. Pune 0 pentru a păstra doar alerte/detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "motion": { + "label": "Retenție mișcare", + "description": "Zile de păstrare pentru înregistrările declanșate de mișcare.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "detections": { + "label": "Retenție detecții", + "description": "Setări pentru evenimentele de detecție, inclusiv duratele pre/post captură.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de evenimentul detectat." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după încheierea evenimentului." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de retenție pentru clipurile cu detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile de păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod: 'all' (tot), 'motion' (doar segmente cu mișcare) sau 'active_objects' (doar cu obiecte active)." + } + } + }, + "alerts": { + "label": "Retenție alerte", + "description": "Setări de retenție pentru evenimentele de tip alertă.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de alertă." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după alertă." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de păstrare pentru alerte.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Modul de păstrare a segmentelor." + } + } + }, + "export": { + "label": "Configurație export", + "description": "Setări pentru exportul înregistrărilor (timelapse, accelerare hardware).", + "hwaccel_args": { + "label": "Argumente hwaccel export", + "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + } + }, + "preview": { + "label": "Configurație preview", + "description": "Setări pentru calitatea preview-urilor din interfață.", + "quality": { + "label": "Calitate preview", + "description": "Nivel calitate (foarte_scăzută, scăzută, medie, ridicată, foarte ridicată)." + } + }, + "enabled_in_config": { + "label": "Stare înregistrare originală", + "description": "Indică dacă înregistrarea a fost activă în configurația inițială." + } + }, + "review": { + "label": "Revizuire", + "description": "Setări care controlează alertele, detecțiile și rezumatele de tip GenAI folosite de interfață și stocare pentru această cameră.", + "alerts": { + "label": "Configurație alerte", + "description": "Setări pentru obiectele care generează alerte și modul lor de retenție.", + "enabled": { + "label": "Activare alerte", + "description": "Activează sau dezactivează generarea de alerte pentru această cameră." + }, + "labels": { + "label": "Etichete alerte", + "description": "Obiecte care sunt considerate alerte (ex: om, mașină)." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru a declanșa o alertă." + }, + "enabled_in_config": { + "label": "Stare alerte originală", + "description": "Dacă alertele au fost active inițial în fișierul de config." + }, + "cutoff_time": { + "label": "Timp limită alerte", + "description": "Secunde de așteptare după încetarea activității înainte de a încheia alerta." + } + }, + "detections": { + "label": "Configurație detecții", + "description": "Setări pentru evenimentele de detecție (non-alertă).", + "enabled": { + "label": "Activare detecții", + "description": "Activează sau dezactivează evenimentele de detecție pentru această cameră." + }, + "labels": { + "label": "Etichete detecții", + "description": "Obiecte care se consideră detecții." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru o detecție." + }, + "cutoff_time": { + "label": "Timp limită detecții", + "description": "Secunde de așteptare înainte de a încheia o detecție." + }, + "enabled_in_config": { + "label": "Stare detecții originală", + "description": "Dacă detecțiile au fost active în configurația inițială." + } + }, + "genai": { + "label": "Configurație GenAI", + "description": "Controlul AI-ului generativ pentru descrieri și rezumate în review.", + "enabled": { + "label": "Activare descrieri GenAI", + "description": "Activează descrierile și rezumatele generate de AI pentru elementele de review." + }, + "alerts": { + "label": "GenAI pentru alerte", + "description": "Folosește GenAI pentru descrierea alertelor." + }, + "detections": { + "label": "GenAI pentru detecții", + "description": "Folosește GenAI pentru descrierea detecțiilor." + }, + "image_source": { + "label": "Sursă imagine review", + "description": "Sursa imaginilor ('preview' sau 'recordings'); 'recordings' e mai calitativ dar consumă mai multe token-uri." + }, + "additional_concerns": { + "label": "Preocupări suplimentare", + "description": "Listă de note sau griji pe care GenAI să le considere când evaluează activitatea pe cameră." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la furnizorul GenAI pentru depanare." + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Dacă review-ul GenAI a fost activ inițial." + }, + "preferred_language": { + "label": "Limbă preferată", + "description": "Limba în care vrei ca GenAI să genereze răspunsurile." + }, + "activity_context_prompt": { + "label": "Prompt context activitate", + "description": "Prompt personalizat care descrie ce este suspect și ce nu pentru rezumatele GenAI." + } + } + }, + "semantic_search": { + "label": "Căutare semantică", + "description": "Setări pentru căutarea semantică care construiește și interoghează înglobări de obiecte pentru a găsi elemente similare.", + "triggers": { + "label": "Trigger-e", + "description": "Acțiuni și criterii pentru trigger-ele de căutare semantică specifice camerelor.", + "friendly_name": { + "label": "Nume sugestiv", + "description": "Nume opțional afișat în UI pentru acest trigger." + }, + "enabled": { + "label": "Activare trigger", + "description": "Activează sau dezactivează acest trigger." + }, + "type": { + "label": "Tip trigger", + "description": "Tip: 'thumbnail' (compară cu imagine) sau 'description' (compară cu text)." + }, + "data": { + "label": "Conținut trigger", + "description": "Textul sau ID-ul miniaturii de comparat cu obiectele urmărite." + }, + "threshold": { + "label": "Prag trigger", + "description": "Scorul minim de similitudine (0-1) pentru activare." + }, + "actions": { + "label": "Acțiuni trigger", + "description": "Lista de acțiuni (notificare, sub_label, atribut) la activare." + } + } + }, + "snapshots": { + "label": "Snapshot-uri", + "description": "Setări pentru snapshot-urile JPEG salvate ale obiectelor monitorizate de această cameră.", + "enabled": { + "label": "Snapshot-uri activate", + "description": "Activează sau dezactivează salvarea de snapshots pentru această cameră." + }, + "clean_copy": { + "label": "Salvează copie curată", + "description": "Salvează și o copie fără adnotări a snapshot-ului." + }, + "timestamp": { + "label": "Overlay timestamp", + "description": "Pune data și ora pe snapshot-urile salvate." + }, + "bounding_box": { + "label": "Overlay chenar", + "description": "Desenează chenarele obiectelor pe snapshot-uri." + }, + "crop": { + "label": "Decupează snapshot-ul", + "description": "Decupează snapshot-ul pe mărimea obiectului detectat." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă un obiect pentru a salva un snapshot." + }, + "height": { + "label": "Înălțime snapshot", + "description": "Înălțimea la care se redimensionează snapshot-ul; lasă gol pentru dimensiunea originală." + }, + "retain": { + "label": "Retenție snapshot-uri", + "description": "Setări pentru păstrarea snapshot-urilor.", + "default": { + "label": "Retenție implicită", + "description": "Numărul implicit de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod retenție: 'all', 'motion' sau 'active_objects'." + }, + "objects": { + "label": "Retenție per obiect", + "description": "Suprascrieri pentru zilele de retenție ale snapshot-urilor per obiect." + } + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea encodării JPEG pentru snapshot-uri (0-100)." + } + }, + "timestamp_style": { + "label": "Stil timestamp", + "description": "Opțiuni de stilizare pentru timestamp-ul din flux, aplicate înregistrărilor și snapshot-urilor.", + "position": { + "label": "Poziție timestamp", + "description": "Unde apare data/ora pe imagine (stânga-sus/dreapta-sus etc.)." + }, + "format": { + "label": "Format timestamp", + "description": "Formatul datei (coduri Python datetime)." + }, + "color": { + "label": "Culoare timestamp", + "description": "Valori RGB pentru textul datei.", + "red": { + "label": "Roșu", + "description": "Componenta roșie (0-255)." + }, + "green": { + "label": "Verde", + "description": "Componenta verde (0-255)." + }, + "blue": { + "label": "Albastru", + "description": "Componenta albastră (0-255)." + } + }, + "thickness": { + "label": "Grosime timestamp", + "description": "Grosimea liniei textului." + }, + "effect": { + "label": "Efect timestamp", + "description": "Efect vizual pentru text (fără, solid, umbră)." + } + }, + "best_image_timeout": { + "label": "Timp limită cea mai bună imagine", + "description": "Cât timp să se aștepte pentru imaginea cu cel mai mare scor de încredere." + }, + "mqtt": { + "label": "MQTT", + "description": "Setări de publicare a imaginilor prin MQTT.", + "enabled": { + "label": "Trimite imagine", + "description": "Activează publicarea de snapshot-uri cu imagini pentru obiecte pe topic-urile MQTT pentru această cameră." + }, + "timestamp": { + "label": "Adaugă timestamp", + "description": "Suprapune un timestamp pe imaginile publicate pe MQTT." + }, + "bounding_box": { + "label": "Adaugă bounding box", + "description": "Desenează chenare pe imaginile publicate prin MQTT." + }, + "crop": { + "label": "Decupează imaginea", + "description": "Decupează imaginile publicate pe MQTT la dimensiunea chenarului obiectului detectat." + }, + "height": { + "label": "Înălțime imagine", + "description": "Înălțimea (pixeli) la care să fie redimensionate imaginile publicate prin MQTT." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele în care trebuie să intre un obiect pentru ca o imagine MQTT să fie publicată." + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea JPEG pentru imaginile publicate pe MQTT (0-100)." + } + }, + "notifications": { + "label": "Notificări", + "description": "Setări pentru activarea și controlul notificărilor pentru această cameră.", + "enabled": { + "label": "Activează notificările", + "description": "Activează sau dezactivează notificările pentru această cameră." + }, + "email": { + "label": "Email notificare", + "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." + }, + "cooldown": { + "label": "Perioadă de răcire", + "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." + }, + "enabled_in_config": { + "label": "Stare originală notificări", + "description": "Indică dacă notificările au fost activate în configurația statică originală." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Setări pentru conexiunea ONVIF și autotracking PTZ pentru această cameră.", + "host": { + "label": "Gazdă ONVIF", + "description": "Gazda (și schema opțională) pentru serviciul ONVIF al acestei camere." + }, + "port": { + "label": "Port ONVIF", + "description": "Numărul portului pentru serviciul ONVIF." + }, + "user": { + "label": "Utilizator ONVIF", + "description": "Utilizator pentru autentificarea ONVIF; unele dispozitive necesită un utilizator administrator pentru ONVIF." + }, + "password": { + "label": "Parolă ONVIF", + "description": "Parola pentru autentificarea ONVIF." + }, + "tls_insecure": { + "label": "Dezactivează verificare TLS", + "description": "Sari peste verificarea TLS și dezactivează autentificarea digest pentru ONVIF (nesigur; a se utiliza doar în rețele sigure)." + }, + "autotracking": { + "label": "Urmărire automată", + "description": "Urmărește automat obiectele în mișcare și menține-le centrate în cadru folosind mișcările camerei PTZ.", + "enabled": { + "label": "Activează Autotracking", + "description": "Activează sau dezactivează urmărirea automată PTZ a obiectelor detectate." + }, + "calibrate_on_startup": { + "label": "Calibrare la pornire", + "description": "Măsoară vitezele motorului PTZ la pornire pentru a îmbunătăți precizia urmăririi. Frigate va actualiza config-ul cu movement_weights după calibrare." + }, + "zooming": { + "label": "Mod zoom", + "description": "Controlează comportamentul zoom-ului: dezactivat (doar pan/tilt), absolut (cel mai compatibil) sau relativ (pan/tilt/zoom concurent)." + }, + "zoom_factor": { + "label": "Factor zoom", + "description": "Controlează nivelul de zoom pe obiectele urmărite. Valorile mai mici păstrează mai mult din scenă; valorile mai mari fac zoom mai aproape, dar pot pierde urmărirea. Valori între 0.1 și 0.75." + }, + "track": { + "label": "Obiecte urmărite", + "description": "Listă de tipuri de obiecte care ar trebui să declanșeze autotracking-ul." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Obiectele trebuie să intre în una dintre aceste zone înainte ca autotracking-ul să înceapă." + }, + "return_preset": { + "label": "Preset de întoarcere", + "description": "Numele preset-ului ONVIF configurat în firmware-ul camerei pentru întoarcere după ce urmărirea se termină." + }, + "timeout": { + "label": "Timeout întoarcere", + "description": "Așteaptă acest număr de secunde după pierderea urmăririi înainte de a returna camera la poziția presetată." + }, + "movement_weights": { + "label": "Ponderi mișcare", + "description": "Valori de calibrare generate automat de calibrarea camerei. Nu modifica manual." + }, + "enabled_in_config": { + "label": "Stare originală autotrack", + "description": "Câmp intern pentru a urmări dacă autotracking-ul a fost activat în configurație." + } + }, + "ignore_time_mismatch": { + "label": "Ignoră decalaj timp", + "description": "Ignoră diferențele de sincronizare a timpului între cameră și serverul Frigate pentru comunicarea ONVIF." + } + }, + "type": { + "label": "Tip cameră", + "description": "Tipul Camerei" + }, + "ui": { + "label": "Interfață cameră", + "description": "Ordinea de afișare și vizibilitatea pentru această cameră în interfață. Ordinea afectează dashboard-ul implicit. Pentru control mai granular, folosește grupuri de camere.", + "order": { + "label": "Ordine interfață", + "description": "Ordine numerică folosită pentru sortarea camerei în interfață (dashboard și liste); numerele mai mari apar mai târziu." + }, + "dashboard": { + "label": "Arată în interfață", + "description": "Comută vizibilitatea acestei camere peste tot în interfața Frigate. Dezactivarea acestei opțiuni va necesita editarea manuală a configurației pentru a vedea din nou camera în interfață." + } + }, + "webui_url": { + "label": "URL cameră", + "description": "URL pentru a vizita camera direct din pagina de sistem" + }, + "zones": { + "label": "Zone", + "description": "Zonele îți permit să definești o arie specifică în cadru pentru a determina dacă un obiect se află sau nu într-un anumit loc.", + "friendly_name": { + "label": "Nume zonă", + "description": "Un nume ușor de recunoscut pentru zonă, afișat în interfața Frigate. Dacă nu este setat, se va folosi o versiune formatată a numelui zonei." + }, + "enabled": { + "label": "Dacă această zonă este activă. Zonele dezactivate sunt ignorate la rulare.", + "description": "Activează sau dezactivează această zonă. Zonele dezactivate sunt ignorate în timpul funcționării." + }, + "enabled_in_config": { + "label": "Păstrează starea originală a zonei." + }, + "filters": { + "label": "Filtre zonă", + "description": "Filtre aplicate obiectelor din această zonă. Folosite pentru a reduce alarmele false sau pentru a restricționa ce obiecte sunt considerate prezente în zonă.", + "min_area": { + "label": "Aria minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procentaj) necesară pentru acest tip de obiect. Poate fi în pixeli (int) sau procentaj (float între 0.000001 și 0.99)." + }, + "max_area": { + "label": "Aria maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procentaj) permisă pentru acest tip de obiect. Poate fi în pixeli (int) sau procentaj (float între 0.000001 și 0.99)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime cerut pentru ca chenarul să se califice." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime permis pentru ca chenarul să se califice." + }, + "threshold": { + "label": "Prag de încredere", + "description": "Pragul mediu de încredere a detecției necesar pentru ca obiectul să fie considerat un rezultat real." + }, + "min_score": { + "label": "Încredere minimă", + "description": "Încrederea minimă a detecției pe un singur cadru necesară pentru ca obiectul să fie numărat." + }, + "mask": { + "label": "Mască filtru", + "description": "Coordonatele poligonului care definesc unde se aplică acest filtru în cadrul imaginii." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "coordinates": { + "label": "Coordonate", + "description": "Coordonatele poligonului care definesc aria zonei. Poate fi un șir separat prin virgule sau o listă de șiruri de coordonate. Coordonatele trebuie să fie relative (0-1) sau absolute (legacy)." + }, + "distances": { + "label": "Distanțe reale", + "description": "Distanțe reale opționale pentru fiecare latură a patrulaterului zonei, folosite pentru calcule de viteză sau distanță. Trebuie să aibă exact 4 valori dacă este setat." + }, + "inertia": { + "label": "Cadre de inerție", + "description": "Numărul de cadre consecutive în care un obiect trebuie detectat în zonă înainte de a fi considerat prezent. Ajută la filtrarea detecțiilor trecătoare." + }, + "loitering_time": { + "label": "Secunde staționare", + "description": "Numărul de secunde în care un obiect trebuie să rămână în zonă pentru a fi considerat în staționare (loitering). Setează pe 0 pentru a dezactiva detecția staționării." + }, + "speed_threshold": { + "label": "Viteză minimă", + "description": "Viteza minimă (în unități reale dacă distanțele sunt setate) necesară pentru ca un obiect să fie considerat prezent în zonă. Folosit pentru trigger-e de zonă bazate pe viteză." + }, + "objects": { + "label": "Obiecte trigger", + "description": "Lista tipurilor de obiecte (din labelmap) care pot declanșa această zonă. Poate fi un șir sau o listă de șiruri. Dacă este gol, toate obiectele sunt luate în considerare." + } + }, + "enabled_in_config": { + "label": "Stare inițială cameră", + "description": "Păstrează starea originală a camerei." + } +} diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json new file mode 100644 index 000000000..80802c32a --- /dev/null +++ b/web/public/locales/ro/config/global.json @@ -0,0 +1,2192 @@ +{ + "audio": { + "label": "Evenimente audio", + "enabled": { + "label": "Activare detecție audio", + "description": "Activează sau dezactivează detecția audio pentru toate camerele." + }, + "max_not_heard": { + "label": "Timeout final", + "description": "Secunde fără tipul audio configurat înainte ca evenimentul să fie încheiat." + }, + "min_volume": { + "label": "Volum minim", + "description": "Pragul minim de volum RMS; valorile mici cresc sensibilitatea (ex: 200 ridicată, 500 medie, 1000 scăzută)." + }, + "listen": { + "label": "Tipuri ascultate", + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + }, + "filters": { + "label": "Filtre audio", + "description": "Setări de filtrare per tip audio, cum ar fi pragul de încredere." + }, + "enabled_in_config": { + "label": "Stare audio originală", + "description": "Indică dacă detecția audio a fost activată inițial în fișierul de configurare static." + }, + "num_threads": { + "label": "Thread-uri detecție", + "description": "Numărul de thread-uri pentru procesarea detecției audio." + }, + "description": "Setări pentru detecția evenimentelor audio; pot fi suprascrise per cameră." + }, + "audio_transcription": { + "label": "Transcriere audio", + "description": "Setări pentru transcrierea audio live și a vorbirii pentru evenimente.", + "live_enabled": { + "label": "Transcriere live", + "description": "Activează streaming-ul de transcriere live pe măsură ce sunetul e recepționat." + }, + "enabled": { + "label": "Activare transcriere audio", + "description": "Activează transcrierea automată pentru toate camerele." + }, + "language": { + "label": "Limbă transcriere", + "description": "Codul de limbă (ex: 'ro' pentru română)." + }, + "device": { + "label": "Dispozitiv transcriere", + "description": "CPU/GPU pentru modelul de transcriere. Momentan sunt suportate doar plăcile NVIDIA CUDA." + }, + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru transcrierea offline a evenimentelor." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Setări pentru vizualizarea compusă Birdseye care combină mai multe stream-uri într-un singur layout.", + "enabled": { + "label": "Activare Birdseye", + "description": "Activează sau dezactivează funcția Birdseye." + }, + "mode": { + "label": "Mod urmărire", + "description": "Modul de includere a camerelor în Birdseye: 'objects', 'motion' sau 'continuous'." + }, + "order": { + "label": "Poziție", + "description": "Poziția numerică ce controlează ordinea camerei în layout-ul Birdseye." + }, + "restream": { + "label": "Restream-uri RTSP", + "description": "Redifuzează ieșirea Birdseye ca stream RTSP; activarea va menține Birdseye pornit continuu." + }, + "width": { + "label": "Lățime", + "description": "Lățimea de ieșire în pixeli a cadrului Birdseye." + }, + "height": { + "label": "Înălțime", + "description": "Înălțimea de ieșire în pixeli a cadrului Birdseye." + }, + "quality": { + "label": "Calitate encodare", + "description": "Calitatea encodării pentru feed-ul mpeg1 Birdseye (1 maxim, 31 minim)." + }, + "inactivity_threshold": { + "label": "Prag inactivitate", + "description": "Secunde de inactivitate după care o cameră nu mai este afișată în Birdseye." + }, + "layout": { + "label": "Layout", + "description": "Opțiuni de layout pentru compoziția Birdseye.", + "scaling_factor": { + "label": "Factor scalare", + "description": "Factorul de scalare folosit de calculatorul de layout (între 1.0 și 5.0)." + }, + "max_cameras": { + "label": "Nr. maxim camere", + "description": "Numărul maxim de camere afișate simultan în Birdseye." + } + }, + "idle_heartbeat_fps": { + "label": "FPS heartbeat inactiv", + "description": "Cadre pe secundă pentru re-trimiterea ultimului cadru Birdseye când e inactiv; 0 pentru dezactivare." + } + }, + "detect": { + "label": "Detecție obiecte", + "description": "Setări pentru rolul de detecție folosit pentru a rula recunoașterea obiectelor și trackerele.", + "enabled": { + "label": "Detecție activată", + "description": "Activează detecția pentru toate camerele. Trebuie să fie activă pentru ca urmărirea obiectelor să funcționeze." + }, + "height": { + "label": "Înălțime detect", + "description": "Înălțimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "width": { + "label": "Lățime detect", + "description": "Lățimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "fps": { + "label": "FPS detect", + "description": "FPS-ul dorit pentru detecție; valori mici reduc consumul CPU (recomandat 5, max 10 pentru obiecte foarte rapide)." + }, + "min_initialized": { + "label": "Cadre minime inițializare", + "description": "Numărul de detecții consecutive necesare înainte de a crea un obiect urmărit. Crește valoarea pentru a reduce alarmele false." + }, + "max_disappeared": { + "label": "Cadre maxime dispariție", + "description": "Numărul de cadre fără detecție înainte ca un obiect urmărit să fie considerat dispărut." + }, + "stationary": { + "label": "Configurație obiecte staționare", + "description": "Setări pentru gestionarea obiectelor care rămân nemișcate o perioadă.", + "interval": { + "label": "Interval staționar", + "description": "Cât de des (în cadre) se verifică prezența unui obiect staționar." + }, + "threshold": { + "label": "Prag staționar", + "description": "Numărul de cadre fără schimbare de poziție pentru a marca un obiect ca staționar." + }, + "max_frames": { + "label": "Cadre maxime", + "description": "Limitează cât timp sunt urmărite obiectele staționare înainte de a fi ignorate.", + "default": { + "label": "Cadre maxime implicit", + "description": "Valoarea implicită pentru urmărirea obiectelor staționare." + }, + "objects": { + "label": "Cadre maxime per obiect", + "description": "Suprascrieri per obiect pentru durata urmăririi staționare." + } + }, + "classifier": { + "label": "Activare clasificator vizual", + "description": "Folosește un clasificator vizual pentru a detecta obiectele cu adevărat staționare, chiar dacă chenarul oscilează." + } + }, + "annotation_offset": { + "label": "Offset adnotare", + "description": "Milisecunde pentru a decala adnotările de detecție pentru a alinia mai bine chenarele cu înregistrarea." + } + }, + "face_recognition": { + "label": "Recunoaștere facială", + "enabled": { + "label": "Activare recunoaștere facială", + "description": "Activează sau dezactivează recunoașterea facială." + }, + "min_area": { + "label": "Arie minimă față", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "description": "Setări pentru detecția și recunoașterea fețelor.", + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru înglobări faciale; cel mare poate cere GPU." + }, + "unknown_score": { + "label": "Prag scor necunoscut", + "description": "Pragul de distanță sub care o față e considerată potrivire (mai mare = mai strict)." + }, + "detection_threshold": { + "label": "Prag detecție", + "description": "Încrederea minimă pentru o detecție facială validă." + }, + "recognition_threshold": { + "label": "Prag recunoaștere", + "description": "Distanța de înglobare pentru a considera că două fețe se potrivesc." + }, + "min_faces": { + "label": "Nr. minim fețe", + "description": "Numărul de recunoașteri necesare înainte de a aplica o sub-etichetă persoanei." + }, + "save_attempts": { + "label": "Salvează încercările", + "description": "Numărul de încercări păstrate pentru interfața de recunoașteri recente." + }, + "blur_confidence_filter": { + "label": "Filtru încredere blur", + "description": "Ajustează scorul în funcție de claritate pentru a reduce rezultatele false la fețele de slabă calitate." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", + "path": { + "label": "Cale FFmpeg", + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pasate proceselor FFmpeg." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente pentru accelerarea hardware. Se recomandă presetările specifice furnizorului." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente aplicate stream-urilor de intrare FFmpeg." + }, + "output_args": { + "label": "Argumente ieșire", + "description": "Argumente de ieșire implicite pentru diverse roluri (detect, record).", + "detect": { + "label": "Argumente ieșire detect", + "description": "Argumente implicite pentru stream-urile cu rol detect." + }, + "record": { + "label": "Argumente ieșire record", + "description": "Argumente implicite pentru stream-urile cu rol record." + } + }, + "retry_interval": { + "label": "Timp reîncercare FFmpeg", + "description": "Secunde de așteptare înainte de reconectarea unui stream după o eroare. Implicit 10." + }, + "apple_compatibility": { + "label": "Compatibilitate Apple", + "description": "Activează tag-ul HEVC pentru compatibilitate mai bună cu playerele Apple la înregistrările H.265." + }, + "gpu": { + "label": "Index GPU", + "description": "Indexul GPU implicit folosit pentru accelerarea hardware." + }, + "inputs": { + "label": "Intrări cameră", + "description": "Listă de definiții pentru stream-urile de intrare (căi și roluri).", + "path": { + "label": "Cale intrare", + "description": "URL-ul sau calea stream-ului de intrare al camerei." + }, + "roles": { + "label": "Roluri intrare", + "description": "Rolurile atribuite acestui stream de intrare." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pentru acest stream de intrare." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente de accelerare hardware pentru acest stream." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente specifice acestui stream." + } + } + }, + "live": { + "label": "Redare live", + "streams": { + "label": "Nume stream-uri live", + "description": "Maparea numelor de stream-uri configurate către numele restream/go2rtc folosite live." + }, + "height": { + "label": "Înălțime live", + "description": "Înălțimea (pixeli) pentru redarea jsmpeg în UI; trebuie să fie <= înălțimea stream-ului de detect." + }, + "quality": { + "label": "Calitate live", + "description": "Calitatea encodării pentru stream-ul jsmpeg (1 maxim, 31 minim)." + }, + "description": "Setări folosite de interfața web pentru a controla rezoluția și calitatea stream-ului live." + }, + "lpr": { + "label": "Recunoaștere numere înmatriculare", + "description": "Setări pentru recunoașterea numerelor de înmatriculare, inclusiv praguri de detecție, formatare și numere cunoscute.", + "enabled": { + "label": "Activare LPR", + "description": "Activează sau dezactivează recunoașterea numerelor de înmatriculare." + }, + "expire_time": { + "label": "Secunde expirare", + "description": "Timpul în secunde după care un număr nevăzut este expirat din tracker (doar pentru camerele LPR dedicate)." + }, + "min_area": { + "label": "Arie minimă plăcuță", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "enhancement": { + "label": "Nivel îmbunătățire", + "description": "Nivelul de îmbunătățire (0-10) aplicat decupajelor cu numere înainte de OCR; valorile mai mari nu îmbunătățesc mereu rezultatele, iar nivelurile peste 5 pot funcționa doar cu numerele pe timp de noapte și trebuie folosite cu atenție." + }, + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru text. Majoritatea ar trebui să folosească 'small'." + }, + "detection_threshold": { + "label": "Prag detecție", + "description": "Încrederea necesară pentru a începe scanarea OCR pe o plăcuță suspectă." + }, + "recognition_threshold": { + "label": "Prag recunoaștere", + "description": "Încrederea necesară pentru a atașa textul recunoscut ca sub-etichetă." + }, + "min_plate_length": { + "label": "Lungime minimă plăcuță", + "description": "Numărul minim de caractere pentru ca un număr să fie considerat valid." + }, + "format": { + "label": "Regex format număr", + "description": "Regex opțional pentru validarea șirurilor de numere recunoscute față de un format așteptat." + }, + "match_distance": { + "label": "Distanță de potrivire", + "description": "Numărul de nepotriviri de caractere permise la compararea numerelor detectate cu cele cunoscute." + }, + "known_plates": { + "label": "Numere cunoscute", + "description": "Listă de numere sau regex-uri pentru monitorizare specială sau alerte." + }, + "debug_save_plates": { + "label": "Salvare numere pentru debug", + "description": "Salvează imaginile decupate cu numere pentru depanarea performanței LPR." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + }, + "replace_rules": { + "label": "Reguli de înlocuire", + "description": "Reguli de înlocuire regex folosite pentru a normaliza șirurile numerelor detectate înainte de potrivire.", + "pattern": { + "label": "Model regex" + }, + "replacement": { + "label": "Șir de înlocuire" + } + } + }, + "motion": { + "label": "Detecție mișcare", + "enabled": { + "label": "Activare detecție mișcare", + "description": "Activează sau dezactivează detecția mișcării pentru toate camerele." + }, + "threshold": { + "label": "Prag mișcare", + "description": "Pragul de diferență între pixeli; valorile mari reduc sensibilitatea (1-255)." + }, + "lightning_threshold": { + "label": "Prag fulger/lumină", + "description": "Prag pentru a ignora salturile bruște de lumină (sensibilitate între 0.3 și 1.0)." + }, + "improve_contrast": { + "label": "Îmbunătățire contrast", + "description": "Aplică o îmbunătățire a contrastului înainte de analiza mișcării pentru a ajuta detecția." + }, + "contour_area": { + "label": "Arie contur", + "description": "Aria minimă a conturului în pixeli pentru a fi considerat mișcare." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Factor de blending alpha folosit în diferențierea cadrelor." + }, + "frame_alpha": { + "label": "Cadru alfa", + "description": "Valoarea alpha pentru amestecarea cadrelor la preprocesarea mișcării." + }, + "frame_height": { + "label": "Înălțime cadru", + "description": "Înălțimea la care sunt scalate cadrele pentru calculul mișcării." + }, + "mask": { + "label": "Coordonate mască", + "description": "Coordonate x,y care definesc poligonul măștii de mișcare." + }, + "mqtt_off_delay": { + "label": "Întârziere MQTT off", + "description": "Secunde de așteptare după ultima mișcare înainte de a trimite starea 'off' prin MQTT." + }, + "enabled_in_config": { + "label": "Stare mișcare originală", + "description": "Indică dacă detecția mișcării a fost activă în configurația inițială." + }, + "raw_mask": { + "label": "Mască brută" + }, + "description": "Setări implicite pentru detecția mișcării, aplicate dacă nu sunt suprascrise per cameră.", + "skip_motion_threshold": { + "label": "Ignoră pragul de mișcare", + "description": "Dacă se schimbă mai mult de această fracțiune din imagine într-un singur cadru, detectorul nu va returna nicio casetă de mișcare și se va recalibra imediat. Acest lucru poate economisi CPU și reduce alertele false în timpul fulgerelor, furtunilor etc., dar poate rata evenimente reale, cum ar fi o cameră PTZ care urmărește automat un obiect. Compromisul este între a pierde câțiva megaocteți de înregistrări versus a revizui câteva clipuri scurte. Interval 0.0 - 1.0." + } + }, + "objects": { + "label": "Obiecte", + "description": "Setări implicite pentru urmărire, inclusiv ce etichete se urmăresc și filtrele per obiect.", + "track": { + "label": "Obiecte de urmărit", + "description": "Lista etichetelor de obiecte urmărite global." + }, + "filters": { + "label": "Filtre obiecte", + "description": "Filtre pentru a reduce alarmele false (arie, raport, încredere).", + "min_area": { + "label": "Arie minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procent)." + }, + "max_area": { + "label": "Arie maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procent)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime pentru chenar." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime pentru chenar." + }, + "threshold": { + "label": "Prag încredere", + "description": "Încrederea medie necesară pentru a considera obiectul valid." + }, + "min_score": { + "label": "Scor minim", + "description": "Încrederea minimă la un singur cadru pentru a număra obiectul." + }, + "mask": { + "label": "Mască filtru", + "description": "Poligonul unde se aplică acest filtru în cadru." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "mask": { + "label": "Mască obiect", + "description": "Mască pentru a preveni detecția obiectelor în anumite zone." + }, + "raw_mask": { + "label": "Mască brută" + }, + "genai": { + "label": "Configurație obiecte GenAI", + "description": "Opțiuni GenAI pentru descrierea obiectelor urmărite și trimiterea cadrelor.", + "enabled": { + "label": "Activare GenAI", + "description": "Activează generarea de descrieri prin GenAI pentru obiectele urmărite." + }, + "use_snapshot": { + "label": "Folosește snapshot-uri", + "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." + }, + "prompt": { + "label": "Prompt descriere", + "description": "Șablonul de prompt implicit pentru descrierile GenAI." + }, + "object_prompts": { + "label": "Prompt-uri per obiect", + "description": "Prompt-uri personalizate pentru anumite etichete de obiecte." + }, + "objects": { + "label": "Obiecte GenAI", + "description": "Lista etichetelor de obiecte care vor fi trimise la GenAI." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă obiectele pentru a genera descrieri." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la GenAI pentru depanare." + }, + "send_triggers": { + "label": "Trigger-e GenAI", + "description": "Definește când sunt trimise cadrele la GenAI (la final, după actualizări etc.).", + "tracked_object_end": { + "label": "Trimite la final", + "description": "Trimite cererea la GenAI când urmărirea obiectului s-a terminat." + }, + "after_significant_updates": { + "label": "Trigger GenAI timpuriu", + "description": "Trimite la GenAI după un număr de actualizări semnificative ale obiectului." + } + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Indică dacă GenAI a fost activat în configurația inițială." + } + } + }, + "record": { + "label": "Înregistrare", + "enabled": { + "label": "Activare înregistrare", + "description": "Activează sau dezactivează înregistrarea global." + }, + "expire_interval": { + "label": "Interval curățare înregistrări", + "description": "Minute între trecerile de curățare a segmentelor expirate." + }, + "continuous": { + "label": "Retenție continuă", + "description": "Zile de păstrare a înregistrărilor indiferent de obiecte sau mișcare. Pune 0 pentru a păstra doar alerte/detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "motion": { + "label": "Retenție mișcare", + "description": "Zile de păstrare pentru înregistrările declanșate de mișcare.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "detections": { + "label": "Retenție detecții", + "description": "Setări pentru evenimentele de detecție, inclusiv duratele pre/post captură.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de evenimentul detectat." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după încheierea evenimentului." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de retenție pentru clipurile cu detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile de păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod: 'all' (tot), 'motion' (doar segmente cu mișcare) sau 'active_objects' (doar cu obiecte active)." + } + } + }, + "alerts": { + "label": "Retenție alerte", + "description": "Setări de retenție pentru evenimentele de tip alertă.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de alertă." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după alertă." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de păstrare pentru alerte.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Modul de păstrare a segmentelor." + } + } + }, + "export": { + "label": "Configurație export", + "description": "Setări pentru exportul înregistrărilor (timelapse, accelerare hardware).", + "hwaccel_args": { + "label": "Argumente hwaccel export", + "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + } + }, + "preview": { + "label": "Configurație preview", + "description": "Setări pentru calitatea preview-urilor din interfață.", + "quality": { + "label": "Calitate preview", + "description": "Nivel calitate (foarte_scăzută, scăzută, medie, ridicată, foarte ridicată)." + } + }, + "enabled_in_config": { + "label": "Stare înregistrare originală", + "description": "Indică dacă înregistrarea a fost activă în configurația inițială." + }, + "description": "Setări de înregistrare și retenție aplicate camerelor." + }, + "review": { + "label": "Revizuire", + "alerts": { + "label": "Configurație alerte", + "description": "Setări pentru obiectele care generează alerte și modul lor de retenție.", + "enabled": { + "label": "Activare alerte", + "description": "Activează sau dezactivează generarea alertelor." + }, + "labels": { + "label": "Etichete alerte", + "description": "Obiecte care sunt considerate alerte (ex: om, mașină)." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru a declanșa o alertă." + }, + "enabled_in_config": { + "label": "Stare alerte originală", + "description": "Dacă alertele au fost active inițial în fișierul de config." + }, + "cutoff_time": { + "label": "Timp limită alerte", + "description": "Secunde de așteptare după încetarea activității înainte de a încheia alerta." + } + }, + "detections": { + "label": "Configurație detecții", + "description": "Setări pentru evenimentele de detecție (non-alertă).", + "enabled": { + "label": "Activare detecții", + "description": "Activează sau dezactivează evenimentele de detecție." + }, + "labels": { + "label": "Etichete detecții", + "description": "Obiecte care se consideră detecții." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru o detecție." + }, + "cutoff_time": { + "label": "Timp limită detecții", + "description": "Secunde de așteptare înainte de a încheia o detecție." + }, + "enabled_in_config": { + "label": "Stare detecții originală", + "description": "Dacă detecțiile au fost active în configurația inițială." + } + }, + "genai": { + "label": "Configurație GenAI", + "description": "Controlul AI-ului generativ pentru descrieri și rezumate în review.", + "enabled": { + "label": "Activare descrieri GenAI", + "description": "Activează descrierile și rezumatele generate de AI pentru elementele de review." + }, + "alerts": { + "label": "GenAI pentru alerte", + "description": "Folosește GenAI pentru descrierea alertelor." + }, + "detections": { + "label": "GenAI pentru detecții", + "description": "Folosește GenAI pentru descrierea detecțiilor." + }, + "image_source": { + "label": "Sursă imagine review", + "description": "Sursa imaginilor ('preview' sau 'recordings'); 'recordings' e mai calitativ dar consumă mai multe token-uri." + }, + "additional_concerns": { + "label": "Preocupări suplimentare", + "description": "Listă de note sau griji pe care GenAI să le considere când evaluează activitatea pe cameră." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la furnizorul GenAI pentru depanare." + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Dacă review-ul GenAI a fost activ inițial." + }, + "preferred_language": { + "label": "Limbă preferată", + "description": "Limba în care vrei ca GenAI să genereze răspunsurile." + }, + "activity_context_prompt": { + "label": "Prompt context activitate", + "description": "Prompt personalizat care descrie ce este suspect și ce nu pentru rezumatele GenAI." + } + }, + "description": "Setări pentru alerte, detecții și rezumate GenAI folosite în UI și stocare." + }, + "semantic_search": { + "label": "Căutare semantică", + "triggers": { + "label": "Trigger-e", + "description": "Acțiuni și criterii pentru trigger-ele de căutare semantică specifice camerelor.", + "friendly_name": { + "label": "Nume sugestiv", + "description": "Nume opțional afișat în UI pentru acest trigger." + }, + "enabled": { + "label": "Activare trigger", + "description": "Activează sau dezactivează acest trigger." + }, + "type": { + "label": "Tip trigger", + "description": "Tip: 'thumbnail' (compară cu imagine) sau 'description' (compară cu text)." + }, + "data": { + "label": "Conținut trigger", + "description": "Textul sau ID-ul miniaturii de comparat cu obiectele urmărite." + }, + "threshold": { + "label": "Prag trigger", + "description": "Scorul minim de similitudine (0-1) pentru activare." + }, + "actions": { + "label": "Acțiuni trigger", + "description": "Lista de acțiuni (notificare, sub_label, atribut) la activare." + } + }, + "description": "Setări pentru căutarea semantică, care creează și caută în înglobări de obiecte pentru a găsi elemente similare.", + "enabled": { + "label": "Activare căutare semantică", + "description": "Activează sau dezactivează funcția de căutare semantică." + }, + "reindex": { + "label": "Reindexare la pornire", + "description": "Declanșează o reindexare completă a obiectelor istorice în baza de date de înglobări." + }, + "model": { + "label": "Model căutare semantică", + "description": "Modelul de înglobări folosit (ex: 'jinav1')." + }, + "model_size": { + "label": "Mărime model", + "description": "Alege mărimea; 'small' rulează pe CPU, 'large' cere de regulă GPU." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + } + }, + "snapshots": { + "label": "Snapshot-uri", + "enabled": { + "label": "Snapshot-uri activate", + "description": "Activează sau dezactivează salvarea de snapshot-uri." + }, + "clean_copy": { + "label": "Salvează copie curată", + "description": "Salvează și o copie fără adnotări a snapshot-ului." + }, + "timestamp": { + "label": "Overlay timestamp", + "description": "Pune data și ora pe snapshot-urile salvate." + }, + "bounding_box": { + "label": "Overlay chenar", + "description": "Desenează chenarele obiectelor pe snapshot-uri." + }, + "crop": { + "label": "Decupează snapshot-ul", + "description": "Decupează snapshot-ul pe mărimea obiectului detectat." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă un obiect pentru a salva un snapshot." + }, + "height": { + "label": "Înălțime snapshot", + "description": "Înălțimea la care se redimensionează snapshot-ul; lasă gol pentru dimensiunea originală." + }, + "retain": { + "label": "Retenție snapshot-uri", + "description": "Setări pentru păstrarea snapshot-urilor.", + "default": { + "label": "Retenție implicită", + "description": "Numărul implicit de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod retenție: 'all', 'motion' sau 'active_objects'." + }, + "objects": { + "label": "Retenție per obiect", + "description": "Suprascrieri pentru zilele de retenție ale snapshot-urilor per obiect." + } + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea encodării JPEG pentru snapshot-uri (0-100)." + }, + "description": "Setări pentru snapshot-urile JPEG ale obiectelor urmărite." + }, + "timestamp_style": { + "label": "Stil timestamp", + "position": { + "label": "Poziție timestamp", + "description": "Unde apare data/ora pe imagine (stânga-sus/dreapta-sus etc.)." + }, + "format": { + "label": "Format timestamp", + "description": "Formatul datei (coduri Python datetime)." + }, + "color": { + "label": "Culoare timestamp", + "description": "Valori RGB pentru textul datei.", + "red": { + "label": "Roșu", + "description": "Componenta roșie (0-255)." + }, + "green": { + "label": "Verde", + "description": "Componenta verde (0-255)." + }, + "blue": { + "label": "Albastru", + "description": "Componenta albastră (0-255)." + } + }, + "thickness": { + "label": "Grosime timestamp", + "description": "Grosimea liniei textului." + }, + "effect": { + "label": "Efect timestamp", + "description": "Efect vizual pentru text (fără, solid, umbră)." + }, + "description": "Opțiuni de stilizare pentru data și ora din feed-ul de debug și snapshot-uri." + }, + "mqtt": { + "label": "MQTT", + "description": "Setări pentru conectarea și publicarea telemetriei, snapshot-urilor și detaliilor despre evenimente către un broker MQTT.", + "enabled": { + "label": "Activează MQTT", + "description": "Activează sau dezactivează integrarea MQTT pentru stare, evenimente și snapshot-uri." + }, + "host": { + "label": "Host MQTT", + "description": "Numele de gazdă sau adresa IP a brokerului MQTT." + }, + "port": { + "label": "Port MQTT", + "description": "Portul brokerului MQTT (de obicei 1883 pentru MQTT simplu)." + }, + "topic_prefix": { + "label": "Prefix topic", + "description": "Prefixul topicului MQTT pentru toate subiectele Frigate; trebuie să fie unic dacă rulezi mai multe instanțe." + }, + "client_id": { + "label": "ID client", + "description": "Identificatorul de client folosit la conectarea la brokerul MQTT; ar trebui să fie unic pe instanță." + }, + "stats_interval": { + "label": "Interval statistici", + "description": "Intervalul în secunde pentru publicarea statisticilor de sistem și de cameră către MQTT." + }, + "user": { + "label": "Utilizator MQTT", + "description": "Utilizator MQTT opțional; poate fi furnizat prin variabile de mediu sau secrete." + }, + "password": { + "label": "Parolă MQTT", + "description": "Parolă MQTT opțională; poate fi furnizată prin variabile de mediu sau secrete." + }, + "tls_ca_certs": { + "label": "Certificate CA TLS", + "description": "Calea către certificatul CA pentru conexiuni TLS la broker (pentru certificate auto-semnate)." + }, + "tls_client_cert": { + "label": "Certificat client", + "description": "Calea certificatului de client pentru autentificare reciprocă TLS; nu seta utilizator/parolă când folosești certificate de client." + }, + "tls_client_key": { + "label": "Cheie client", + "description": "Calea cheii private pentru certificatul de client." + }, + "tls_insecure": { + "label": "TLS nesecurizat", + "description": "Permite conexiuni TLS nesecurizate prin săritura verificării numelui de gazdă (nu este recomandat)." + }, + "qos": { + "label": "QoS MQTT", + "description": "Nivelul de calitate a serviciului pentru publicările/abonările MQTT (0, 1 sau 2)." + } + }, + "notifications": { + "label": "Notificări", + "enabled": { + "label": "Activează notificările", + "description": "Activează sau dezactivează notificările pentru toate camerele; pot fi suprascrise per cameră." + }, + "email": { + "label": "Email notificare", + "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." + }, + "cooldown": { + "label": "Perioadă de răcire", + "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." + }, + "enabled_in_config": { + "label": "Stare originală notificări", + "description": "Indică dacă notificările au fost activate în configurația statică originală." + }, + "description": "Setări pentru a activa și controla notificările pentru toate camerele; pot fi suprascrise per cameră." + }, + "onvif": { + "label": "ONVIF", + "description": "Setări pentru conexiunea ONVIF și autotracking PTZ pentru această cameră.", + "host": { + "label": "Gazdă ONVIF", + "description": "Gazda (și schema opțională) pentru serviciul ONVIF al acestei camere." + }, + "port": { + "label": "Port ONVIF", + "description": "Numărul portului pentru serviciul ONVIF." + }, + "user": { + "label": "Utilizator ONVIF", + "description": "Utilizator pentru autentificarea ONVIF; unele dispozitive necesită un utilizator administrator pentru ONVIF." + }, + "password": { + "label": "Parolă ONVIF", + "description": "Parola pentru autentificarea ONVIF." + }, + "tls_insecure": { + "label": "Dezactivează verificare TLS", + "description": "Sari peste verificarea TLS și dezactivează autentificarea digest pentru ONVIF (nesigur; a se utiliza doar în rețele sigure)." + }, + "autotracking": { + "label": "Urmărire automată", + "description": "Urmărește automat obiectele în mișcare și menține-le centrate în cadru folosind mișcările camerei PTZ.", + "enabled": { + "label": "Activează Autotracking", + "description": "Activează sau dezactivează urmărirea automată PTZ a obiectelor detectate." + }, + "calibrate_on_startup": { + "label": "Calibrare la pornire", + "description": "Măsoară vitezele motorului PTZ la pornire pentru a îmbunătăți precizia urmăririi. Frigate va actualiza config-ul cu movement_weights după calibrare." + }, + "zooming": { + "label": "Mod zoom", + "description": "Controlează comportamentul zoom-ului: dezactivat (doar pan/tilt), absolut (cel mai compatibil) sau relativ (pan/tilt/zoom concurent)." + }, + "zoom_factor": { + "label": "Factor zoom", + "description": "Controlează nivelul de zoom pe obiectele urmărite. Valorile mai mici păstrează mai mult din scenă; valorile mai mari fac zoom mai aproape, dar pot pierde urmărirea. Valori între 0.1 și 0.75." + }, + "track": { + "label": "Obiecte urmărite", + "description": "Listă de tipuri de obiecte care ar trebui să declanșeze autotracking-ul." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Obiectele trebuie să intre în una dintre aceste zone înainte ca autotracking-ul să înceapă." + }, + "return_preset": { + "label": "Preset de întoarcere", + "description": "Numele preset-ului ONVIF configurat în firmware-ul camerei pentru întoarcere după ce urmărirea se termină." + }, + "timeout": { + "label": "Timeout întoarcere", + "description": "Așteaptă acest număr de secunde după pierderea urmăririi înainte de a returna camera la poziția presetată." + }, + "movement_weights": { + "label": "Ponderi mișcare", + "description": "Valori de calibrare generate automat de calibrarea camerei. Nu modifica manual." + }, + "enabled_in_config": { + "label": "Stare originală autotrack", + "description": "Câmp intern pentru a urmări dacă autotracking-ul a fost activat în configurație." + } + }, + "ignore_time_mismatch": { + "label": "Ignoră decalaj timp", + "description": "Ignoră diferențele de sincronizare a timpului între cameră și serverul Frigate pentru comunicarea ONVIF." + } + }, + "version": { + "label": "Versiunea actuală a configurării", + "description": "Versiunea numerică sau de tip text a configurării active pentru a ajuta la detectarea migrărilor sau a schimbărilor de format." + }, + "safe_mode": { + "label": "Mod de siguranță", + "description": "Când este activat, pornește Frigate în mod de siguranță, cu funcții reduse, pentru depanare." + }, + "environment_vars": { + "label": "Variabile de mediu", + "description": "Perechi cheie/valoare ale variabilelor de mediu de setat pentru procesul Frigate în Home Assistant OS. Utilizatorii care nu folosesc HAOS trebuie să folosească configurarea variabilelor de mediu din Docker." + }, + "logger": { + "label": "Jurnalizare", + "description": "Controlează nivelul de detaliu implicit al jurnalului și suprascrierile pentru fiecare componentă.", + "default": { + "label": "Nivel de jurnalizare", + "description": "Nivelul global implicit de detaliu al jurnalului (debug, info, warning, error)." + }, + "logs": { + "label": "Nivel jurnalizare pe proces", + "description": "Suprascrieri ale nivelului de jurnalizare pe componentă pentru a crește sau descrește detaliile pentru module specifice." + } + }, + "auth": { + "label": "Autentificare", + "description": "Setări de autentificare și sesiune, inclusiv opțiuni pentru cookie-uri și limite de viteză.", + "enabled": { + "label": "Activează autentificarea", + "description": "Activează autentificarea nativă pentru interfața Frigate." + }, + "reset_admin_password": { + "label": "Resetează parola de admin", + "description": "Dacă este setat pe true, resetează parola administratorului la pornire și afișează noua parolă în jurnale." + }, + "cookie_name": { + "label": "Nume cookie JWT", + "description": "Numele cookie-ului folosit pentru a stoca token-ul JWT pentru autentificarea nativă." + }, + "cookie_secure": { + "label": "Flag de cookie securizat", + "description": "Setează flag-ul secure pe cookie-ul de autentificare; ar trebui să fie true când se folosește TLS." + }, + "session_length": { + "label": "Durata sesiunii", + "description": "Durata sesiunii în secunde pentru sesiunile bazate pe JWT." + }, + "refresh_time": { + "label": "Fereastră reîmprospătare sesiune", + "description": "Când o sesiune este la acest număr de secunde de expirare, se reîmprospătează la durata maximă." + }, + "failed_login_rate_limit": { + "label": "Limite login eșuat", + "description": "Reguli de limitare a încercărilor de autentificare eșuate pentru a reduce atacurile de tip brute-force." + }, + "trusted_proxies": { + "label": "Proxy-uri de încredere", + "description": "Listă de IP-uri proxy de încredere folosite pentru a determina IP-ul clientului pentru limitarea vitezei." + }, + "hash_iterations": { + "label": "Iterații hash", + "description": "Numărul de iterații PBKDF2-SHA256 de folosit la hashing-ul parolelor utilizatorilor." + }, + "roles": { + "label": "Mapări roluri", + "description": "Mapează rolurile la liste de camere. O listă goală oferă acces la toate camerele pentru acel rol." + }, + "admin_first_time_login": { + "label": "Flag prima autentificare admin", + "description": "Când este true, interfața poate afișa un link de ajutor pe pagina de login, informând utilizatorii cum să se autentifice după o resetare a parolei de admin. " + } + }, + "database": { + "label": "Bază de date", + "description": "Setări pentru baza de date SQLite folosită de Frigate pentru a stoca obiectele urmărite și metadatele înregistrărilor.", + "path": { + "label": "Cale bază de date", + "description": "Calea în sistemul de fișiere unde va fi stocat fișierul bazei de date SQLite." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Setări pentru serviciul integrat de restreaming go2rtc, folosit pentru releul și translatarea stream-urilor live." + }, + "networking": { + "label": "Rețea", + "description": "Setări legate de rețea, cum ar fi activarea IPv6 pentru endpoint-urile Frigate.", + "ipv6": { + "label": "Configurare IPv6", + "description": "Setări specifice IPv6 pentru serviciile de rețea Frigate.", + "enabled": { + "label": "Activează IPv6", + "description": "Activează suportul IPv6 pentru serviciile Frigate (API și interfață) acolo unde este cazul." + } + }, + "listen": { + "label": "Configurare porturi ascultare", + "description": "Configurare pentru porturile de ascultare interne și externe. Aceasta este pentru utilizatori avansați. Pentru majoritatea cazurilor, se recomandă schimbarea secțiunii de porturi din fișierul Docker compose.", + "internal": { + "label": "Port intern", + "description": "Portul de ascultare intern pentru Frigate (implicit 5000)." + }, + "external": { + "label": "Port extern", + "description": "Portul de ascultare extern pentru Frigate (implicit 8971)." + } + } + }, + "proxy": { + "label": "Proxy", + "description": "Setări pentru integrarea Frigate în spatele unui reverse proxy care transmite headere de utilizator autentificat.", + "header_map": { + "label": "Mapare headere", + "description": "Mapează headerele proxy primite către câmpurile de utilizator și rol din Frigate pentru autentificarea bazată pe proxy.", + "user": { + "label": "Header utilizator", + "description": "Header care conține numele de utilizator autentificat furnizat de proxy-ul amonte." + }, + "role": { + "label": "Header rol", + "description": "Header care conține rolul sau grupurile utilizatorului autentificat din proxy-ul amonte." + }, + "role_map": { + "label": "Mapare roluri", + "description": "Mapează valorile grupurilor din amonte la rolurile Frigate (de exemplu, mapează grupurile de admin la rolul de admin)." + } + }, + "logout_url": { + "label": "URL deconectare", + "description": "URL-ul către care sunt redirecționați utilizatorii la deconectarea prin proxy." + }, + "auth_secret": { + "label": "Secret proxy", + "description": "Secret opțional verificat împotriva header-ului X-Proxy-Secret pentru a verifica proxy-urile de încredere." + }, + "default_role": { + "label": "Rol implicit", + "description": "Rolul implicit atribuit utilizatorilor autentificați prin proxy când nu se aplică nicio mapare de rol (admin sau viewer)." + }, + "separator": { + "label": "Caracter separator", + "description": "Caracterul folosit pentru a separa mai multe valori furnizate în headerele proxy." + } + }, + "telemetry": { + "label": "Telemetrie", + "description": "Opțiuni pentru telemetria sistemului și statistici, inclusiv monitorizarea GPU și a lățimii de bandă a rețelei.", + "network_interfaces": { + "label": "Interfețe de rețea", + "description": "Listă de prefixe de nume pentru interfețele de rețea de monitorizat pentru statistici de lățime de bandă." + }, + "stats": { + "label": "Statistici sistem", + "description": "Opțiuni pentru a activa/dezactiva colectarea diverselor statistici de sistem și GPU.", + "amd_gpu_stats": { + "label": "Statistici GPU AMD", + "description": "Activează colectarea statisticilor pentru GPU AMD, dacă acesta este prezent." + }, + "intel_gpu_stats": { + "label": "Statistici GPU Intel", + "description": "Activează colectarea statisticilor pentru GPU Intel, dacă acesta este prezent." + }, + "network_bandwidth": { + "label": "Lățime de bandă rețea", + "description": "Activează monitorizarea lățimii de bandă a rețelei pe proces pentru procesele ffmpeg ale camerelor și detectoare (necesită capabilități)." + }, + "intel_gpu_device": { + "label": "Dispozitiv SR-IOV", + "description": "Identificator de dispozitiv folosit când GPU-urile Intel sunt tratate ca SR-IOV pentru a repara statisticile GPU." + } + }, + "version_check": { + "label": "Verificare versiune", + "description": "Activează o verificare externă pentru a detecta dacă este disponibilă o versiune Frigate mai nouă." + } + }, + "tls": { + "label": "TLS", + "description": "Setări TLS pentru endpoint-urile web Frigate (port 8971).", + "enabled": { + "label": "Activează TLS", + "description": "Activează TLS pentru interfața web și API-ul Frigate pe portul TLS configurat." + } + }, + "ui": { + "label": "UI", + "description": "Preferințe pentru interfața de utilizator, cum ar fi fusul orar, formatarea orei/datei și unitățile de măsură.", + "timezone": { + "label": "Fus orar", + "description": "Fus orar opțional de afișat în interfață (implicit se folosește ora locală a browserului)." + }, + "time_format": { + "label": "Format oră", + "description": "Formatul orei de utilizat în interfață (browser, 12 ore sau 24 ore)." + }, + "date_style": { + "label": "Stil dată", + "description": "Stilul datei de utilizat în interfață (full, long, medium, short)." + }, + "time_style": { + "label": "Stil oră", + "description": "Stilul orei de utilizat în interfață (full, long, medium, short)." + }, + "unit_system": { + "label": "Sistem de unități", + "description": "Sistemul de unități pentru afișare (metric sau imperial) folosit în interfață și MQTT." + } + }, + "detectors": { + "label": "Hardware detector", + "description": "Configurare pentru detectoarele de obiecte (CPU, GPU, backend-uri ONNX) și orice setări de model specifice detectorului.", + "type": { + "label": "Tip detector", + "description": "Tipul de detector de folosit pentru detecția obiectelor (de exemplu, 'cpu', 'edgetpu', 'openvino')." + }, + "cpu": { + "label": "CPU", + "description": "Detector TFLite pentru CPU care rulează modele TensorFlow Lite pe procesorul gazdă fără accelerare hardware. Nu este recomandat.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "num_threads": { + "label": "Număr fire detecție", + "description": "Numărul de fire (threads) folosite pentru inferența bazată pe CPU." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detector DeepStack/CodeProject.AI care trimite imagini către un API HTTP DeepStack la distanță pentru inferență. Nu este recomandat.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "api_url": { + "label": "URL API DeepStack", + "description": "URL-ul API-ului DeepStack." + }, + "api_timeout": { + "label": "Timeout API DeepStack (în secunde)", + "description": "Timpul maxim permis pentru o cerere la API-ul DeepStack." + }, + "api_key": { + "label": "Cheie API DeepStack (dacă e necesară)", + "description": "Cheie API opțională pentru serviciile DeepStack autentificate." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Detector DeGirum pentru rularea modelelor prin cloud-ul DeGirum sau servicii locale de inferență.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "location": { + "label": "Locație inferență", + "description": "Locația motorului de inferență DeGirum (ex. '@cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Model Zoo", + "description": "Calea sau URL-ul către model zoo DeGirum." + }, + "token": { + "label": "Token Cloud DeGirum", + "description": "Token pentru accesul la Cloud-ul DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detector EdgeTPU care rulează modele TensorFlow Lite compilate pentru Coral EdgeTPU folosind delegatul EdgeTPU.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența EdgeTPU (ex. 'usb', 'pci')." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detector Hailo-8/Hailo-8L care folosește modele HEF și HailoRT SDK pentru inferență pe hardware Hailo.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența Hailo (ex. 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detector MemryX MX3 care rulează modele DFP compilate pe acceleratoare MemryX.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Cale dispozitiv", + "description": "Dispozitivul de folosit pentru inferența MemryX (ex. 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Detector ONNX pentru rularea modelelor ONNX; va folosi backend-urile de accelerare disponibile (CUDA/ROCm/OpenVINO) atunci când sunt prezente.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența ONNX (ex. 'AUTO', 'CPU', 'GPU')." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "Detector OpenVINO pentru procesoare AMD și Intel, GPU-uri Intel și hardware Intel VPU.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența OpenVINO (ex. 'CPU', 'GPU', 'NPU')." + } + }, + "rknn": { + "label": "RKNN", + "description": "Detector RKNN pentru NPU-uri Rockchip; rulează modele RKNN compilate pe hardware Rockchip.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "num_cores": { + "label": "Număr de nuclee NPU de folosit.", + "description": "Numărul de nuclee NPU de folosit (0 pentru auto)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Detector Synaptics NPU pentru modele în format .synap folosind Synap SDK pe hardware Synaptics.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + } + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Detector cu delegat Teflon pentru TFLite care folosește biblioteca Mesa Teflon pentru a accelera inferența pe GPU-urile suportate.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + } + }, + "tensorrt": { + "label": "TensorRT", + "description": "Detector TensorRT pentru dispozitive Nvidia Jetson care folosește motoare TensorRT serializate pentru inferență accelerată.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Index dispozitiv GPU", + "description": "Indexul dispozitivului GPU de folosit." + } + }, + "zmq": { + "label": "Detector ZMQ IPC", + "description": "Detector ZMQ IPC care trimite procesul de inferență către un proces extern printr-un endpoint ZeroMQ IPC.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurație model specifică detectorului", + "description": "Opțiuni de configurare specifice modelului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale label map pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice în etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție obiecte", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție obiecte", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau intrări de re-mapare pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Maparea de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu 'mașină' -> ['număr_înmatriculare'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare (de exemplu 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului (ssd, yolox, yolonas) utilizat de unii detectori pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specifică detectorului", + "description": "Calea către binarul modelului, dacă este cerut de detectorul ales." + }, + "endpoint": { + "label": "Endpoint ZMQ IPC", + "description": "Endpoint-ul ZMQ la care se face conexiunea." + }, + "request_timeout_ms": { + "label": "Timeout cerere ZMQ (ms)", + "description": "Timpul de expirare pentru cererile ZMQ în milisecunde." + }, + "linger_ms": { + "label": "Linger socket ZMQ (ms)", + "description": "Perioada de tip 'linger' a socket-ului în milisecunde." + } + } + }, + "model": { + "label": "Model detecție", + "description": "Setări pentru configurarea unui model personalizat de detecție și a formei intrării acestuia.", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale label map pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice în etichete text." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la atribute", + "description": "Asocierea obiectelor cu atributele lor pentru metadate." + }, + "input_tensor": { + "label": "Formă tensor intrare", + "description": "Formatul tensorului: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare", + "description": "Spațiul de culoare: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare", + "description": "Tipul de date (ex: 'float32')." + }, + "model_type": { + "label": "Tip model detecție", + "description": "Arhitectura modelului (ssd, yolox, yolonas)." + } + }, + "genai": { + "label": "Configurație GenAI (furnizori numiți)", + "description": "Setări pentru furnizorii de AI generativ folosiți pentru descrieri de obiecte și rezumate.", + "api_key": { + "label": "Cheie API", + "description": "Cheia API necesară (poate fi setată și prin variabile de mediu)." + }, + "base_url": { + "label": "URL de bază", + "description": "URL-ul de bază pentru furnizori self-hosted (ex: o instanță Ollama)." + }, + "model": { + "label": "Model", + "description": "Modelul utilizat pentru descrieri sau rezumate." + }, + "provider": { + "label": "Furnizor", + "description": "Furnizorul GenAI (ex: ollama, gemini, openai)." + }, + "roles": { + "label": "Roluri", + "description": "Roluri GenAI (unelte, viziune, înglobări); un furnizor per rol." + }, + "provider_options": { + "label": "Opțiuni furnizor", + "description": "Opțiuni suplimentare trimise către clientul GenAI." + }, + "runtime_options": { + "label": "Opțiuni runtime", + "description": "Opțiuni trimise furnizorului la fiecare apel de inferență." + } + }, + "classification": { + "label": "Clasificare obiecte", + "description": "Setări pentru modelele de clasificare folosite pentru a rafina etichetele sau stările.", + "bird": { + "label": "Configurație clasificare păsări", + "description": "Setări specifice pentru modelele de clasificare a păsărilor.", + "enabled": { + "label": "Clasificare păsări", + "description": "Activează sau dezactivează clasificarea păsărilor." + }, + "threshold": { + "label": "Scor minim", + "description": "Scorul minim pentru a accepta clasificarea unei păsări." + } + }, + "custom": { + "label": "Modele de clasificare personalizate", + "description": "Configurarea modelelor personalizate pentru obiecte sau stări.", + "enabled": { + "label": "Activare model", + "description": "Activează sau dezactivează modelul personalizat." + }, + "name": { + "label": "Nume model", + "description": "Identificatorul modelului de clasificare." + }, + "threshold": { + "label": "Prag scor", + "description": "Pragul folosit pentru a schimba starea de clasificare." + }, + "save_attempts": { + "label": "Salvează încercările", + "description": "Câte încercări de clasificare să fie păstrate pentru interfața de istoric." + }, + "object_config": { + "objects": { + "label": "Clasifică obiecte", + "description": "Lista de tipuri de obiecte pe care se face clasificare." + }, + "classification_type": { + "label": "Tip clasificare", + "description": "Tipul aplicat: 'sub_label' (adaugă o sub-etichetă) sau altele." + } + }, + "state_config": { + "cameras": { + "label": "Camere clasificare", + "description": "Decupaj și setări per cameră pentru clasificarea stărilor.", + "crop": { + "label": "Crop clasificare", + "description": "Coordonatele de crop folosite pentru clasificare pe această cameră." + } + }, + "motion": { + "label": "Rulează la mișcare", + "description": "Dacă e activ, rulează clasificarea când se detectează mișcare în zona de crop." + }, + "interval": { + "label": "Interval clasificare", + "description": "Intervalul (secunde) între rulările periodice pentru clasificarea stărilor." + } + } + } + }, + "camera_groups": { + "label": "Grupuri camere", + "description": "Configurație pentru grupuri de camere denumite, folosite pentru a organiza camerele în interfață.", + "cameras": { + "label": "Listă camere", + "description": "Listă de nume de camere incluse în acest grup." + }, + "icon": { + "label": "Pictogramă grup", + "description": "Pictogramă folosită pentru a reprezenta grupul de camere în interfață." + }, + "order": { + "label": "Ordine sortare", + "description": "Ordinea numerică folosită pentru sortarea grupurilor de camere în interfață; numerele mai mari apar mai târziu." + } + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Setări pentru publicarea imaginilor prin MQTT.", + "enabled": { + "label": "Trimite imaginea", + "description": "Activează publicarea de snapshot-uri cu obiecte către subiectele MQTT pentru această cameră." + }, + "timestamp": { + "label": "Adaugă timestamp", + "description": "Suprapune un timestamp pe imaginile publicate prin MQTT." + }, + "bounding_box": { + "label": "Adaugă bounding box", + "description": "Desenază bounding box-uri pe imaginile publicate prin MQTT." + }, + "crop": { + "label": "Decupează imaginea", + "description": "Decupează imaginile publicate prin MQTT la bounding box-ul obiectului detectat." + }, + "height": { + "label": "Înălțime imagine", + "description": "Înălțimea (pixeli) pentru redimensionarea imaginilor publicate prin MQTT." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele în care trebuie să intre un obiect pentru ca un snapshot prin MQTT să fie publicat." + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea JPEG pentru imaginile publicate prin MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Interfață cameră", + "description": "Ordinea de afișare și vizibilitatea pentru această cameră în interfață. Ordinea afectează dashboard-ul implicit. Pentru un control mai detaliat, folosește grupurile de camere.", + "order": { + "label": "Ordine interfață", + "description": "Ordinea numerică folosită pentru sortarea camerei în interfață (dashboard-ul implicit și liste); numerele mai mari apar mai târziu." + }, + "dashboard": { + "label": "Arată în interfață", + "description": "Comută dacă această cameră este vizibilă peste tot în interfața Frigate. Dezactivarea acestei opțiuni va necesita editarea manuală a config-ului pentru a vedea din nou camera în interfață." + } + } +} diff --git a/web/public/locales/ro/config/groups.json b/web/public/locales/ro/config/groups.json new file mode 100644 index 000000000..7b0d7a4d8 --- /dev/null +++ b/web/public/locales/ro/config/groups.json @@ -0,0 +1,73 @@ +{ + "audio": { + "global": { + "detection": "Detectare globală", + "sensitivity": "Sensibilitate globală" + }, + "cameras": { + "detection": "Detectare", + "sensitivity": "Sensibilitate" + } + }, + "timestamp_style": { + "global": { + "appearance": "Aspect global" + }, + "cameras": { + "appearance": "Aspect" + } + }, + "motion": { + "global": { + "sensitivity": "Sensibilitate globală", + "algorithm": "Algoritm global" + }, + "cameras": { + "sensitivity": "Sensibilitate", + "algorithm": "Algoritm" + } + }, + "snapshots": { + "global": { + "display": "Afișare snapshot-uri globală" + }, + "cameras": { + "display": "Afișare snapshot-uri" + } + }, + "detect": { + "global": { + "resolution": "Rezoluție globală", + "tracking": "Urmărire globală" + }, + "cameras": { + "resolution": "Rezoluție", + "tracking": "Urmărire" + } + }, + "objects": { + "global": { + "tracking": "Urmărire globală", + "filtering": "Filtrare globală" + }, + "cameras": { + "tracking": "Urmărire", + "filtering": "Filtrare" + } + }, + "record": { + "global": { + "retention": "Păstrare globală", + "events": "Evenimente globale" + }, + "cameras": { + "retention": "Păstrare", + "events": "Evenimente" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Argumente FFmpeg specifice camerei" + } + } +} diff --git a/web/public/locales/ro/config/validation.json b/web/public/locales/ro/config/validation.json new file mode 100644 index 000000000..3ec9691f6 --- /dev/null +++ b/web/public/locales/ro/config/validation.json @@ -0,0 +1,32 @@ +{ + "minimum": "Trebuie să fie cel puțin {{limit}}", + "maximum": "Trebuie să fie cel mult {{limit}}", + "exclusiveMinimum": "Trebuie să fie mai mare de {{limit}}", + "exclusiveMaximum": "Trebuie să fie mai mic de {{limit}}", + "minLength": "Trebuie să aibă cel puțin {{limit}} caracter(e)", + "maxLength": "Trebuie să aibă cel mult {{limit}} caracter(e)", + "minItems": "Trebuie să conțină cel puțin {{limit}} elemente", + "maxItems": "Trebuie să conțină cel mult {{limit}} elemente", + "pattern": "Format nevalid", + "required": "Acest câmp este obligatoriu", + "type": "Tip de valoare nevalid", + "enum": "Trebuie să fie una dintre valorile permise", + "const": "Valoarea nu corespunde constantei așteptate", + "uniqueItems": "Toate elementele trebuie să fie unice", + "format": "Format nevalid", + "additionalProperties": "Proprietatea necunoscută nu este permisă", + "oneOf": "Trebuie să corespundă exact uneia dintre schemele permise", + "anyOf": "Trebuie să corespundă cel puțin uneia dintre schemele permise", + "proxy": { + "header_map": { + "roleHeaderRequired": "Header-ul de rol este obligatoriu atunci când sunt configurate mapări de roluri." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Fiecare rol poate fi atribuit unui singur stream.", + "detectRequired": "Cel puțin un stream trebuie să aibă atribuit rolul 'detect'.", + "hwaccelDetectOnly": "Doar stream-ul cu rolul 'detect' poate defini argumente pentru accelerare hardware." + } + } +} diff --git a/web/public/locales/ro/views/events.json b/web/public/locales/ro/views/events.json index f4f2ef120..6e88c59a7 100644 --- a/web/public/locales/ro/views/events.json +++ b/web/public/locales/ro/views/events.json @@ -63,5 +63,25 @@ "normalActivity": "Normal", "needsReview": "Necesită revizuire", "securityConcern": "Potențială problemă de securitate", - "select_all": "Toate" + "select_all": "Toate", + "motionSearch": { + "menuItem": "Căutare mișcare", + "openMenu": "Opțiuni cameră" + }, + "motionPreviews": { + "menuItem": "Vezi previzualizări mișcare", + "title": "Previzualizări mișcare: {{camera}}", + "mobileSettingsTitle": "Setări previzualizări mișcare", + "mobileSettingsDesc": "Ajustează viteza de redare și estomparea, și alege o dată pentru a revizui clipurile doar cu mișcare.", + "dim": "Estompare", + "dimAria": "Ajustează intensitatea estompării", + "dimDesc": "Crește intensitatea estompării pentru a mări vizibilitatea zonei de mișcare.", + "speed": "Vitez", + "speedAria": "Selectează viteza de redare a previzualizării", + "speedDesc": "Alege cât de repede sunt redate clipurile de previzualizare.", + "back": "Înapoi", + "empty": "Nicio previzualizare disponibilă", + "noPreview": "Previzualizare indisponibilă", + "seekAria": "Derulează player-ul {{camera}} la {{time}}" + } } diff --git a/web/public/locales/ro/views/explore.json b/web/public/locales/ro/views/explore.json index d76f9191d..371565afe 100644 --- a/web/public/locales/ro/views/explore.json +++ b/web/public/locales/ro/views/explore.json @@ -12,10 +12,10 @@ "trackedObjectsProcessed": "Obiecte urmărite procesate: ", "thumbnailsEmbedded": "Miniaturi încorporate: " }, - "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor urmărite este finalizată." + "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor înglobate este finalizată." }, "downloadingModels": { - "context": "Frigate descarcă modelele de încorporare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", + "context": "Frigate descarcă modelele de înglobare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", "setup": { "visionModel": "Model viziune", "visionModelFeatureExtractor": "Extractor de caracteristici pentru modelul de viziune", @@ -23,7 +23,7 @@ "textTokenizer": "Tokenizer text" }, "tips": { - "context": "S-ar putea să dorești să reindexezi încorporările obiectelor urmărite odată ce modelele sunt descărcate.", + "context": "S-ar putea să dorești să reindexezi înglobările obiectelor urmărite odată ce modelele sunt descărcate.", "documentation": "Citește documentația" }, "error": "A apărut o eroare. Verifică jurnalele Frigate." @@ -226,12 +226,16 @@ "downloadCleanSnapshot": { "label": "Descarcă un snapshot curat", "aria": "Descarcă snapshot curat" + }, + "debugReplay": { + "label": "Reluare de depanare", + "aria": "Vezi acest obiect urmărit în vizualizarea de reluare de depanare" } }, "dialog": { "confirmDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice încorporări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

Ești sigur că vrei să continui?" + "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice înglobări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

Ești sigur că vrei să continui?" } }, "noTrackedObjects": "Nu au fost găsite obiecte urmărite", diff --git a/web/public/locales/ro/views/exports.json b/web/public/locales/ro/views/exports.json index fa9077459..7b93af723 100644 --- a/web/public/locales/ro/views/exports.json +++ b/web/public/locales/ro/views/exports.json @@ -1,23 +1,37 @@ { - "search": "Caută", - "documentTitle": "Export - Frigate", - "noExports": "Nu au fost gasite exporturi", + "search": "Căutare", + "documentTitle": "Exporturi - Frigate", + "noExports": "Nu s-au găsit exporturi", "deleteExport": "Șterge exportul", - "deleteExport.desc": "Ești sigur că vrei să ștergi {{exportName}}?", + "deleteExport.desc": "Sigur vrei să ștergi {{exportName}}?", "editExport": { - "title": "Redenumeste Exportul", - "saveExport": "Salveaza Export", - "desc": "Introdu un nume nou pentru acest Export." + "title": "Redenumire export", + "saveExport": "Salvează exportul", + "desc": "Introdu un nume nou pentru acest export." }, "toast": { "error": { - "renameExportFailed": "Eroare redenumire export: {{errorMessage}}" + "renameExportFailed": "Redenumirea exportului a eșuat: {{errorMessage}}", + "assignCaseFailed": "Actualizarea atribuirii cazului a eșuat: {{errorMessage}}" } }, "tooltip": { "shareExport": "Partajează exportul", - "downloadVideo": "Descarcă videoclipul", + "downloadVideo": "Descarcă video", "editName": "Editează numele", - "deleteExport": "Șterge exportul" + "deleteExport": "Șterge exportul", + "assignToCase": "Adaugă la un caz" + }, + "headings": { + "cases": "Cazuri", + "uncategorizedExports": "Exporturi necategorizate" + }, + "caseDialog": { + "title": "Adaugă la un caz", + "description": "Alege un caz existent sau creează unul nou.", + "selectLabel": "Caz", + "newCaseOption": "Creează un caz nou", + "nameLabel": "Numele cazului", + "descriptionLabel": "Descriere" } } diff --git a/web/public/locales/ro/views/live.json b/web/public/locales/ro/views/live.json index bb2c958ea..45f8a68f2 100644 --- a/web/public/locales/ro/views/live.json +++ b/web/public/locales/ro/views/live.json @@ -71,7 +71,7 @@ }, "snapshots": { "disable": "Dezactivează snapshoturile", - "enable": "Activează snapshoturile" + "enable": "Activează snapshot-urile" }, "audioDetect": { "enable": "Activează detectarea audio", diff --git a/web/public/locales/ro/views/search.json b/web/public/locales/ro/views/search.json index 5c5f391e8..81304ace5 100644 --- a/web/public/locales/ro/views/search.json +++ b/web/public/locales/ro/views/search.json @@ -1,5 +1,5 @@ { - "search": "Caută", + "search": "Căutare", "savedSearches": "Căutări salvate", "searchFor": "Caută {{inputValue}}", "button": { diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index 813f50537..4a223e9a1 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -1,33 +1,93 @@ { "documentTitle": { - "authentication": "Setări de autentificare - Frigate", + "authentication": "Setări Autentificare - Frigate", "camera": "Setări cameră - Frigate", "default": "Setări - Frigate", "classification": "Setări de clasificare - Frigate", - "masksAndZones": "Editor Zonă si Mască - Frigate", - "notifications": "Setări notificări - Frigate", - "motionTuner": "Ajustare mișcare - Frigate", + "masksAndZones": "Editor Mască și Zonă - Frigate", + "notifications": "Setări Notificări - Frigate", + "motionTuner": "Reglaj Mișcare - Frigate", "object": "Depanare - Frigate", - "general": "Setări interfață - Frigate", + "general": "Setări Profil - Frigate", "frigatePlus": "Setări Frigate+ - Frigate", - "enrichments": "Setări de Îmbogățiri - Frigate", - "cameraManagement": "Gestionează Camerele - Frigate", - "cameraReview": "Setări Revizuire Cameră - Frigate" + "enrichments": "Setări Îmbunătățiri - Frigate", + "cameraManagement": "Gestionare Camere - Frigate", + "cameraReview": "Setări Review Cameră - Frigate", + "globalConfig": "Configurație Globală - Frigate", + "cameraConfig": "Configurație Cameră - Frigate", + "maintenance": "Mentenanță - Frigate" }, "menu": { - "ui": "Interfață utilizator", - "cameras": "Setări cameră", + "ui": "Interfață (UI)", + "cameras": "Configurație cameră", "masksAndZones": "Măști / Zone", "motionTuner": "Reglaj mișcare", - "enrichments": "Îmbogățiri", + "enrichments": "Îmbunătățiri", "debug": "Depanare", "users": "Utilizatori", "notifications": "Notificări", "frigateplus": "Frigate+", - "triggers": "Declanșatoare", + "triggers": "Declanșatori", "roles": "Roluri", - "cameraManagement": "Administrare", - "cameraReview": "Revizuire" + "cameraManagement": "Gestionare", + "cameraReview": "Recenzie", + "general": "General", + "globalConfig": "Configurație globală", + "system": "Sistem", + "integrations": "Integrări", + "profileSettings": "Setări profil", + "globalDetect": "Detecție obiecte", + "globalRecording": "Înregistrare", + "globalSnapshots": "Snapshot-uri", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detecție mișcare", + "globalObjects": "Obiecte", + "globalReview": "Recenzie", + "globalAudioEvents": "Evenimente audio", + "globalLivePlayback": "Redare live", + "globalTimestampStyle": "Stil timestamp", + "systemDatabase": "Bază de date", + "systemTls": "TLS", + "systemAuthentication": "Autentificare", + "systemNetworking": "Rețea", + "systemProxy": "Proxy", + "systemUi": "Interfață (UI)", + "systemLogging": "Jurnale (Logging)", + "systemEnvironmentVariables": "Variabile de mediu", + "systemTelemetry": "Telemetrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardware detector", + "systemDetectionModel": "Model detecție", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Căutare semantică", + "integrationGenerativeAi": "AI Generativ", + "integrationFaceRecognition": "Recunoaștere facială", + "integrationLpr": "Recunoaștere numere înmatriculare", + "integrationObjectClassification": "Clasificare obiecte", + "integrationAudioTranscription": "Transcriere audio", + "cameraDetect": "Detecție obiecte", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Înregistrare", + "cameraSnapshots": "Snapshot-uri", + "cameraMotion": "Detecție mișcare", + "cameraObjects": "Obiecte", + "cameraConfigReview": "Recenzie", + "cameraAudioEvents": "Evenimente audio", + "cameraAudioTranscription": "Transcriere audio", + "cameraNotifications": "Notificări", + "cameraLivePlayback": "Redare live", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Recunoaștere facială", + "cameraLpr": "Recunoaștere numere înmatriculare", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Interfață cameră", + "cameraTimestampStyle": "Stil timestamp", + "cameraMqtt": "MQTT Cameră", + "maintenance": "Mentenanță", + "mediaSync": "Sincronizare media", + "regionGrid": "Grilă regiune" }, "dialog": { "unsavedChanges": { @@ -40,60 +100,60 @@ "noCamera": "Nicio cameră" }, "general": { - "title": "Setări interfață", + "title": "Setări Profil", "liveDashboard": { - "title": "Tabloul de bord live", + "title": "Dashboard Live", "automaticLiveView": { - "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice ale camerelor din panoul Live să se actualizeze doar o dată pe minut.", + "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice din dashboard-ul Live să se actualizeze doar o dată pe minut.", "label": "Vizualizare Live Automată" }, "playAlertVideos": { - "label": "Redă videoclipurile de alertă", - "desc": "În mod implicit, alertele recente din panoul Live se redau ca videoclipuri mici, ce ruleaza repetat. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." + "label": "Redă Clipuri de Alertă", + "desc": "Implicit, alertele recente din dashboard-ul Live rulează ca mici clipuri video în buclă. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." }, "displayCameraNames": { - "label": "Afișează întotdeauna numele camerelor", - "desc": "Afișează întotdeauna numele camerelor într-un indicator în tabloul de bord cu vizualizare live pe mai multe camere." + "label": "Arată mereu numele camerelor", + "desc": "Arată întotdeauna numele camerelor într-un tag (chip) în dashboard-ul live multi-cameră." }, "liveFallbackTimeout": { - "label": "Timp de expirare pentru redarea live", - "desc": "Când stream-ul live de înaltă calitate al unei camere nu este disponibil, revino la modul cu lățime de bandă scăzută după acest număr de secunde. Implicit: 3." + "label": "Timeout Rezecție Player Live", + "desc": "Când stream-ul live de înaltă calitate nu este disponibil, comută pe modul de bandă redusă după acest număr de secunde. Implicit: 3." } }, "storedLayouts": { - "title": "Layout-uri salvate", - "desc": "Aranjamentul camerelor într-un grup de camere poate fi tras și redimensionat. Pozițiile sunt salvate în stocarea locală a browserului tău.", + "title": "Layout-uri Salvate", + "desc": "Aranjamentul camerelor într-un grup poate fi tras sau redimensionat. Pozițiile sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate layout-urile" }, "cameraGroupStreaming": { - "title": "Setări de streaming pentru grupul de camere", + "title": "Setări Streaming Grup Camere", "desc": "Setările de streaming pentru fiecare grup de camere sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate setările de streaming" }, "recordingsViewer": { - "title": "Vizualizator înregistrări", + "title": "Vizualizator Înregistrări", "defaultPlaybackRate": { - "desc": "Viteza implicită de redare pentru înregistrări.", - "label": "Viteza implicită de redare" + "desc": "Viteza de redare implicită pentru vizionarea înregistrărilor.", + "label": "Viteză de redare implicită" } }, "calendar": { "title": "Calendar", "firstWeekday": { "label": "Prima zi a săptămânii", - "desc": "Ziua cu care încep săptămânile calendarului de revizuire.", + "desc": "Ziua cu care încep săptămânile în calendarul de recenzii.", "sunday": "Duminică", "monday": "Luni" } }, "toast": { "success": { - "clearStoredLayout": "Aspectul salvat pentru {{cameraName}} a fost șters", - "clearStreamingSettings": "Setările de streaming pentru toate grupurile de camere au fost resetate." + "clearStoredLayout": "S-a șters layout-ul salvat pentru {{cameraName}}", + "clearStreamingSettings": "S-au șters setările de streaming pentru toate grupurile de camere." }, "error": { - "clearStoredLayoutFailed": "Eroare la ștergerea layout-ului salvat: {{errorMessage}}", - "clearStreamingSettingsFailed": "Nu s-au putut șterge setările de streaming: {{errorMessage}}" + "clearStoredLayoutFailed": "Eșec la ștergerea layout-ului salvat: {{errorMessage}}", + "clearStreamingSettingsFailed": "Eșec la ștergerea setărilor de streaming: {{errorMessage}}" } } }, @@ -101,62 +161,62 @@ "faceRecognition": { "modelSize": { "large": { - "desc": "Utilizarea variantei mari folosește un model ArcFace pentru încorporarea fețelor și va rula automat pe GPU, dacă este disponibil.", - "title": "mare" + "desc": "Opțiunea mare folosește un model de înglobări faciale ArcFace și va rula automat pe GPU dacă este disponibil.", + "title": "mare (large)" }, - "desc": "Dimensiunea modelului utilizat pentru recunoașterea facială.", + "desc": "Mărimea modelului folosit pentru recunoașterea facială.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește un model FaceNet pentru încorporarea fețelor, care rulează eficient pe majoritatea tipurilor de procesoare." + "title": "mic (small)", + "desc": "Opțiunea mic folosește un model de înglobări faciale FaceNet care rulează eficient pe majoritatea procesoarelor." }, - "label": "Dimensiunea modelului" + "label": "Mărime Model" }, - "title": "Recunoaștere facială", - "desc": "Recunoașterea facială permite atribuirea de nume persoanelor, iar când fața lor este recunoscută, Frigate va atribui numele persoanei ca sub-etichetă. Această informație este inclusă în interfața utilizatorului, filtre și în notificări.", + "title": "Recunoaștere Facială", + "desc": "Recunoașterea facială permite alocarea de nume persoanelor; când o față este recunoscută, Frigate va asocia numele ca sub-etichetă. Informația apare în UI, filtre și notificări.", "readTheDocumentation": "Citește documentația" }, "semanticSearch": { "reindexNow": { - "confirmDesc": "Ești sigur că vrei să reindexezi încorporările pentru toate obiectele urmărite? Acest proces va rula în fundal, dar poate folosi la maxim procesorul și poate dura ceva timp. Poți urmări progresul pe pagina de explorare.", + "confirmDesc": "Sigur vrei să reindexezi toate înglobările obiectelor urmărite? Procesul va rula în fundal, dar poate solicita procesorul la maximum. Poți urmări progresul pe pagina Explore.", "label": "Reindexează acum", - "desc": "Reindexarea va regenera încorporările pentru toate obiectele urmărite. Acest proces rulează în fundal și poate utiliza la maxim procesorul, durând o perioadă considerabilă în funcție de numărul de obiecte urmărite pe care le ai.", + "desc": "Reindexarea va regenera înglobările pentru toate obiectele urmărite. Acest proces rulează în fundal, poate solicita procesorul la maximum și poate dura destul de mult în funcție de numărul de obiecte.", "confirmTitle": "Confirmă reindexarea", "confirmButton": "Reindexează", - "success": "Reindexarea a început cu succes.", - "alreadyInProgress": "Reindexarea este deja în curs de desfășurare.", - "error": "Eroare la pornirea reindexării: {{errorMessage}}" + "success": "Reindexarea a pornit cu succes.", + "alreadyInProgress": "Reindexarea este deja în curs.", + "error": "Eșec la pornirea reindexării: {{errorMessage}}" }, - "title": "Căutare semantică", - "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite în elementele tale de revizuire folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", + "title": "Căutare Semantică", + "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", "readTheDocumentation": "Citește documentația", "modelSize": { - "label": "Dimensiunea modelului", - "desc": "Dimensiunea modelului utilizat pentru încorporările de căutare semantică.", + "label": "Mărime Model", + "desc": "Mărimea modelului folosit pentru înglobarea căutării semantice.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește o versiune cuantificată a modelului care consumă mai puțină memorie RAM și rulează mai rapid pe CPU, cu o diferență foarte mică în calitatea încorporărilor." + "title": "mic (small)", + "desc": "Opțiunea mic folosește o versiune cuantizată a modelului care ocupă mai puțin RAM și rulează mai rapid pe procesor, cu o diferență neglijabilă de calitate." }, "large": { - "title": "mare", - "desc": "Utilizarea variantei mari folosește modelul complet Jina și va rula automat pe GPU, dacă este disponibil." + "title": "mare (large)", + "desc": "Opțiunea mare folosește modelul Jina complet și va rula automat pe placa video (GPU) dacă este disponibilă." } } }, "licensePlateRecognition": { - "desc": "Frigate poate recunoaște numerele de înmatriculare ale vehiculelor și poate adăuga automat caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub_etichetă pentru obiectele de tip mașină. Un caz de utilizare comun poate fi citirea numerelor de înmatriculare ale mașinilor care intră într-o curte sau ale celor care trec pe stradă.", - "title": "Recunoaștere numere de înmatriculare", + "desc": "Frigate poate recunoaște plăcuțele de înmatriculare și poate adăuga caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub-etichetă pentru obiectele de tip mașină. Util pentru mașini care intră pe alee sau trec pe stradă.", + "title": "Recunoaștere Numere Înmatriculare", "readTheDocumentation": "Citește documentația" }, - "title": "Setări îmbogățiri", - "unsavedChanges": "Modificările nesalvate ale setărilor de îmbogățiri", + "title": "Setări Îmbunătățiri", + "unsavedChanges": "Modificări nesalvate la setările de îmbunătățiri", "birdClassification": { - "title": "Clasificarea păsărilor", - "desc": "Clasificarea păsărilor identifică păsările cunoscute folosind un model TensorFlow cuantificat. Când o pasăre recunoscută este identificată, numele său comun va fi adăugat ca sub_etichetă. Această informație este inclusă în interfața utilizator, filtre și în notificări." + "title": "Clasificare Păsări", + "desc": "Clasificarea păsărilor identifică speciile cunoscute folosind un model Tensorflow cuantizat. Când o pasăre este recunoscută, numele său comun va fi adăugat ca sub-etichetă (sub_label). Această informație este inclusă în interfață, filtre și notificări." }, - "restart_required": "Este necesară repornirea (setările de îmbogățiri au fost modificate)", + "restart_required": "Repornire necesară (setările de îmbunătățiri s-au modificat)", "toast": { - "success": "Setările de îmbogățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}" + "success": "Setările de îmbunătățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", + "error": "Eșec la salvarea modificărilor de configurare: {{errorMessage}}" } }, "camera": { @@ -237,45 +297,45 @@ "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", "loiteringTime": { - "title": "Timp de ședere", - "desc": "Setează o durată minimă în secunde în care obiectul trebuie să fie în zonă pentru ca aceasta să se activeze. Implicit: 0" + "title": "Timp de staționare", + "desc": "Setează timpul minim în secunde pe care un obiect trebuie să îl petreacă în zonă pentru ca aceasta să se activeze. Implicit: 0" }, "speedEstimation": { - "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Atenție: Pentru ca estimarea vitezei să funcționeze corect, zona trebuie să aibă exact 4 puncte.", + "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Zona trebuie să aibă exact 4 puncte.", "title": "Estimare viteză", "docs": "Citește documentația", - "lineADistance": "Distanța liniei A ({{unit}})", - "lineBDistance": "Distanța liniei B ({{unit}})", - "lineCDistance": "Distanța liniei C ({{unit}})", - "lineDDistance": "Distanța liniei D ({{unit}})" + "lineADistance": "Distanța Liniei A ({{unit}})", + "lineBDistance": "Distanța Liniei B ({{unit}})", + "lineCDistance": "Distanța Liniei C ({{unit}})", + "lineDDistance": "Distanța Liniei D ({{unit}})" }, - "add": "Adaugă zonă", + "add": "Adaugă Zonă", "desc": { - "title": "Zonele îți permit să definești o anumită zonă din cadrul vizual al camerei. Astfel, poți determina dacă un obiect se află sau nu într-o anumită arie de interes.", + "title": "Zonele îți permit să definești arii specifice în cadru pentru a determina dacă un obiect se află sau nu într-un anumit loc.", "documentation": "Documentație" }, - "edit": "Editează zona", + "edit": "Editează Zona", "name": { "inputPlaceHolder": "Introdu un nume…", "title": "Nume", - "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu fie numele unei camere sau al unei alte zone din această cameră." + "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu coincidă cu numele unei camere sau al altei zone de pe această cameră." }, "inertia": { "title": "Inerție", - "desc": "Specifică câte cadre trebuie să fie un obiect într-o zonă înainte de a fi considerat prezent în zonă. Implicit: 3" + "desc": "Specifică în câte cadre trebuie să apară un obiect într-o zonă înainte de a fi considerat ca fiind în acea zonă. Implicit: 3" }, "speedThreshold": { "toast": { "error": { - "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare a vitezei trebuie să aibă exact 4 puncte.", - "loiteringTimeError": "Zonele cu un timp de staționare mai mare de 0 nu ar trebui utilizate împreună cu estimarea vitezei." + "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare de viteză trebuie să aibă exact 4 puncte.", + "loiteringTimeError": "Zonele cu timpi de staționare mai mari de 0 nu ar trebui folosite împreună cu estimarea vitezei." } }, - "title": "Prag de viteză ({{unit}})", - "desc": "Specifică o viteză minimă pe care trebuie să o aibă obiectele pentru a fi considerate în această zonă." + "title": "Prag viteză ({{unit}})", + "desc": "Specifică viteza minimă pentru ca obiectele să fie luate în considerare în această zonă." }, - "documentTitle": "Editează zone - Frigate", - "clickDrawPolygon": "Apasă pentru a desena un poligon pe imagine.", + "documentTitle": "Editare Zonă - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", "toast": { "success": "Zona ({{zoneName}}) a fost salvată." }, @@ -284,62 +344,77 @@ "title": "Obiecte", "desc": "Lista de obiecte care se aplică acestei zone." }, - "allObjects": "Toate obiectele" + "allObjects": "Toate obiectele", + "enabled": { + "title": "Activată", + "description": "Specifică dacă această zonă este activă și activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Zonele dezactivate sunt ignorate la rulare." + } }, "motionMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "label": "Măști de mișcare", - "documentTitle": "Editează masca de mișcare - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "label": "Mască de mișcare", + "documentTitle": "Editare mască de mișcare - Frigate", "desc": { "documentation": "Documentație", - "title": "Măștile de mișcare sunt folosite pentru a preveni ca anumite tipuri de mișcare nedorită să declanșeze detecția. Mascare excesivă va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către tipuri de mișcare nedorite. Mascarea excesivă va îngreuna urmărirea obiectelor." }, - "add": "Adaugă mască de mișcare", + "add": "Mască de mișcare nouă", "edit": "Editează masca de mișcare", "context": { "documentation": "Citește documentația", - "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecțiilor din cauza tipurilor nedorite de mișcare (de exemplu: ramuri de copaci, timestamp-uri ale camerei). Măștile de mișcare ar trebui folosite cu mare prudență, deoarece supramascarea va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către mișcări nedorite (exemplu: ramuri de copaci, marcaje de timp ale camerei). Măștile de mișcare ar trebui folosite cu moderație; mascarea excesivă va îngreuna urmărirea obiectelor." }, "toast": { "success": { - "title": "{{polygonName}} a fost salvat.", + "title": "{{polygonName}} a fost salvată.", "noName": "Masca de mișcare a fost salvată." } }, "polygonAreaTooLarge": { - "tips": "Măștile de mișcare nu împiedică detectarea obiectelor. Ele doar previn ca mișcarea nedorită să declanșeze o detecție.", - "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile mari de mișcare nu sunt recomandate.", + "tips": "Măștile de mișcare nu previn detectarea obiectelor. Ar trebui să folosești o zonă obligatorie în schimb.", + "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile de mișcare mari nu sunt recomandate.", "documentation": "Citește documentația" + }, + "defaultName": "Mască de mișcare {{number}}", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de mișcare.", + "placeholder": "Introdu un nume..." } }, "objectMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "documentTitle": "Editează masca de obiecte - Frigate", - "add": "Adaugă mască de obiecte", - "edit": "Editează masca de obiecte", + "documentTitle": "Editare mască de obiect - Frigate", + "add": "Adaugă mască de obiect", + "edit": "Editează masca de obiect", "desc": { "documentation": "Documentație", - "title": "Măștile de filtrare a obiectelor sunt folosite pentru a filtra falsele pozitive pentru un anumit tip de obiect, în funcție de locație." + "title": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație." }, - "label": "Măști obiecte", + "label": "Măști de obiecte", "objects": { - "desc": "Tipul de obiect căruia i se aplică această mască de obiecte.", + "desc": "Tipul de obiect care se aplică acestei măști de obiect.", "allObjectTypes": "Toate tipurile de obiecte", "title": "Obiecte" }, "toast": { "success": { - "noName": "Masca de obiecte a fost salvată.", - "title": "{{polygonName}} a fost salvat." + "noName": "Masca de obiect a fost salvată.", + "title": "{{polygonName}} a fost salvată." } }, - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina falsele pozitive pentru un anumit tip de obiect, în funcție de locația acestuia." + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație.", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de obiect.", + "placeholder": "Introdu un nume..." + } }, "restart_required": "Repornire necesară (măști/zone modificate)", "toast": { @@ -347,51 +422,51 @@ "copyCoordinates": "Coordonatele pentru {{polyName}} au fost copiate." }, "error": { - "copyCoordinatesFailed": "Nu s-au putut copia coordonatele." + "copyCoordinatesFailed": "Nu am putut copia coordonatele." } }, "filter": { - "all": "Toate măștile și zonele" + "all": "Toate Măștile și Zonele" }, - "motionMaskLabel": "Masca de mișcare {{number}}", - "objectMaskLabel": "Mască obiect {{number}} ({{label}})", + "motionMaskLabel": "Mască Mișcare {{number}}", + "objectMaskLabel": "Mască Obiect {{number}}", "form": { "zoneName": { "error": { "mustBeAtLeastTwoCharacters": "Numele zonei trebuie să aibă cel puțin 2 caractere.", "mustNotContainPeriod": "Numele zonei nu trebuie să conțină puncte.", "hasIllegalCharacter": "Numele zonei conține caractere nepermise.", - "mustNotBeSameWithCamera": "Numele zonei nu trebuie să fie identic cu numele camerei.", + "mustNotBeSameWithCamera": "Numele zonei nu poate fi același cu numele camerei.", "alreadyExists": "O zonă cu acest nume există deja pentru această cameră.", - "mustHaveAtLeastOneLetter": "Numele zonei trebuie să aibă cel puțin o literă." + "mustHaveAtLeastOneLetter": "Numele zonei trebuie să conțină cel puțin o literă." } }, "polygonDrawing": { "delete": { - "desc": "Ești sigur că vrei să ștergi {{type}} {{name}}?", + "desc": "Sigur vrei să ștergi {{type}} {{name}}?", "success": "{{name}} a fost șters.", - "title": "Confirmă ștergerea" + "title": "Confirmă Ștergerea" }, "removeLastPoint": "Elimină ultimul punct", "reset": { "label": "Șterge toate punctele" }, "snapPoints": { - "false": "Nu fixa punctele", - "true": "Fixează punctele" + "false": "Atragere puncte inactivă", + "true": "Atragere puncte activă" }, "error": { "mustBeFinished": "Desenul poligonului trebuie finalizat înainte de salvare." }, "type": { "zone": "zonă", - "motion_mask": "mască de mișcare", - "object_mask": "mască de obiect" + "motion_mask": "mască mișcare", + "object_mask": "mască obiect" } }, "distance": { "error": { - "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru a putea folosi estimarea vitezei.", + "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru estimarea vitezei.", "text": "Distanța trebuie să fie mai mare sau egală cu 0.1." } }, @@ -410,36 +485,43 @@ "mustBeGreaterOrEqualTo": "Pragul de viteză trebuie să fie mai mare sau egal cu 0.1." } } + }, + "disabledInConfig": "Elementul este dezactivat în fișierul de configurare", + "masks": { + "enabled": { + "title": "Activată", + "description": "Specifică dacă această mască este activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Măștile dezactivate sunt ignorate la rulare." + } } }, "debug": { "motion": { - "tips": "

Casete de mișcare


Casetele roșii vor fi suprapuse pe zonele din cadru unde este detectată în prezent mișcare

", - "title": "Casete de mișcare", - "desc": "Arată chenarele în jurul zonelor unde este detectată mișcare" + "tips": "

Chenare de mișcare


Chenare roșii vor fi suprapuse pe zonele din cadru unde este detectată mișcare în prezent

", + "title": "Chenare de mișcare", + "desc": "Afișează chenare în zonele unde este detectată mișcare" }, "regions": { - "tips": "

Casete de regiune


Casetele verde deschis vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

", + "tips": "

Chenare de regiune


Chenare verzi aprinse vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

", "title": "Regiuni", - "desc": "Arată o casetă a regiunii de interes trimise detectorului de obiecte" + "desc": "Afișează regiunea de interes trimisă către detectorul de obiecte" }, - "desc": "Vizualizarea de depanare îți arată o vizualizare în timp real a obiectelor urmărite și a statisticilor acestora. Lista de obiecte afișează un rezumat întârziat al obiectelor detectate.", + "desc": "Vizualizarea de depanare arată în timp real obiectele urmărite și statisticile lor. Lista de obiecte arată un rezumat al obiectelor detectate.", "objectShapeFilterDrawing": { "document": "Citește documentația ", - "area": "Suprafață", + "area": "Arie", "title": "Desenare filtru formă obiect", - "desc": "Desenează un dreptunghi pe imagine pentru a vizualiza detaliile zonei și ale raportului", - "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei, pentru a-i arăta zona și raportul. Aceste valori pot fi apoi utilizate pentru a seta parametrii de filtrare a formei obiectelor în configurația ta.", + "desc": "Desenază un dreptunghi pe imagine pentru a vedea detaliile despre arie și raport", + "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei și a vedea aria și raportul acestuia. Aceste valori pot fi folosite ulterior pentru a seta parametrii filtrului de formă în configurație.", "score": "Scor", "ratio": "Raport" }, - "noObjects": "Nici un obiect", + "noObjects": "Niciun obiect", "boundingBoxes": { - "title": "Casete de delimitare", - "desc": "Afișează casete de delimitare în jurul obiectelor urmărite", + "title": "Chenare de încadrare", + "desc": "Afișează chenarele de încadrare în jurul obiectelor urmărite", "colors": { - "label": "Culori pentru casetele de delimitare ale obiectelor", - "info": "
  • La pornire, fiecărei etichete de obiect i se vor atribui culori diferite
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmării automate (când este activată)
  • " + "label": "Culori chenare obiecte", + "info": "
  • La pornire, culori diferite vor fi atribuite fiecărei etichete de obiect
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmăririi automate (când este activată)
  • " } }, "title": "Depanare", @@ -449,45 +531,45 @@ "desc": "Afișează poligoanele măștilor de mișcare", "title": "Măști de mișcare" }, - "detectorDesc": "Frigate folosește detectorii ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei tale.", + "detectorDesc": "Frigate folosește detectoarele tale ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei.", "timestamp": { "title": "Marcaj temporal", "desc": "Suprapune un marcaj temporal pe imagine" }, "zones": { "title": "Zone", - "desc": "Afișează conturul oricăror zone definite" + "desc": "Afișează conturul oricărei zone definite" }, "paths": { - "title": "Căi", + "title": "Trasee", "desc": "Afișează punctele semnificative ale traseului obiectului urmărit", - "tips": "

    Căi


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit s-a deplasat pe parcursul ciclului său de viață.

    " + "tips": "

    Trasee


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit a trecut în timpul existenței sale.

    " }, "audio": { "title": "Audio", "noAudioDetections": "Nicio detecție audio", "score": "scor", - "currentRMS": "RMS curent", - "currentdbFS": "dbFS curent" + "currentRMS": "RMS actual", + "currentdbFS": "dbFS actual" }, - "openCameraWebUI": "Deschide interfața web pentru {{camera}}" + "openCameraWebUI": "Deschide interfața web a camerei {{camera}}" }, "users": { "dialog": { "deleteUser": { - "warn": "Ești sigur că vrei să ștergi utilizatorul {{username}}?", - "title": "Șterge utilizatorul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge definitiv contul de utilizator și va elimina toate datele asociate." + "warn": "Sigur vrei să ștergi utilizatorul {{username}}?", + "title": "Șterge utilizator", + "desc": "Această acțiune nu poate fi anulată. Contul va fi șters definitiv împreună cu toate datele asociate." }, "changeRole": { "desc": "Actualizează permisiunile pentru {{username}}", "roleInfo": { - "intro": "Selectează rolul potrivit pentru acest utilizator:", + "intro": "Selectează rolul corespunzător pentru acest utilizator:", "admin": "Administrator", "adminDesc": "Acces complet la toate funcțiile.", "viewer": "Vizualizator", - "viewerDesc": "Limitat doar la tablourile de bord Live, Revizuire, Explorare și Exporturi.", - "customDesc": "Rol personalizat cu acces specific la cameră." + "viewerDesc": "Limitat la tablouri de bord Live, Recenzii, Explorare și Exporturi.", + "customDesc": "Rol personalizat cu acces la camere specifice." }, "select": "Selectează un rol", "title": "Schimbă rolul utilizatorului" @@ -496,7 +578,7 @@ "password": { "strength": { "weak": "Slabă", - "title": "Putere parolă: ", + "title": "Complexitate parolă: ", "veryStrong": "Foarte puternică", "medium": "Medie", "strong": "Puternică" @@ -509,7 +591,7 @@ "title": "Parolă", "match": "Parolele se potrivesc", "notMatch": "Parolele nu se potrivesc", - "show": "Afișează parola", + "show": "Arată parola", "hide": "Ascunde parola", "requirements": { "title": "Cerințe parolă:", @@ -519,48 +601,48 @@ "special": "Cel puțin un caracter special (!@#$%^&*(),.?\":{}|<>)" } }, - "passwordIsRequired": "Este nevoie de parolă", + "passwordIsRequired": "Parola este obligatorie", "user": { - "placeholder": "Introdu nume utilizator", + "placeholder": "Introdu numele de utilizator", "title": "Nume utilizator", - "desc": "Sunt permise doar litere, cifre, puncte și subliniere." + "desc": "Sunt permise doar litere, cifre, puncte și sublinieri." }, "newPassword": { "title": "Parolă nouă", - "placeholder": "Introdu parola nouă", + "placeholder": "Introdu noua parolă", "confirm": { - "placeholder": "Re-introdu parola nouă" + "placeholder": "Introdu din nou noua parolă" } }, - "usernameIsRequired": "Este nevoie de numele de utilizator", + "usernameIsRequired": "Numele de utilizator este obligatoriu", "currentPassword": { - "title": "Parola curentă", - "placeholder": "Introduceți parola curentă" + "title": "Parola actuală", + "placeholder": "Introdu parola actuală" } }, "createUser": { - "confirmPassword": "Te rog să confirmi parola", - "title": "Crează un utilizator nou", - "desc": "Adaugă un cont de utilizator nou și specifică un rol pentru accesul la anumite zone ale interfeței Frigate.", - "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, . sau _" + "confirmPassword": "Te rugăm să confirmi parola", + "title": "Creează utilizator nou", + "desc": "Adaugă un cont nou și specifică un rol pentru accesul în interfața Frigate.", + "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, puncte (.) sau sublinieri (_)" }, "passwordSetting": { "cannotBeEmpty": "Parola nu poate fi goală", "doNotMatch": "Parolele nu se potrivesc", "updatePassword": "Actualizează parola pentru {{username}}", - "setPassword": "Schimbă parola", + "setPassword": "Setează parola", "desc": "Creează o parolă puternică pentru a securiza acest cont.", - "currentPasswordRequired": "Parola curentă este obligatorie", - "incorrectCurrentPassword": "Parola curentă incorectă", - "passwordVerificationFailed": "Nu s-a putut verifica parola", - "multiDeviceWarning": "Orice alte dispozitive pe care ești autentificat vor trebui să se autentifice din nou în termen de {{refresh_time}}.", - "multiDeviceAdmin": "De asemenea, poți forța toți utilizatorii să se reautentifice imediat prin rotirea secretului tău JWT." + "currentPasswordRequired": "Parola actuală este obligatorie", + "incorrectCurrentPassword": "Parola actuală este incorectă", + "passwordVerificationFailed": "Verificarea parolei a eșuat", + "multiDeviceWarning": "Orice alt dispozitiv pe care ești autentificat va necesita reautentificarea în {{refresh_time}}.", + "multiDeviceAdmin": "Poți de asemenea să forțezi toți utilizatorii să se reautentifice imediat prin rotirea secretului JWT." } }, "addUser": "Adaugă utilizator", "management": { "desc": "Gestionează conturile de utilizator ale acestei instanțe Frigate.", - "title": "Gestionare utilizatori" + "title": "Administrare utilizatori" }, "toast": { "success": { @@ -570,10 +652,10 @@ "deleteUser": "Utilizatorul {{user}} a fost șters cu succes" }, "error": { - "setPasswordFailed": "Salvarea parolei a eșuat: {{errorMessage}}", - "createUserFailed": "Crearea utilizatorului a eșuat: {{errorMessage}}", - "roleUpdateFailed": "Actualizarea rolului a eșuat: {{errorMessage}}", - "deleteUserFailed": "Ștergerea utilizatorului a eșuat: {{errorMessage}}" + "setPasswordFailed": "Eroare la salvarea parolei: {{errorMessage}}", + "createUserFailed": "Eroare la crearea utilizatorului: {{errorMessage}}", + "roleUpdateFailed": "Eroare la actualizarea rolului: {{errorMessage}}", + "deleteUserFailed": "Eroare la ștergerea utilizatorului: {{errorMessage}}" } }, "updatePassword": "Resetează parola", @@ -582,7 +664,7 @@ "username": "Nume utilizator", "actions": "Acțiuni", "role": "Rol", - "noUsers": "Nu a fost găsit niciun utilizator.", + "noUsers": "Niciun utilizator găsit.", "changeRole": "Schimbă rolul utilizatorului", "deleteUser": "Șterge utilizatorul", "password": "Resetează parola" @@ -590,120 +672,127 @@ }, "notification": { "notificationSettings": { - "title": "Setări pentru notificări", - "desc": "Frigate poate trimite nativ notificări push către dispozitivul tău atunci când rulează în browser sau este instalat ca PWA.", + "title": "Setări Notificări", + "desc": "Frigate poate trimite notificări push direct pe dispozitivul tău când rulează în browser sau este instalat ca PWA.", "documentation": "Citește documentația" }, "globalSettings": { - "desc": "Suspendă temporar notificările pentru camerele specifice pe toate dispozitivele înregistrate.", - "title": "Setări globale" + "desc": "Suspendă temporar notificările pentru anumite camere pe toate dispozitivele înregistrate.", + "title": "Setări Globale" }, "email": { - "placeholder": "ex. exemplu@email.com", - "desc": "Este necesar un email valid, care va fi folosit pentru a te notifica în cazul în care apar probleme cu serviciul de push.", + "placeholder": "ex: exemplu@email.com", + "desc": "E necesară o adresă de email validă pentru a te anunța dacă apar probleme cu serviciul de push.", "title": "Email" }, "notificationUnavailable": { "documentation": "Citește documentația", - "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a putea folosi notificările.", - "title": "Notificările nu sunt disponibile" + "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a utiliza notificările.", + "title": "Notificări Indisponibile" }, "cameras": { "title": "Camere", - "desc": "Selectează camerele pentru care dorești să activezi notificările.", - "noCameras": "Nu există camere disponibile" + "desc": "Alege camerele pentru care vrei să activezi notificările.", + "noCameras": "Nicio cameră disponibilă" }, - "deviceSpecific": "Setări specifice dispozitivului", - "registerDevice": "Înregistrează acest dispozitiv", - "unregisterDevice": "Deregistrează acest dispozitiv", + "deviceSpecific": "Setări Specifice Dispozitivului", + "registerDevice": "Înregistrează acest Dispozitiv", + "unregisterDevice": "Anulează Înregistrarea Dispozitivului", "sendTestNotification": "Trimite o notificare de test", "suspendTime": { "12hours": "Suspendă pentru 12 ore", "suspend": "Suspendă", "5minutes": "Suspendă pentru 5 minute", "10minutes": "Suspendă pentru 10 minute", - "24hours": "Suspendă pentru 24 de ore", - "untilRestart": "Suspendă până la restart", - "1hour": "Suspendă pentru 1 oră", + "24hours": "Suspendă pentru 24 ore", + "untilRestart": "Suspendă până la repornire", + "1hour": "Suspendă pentru o oră", "30minutes": "Suspendă pentru 30 minute" }, "toast": { "success": { - "registered": "Înregistrarea pentru notificări a fost realizată cu succes. Este necesară repornirea Frigate înainte ca orice notificare (inclusiv o notificare de test) să poată fi trimisă.", - "settingSaved": "Setările notificărilor au fost salvate." + "registered": "Înregistrarea pentru notificări a reușit. Este necesară repornirea Frigate înainte de a putea trimite orice notificare (inclusiv cea de test).", + "settingSaved": "Setările pentru notificări au fost salvate." }, "error": { - "registerFailed": "Eroare la salvarea înregistrării notificării." + "registerFailed": "Eroare la salvarea înregistrării notificărilor." } }, "suspended": "Notificări suspendate {{time}}", - "active": "Notificări active", - "unsavedRegistrations": "Înregistrări notificări nesalvate", - "unsavedChanges": "Modificări ale notificărilor nesalvate", + "active": "Notificări Active", + "unsavedRegistrations": "Înregistrări de notificări nesalvate", + "unsavedChanges": "Modificări de notificări nesalvate", "title": "Notificări", - "cancelSuspension": "Anulează suspendarea" + "cancelSuspension": "Anulează Suspendarea" }, "frigatePlus": { "apiKey": { - "plusLink": "Citește mai mult despre Frigate+", + "plusLink": "Citește mai multe despre Frigate+", "desc": "Cheia API Frigate+ permite integrarea cu serviciul Frigate+.", - "validated": "Frigate+ API key a fost detectată și validată", - "title": "Frigate+ API Key", - "notValidated": "Frigate+ API key nu a fost detectată sau nu a fost validată" + "validated": "Cheia API Frigate+ a fost detectată și validată", + "title": "Cheie API Frigate+", + "notValidated": "Cheia API Frigate+ nu este detectată sau validată" }, "snapshotConfig": { - "title": "Configurație snapshot-uri", + "title": "Configurare snapshot-uri", "table": { "snapshots": "Snapshot-uri", "cleanCopySnapshots": "Snapshot-uri clean_copy", "camera": "Cameră" }, "documentation": "Citește documentația", - "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar copia curată (clean_copy) este dezactivată. Trebuie să activați clean_copy în configurația instantaneelor pentru a putea trimite imagini de la aceste camere către Frigate+.", - "desc": "Trimiterea către Frigate+ necesită ca atât snapshot-urile, cât și snapshot-urile clean_copy să fie activate în configurația ta." + "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar au copia curată dezactivată. Trebuie să activezi clean_copy în configurația snapshot-urilor pentru a putea trimite imagini de la aceste camere către Frigate+.", + "desc": "Trimiterea către Frigate+ necesită ca ambele opțiuni, snapshot-uri și clean_copy, să fie activate în configurație." }, "modelInfo": { - "title": "Informații model", - "supportedDetectors": "Detectoare suportate", + "title": "Informații Model", + "supportedDetectors": "Detectoare Suportate", "plusModelType": { - "baseModel": "Model de bază", - "userModel": "Reglat-fin" + "baseModel": "Model de Bază", + "userModel": "Reglat fin" }, "loadingAvailableModels": "Se încarcă modelele disponibile…", - "modelSelect": "Modelele disponibile pe Frigate+ pot fi selectate aici. Rețineți că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului dumneavoastră.", - "baseModel": "Model de bază", - "loading": "Se încarcă informațiile modelului…", - "error": "Încărcarea informațiilor modelului a eșuat", - "availableModels": "Modele disponibile", - "modelType": "Tip model", - "trainDate": "Dată antrenare", + "modelSelect": "Poți selecta modelele tale disponibile pe Frigate+ aici. Reține că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului.", + "baseModel": "Model de Bază", + "loading": "Se încarcă informațiile despre model…", + "error": "Eroare la încărcarea informațiilor despre model", + "availableModels": "Modele Disponibile", + "modelType": "Tip Model", + "trainDate": "Data Antrenării", "cameras": "Camere" }, "toast": { - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}", - "success": "Setările Frigate+ au fost salvate. Reporniti Frigate pentru a aplica modificările." + "error": "Eroare la salvarea modificărilor de config: {{errorMessage}}", + "success": "Setările Frigate+ au fost salvate. Repornește Frigate pentru a aplica modificările." }, - "restart_required": "Repornire necesară (model Frigate+ schimbat)", - "unsavedChanges": "Modificări nesalvate ale setărilor Frigate+", - "title": "Setări Frigate+" + "restart_required": "Repornire necesară (modelul Frigate+ a fost schimbat)", + "unsavedChanges": "Modificări Frigate+ nesalvate", + "title": "Setări Frigate+", + "description": "Frigate+ este un serviciu pe bază de abonament care oferă funcții suplimentare, inclusiv posibilitatea de a folosi modele personalizate de detecție obiecte, antrenate pe propriile date. Poți gestiona setările modelului Frigate+ aici.", + "cardTitles": { + "api": "API", + "currentModel": "Model Actual", + "otherModels": "Alte Modele", + "configuration": "Configurație" + } }, "motionDetectionTuner": { - "unsavedChanges": "Modificări nesalvate la reglajul de mișcare pentru {{camera}}", + "unsavedChanges": "Modificări nesalvate la reglajul de mișcare ({{camera}})", "Threshold": { "title": "Prag", - "desc": "Valoarea pragului determină cât de mare trebuie să fie schimbarea luminozității unui pixel pentru a fi considerată mișcare. Implicit: 30" + "desc": "Valoarea pragului dictează cât de mult trebuie să se schimbe luminanța unui pixel pentru a fi considerat mișcare. Implicit: 30" }, "contourArea": { - "desc": "Valoarea suprafeței conturului este folosită pentru a decide care grupuri de pixeli modificați se califică ca mișcare. Implicit: 10", - "title": "Suprafața conturului" + "desc": "Valoarea ariei conturului este folosită pentru a decide care grupuri de pixeli modificați se califică drept mișcare. Implicit: 10", + "title": "Aria conturului" }, "improveContrast": { "title": "Îmbunătățire contrast", - "desc": "Îmbunătățește contrastul pentru scene întunecate. Implicit: ACTIVAT" + "desc": "Îmbunătățește contrastul pentru scenele întunecate. Implicit: ACTIVAT" }, "desc": { - "title": "Frigate utilizează detecția mișcării ca o primă verificare, pentru a vedea dacă există ceva semnificativ în cadru care merită verificat cu detecția de obiecte.", - "documentation": "Citește ghidul pentru reglajul mișcării" + "title": "Frigate folosește detecția de mișcare ca prim pas pentru a verifica dacă se întâmplă ceva în cadru ce merită verificat cu detecția de obiecte.", + "documentation": "Citește Ghidul de reglare a mișcării" }, "toast": { "success": "Setările de mișcare au fost salvate." @@ -711,21 +800,21 @@ "title": "Reglaj detecție mișcare" }, "triggers": { - "documentTitle": "Declanșatoare", + "documentTitle": "Triggere", "management": { - "title": "Declanșatoare", - "desc": "Gestionează declanșatoarele pentru {{camera}}. Folosește tipul miniatură pentru a declanșa pe miniaturi similare cu obiectul urmărit selectat și tipul descriere pentru a declanșa pe descrieri similare textului pe care îl specifici." + "title": "Triggere", + "desc": "Gestionează triggerele pentru {{camera}}. Folosește tipul „thumbnail” pentru a declanșa la miniaturi similare cu obiectul urmărit, și tipul „descriere” pentru a declanșa la descrieri similare cu textul specificat." }, - "addTrigger": "Adaugă declanșator", + "addTrigger": "Adaugă Trigger", "table": { "name": "Nume", "type": "Tip", "content": "Conținut", "threshold": "Prag", "actions": "Acțiuni", - "noTriggers": "Nu sunt configurate declanșatoare pentru această cameră.", + "noTriggers": "Nu există triggere configurate pentru această cameră.", "edit": "Editează", - "deleteTrigger": "Elimină declanșatorul", + "deleteTrigger": "Șterge Trigger", "lastTriggered": "Ultima declanșare" }, "type": { @@ -734,64 +823,64 @@ }, "actions": { "alert": "Marchează ca alertă", - "notification": "Trimite notificare", - "sub_label": "Adaugă subeticheta", - "attribute": "Adaugă atribut" + "notification": "Trimite Notificare", + "sub_label": "Adaugă Sub-etichetă", + "attribute": "Adaugă Atribut" }, "dialog": { "createTrigger": { - "title": "Crează declanșator", - "desc": "Creează un declanșator pentru camera {{camera}}" + "title": "Creează Trigger", + "desc": "Creează un trigger pentru camera {{camera}}" }, "editTrigger": { - "title": "Editează declanșatorul", - "desc": "Editează setările pentru declanșatorul de pe camera {{camera}}" + "title": "Editează Trigger", + "desc": "Editează setările pentru triggerul de pe camera {{camera}}" }, "deleteTrigger": { - "title": "Elimină declanșatorul", - "desc": "Ești sigur că vrei să ștergi declanșatorul {{triggerName}}? Această acțiune nu poate fi anulată." + "title": "Șterge Trigger", + "desc": "Sigur vrei să ștergi triggerul {{triggerName}}? Această acțiune nu poate fi anulată." }, "form": { "name": { "title": "Nume", - "placeholder": "Denumește acest declanșator", + "placeholder": "Pune un nume acestui trigger", "error": { "minLength": "Câmpul trebuie să aibă cel puțin 2 caractere.", - "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore-uri și cratime.", - "alreadyExists": "Un declanșator cu acest nume există deja pentru această cameră." + "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore (_) și cratime (-).", + "alreadyExists": "Un trigger cu acest nume există deja pentru această cameră." }, - "description": "Introduceți un nume sau o descriere unică pentru a identifica acest declanșator" + "description": "Introdu un nume unic sau o descriere pentru a identifica acest trigger" }, "enabled": { - "description": "Activează sau dezactivează acest declanșator" + "description": "Activează sau dezactivează acest trigger" }, "type": { "title": "Tip", - "placeholder": "Selectează tipul de declanșator", - "description": "Declanșează atunci când este detectată o descriere de obiect urmărit similară", - "thumbnail": "Declanșează atunci când este detectată o miniatură de obiect urmărit similară" + "placeholder": "Selectează tipul triggerului", + "description": "Declanșează când este detectată o descriere similară a obiectului urmărit", + "thumbnail": "Declanșează când este detectată o miniatură similară a obiectului urmărit" }, "content": { "title": "Conținut", "imagePlaceholder": "Selectează o miniatură", - "textPlaceholder": "Introdu conținutul textului", - "imageDesc": "Sunt afișate doar ultimele 100 de miniaturi. Dacă nu găsiți miniatura dorită, vă rugăm să verificați obiectele anterioare în Explorator și să configurați un declanșator din meniul de acolo.", - "textDesc": "Introduceți textul pentru a declanșa această acțiune atunci când este detectată o descriere de obiect urmărit similară.", + "textPlaceholder": "Introdu textul", + "imageDesc": "Sunt afișate doar cele mai recente 100 de miniaturi. Dacă nu găsești miniatura dorită, verifică obiectele anterioare în secțiunea Explore și configurează un trigger de acolo.", + "textDesc": "Introdu textul pentru a declanșa acțiunea atunci când este detectată o descriere similară a obiectului urmărit.", "error": { "required": "Conținutul este obligatoriu." } }, "threshold": { - "title": "Prag", + "title": "Prag (Threshold)", "error": { "min": "Pragul trebuie să fie cel puțin 0", - "max": "Pragul trebuie să fie cel mult 1" + "max": "Pragul trebuie să fie maxim 1" }, - "desc": "Setați pragul de similitudine pentru acest declanșator. Un prag mai mare înseamnă că este necesară o potrivire mai apropiată pentru declanșarea acestuia." + "desc": "Setează pragul de similitudine. Un prag mai mare înseamnă că este necesară o potrivire mai exactă pentru a declanșa." }, "actions": { "title": "Acțiuni", - "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate declanșatoarele. Subetichetele adaugă numele declanșatorului la eticheta obiectului. Atributele sunt metadate căutabile, stocate separat în metadatele obiectului urmărit.", + "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate triggerele. Sub-etichetele adaugă numele triggerului la eticheta obiectului. Atributele sunt metadate căutabile stocate separat.", "error": { "min": "Trebuie selectată cel puțin o acțiune." } @@ -805,66 +894,66 @@ }, "toast": { "success": { - "createTrigger": "Declanșatorul {{name}} a fost creat cu succes.", - "updateTrigger": "Declanșatorul {{name}} a fost actualizat cu succes.", - "deleteTrigger": "Declanșatorul {{name}} a fost eliminat cu succes." + "createTrigger": "Triggerul {{name}} a fost creat cu succes.", + "updateTrigger": "Triggerul {{name}} a fost actualizat cu succes.", + "deleteTrigger": "Triggerul {{name}} a fost șters." }, "error": { - "createTriggerFailed": "Crearea declanșatorului a eșuat: {{errorMessage}}", - "updateTriggerFailed": "Actualizarea declanșatorului a eșuat: {{errorMessage}}", - "deleteTriggerFailed": "Eliminarea declanșatorului a eșuat: {{errorMessage}}" + "createTriggerFailed": "Eroare la crearea triggerului: {{errorMessage}}", + "updateTriggerFailed": "Eroare la actualizarea triggerului: {{errorMessage}}", + "deleteTriggerFailed": "Eroare la ștergerea triggerului: {{errorMessage}}" } }, "semanticSearch": { - "title": "Căutarea semantică este dezactivată", - "desc": "Căutarea semantică trebuie să fie activată pentru a utiliza declanșatoarele." + "title": "Căutarea Semantică este dezactivată", + "desc": "Căutarea Semantică trebuie să fie activată pentru a folosi Triggere." }, "wizard": { - "title": "Creează declanșator", + "title": "Creează Trigger", "step1": { - "description": "Configurează setările de bază pentru declanșatorul tău." + "description": "Configurează setările de bază pentru trigger." }, "step2": { - "description": "Configurează conținutul care va declanșa această acțiune." + "description": "Setează conținutul care va declanșa această acțiune." }, "step3": { - "description": "Configurează pragul și acțiunile pentru acest declanșator." + "description": "Configurează pragul și acțiunile pentru acest trigger." }, "steps": { "nameAndType": "Nume și Tip", - "configureData": "Configurează datele", + "configureData": "Configurare Date", "thresholdAndActions": "Prag și Acțiuni" } } }, "roles": { "management": { - "title": "Gestionare rol vizualizator", - "desc": "Gestionează rolurile personalizate de vizualizator și permisiunile lor de acces la cameră pentru această instanță Frigate." + "title": "Administrare roluri vizualizator", + "desc": "Gestionează rolurile de vizualizator personalizate și permisiunile de acces la camere pentru această instanță Frigate." }, "addRole": "Adaugă rol", "table": { "role": "Rol", "cameras": "Camere", "actions": "Acțiuni", - "noRoles": "Nu au fost găsite roluri personalizate.", + "noRoles": "Nu s-au găsit roluri personalizate.", "editCameras": "Editează camerele", - "deleteRole": "Șterge rol" + "deleteRole": "Șterge rolul" }, "toast": { "success": { "createRole": "Rolul {{role}} a fost creat cu succes", "updateCameras": "Camerele au fost actualizate pentru rolul {{role}}", "deleteRole": "Rolul {{role}} a fost șters cu succes", - "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la „vizualizator”, care are acces la toate camerele.", - "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele.", - "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele." + "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele." }, "error": { - "createRoleFailed": "Crearea rolului a eșuat: {{errorMessage}}", - "updateCamerasFailed": "Actualizarea camerelor a eșuat: {{errorMessage}}", - "deleteRoleFailed": "Ștergerea rolului a eșuat: {{errorMessage}}", - "userUpdateFailed": "Actualizarea rolurilor utilizatorilor a eșuat: {{errorMessage}}" + "createRoleFailed": "Eroare la crearea rolului: {{errorMessage}}", + "updateCamerasFailed": "Eroare la actualizarea camerelor: {{errorMessage}}", + "deleteRoleFailed": "Eroare la ștergerea rolului: {{errorMessage}}", + "userUpdateFailed": "Eroare la actualizarea rolurilor utilizatorilor: {{errorMessage}}" } }, "dialog": { @@ -877,39 +966,39 @@ "desc": "Actualizează accesul la camere pentru rolul {{role}}." }, "deleteRole": { - "title": "Șterge rolul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge permanent rolul și va atribui orice utilizatori cu acest rol la rolul „vizualizator”, care va oferi acces vizualizator la toate camerele.", - "warn": "Ești sigur că vrei să ștergi {{role}}?", + "title": "Șterge Rolul", + "desc": "Această acțiune este ireversibilă. Rolul va fi șters definitiv, iar utilizatorii cu acest rol vor primi rolul de „viewer”, având acces de vizualizare la toate camerele.", + "warn": "Sigur vrei să ștergi {{role}}?", "deleting": "Se șterge..." }, "form": { "role": { - "title": "Nume rol", - "placeholder": "Introduceți numele rolului", - "desc": "Sunt permise doar litere, cifre, puncte și linii de subliniere.", + "title": "Nume Rol", + "placeholder": "Introdu numele rolului", + "desc": "Sunt permise doar litere, cifre, puncte și caractere de subliniere (_).", "roleIsRequired": "Numele rolului este obligatoriu", - "roleOnlyInclude": "Numele rolului poate include doar litere, cifre, . sau _", - "roleExists": "Un rol cu acest nume există deja." + "roleOnlyInclude": "Numele rolului poate conține doar litere, cifre, . sau _", + "roleExists": "Există deja un rol cu acest nume." }, "cameras": { "title": "Camere", - "desc": "Selectați camerele la care acest rol are acces. Este necesară cel puțin o cameră.", + "desc": "Selectează camerele la care are acces acest rol. Este necesară cel puțin o cameră.", "required": "Trebuie selectată cel puțin o cameră." } } } }, "cameraWizard": { - "title": "Adaugă cameră", - "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă la sistemul tău Frigate.", + "title": "Adaugă Cameră", + "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă în instalația Frigate.", "steps": { "nameAndConnection": "Nume și Conexiune", - "streamConfiguration": "Configurare streaming", + "streamConfiguration": "Configurare Stream", "validationAndTesting": "Validare și Testare", - "probeOrSnapshot": "Sondează sau fă snapshot" + "probeOrSnapshot": "Sondare sau snapshot" }, "save": { - "success": "Camera nouă {{cameraName}} a fost salvată cu succes.", + "success": "Camera {{cameraName}} a fost salvată cu succes.", "failure": "Eroare la salvarea {{cameraName}}." }, "testResultLabels": { @@ -919,26 +1008,26 @@ "fps": "FPS" }, "commonErrors": { - "noUrl": "Te rog să furnizezi un URL de streaming valid", - "testFailed": "Testul de streaming a eșuat: {{error}}" + "noUrl": "Te rog introdu un URL de stream valid", + "testFailed": "Testul stream-ului a eșuat: {{error}}" }, "step1": { - "description": "Introduceți detaliile camerei și alegeți să testați camera sau să selectați manual marca.", - "cameraName": "Nume cameră", - "cameraNamePlaceholder": "ex. usă_intrare sau Vedere Curte Spate", - "host": "Gazdă/Adresă IP", + "description": "Introdu detaliile camerei și alege să o scanezi automat sau să selectezi manual marca.", + "cameraName": "Nume Cameră", + "cameraNamePlaceholder": "ex: usa_intrare sau Curte Spate", + "host": "Host/Adresă IP", "port": "Port", - "username": "Nume de utilizator", + "username": "Utilizator", "usernamePlaceholder": "Opțional", "password": "Parolă", "passwordPlaceholder": "Opțional", "selectTransport": "Selectează protocolul de transport", - "cameraBrand": "Brand cameră", - "selectBrand": "Selectează marca camerei pentru șablonul de URL", - "customUrl": "URL Streaming Personalizat", - "brandInformation": "Informații despre brand", - "brandUrlFormat": "Pentru camere cu formatul URL RTSP ca: {{exampleUrl}}", - "customUrlPlaceholder": "rtsp://utilizator:parolă@gazdă:port/cale", + "cameraBrand": "Marca Camerei", + "selectBrand": "Alege marca pentru șablonul de URL", + "customUrl": "URL Stream Personalizat", + "brandInformation": "Informații marcă", + "brandUrlFormat": "Pentru camere cu formatul de URL RTSP: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", "testConnection": "Testează Conexiunea", "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Te rog să verifici datele introduse și să încerci din nou.", @@ -947,15 +1036,15 @@ "noSnapshot": "Nu se poate obține un snapshot de pe stream-ul configurat." }, "errors": { - "brandOrCustomUrlRequired": "Ori selectează un brand de cameră cu adresă gazdă/IP, ori alege „Alta” cu un URL personalizat", + "brandOrCustomUrlRequired": "Selectează o marcă cu host/IP sau alege 'Other' cu un URL personalizat", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să aibă 64 de caractere sau mai puțin", - "invalidCharacters": "Numele camerei conține caractere nevalide", + "nameLength": "Numele camerei trebuie să aibă maxim 64 de caractere", + "invalidCharacters": "Numele camerei conține caractere nepermise", "nameExists": "Numele camerei există deja", "brands": { "reolink-rtsp": "RTSP Reolink nu este recomandat. Activează HTTP în setările firmware ale camerei și repornește asistentul." }, - "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu \"rtsp://\". Este necesară configurare manuală pentru stream-urile de cameră non-RTSP." + "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu „rtsp://”. Configurarea manuală este necesară pentru stream-urile care nu sunt RTSP." }, "docs": { "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" @@ -964,18 +1053,18 @@ "probingMetadata": "Sondare metadate cameră...", "fetchingSnapshot": "Preluare snapshot cameră..." }, - "connectionSettings": "Setări conexiune", - "detectionMethod": "Metoda de detecție stream", + "connectionSettings": "Setări Conexiune", + "detectionMethod": "Metodă Detecție Stream", "onvifPort": "Port ONVIF", - "probeMode": "Sondare cameră", + "probeMode": "Scanează camera", "manualMode": "Selecție manuală", - "detectionMethodDescription": "Sondează camera cu ONVIF (dacă este suportat) pentru a găsi URL-urile de stream ale camerei, sau selectează manual marca camerei pentru a utiliza URL-uri predefinite. Pentru a introduce un URL RTSP personalizat, alege metoda manuală și selectează \"Altele\".", - "onvifPortDescription": "Pentru camerele care suportă ONVIF, acesta este de obicei 80 sau 8080.", - "useDigestAuth": "Utilizați autentificarea digest", - "useDigestAuthDescription": "Utilizați autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un nume de utilizator/parolă ONVIF dedicat în locul utilizatorului standard de administrare." + "detectionMethodDescription": "Scanează camera prin ONVIF (dacă e suportat) pentru a găsi URL-urile stream-urilor, sau alege manual marca pentru a folosi URL-uri predefinite. Pentru un URL RTSP personalizat, alege metoda manuală și selectează \"Other\".", + "onvifPortDescription": "Pentru camerele cu suport ONVIF, acesta este de obicei 80 sau 8080.", + "useDigestAuth": "Folosește autentificare digest", + "useDigestAuthDescription": "Folosește autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un utilizator/parolă dedicat pentru ONVIF, diferit de cel de admin." }, "step2": { - "description": "Testează camera pentru fluxurile disponibile sau configurează setările manuale pe baza metodei de detectare selectate.", + "description": "Testează camera pentru stream-uri disponibile sau configurează manual setările în funcție de metoda de detecție aleasă.", "streamsTitle": "Stream-uri cameră", "addStream": "Adaugă stream", "addAnotherStream": "Adaugă un alt stream", @@ -994,9 +1083,9 @@ "audio": "Audio" }, "testStream": "Testează conexiunea", - "testSuccess": "Testul de conexiune a fost realizat cu succes!", + "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Verifică datele introduse și încearcă din nou.", - "testFailedTitle": "Test eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", "featuresTitle": "Funcționalități", @@ -1013,40 +1102,40 @@ "description": "Folosește restreaming go2rtc pentru a reduce conexiunile la cameră." }, "streamDetails": "Detalii stream", - "probing": "Se sondează camera...", - "retry": "Reîncercare", + "probing": "Se testează camera...", + "retry": "Reîncearcă", "testing": { - "probingMetadata": "Se sondează metadatele camerei...", - "fetchingSnapshot": "Se aduce snapshot cameră..." + "probingMetadata": "Se extrag metadatele camerei...", + "fetchingSnapshot": "Se preia snapshot-ul..." }, - "probeFailed": "Sondarea camerei a eșuat: {{error}}", - "probingDevice": "Se sondează dispozitivul...", - "probeSuccessful": "Sondare reușită", - "probeError": "Eroare la sondare", - "probeNoSuccess": "Sondare nereușită", - "deviceInfo": "Informații dispozitiv", + "probeFailed": "Eșec la testarea camerei: {{error}}", + "probingDevice": "Se testează dispozitivul...", + "probeSuccessful": "Test reușit", + "probeError": "Eroare la testare", + "probeNoSuccess": "Testul nu a avut succes", + "deviceInfo": "Informații Dispozitiv", "manufacturer": "Producător", "model": "Model", "firmware": "Firmware", "profiles": "Profiluri", "ptzSupport": "Suport PTZ", - "autotrackingSupport": "Suport autourmărire", + "autotrackingSupport": "Suport Auto-tracking", "presets": "Presetări", - "rtspCandidates": "Candidați RTSP", - "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma sondării camerei. Testați conexiunea pentru a vizualiza metadatele stream-ului.", - "noRtspCandidates": "Nu au fost găsite URL-uri RTSP de la cameră. Este posibil ca datele dumneavoastră de autentificare să fie incorecte, sau este posibil ca aparatul foto să nu suporte ONVIF sau metoda utilizată pentru a prelua URL-urile RTSP. Întoarceți-vă și introduceți URL-ul RTSP manual.", + "rtspCandidates": "Candidate RTSP", + "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma testării camerei. Testează conexiunea pentru a vedea metadatele stream-ului.", + "noRtspCandidates": "Nu au fost găsite URL-uri RTSP pentru această cameră. E posibil ca datele de autentificare să fie greșite sau camera să nu suporte ONVIF. Mergi înapoi și introdu URL-ul RTSP manual.", "candidateStreamTitle": "Candidat {{number}}", "useCandidate": "Folosește", "uriCopy": "Copiază", "uriCopied": "URI copiat în clipboard", - "testConnection": "Testează conexiunea", - "toggleUriView": "Click pentru a comuta vizualizarea URI completă", + "testConnection": "Testează Conexiunea", + "toggleUriView": "Click pentru a vedea URI-ul complet", "errors": { - "hostRequired": "Gazdă/adresaIP este necesară" + "hostRequired": "Adresa Host/IP este obligatorie" } }, "step3": { - "description": "Configurează rolurile stream-ului și adaugă stream-uri suplimentare pentru camera ta.", + "description": "Configurează rolurile stream-urilor și adaugă stream-uri suplimentare pentru camera ta.", "validationTitle": "Validare stream", "connectAllStreams": "Conectează toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", @@ -1054,7 +1143,7 @@ "streamUnavailable": "Previzualizare streaming indisponibilă", "reload": "Reîncarcă", "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "streamTitle": "Stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", @@ -1089,12 +1178,12 @@ "ffmpegModule": "Folosește modul de compatibilitate pentru stream-uri", "ffmpegModuleDescription": "Dacă fluxul nu se încarcă după mai multe încercări, activați această opțiune. Când este activată, Frigate va folosi modulul ffmpeg împreună cu go2rtc. Aceasta poate oferi o compatibilitate mai bună cu unele fluxuri de camere.", "streamsTitle": "Stream-uri cameră", - "addStream": "Adaugă stream", - "addAnotherStream": "Adaugă alt stream", + "addStream": "Adaugă un stream", + "addAnotherStream": "Mai adaugă un stream", "streamUrl": "URL stream", - "streamUrlPlaceholder": "rtsp://utilizator:parolă@adresaIP:port/cale", - "selectStream": "Selectați un flux", - "searchCandidates": "Căutați candidați...", + "streamUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", + "selectStream": "Selectează un stream", + "searchCandidates": "Caută candidați...", "noStreamFound": "Niciun stream găsit", "url": "URL", "resolution": "Rezoluție", @@ -1102,154 +1191,419 @@ "selectResolution": "Selectează rezoluția", "selectQuality": "Selectează calitatea", "roleLabels": { - "detect": "Detecție Obiect", + "detect": "Detecție Obiecte", "record": "Înregistrare", "audio": "Audio" }, - "testStream": "Testează conexiunea", - "testSuccess": "Testul stream-ului a avut succes!", + "testStream": "Testează Conexiunea", + "testSuccess": "Testul stream-ului a reușit!", "testFailed": "Testul stream-ului a eșuat", - "testFailedTitle": "Testul a eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", - "featuresTitle": "Funcționalități", - "go2rtc": "Reduceți conexiunile la cameră", - "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul \"detect\" pentru a continua.", + "featuresTitle": "Funcții", + "go2rtc": "Redu conexiunile către cameră", + "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul „detect” pentru a continua.", "rolesPopover": { - "title": "Roluri stream", - "detect": "Stream principal pentru detecția obiectelor.", - "record": "Salvează segmente ale stream-ului video pe baza setărilor de configurare.", - "audio": "Stream pentru detecția bazată pe audio." + "title": "Roluri de stream", + "detect": "Fluxul principal pentru detecția obiectelor.", + "record": "Salvează segmente video conform setărilor de configurare.", + "audio": "Flux pentru detecția bazată pe sunet." }, "featuresPopover": { - "title": "Funcționalități stream", - "description": "Utilizați go2rtc restreaming pentru a reduce conexiunile la cameră." + "title": "Caracteristici stream", + "description": "Folosește restreaming prin go2rtc pentru a reduce numărul de conexiuni directe către cameră." } }, "step4": { - "description": "Validare finală și analiză înainte de a salva noua cameră. Conectați fiecare stream înainte de a salva.", + "description": "Validare finală și analiză înainte de salvare. Conectează fiecare stream înainte de a salva.", "validationTitle": "Validare stream", - "connectAllStreams": "Conectează toate stream-urile", + "connectAllStreams": "Conectează Toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", - "reconnectionPartial": "Unele stream-uri nu au reușit să se reconecteze.", - "streamUnavailable": "Previzualizare flux indisponibilă", + "reconnectionPartial": "Unele stream-uri nu s-au putut reconecta.", + "streamUnavailable": "Previzualizarea stream-ului este indisponibilă", "reload": "Reîncarcă", - "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "connecting": "Se conectează...", + "streamTitle": "stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", - "connectStream": "Conectare", + "connectStream": "Conectează", "connectingStream": "Se conectează", - "disconnectStream": "Deconectare", + "disconnectStream": "Deconectează", "estimatedBandwidth": "Lățime de bandă estimată", "roles": "Roluri", - "ffmpegModule": "Utilizează modul de compatibilitate stream", - "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după câteva încercări, activați această opțiune. Când este activată, Frigate va utiliza modulul ffmpeg cu go2rtc. Acest lucru poate oferi o compatibilitate mai bună cu unele stream-uri de cameră.", - "none": "Niciuna", + "ffmpegModule": "Folosește modul de compatibilitate de stream-uri", + "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după mai multe încercări, activează asta. Frigate va folosi modulul ffmpeg cu go2rtc, ceea ce poate ajuta la compatibilitatea cu anumite camere.", + "none": "Niciunul", "error": "Eroare", - "streamValidated": "Stream-ul {{number}} validat cu succes", + "streamValidated": "Stream-ul {{number}} a fost validat cu succes", "streamValidationFailed": "Validarea stream-ului {{number}} a eșuat", - "saveAndApply": "Salvează camera nouă", - "saveError": "Configurație nevalidă. Vă rugăm să vă verificați setările.", + "saveAndApply": "Salvează Camera Nouă", + "saveError": "Configurație nevalidă. Verifică setările.", "issues": { "title": "Validare stream", - "videoCodecGood": "Codecul video: {{codec}}.", - "audioCodecGood": "Codecul audio: {{codec}}.", - "resolutionHigh": "O rezoluție de {{resolution}} poate cauza o utilizare crescută a resurselor.", - "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detectarea fiabilă a obiectelor mici.", - "noAudioWarning": "Nu a fost detectat audio pentru acest stream, înregistrările nu vor avea audio.", - "audioCodecRecordError": "Codec-ul audio AAC este necesar pentru a suporta audio în înregistrări.", - "audioCodecRequired": "Este necesar un stream audio pentru a suporta detecția audio.", - "restreamingWarning": "Reducerea conexiunilor la cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", + "videoCodecGood": "Codecul video este {{codec}}.", + "audioCodecGood": "Codecul audio este {{codec}}.", + "resolutionHigh": "O rezoluție de {{resolution}} poate crește consumul de resurse.", + "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detecția sigură a obiectelor mici.", + "noAudioWarning": "Nu s-a detectat audio pentru acest stream; înregistrările nu vor avea sunet.", + "audioCodecRecordError": "Codecul audio AAC este necesar pentru a avea sunet în înregistrări.", + "audioCodecRequired": "Un stream audio este necesar pentru suportul detecției audio.", + "restreamingWarning": "Reducerea conexiunilor către cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", "brands": { - "reolink-rtsp": "RTSP Reolink nu este recomandat. Activați HTTP în setările de firmware ale camerei și reporniți asistentul.", - "reolink-http": "Stream-urile HTTP Reolink ar trebui să folosească FFmpeg pentru o compatibilitate mai bună. Activează 'Use stream compatibility mode' pentru acest stream." + "reolink-rtsp": "Reolink RTSP nu este recomandat. Activează HTTP în setările camerei și repornește asistentul.", + "reolink-http": "Stream-urile Reolink HTTP ar trebui să folosească FFmpeg pentru o mai bună compatibilitate. Activează „Folosește modul de compatibilitate de stream” pentru acest stream." }, "dahua": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Dahua / Amcrest / EmpireTech suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Dahua / Amcrest / EmpireTech suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." }, "hikvision": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Hikvision suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Hikvision suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." } } } }, "cameraManagement": { - "title": "Administrează Camerele", - "addCamera": "Adaugă cameră nouă", - "editCamera": "Editează cameră:", - "selectCamera": "Selectează o cameră", - "backToSettings": "Înapoi la setările camerei", + "title": "Gestionare Camere", + "addCamera": "Adaugă Cameră Nouă", + "editCamera": "Editează Camera:", + "selectCamera": "Selectează o Cameră", + "backToSettings": "Înapoi la Setări Cameră", "streams": { - "title": "Activează / dezactivează camere", - "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc." + "title": "Activează / Dezactivează Camere", + "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc.", + "enableLabel": "Camere activate", + "enableDesc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea oprește procesarea stream-urilor pentru această cameră. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Acest lucru nu dezactivează restream-urile go2rtc.", + "disableLabel": "Camere dezactivate", + "disableDesc": "Activează o cameră care este ascunsă în interfață și dezactivată în configurație. Este necesară repornirea Frigate după activare.", + "enableSuccess": "Am activat {{cameraName}} în configurație. Repornește Frigate pentru a aplica modificările." }, "cameraConfig": { - "add": "Adaugă cameră", - "edit": "Editează cameră", - "description": "Configurează setările camerei, inclusiv intrările și rolurile de streaming.", - "name": "Nume cameră", + "add": "Adaugă Cameră", + "edit": "Editează Camera", + "description": "Configurează setările camerei, inclusiv stream-urile de intrare și rolurile acestora.", + "name": "Nume Cameră", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să fie mai scurt de 64 de caractere.", - "namePlaceholder": "ex. ușă_intrare sau Vedere Curte Spate", + "nameLength": "Numele camerei trebuie să aibă sub 64 de caractere.", + "namePlaceholder": "ex: usa_fata sau Curte Spate", "enabled": "Activat", "ffmpeg": { "inputs": "Stream-uri de intrare", - "path": "Cale streaming", - "pathRequired": "Calea streaming este obligatorie", + "path": "Cale stream", + "pathRequired": "Calea stream-ului este obligatorie", "pathPlaceholder": "rtsp://...", "roles": "Roluri", "rolesRequired": "Este necesar cel puțin un rol", - "rolesUnique": "Fiecare rol (audio, detectare, înregistrare) poate fi atribuit unui singur stream", - "addInput": "Adaugă stream de intrare", - "removeInput": "Elimină stream-ul de intrare", + "rolesUnique": "Fiecare rol (audio, detect, record) poate fi atribuit unui singur stream", + "addInput": "Adaugă stream de Intrare", + "removeInput": "Elimină stream de Intrare", "inputsRequired": "Este necesar cel puțin un stream de intrare" }, - "go2rtcStreams": "Streamuri go2rtc", - "streamUrls": "URL-uri streaming", + "go2rtcStreams": "Stream-uri go2rtc", + "streamUrls": "URL-uri de stream", "addUrl": "Adaugă URL", "addGo2rtcStream": "Adaugă stream go2rtc", "toast": { - "success": "Camera {{cameraName}} salvată cu succes" + "success": "Camera {{cameraName}} a fost salvată cu succes" } } }, "cameraReview": { - "title": "Setări de Revizuire a Camerei", + "title": "Setări Review Cameră", "object_descriptions": { - "title": "Descrieri de Obiecte cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de obiecte cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivată, descrierile generate de AI nu vor fi solicitate pentru obiectele urmărite pe această cameră." + "title": "Descrieri Obiecte cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru această cameră. Când sunt dezactivate, nu se vor solicita descrieri AI pentru obiectele urmărite." }, "review_descriptions": { - "title": "Descrieri de revizuire cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de revizuire cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivat, descrierile generate de AI nu vor fi solicitate pentru elementele de revizuire de pe această cameră." + "title": "Descrieri Review cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru elementele de review. Când sunt dezactivate, nu se vor genera descrieri AI pentru acestea." }, "review": { "title": "Revizuire", - "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când este dezactivat, nu vor fi generate elemente de revizuire noi. ", + "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când sunt dezactivate, nu se vor genera elemente noi de review. ", "alerts": "Alerte ", "detections": "Detecții " }, "reviewClassification": { - "title": "Clasificare revizuire", - "desc": "Frigate clasifică elementele de revizuire ca Alerte și Detecții. În mod implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea elementelor tale de revizuire prin configurarea zonelor necesare pentru acestea.", - "noDefinedZones": "Nu sunt definite zone pentru această cameră.", - "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor fi afișate ca Alerte.", - "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor fi afișate ca Alerte.", - "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află.", + "title": "Clasificare Review", + "desc": "Frigate clasifică elementele de review ca Alerte sau Detecții. Implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea configurând zone obligatorii.", + "noDefinedZones": "Nu există zone definite pentru această cameră.", + "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor apărea ca Alerte.", + "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor apărea ca Alerte.", + "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă.", "zoneObjectDetectionsTips": { - "text": "Toate obiectele {{detectionsLabels}} necategorizate în {{zone}} pe {{cameraName}} vor fi afișate ca Detecții.", - "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} și necategorizate ca Alerte vor fi afișate ca Detecții indiferent de zona în care se află.", - "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află." + "text": "Toate obiectele {{detectionsLabels}} neclasificate în {{zone}} pe {{cameraName}} vor apărea ca Detecții.", + "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} care nu sunt Alerte vor apărea ca Detecții, indiferent de zonă.", + "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă." }, - "unsavedChanges": "Setări de Clasificare Revizuire nesalvate pentru {{camera}}", - "selectAlertsZones": "Selectați zonele pentru Alerte", - "selectDetectionsZones": "Selectați zonele pentru Detecții", - "limitDetections": "Limitați detecțiile la zone specifice", + "unsavedChanges": "Modificări nesalvate la Clasificarea Review pentru {{camera}}", + "selectAlertsZones": "Selectează zonele pentru Alerte", + "selectDetectionsZones": "Selectează zonele pentru Detecții", + "limitDetections": "Limitează detecțiile la anumite zone", "toast": { - "success": "Configurația Clasificare Revizuire a fost salvată. Reporniți Frigate pentru a aplica modificările." + "success": "Configurația Clasificării Review a fost salvată. Repornește Frigate pentru aplicare." } } - } + }, + "saveAllPreview": { + "title": "Modificări de salvat", + "triggerLabel": "Revizuiește modificările în așteptare", + "empty": "Nicio modificare în așteptare.", + "scope": { + "label": "Domeniu", + "global": "Global", + "camera": "Cameră: {{cameraName}}" + }, + "field": { + "label": "Câmp" + }, + "value": { + "label": "Valoare nouă", + "reset": "Resetare" + } + }, + "detectionModel": { + "plusActive": { + "title": "Gestionare model Frigate+", + "label": "Sursa modelului curent", + "description": "Această instanță rulează un model Frigate+. Selectează sau schimbă modelul în setările Frigate+.", + "goToFrigatePlus": "Mergi la setările Frigate+", + "showModelForm": "Configurează manual un model" + } + }, + "maintenance": { + "title": "Mentenanță", + "sync": { + "title": "Sincronizare Media", + "desc": "Frigate va curăța periodic fișierele media conform setărilor de retenție. Este normal să apară câteva fișiere orfane în timp ce Frigate rulează. Folosește această funcție pentru a șterge fișierele media de pe disc care nu mai sunt referențiate în baza de date.", + "started": "Sincronizarea media a început.", + "alreadyRunning": "O sarcină de sincronizare rulează deja", + "error": "Eroare la pornirea sincronizării", + "currentStatus": "Stare", + "jobId": "ID Job", + "startTime": "Oră Start", + "endTime": "Oră Final", + "statusLabel": "Status", + "results": "Rezultate", + "errorLabel": "Eroare", + "mediaTypes": "Tipuri Media", + "allMedia": "Toate fișierele", + "dryRun": "Mod Simulare (Dry Run)", + "dryRunEnabled": "Niciun fișier nu va fi șters", + "dryRunDisabled": "Fișierele vor fi șterse", + "force": "Forțează", + "forceDesc": "Ignoră pragul de siguranță și finalizează sincronizarea chiar dacă mai mult de 50% din fișiere ar urma să fie șterse.", + "running": "Sincronizare în curs...", + "start": "Pornește Sincronizarea", + "inProgress": "Sincronizarea este în curs. Această pagină este dezactivată.", + "status": { + "queued": "În așteptare", + "running": "Rulează", + "completed": "Finalizat", + "failed": "Eșuat", + "notRunning": "Nu rulează" + }, + "resultsFields": { + "filesChecked": "Fișiere Verificate", + "orphansFound": "Fișiere Orfane Găsite", + "orphansDeleted": "Fișiere Orfane Șterse", + "aborted": "Abandonat. Ștergerea ar depăși pragul de siguranță.", + "error": "Eroare", + "totals": "Totaluri" + }, + "event_snapshots": "Snapshot-uri Obiecte Urmărite", + "event_thumbnails": "Miniaturi Obiecte Urmărite", + "review_thumbnails": "Miniaturi Review", + "previews": "Previzualizări", + "exports": "Exporturi", + "recordings": "Înregistrări" + }, + "regionGrid": { + "title": "Grilă regiune", + "desc": "Grila de regiune este o optimizare care învață unde apar de obicei obiectele de diferite dimensiuni în câmpul vizual al fiecărei camere. Frigate folosește aceste date pentru a redimensiona eficient regiunile de detecție. Grila este construită automat în timp, pe baza datelor de la obiectele urmărite.", + "clear": "Șterge grila regiune", + "clearConfirmTitle": "Șterge grila regiune", + "clearConfirmDesc": "Curățarea grilei de regiune nu este recomandată decât dacă ai schimbat recent mărimea modelului de detecție sau ai schimbat poziția fizică a camerei și ai probleme cu urmărirea obiectelor. Grila va fi reconstruită automat în timp, pe măsură ce obiectele sunt urmărite. Este necesară o repornire a Frigate pentru ca modificările să intre în vigoare.", + "clearSuccess": "Grila de regiune a fost ștearsă cu succes", + "clearError": "Eșec la ștergerea grilei de regiune", + "restartRequired": "Este necesară o repornire pentru ca modificările grilei de regiune să intre în vigoare" + } + }, + "configForm": { + "global": { + "title": "Setări Globale", + "description": "Aceste setări se aplică tuturor camerelor, cu excepția cazului în care sunt suprascrise în setările specifice ale unei camere." + }, + "camera": { + "title": "Setări Cameră", + "description": "Aceste setări se aplică doar pentru această cameră și suprascriu setările globale." + }, + "advancedSettingsCount": "Setări Avansate ({{count}})", + "advancedCount": "Avansat ({{count}})", + "showAdvanced": "Afișează Setările Avansate", + "tabs": { + "sharedDefaults": "Valori Implicite Comune", + "system": "Sistem", + "integrations": "Integrări" + }, + "additionalProperties": { + "keyLabel": "Cheie", + "valueLabel": "Valoare", + "keyPlaceholder": "Cheie nouă", + "remove": "Elimină" + }, + "timezone": { + "defaultOption": "Folosește fusul orar al browserului" + }, + "roleMap": { + "empty": "Nu există asocieri de roluri", + "roleLabel": "Rol", + "groupsLabel": "Grupuri", + "addMapping": "Adaugă asociere de rol", + "remove": "Elimină" + }, + "ffmpegArgs": { + "preset": "Presetare", + "manual": "Argumente manuale", + "inherit": "Moștenește de la setările camerei", + "selectPreset": "Selectează presetarea", + "manualPlaceholder": "Introdu argumentele FFmpeg" + }, + "cameraInputs": { + "itemTitle": "Stream-ul {{index}}" + }, + "restartRequiredField": "Necesită repornire", + "restartRequiredFooter": "Configurația a fost modificată - Necesită repornire", + "sections": { + "detect": "Detecție", + "record": "Înregistrare", + "snapshots": "Snapshot-uri", + "motion": "Mișcare", + "objects": "Obiecte", + "review": "Revizuire", + "audio": "Audio", + "notifications": "Notificări", + "live": "Vizualizare Live", + "timestamp_style": "Timestamp-uri", + "mqtt": "MQTT", + "database": "Bază de date", + "telemetry": "Telemetrie", + "auth": "Autentificare", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detectoare", + "model": "Model", + "semantic_search": "Căutare Semantică", + "genai": "GenAI", + "face_recognition": "Recunoaștere Facială", + "lpr": "Recunoaștere Numere Înmatriculare", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Setări Detecție" + }, + "detectors": { + "title": "Setări Detector", + "singleType": "Este permis un singur detector de tip {{type}}.", + "keyRequired": "Numele detectorului este obligatoriu.", + "keyDuplicate": "Numele detectorului există deja.", + "noSchema": "Nu sunt disponibile scheme de detectoare.", + "none": "Nicio instanță de detector configurată.", + "add": "Adaugă detector" + }, + "record": { + "title": "Setări Înregistrare" + }, + "snapshots": { + "title": "Setări snapshot-uri" + }, + "motion": { + "title": "Setări Mișcare" + }, + "objects": { + "title": "Setări Obiecte" + }, + "audioLabels": { + "summary": "{{count}} etichete audio selectate", + "empty": "Nu există etichete audio disponibile" + }, + "objectLabels": { + "summary": "{{count}} tipuri de obiecte selectate", + "empty": "Nu există etichete de obiecte disponibile" + }, + "filters": { + "objectFieldLabel": "{{field}} pentru {{label}}" + }, + "zoneNames": { + "summary": "{{count}} selectate", + "empty": "Nu există zone disponibile" + }, + "inputRoles": { + "summary": "{{count}} roluri selectate", + "empty": "Nu există roluri disponibile", + "options": { + "detect": "Detecție", + "record": "Înregistrare", + "audio": "Audio" + } + }, + "review": { + "title": "Setări Revizuire" + }, + "audio": { + "title": "Setări Audio" + }, + "notifications": { + "title": "Setări Notificări" + }, + "live": { + "title": "Setări Vizualizare Live" + }, + "timestamp_style": { + "title": "Setări Timestamp" + }, + "searchPlaceholder": "Caută..." + }, + "globalConfig": { + "title": "Configurare Globală", + "description": "Configurează setările globale care se aplică tuturor camerelor, cu excepția celor suprascrie.", + "toast": { + "success": "Setările globale au fost salvate cu succes", + "error": "Eroare la salvarea setărilor globale", + "validationError": "Validarea a eșuat" + } + }, + "cameraConfig": { + "title": "Configurare Cameră", + "description": "Configurează setările pentru camere individuale. Aceste setări suprascriu valorile globale.", + "overriddenBadge": "Suprascris", + "resetToGlobal": "Resetează la Global", + "toast": { + "success": "Setările camerei au fost salvate cu succes", + "error": "Eroare la salvarea setărilor camerei" + } + }, + "toast": { + "success": "Setările au fost salvate cu succes", + "successRestartRequired": "Setările au fost salvate cu succes. Repornește Frigate pentru a aplica modificările.", + "error": "Eroare la salvarea setărilor", + "validationError": "Validarea a eșuat: {{message}}", + "resetSuccess": "Resetat la valorile globale implicite", + "resetError": "Eroare la resetarea setărilor", + "saveAllSuccess_one": "S-a salvat cu succes {{count}} secțiune.", + "saveAllSuccess_few": "Cele {{count}} secțiuni au fost salvate cu succes.", + "saveAllSuccess_other": "Toate cele {{count}} de secțiuni au fost salvate cu succes.", + "saveAllPartial_one": "{{successCount}} din {{totalCount}} secțiune salvată. {{failCount}} eșuate.", + "saveAllPartial_few": "{{successCount}} din {{totalCount}} secțiuni salvate. {{failCount}} eșuate.", + "saveAllPartial_other": "{{successCount}} din {{totalCount}} de secțiuni salvate. {{failCount}} eșuate.", + "saveAllFailure": "Eroare la salvarea tuturor secțiunilor.", + "applied": "Setările au fost aplicate cu succes" + }, + "unsavedChanges": "Ai modificări nesalvate", + "confirmReset": "Confirmă Resetarea", + "resetToDefaultDescription": "Această acțiune va reseta toate setările din această secțiune la valorile implicite. Acțiunea este ireversibilă.", + "resetToGlobalDescription": "Această acțiune va reseta setările din această secțiune la valorile globale implicite. Acțiunea este ireversibilă." } diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index 6966f124f..9e458f990 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -4,67 +4,70 @@ "cameras": "Statistici Camere - Frigate", "general": "Statistici Generale - Frigate", "logs": { - "go2rtc": "Jurnal Go2RTC - Frigate", - "nginx": "Jurnal Nginx - Frigate", - "frigate": "Jurnal Frigate - Frigate" + "go2rtc": "Jurnale Go2RTC - Frigate", + "nginx": "Jurnale Nginx - Frigate", + "frigate": "Jurnale Frigate - Frigate", + "websocket": "Jurnale de mesaje - Frigate" }, - "enrichments": "Statistici îmbogățiri - Frigate" + "enrichments": "Statistici Procesări Avansate - Frigate" }, "general": { "hardwareInfo": { "npuUsage": "Utilizare NPU", "npuMemory": "Memorie NPU", "gpuUsage": "Utilizare GPU", - "gpuMemory": "Utilizare Memorie", - "title": "Informații hardware", - "gpuEncoder": "Codificator GPU", - "gpuDecoder": "Decodificator GPU", + "gpuMemory": "Memorie GPU", + "title": "Informații Hardware", + "gpuEncoder": "Encoder GPU", + "gpuDecoder": "Decoder GPU", "gpuInfo": { "vainfoOutput": { "returnCode": "Cod de retur: {{code}}", - "processOutput": "Rezultatul procesului:", - "title": "Rezultat vainfo", - "processError": "Eroare de procesare:" + "processOutput": "Ieșire proces:", + "title": "Ieșire Vainfo", + "processError": "Eroare proces:" }, "nvidiaSMIOutput": { - "title": "Rezultat Nvidia SMI", + "title": "Ieșire Nvidia SMI", "name": "Nume: {{name}}", "driver": "Driver: {{driver}}", - "cudaComputerCapability": "Capacitate de calcul CUDA: {{cuda_compute}}", - "vbios": "Informații VBios: {{vbios}}" + "cudaComputerCapability": "Capacitate calcul CUDA: {{cuda_compute}}", + "vbios": "Info VBios: {{vbios}}" }, "copyInfo": { - "label": "Copiază informațiile GPU" + "label": "Copiază info GPU" }, "toast": { - "success": "Informațiile GPU au fost copiate" + "success": "Am copiat informațiile GPU în clipboard" }, "closeInfo": { - "label": "Închide informațiile GPU" + "label": "Închide info GPU" } }, "intelGpuWarning": { "title": "Avertisment statistici GPU Intel", - "message": "Statistici GPU indisponibile", - "description": "Aceasta este o eroare cunoscută în instrumentele Intel pentru raportarea statisticilor GPU (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0%, chiar și în cazurile în care accelerarea hardware și detectarea obiectelor rulează corect pe (i)GPU. Aceasta nu este o eroare Frigate. Poți reporni gazda pentru a remedia temporar problema și pentru a confirma că GPU-ul funcționează corect. Aceasta nu afectează performanța." - } + "message": "Statisticile GPU sunt indisponibile", + "description": "Acesta este un bug cunoscut în instrumentele de raportare GPU Intel (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0% chiar și atunci când accelerarea hardware și detecția obiectelor rulează corect pe (i)GPU. Aceasta nu este o problemă Frigate. Poți reporni host-ul pentru a remedia temporar problema și a confirma că GPU-ul funcționează corect. Performanța nu este afectată." + }, + "gpuTemperature": "Temperatură GPU", + "npuTemperature": "Temperatură NPU" }, "detector": { - "temperature": "Temperatura Detectorului", - "title": "Detectori", - "cpuUsage": "Utilizarea procesorului", - "inferenceSpeed": "Viteza de inferență", + "temperature": "Temperatură detector", + "title": "Detectoare", + "cpuUsage": "Utilizare CPU detector", + "inferenceSpeed": "Viteză inferență detector", "memoryUsage": "Utilizare memorie detector", - "cpuUsageInformation": "Procesorul utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea în timpul inferenței, chiar dacă este folosit un GPU sau un accelerator." + "cpuUsageInformation": "CPU utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea inferenței, chiar dacă se folosește un GPU sau un accelerator." }, "otherProcesses": { - "title": "Alte Procese", - "processCpuUsage": "Utilizare CPU", - "processMemoryUsage": "Utilizare memorie", + "title": "Alte procese", + "processCpuUsage": "Utilizare CPU procese", + "processMemoryUsage": "Utilizare memorie procese", "series": { "go2rtc": "go2rtc", "recording": "înregistrare", - "review_segment": "segment de revizuire", + "review_segment": "segment recenzie", "embeddings": "înglobări", "audio_detector": "detector audio" } @@ -74,113 +77,139 @@ "storage": { "recordings": { "title": "Înregistrări", - "earliestRecording": "Prima înregistrare disponibilă:", - "tips": "Această valoare reprezintă spațiul total de stocare utilizat de înregistrările din baza de date a Frigate. Frigate nu urmărește utilizarea spațiului pentru toate fișierele de pe discul tău." + "earliestRecording": "Cea mai veche înregistrare disponibilă:", + "tips": "Această valoare reprezintă stocarea totală folosită de înregistrări în baza de date Frigate. Frigate nu monitorizează utilizarea stocării pentru toate fișierele de pe disc." }, - "title": "Spațiu stocare", + "title": "Stocare", "cameraStorage": { - "title": "Spațiu stocare camere", - "camera": "Camera", - "unusedStorageInformation": "Informații despre stocarea neutilizată", - "storageUsed": "Spațiu stocare", + "title": "Stocare Cameră", + "camera": "Cameră", + "unusedStorageInformation": "Informații stocare neutilizată", + "storageUsed": "Stocare", "percentageOfTotalUsed": "Procent din total", "unused": { - "title": "Nefolosit", - "tips": "Această valoare este posibil să nu reprezinte cu acuratețe spațiul liber disponibil pentru Frigate dacă ai și alte fișiere stocate pe disc, în afara înregistrărilor Frigate. Frigate nu monitorizează utilizarea spațiului pentru fișiere din afara propriilor sale înregistrări." + "title": "Neutilizat", + "tips": "Este posibil ca această valoare să nu reprezinte cu precizie spațiul liber disponibil pentru Frigate dacă ai și alte fișiere pe disc în afara înregistrărilor Frigate. Frigate nu urmărește utilizarea stocării în afara propriilor înregistrări." }, "bandwidth": "Lățime de bandă" }, "overview": "Prezentare generală", "shm": { - "title": "Alocare SHM (memorie partajată)", - "warning": "Dimensiunea curentă a SHM de {{total}}MB este prea mică. Măriți-o la cel puțin {{min_shm}}MB.", + "title": "Alocare SHM (shared memory)", + "warning": "Dimensiunea actuală SHM de {{total}}MB este prea mică. Crește-o la cel puțin {{min_shm}}MB.", "readTheDocumentation": "Citește documentația" } }, "title": "Sistem", "logs": { "download": { - "label": "Jurnal Descărcări" + "label": "Descarcă jurnalele" }, "copy": { - "label": "Copiază", - "success": "Jurnalul a fost copiat", - "error": "Jurnalul nu s-a putut copia" + "label": "Copiază în clipboard", + "success": "Am copiat jurnalele în clipboard", + "error": "Nu am putut copia jurnalele în clipboard" }, "type": { "label": "Tip", - "timestamp": "Data / ora", + "timestamp": "Ștampilă de timp", "tag": "Etichetă", "message": "Mesaj" }, - "tips": "Jurnalele se transmit de pe server", + "tips": "Jurnalele sunt transmise în timp real de la server", "toast": { "error": { "fetchingLogsFailed": "Eroare la preluarea jurnalelor: {{errorMessage}}", - "whileStreamingLogs": "Eroare la transmiterea jurnalelor: {{errorMessage}}" + "whileStreamingLogs": "Eroare în timpul transmiterii jurnalelor: {{errorMessage}}" + } + }, + "websocket": { + "label": "Mesaje", + "pause": "Pauză", + "resume": "Reluare", + "clear": "Șterge", + "filter": { + "all": "Toate subiectele", + "topics": "Subiecte", + "events": "Evenimente", + "reviews": "Revizuiri", + "classification": "Clasificare", + "face_recognition": "Recunoaștere facială", + "lpr": "Recunoașterea numerelor de înmatriculare (LPR)", + "camera_activity": "Activitate cameră", + "system": "Sistem", + "camera": "Cameră", + "all_cameras": "Toate camerele", + "cameras_count_one": "{{count}} Cameră", + "cameras_count_other": "{{count}} Camere" + }, + "empty": "Niciun mesaj capturat încă", + "count": "{{count}} mesaje", + "expanded": { + "payload": "Conținut" } } }, - "metrics": "Metrici de sistem", + "metrics": "Metrici sistem", "enrichments": { - "title": "Îmbogățiri", + "title": "Procesări Avansate", "embeddings": { - "image_embedding": "Încorporare imagini", - "text_embedding": "Încorporare text", - "plate_recognition": "Recunoaștere numere de înmatriculare", - "image_embedding_speed": "Viteză încorporare imagini", - "face_recognition": "Recunoaștere facială", - "face_recognition_speed": "Viteză recunoaștere facială", - "plate_recognition_speed": "Viteză recunoaștere numere de înmatriculare", - "face_embedding_speed": "Viteză încorporare fețe", - "yolov9_plate_detection_speed": "Viteza detecției numerelor de înmatriculare YOLOv9", - "text_embedding_speed": "Viteză încorporare text", - "yolov9_plate_detection": "Detectare numere de înmatriculare YOLOv9", - "review_description": "Descriere Revizuire", - "review_description_speed": "Viteză Descriere Revizuire", - "review_description_events_per_second": "Descriere Revizuire", + "image_embedding": "Înglobări de imagini", + "text_embedding": "Înglobări de text", + "plate_recognition": "Recunoaștere Numere Înmatriculare", + "image_embedding_speed": "Viteză înglobări de imagini", + "face_recognition": "Recunoaștere Facială", + "face_recognition_speed": "Viteză Recunoaștere Facială", + "plate_recognition_speed": "Viteză Recunoaștere Numere", + "face_embedding_speed": "Viteză înglobări faciale", + "yolov9_plate_detection_speed": "Viteză Detecție Numere YOLOv9", + "text_embedding_speed": "Viteză înglobări de text", + "yolov9_plate_detection": "Detecție Numere YOLOv9", + "review_description": "Descriere Recenzie", + "review_description_speed": "Viteză Descriere Recenzie", + "review_description_events_per_second": "Descriere Recenzie", "object_description": "Descriere Obiect", "object_description_speed": "Viteză Descriere Obiect", "object_description_events_per_second": "Descriere Obiect", - "classification": "{{name}} Clasificare", - "classification_speed": "{{name}} Viteză de clasificare", - "classification_events_per_second": "{{name}} Evenimente de clasificare pe secundă" + "classification": "Clasificare {{name}}", + "classification_speed": "Viteză Clasificare {{name}}", + "classification_events_per_second": "Evenimente Clasificare {{name}} pe secundă" }, "infPerSecond": "Inferențe pe secundă", - "averageInf": "Timp Mediu de Inferență" + "averageInf": "Timp mediu de inferență" }, "cameras": { "info": { "codec": "Codec:", "resolution": "Rezoluție:", - "cameraProbeInfo": "Informații testare cameră {{camera}}", + "cameraProbeInfo": "Info Sondă Cameră {{camera}}", "streamDataFromFFPROBE": "Datele stream-ului sunt obținute cu ffprobe.", "aspectRatio": "raport aspect", "fetching": "Se preiau datele camerei", "stream": "Stream {{idx}}", "video": "Video:", - "audio": "Sunet:", - "error": "Eroare:{{error}}", + "audio": "Audio:", + "error": "Eroare: {{error}}", "tips": { - "title": "Informații test cameră" + "title": "Info Sondă Cameră" }, - "fps": "Cadre/s:", + "fps": "FPS:", "unknown": "Necunoscut" }, "label": { - "capture": "capturare", - "skipped": "sărite", - "overallSkippedDetectionsPerSecond": "Detecții totale sărite pe secundă", + "capture": "captură", + "skipped": "sărit", + "overallSkippedDetectionsPerSecond": "detecții sărite pe secundă total", "cameraCapture": "captură {{camName}}", - "cameraDetect": "detectare {{camName}}", + "cameraDetect": "detecție {{camName}}", "cameraFramesPerSecond": "cadre pe secundă {{camName}}", "cameraDetectionsPerSecond": "detecții pe secundă {{camName}}", "cameraSkippedDetectionsPerSecond": "detecții sărite pe secundă {{camName}}", - "overallFramesPerSecond": "Cadre totale pe secundă", - "overallDetectionsPerSecond": "Detecții totale pe secundă", - "detect": "detectare", - "cameraFfmpeg": "{{camName}} FFmpeg", - "camera": "camere", + "overallFramesPerSecond": "cadre pe secundă total", + "overallDetectionsPerSecond": "detecții pe secundă total", + "detect": "detectează", + "cameraFfmpeg": "FFmpeg {{camName}}", + "camera": "cameră", "ffmpeg": "FFmpeg" }, "title": "Camere", @@ -188,22 +217,34 @@ "framesAndDetections": "Cadre / Detecții", "toast": { "success": { - "copyToClipboard": "Datele testului au fost copiate." + "copyToClipboard": "Am copiat datele sondei în clipboard." }, "error": { - "unableToProbeCamera": "Testarea camerei nu a fost posibilă: {{errorMessage}}" + "unableToProbeCamera": "Nu s-a putut sonda camera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Calitate Conexiune", + "excellent": "Excelentă", + "fair": "Acceptabilă", + "poor": "Slabă", + "unusable": "Inutilizabilă", + "fps": "FPS", + "expectedFps": "FPS așteptat", + "reconnectsLastHour": "Reconectări (ultima oră)", + "stallsLastHour": "Blocaje (ultima oră)" } }, "stats": { - "reindexingEmbeddings": "Reindexare încorporări ({{processed}}% completă)", + "reindexingEmbeddings": "Se reindexează înglobările ({{processed}}% gata)", "detectIsVerySlow": "{{detect}} este foarte lent ({{speed}} ms)", "detectIsSlow": "{{detect}} este lent ({{speed}} ms)", - "detectHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului pentru detecție ({{detectAvg}}%)", - "ffmpegHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului FFmpeg ({{ffmpegAvg}}%)", + "detectHighCpuUsage": "{{camera}} are o utilizare ridicată CPU detecție ({{detectAvg}}%)", + "ffmpegHighCpuUsage": "{{camera}} are o utilizare ridicată CPU FFmpeg ({{ffmpegAvg}}%)", "cameraIsOffline": "{{camera}} este offline", - "healthy": "Sistemul funcționează normal", - "shmTooLow": "Alocarea /dev/shm ({{total}} MB) ar trebui mărită la cel puțin {{min}} MB." + "healthy": "Sistemul este sănătos", + "shmTooLow": "Alocarea /dev/shm ({{total}} MB) ar trebui mărită la cel puțin {{min}} MB.", + "debugReplayActive": "Sesiunea de reluare de depanare este activă" }, - "lastRefreshed": "Ultima reîmprospătare: " + "lastRefreshed": "Ultima actualizare: " }