diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json index 01c256adf4..918598b0ad 100644 --- a/web/public/locales/ro/config/cameras.json +++ b/web/public/locales/ro/config/cameras.json @@ -13,7 +13,7 @@ "description": "Activată" }, "audio": { - "label": "Evenimente audio", + "label": "Detecție audio", "description": "Setări pentru detectarea evenimentelor bazate pe sunet pentru această cameră.", "enabled": { "label": "Activare detecție audio", @@ -485,6 +485,10 @@ "hwaccel_args": { "label": "Argumente hwaccel export", "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + }, + "max_concurrent": { + "description": "Numărul maxim de sarcini de export de procesat în același timp.", + "label": "Număr maxim de exporturi simultane" } }, "preview": { diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json index f5613dc371..f7207df758 100644 --- a/web/public/locales/ro/config/global.json +++ b/web/public/locales/ro/config/global.json @@ -1,6 +1,6 @@ { "audio": { - "label": "Evenimente audio", + "label": "Detecție audio", "enabled": { "label": "Activare detecție audio", "description": "Activează sau dezactivează detecția audio pentru toate camerele." @@ -594,6 +594,10 @@ "hwaccel_args": { "label": "Argumente hwaccel export", "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + }, + "max_concurrent": { + "description": "Numărul maxim de sarcini de export de procesat în același timp.", + "label": "Număr maxim de exporturi simultane" } }, "preview": { @@ -1161,8 +1165,8 @@ "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." + "label": "Dispozitiv GPU Intel", + "description": "Adresa magistralei PCI sau calea dispozitivului DRM (ex./dev/dri/card1) folosită pentru a fixa statisticile GPU Intel la un anumit dispozitiv când sunt prezente mai multe." } }, "version_check": { diff --git a/web/public/locales/ro/views/chat.json b/web/public/locales/ro/views/chat.json new file mode 100644 index 0000000000..b87ef2145f --- /dev/null +++ b/web/public/locales/ro/views/chat.json @@ -0,0 +1,46 @@ +{ + "documentTitle": "Chat - Frigate", + "title": "Chat Frigate", + "subtitle": "Asistentul tău AI pentru gestionarea camerelor și informații", + "placeholder": "Întreabă orice...", + "error": "Ceva a mers prost. Te rog încearcă din nou.", + "processing": "Procesare...", + "toolsUsed": "Folosit: {{tools}}", + "showTools": "Arată uneltele ({{count}})", + "hideTools": "Ascunde uneltele", + "call": "Apelează", + "result": "Rezultat", + "arguments": "Argumente:", + "response": "Răspuns:", + "attachment_chip_label": "{{label}} pe {{camera}}", + "attachment_chip_remove": "Elimină atașamentul", + "open_in_explore": "Deschide în Explorare", + "attach_event_aria": "Atașează evenimentul {{eventId}}", + "attachment_picker_paste_label": "Sau lipește ID-ul evenimentului", + "attachment_picker_attach": "Atașează", + "attachment_picker_placeholder": "Atașează un eveniment", + "quick_reply_find_similar": "Găsește apariții similare", + "quick_reply_tell_me_more": "Spune-mi mai multe despre asta", + "quick_reply_when_else": "Când a mai fost văzut?", + "quick_reply_find_similar_text": "Găsește apariții similare cu aceasta.", + "quick_reply_tell_me_more_text": "Spune-mi mai multe despre acesta.", + "quick_reply_when_else_text": "Când a mai fost văzut acesta?", + "anchor": "Referință", + "similarity_score": "Similaritate", + "no_similar_objects_found": "Nu au fost găsite obiecte similare.", + "semantic_search_required": "Căutarea semantică trebuie să fie activată pentru a găsi obiecte similare.", + "send": "Trimite", + "suggested_requests": "Încearcă să întrebi:", + "starting_requests": { + "show_recent_events": "Arată evenimentele recente", + "show_camera_status": "Arată starea camerei", + "recap": "Ce s-a întâmplat cât am fost plecat?", + "watch_camera": "Urmărește o cameră pentru activitate" + }, + "starting_requests_prompts": { + "show_recent_events": "Arată-mi evenimentele recente din ultima oră", + "show_camera_status": "Care este starea actuală a camerelor mele?", + "recap": "Ce s-a întâmplat cât am fost plecat?", + "watch_camera": "Urmărește ușa din față și anunță-mă dacă apare cineva" + } +} diff --git a/web/public/locales/ro/views/live.json b/web/public/locales/ro/views/live.json index 6b8c8c979e..59f9c34060 100644 --- a/web/public/locales/ro/views/live.json +++ b/web/public/locales/ro/views/live.json @@ -70,7 +70,8 @@ }, "recording": { "enable": "Activează înregistrarea", - "disable": "Dezactivează înregistrarea" + "disable": "Dezactivează înregistrarea", + "disabledInConfig": "Înregistrarea trebuie mai întâi activată în Setări pentru această cameră." }, "snapshots": { "disable": "Dezactivează snapshoturile", diff --git a/web/public/locales/ro/views/motionSearch.json b/web/public/locales/ro/views/motionSearch.json new file mode 100644 index 0000000000..0f12367484 --- /dev/null +++ b/web/public/locales/ro/views/motionSearch.json @@ -0,0 +1,77 @@ +{ + "documentTitle": "Căutare mișcare - Frigate", + "title": "Căutare mișcare", + "description": "Desenează un poligon pentru a defini regiunea de interes și specifică un interval de timp pentru a căuta schimbări de mișcare în acea regiune.", + "selectCamera": "Căutarea de mișcare se încarcă", + "startSearch": "Începe căutarea", + "searchStarted": "Căutarea a început", + "searchCancelled": "Căutare anulată", + "cancelSearch": "Anulează", + "searching": "Căutare în curs.", + "searchComplete": "Căutare finalizată", + "noResultsYet": "Rulează o căutare pentru a găsi schimbări de mișcare în regiunea selectată", + "noChangesFound": "Nu au fost detectate schimbări de pixeli în regiunea selectată", + "changesFound_one": "Am găsit {{count}} schimbare de mișcare", + "changesFound_few": "Am găsit {{count}} schimbări de mișcare", + "changesFound_other": "Am găsit {{count}} de schimbări de mișcare", + "framesProcessed": "{{count}} cadre procesate", + "jumpToTime": "Sari la acest timp", + "results": "Rezultate", + "showSegmentHeatmap": "Hartă termică", + "newSearch": "Căutare nouă", + "clearResults": "Curăță rezultatele", + "clearROI": "Curăță poligonul", + "polygonControls": { + "points_one": "{{count}} punct", + "points_few": "{{count}} puncte", + "points_other": "{{count}} de puncte", + "undo": "Anulează ultimul punct", + "reset": "Resetează poligonul" + }, + "motionHeatmapLabel": "Harta termică a mișcării", + "dialog": { + "title": "Căutare mișcare", + "cameraLabel": "Cameră", + "previewAlt": "Previzualizarea camerei pentru {{camera}}" + }, + "timeRange": { + "title": "Interval de căutare", + "start": "Timp de început", + "end": "Timp de sfârșit" + }, + "settings": { + "title": "Setări de căutare", + "parallelMode": "Mod paralel", + "parallelModeDesc": "Scanează mai multe segmente de înregistrare în același timp (mai rapid, dar consumă semnificativ mai mult procesorul)", + "threshold": "Prag de sensibilitate", + "thresholdDesc": "Valorile mai mici detectează schimbări mai mici (1-255)", + "minArea": "Arie minimă de schimbare", + "minAreaDesc": "Procentul minim din regiunea de interes care trebuie să se schimbe pentru a fi considerat semnificativ", + "frameSkip": "Omitere cadre", + "frameSkipDesc": "Procesează fiecare al N-lea cadru. Setează asta la rata de cadre a camerei tale pentru a procesa un cadru pe secundă (ex. 5 pentru o cameră de 5 FPS, 30 pentru o cameră de 30 FPS). Valorile mai mari vor fi mai rapide, dar pot rata evenimente scurte de mișcare.", + "maxResults": "Rezultate maxime", + "maxResultsDesc": "Oprește-te după acest număr de marcaje de timp potrivite" + }, + "errors": { + "noCamera": "Te rog selectează o cameră", + "noROI": "Te rog desenează o regiune de interes", + "noTimeRange": "Te rog selectează un interval de timp", + "invalidTimeRange": "Timpul de sfârșit trebuie să fie după timpul de început", + "searchFailed": "Căutarea a eșuat: {{message}}", + "polygonTooSmall": "Poligonul trebuie să aibă cel puțin 3 puncte", + "unknown": "Eroare necunoscută" + }, + "changePercentage": "{{percentage}}% schimbat", + "metrics": { + "title": "Metrici de căutare", + "segmentsScanned": "Segmente scanate", + "segmentsProcessed": "Procesat", + "segmentsSkippedInactive": "Omis (fără activitate)", + "segmentsSkippedHeatmap": "Omis (fără suprapunere ROI)", + "fallbackFullRange": "Scanare completă de rezervă", + "framesDecoded": "Cadre decodate", + "wallTime": "Timp de căutare", + "segmentErrors": "Erori segment", + "seconds": "{{seconds}}s" + } +} diff --git a/web/public/locales/ro/views/replay.json b/web/public/locales/ro/views/replay.json new file mode 100644 index 0000000000..b3c854f742 --- /dev/null +++ b/web/public/locales/ro/views/replay.json @@ -0,0 +1,59 @@ +{ + "title": "Reluare de depanare", + "description": "Redă înregistrările camerei pentru depanare. Lista de obiecte arată un rezumat decalat în timp al obiectelor detectate, iar tab-ul Mesaje arată un flux de mesaje interne ale Frigate din înregistrarea redată.", + "websocket_messages": "Mesaje", + "dialog": { + "title": "Pornește reluarea de depanare", + "description": "Creează o cameră temporară de reluare care rulează în buclă înregistrări istorice pentru depanarea problemelor de detecție și urmărire a obiectelor. Camera de reluare va avea aceeași configurație de detecție ca și camera sursă. Alege un interval de timp pentru a începe.", + "camera": "Cameră sursă", + "timeRange": "Interval de timp", + "preset": { + "1m": "Ultimul minut", + "5m": "Ultimele 5 minute", + "timeline": "Din cronologie", + "custom": "Personalizat" + }, + "startButton": "Începe reluarea", + "selectFromTimeline": "Selectează", + "starting": "Pornire reluare...", + "startLabel": "Început", + "endLabel": "Sfârșit", + "toast": { + "error": "Pornirea reluării de depanare a eșuat: {{error}}", + "alreadyActive": "O sesiune de reluare este deja activă", + "stopError": "Oprirea reluării de depanare a eșuat: {{error}}", + "goToReplay": "Mergi la reluare" + } + }, + "page": { + "noSession": "Nicio sesiune de reluare de depanare activă", + "noSessionDesc": "Pornește o reluare de depanare din vizualizarea Istoric dând click pe butonul Acțiuni din bara de instrumente și alegând Reluare depanare.", + "goToRecordings": "Mergi la istoric", + "preparingClip": "Pregătire clip…", + "preparingClipDesc": "Frigate îmbină înregistrările pentru intervalul de timp selectat. Acest lucru poate dura un minut pentru intervale mai mari.", + "startingCamera": "Pornire reluare depanare…", + "startError": { + "title": "Pornirea reluării de depanare a eșuat", + "back": "Înapoi la istoric" + }, + "sourceCamera": "Camera sursă", + "replayCamera": "Camera de reluare", + "initializingReplay": "Inițializare reluare depanare...", + "stoppingReplay": "Oprire reluare depanare...", + "stopReplay": "Oprește reluarea", + "confirmStop": { + "title": "Oprești reluarea de depanare?", + "description": "Aceasta va opri sesiunea și va șterge toate datele temporare. Ești sigur?", + "confirm": "Oprește reluarea", + "cancel": "Anulează" + }, + "activity": "Activitate", + "objects": "Listă de obiecte", + "audioDetections": "Detecții audio", + "noActivity": "Nicio activitate detectată", + "activeTracking": "Urmărire activă", + "noActiveTracking": "Nicio urmărire activă", + "configuration": "Configurație", + "configurationDesc": "Ajustează setările de detecție a mișcării și urmărire a obiectelor pentru camera de reluare de depanare. Nicio modificare nu este salvată în fișierul tău de configurare Frigate." + } +} diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index dacf81a59a..4babba1d9e 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -44,7 +44,7 @@ "globalMotion": "Detecție mișcare", "globalObjects": "Obiecte", "globalReview": "Recenzie", - "globalAudioEvents": "Evenimente audio", + "globalAudioEvents": "Detecție audio", "globalLivePlayback": "Redare live", "globalTimestampStyle": "Stil timestamp", "systemDatabase": "Bază de date", @@ -74,7 +74,7 @@ "cameraMotion": "Detecție mișcare", "cameraObjects": "Obiecte", "cameraConfigReview": "Recenzie", - "cameraAudioEvents": "Evenimente audio", + "cameraAudioEvents": "Detecție audio", "cameraAudioTranscription": "Transcriere audio", "cameraNotifications": "Notificări", "cameraLivePlayback": "Redare live", @@ -1356,6 +1356,14 @@ "inherit": "Moștenire", "enabled": "Activat", "disabled": "Dezactivat" + }, + "cameraType": { + "title": "Tip cameră", + "label": "Tip cameră", + "description": "Setează tipul pentru fiecare cameră. Camerele LPR dedicate sunt camere cu un singur scop, cu zoom optic puternic pentru a captura plăcuțele de înmatriculare ale vehiculelor aflate la distanță. Majoritatea camerelor ar trebui să folosească tipul normal de cameră, cu excepția cazului în care camera este special pentru LPR și are o vedere strâns focalizată pe plăcuțele de înmatriculare.", + "normal": "Normal", + "dedicatedLpr": "LPR dedicat", + "saveSuccess": "Tipul camerei a fost actualizat pentru {{cameraName}}. Repornește Frigate pentru a aplica modificările." } }, "cameraReview": { @@ -1722,7 +1730,22 @@ "overriddenGlobal": "Suprascris (global)", "overriddenGlobalTooltip": "Această cameră suprascrie setările globale de configurare din această secțiune", "overriddenBaseConfig": "Suprascris (configurația de bază)", - "overriddenBaseConfigTooltip": "Profilul {{profile}} suprascrie setările de configurare din această secțiune" + "overriddenBaseConfigTooltip": "Profilul {{profile}} suprascrie setările de configurare din această secțiune", + "overriddenInCameras": { + "label_one": "Suprascris în {{count}} cameră", + "label_few": "Suprascris în {{count}} camere", + "label_other": "Suprascris în {{count}} de camere", + "tooltip_one": "{{count}} cameră suprascrie valorile din această secțiune. Click pentru a vedea detaliile.", + "tooltip_few": "{{count}} camere suprascriu valorile din această secțiune. Click pentru a vedea detaliile.", + "tooltip_other": "{{count}} de camere suprascriu valorile din această secțiune. Click pentru a vedea detaliile.", + "heading_one": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} cameră.", + "heading_few": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} camere.", + "heading_other": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} de camere.", + "othersField_one": "{{count}} alta", + "othersField_few": "{{count}} alte", + "othersField_other": "{{count}} de alte", + "profilePrefix": "Profil {{profile}}: {{fields}}" + } }, "profiles": { "title": "Profile", @@ -1823,7 +1846,8 @@ "review": { "recordDisabled": "Înregistrarea este dezactivată, elementele de revizuire nu vor fi generate.", "detectDisabled": "Detecția obiectelor este dezactivată. Elementele de revizuire necesită obiecte detectate pentru a categorisi alertele și detecțiile.", - "allNonAlertDetections": "Toată activitatea fără alertă va fi inclusă ca detecții." + "allNonAlertDetections": "Toată activitatea fără alertă va fi inclusă ca detecții.", + "genaiImageSourceRecordingsRecordDisabled": "Sursa imaginii este setată pe 'recordings', dar înregistrarea este dezactivată. Frigate va reveni la imaginile de previzualizare." }, "audio": { "noAudioRole": "Niciun flux nu are rolul audio definit. Trebuie să activați rolul audio pentru ca detecția audio să funcționeze." @@ -1832,15 +1856,18 @@ "audioDetectionDisabled": "Detecția audio nu este activată pentru această cameră. Transcrierea audio necesită ca detecția audio să fie activă." }, "detect": { - "fpsGreaterThanFive": "Setarea cadrelor pe secundă pentru detecție la o valoare mai mare de 5 nu este recomandată." + "fpsGreaterThanFive": "Setarea FPS-ului de detecție mai mare de 5 nu este recomandată. Valorile mai mari pot cauza probleme de performanță și nu vor oferi niciun beneficiu.", + "disabled": "Detecția de obiecte este dezactivată. Snapshot-urile, elementele de revizuire și îmbogățirile precum recunoașterea facială, recunoașterea plăcuțelor de înmatriculare și AI-ul generativ nu vor funcționa." }, "faceRecognition": { - "globalDisabled": "Recunoașterea facială nu este activată la nivel global. Activați-o în setările globale pentru ca recunoașterea facială la nivel de cameră să funcționeze.", - "personNotTracked": "Recunoașterea facială necesită urmărirea obiectului „person”. Asigurați-vă că „person” este în lista de urmărire a obiectelor." + "globalDisabled": "Îmbogățirea pentru recunoaștere facială trebuie activată pentru ca funcțiile de recunoaștere facială să funcționeze pe această cameră.", + "personNotTracked": "Recunoașterea facială necesită ca obiectul 'person' să fie urmărit. Activează 'person' în Obiecte pentru această cameră.", + "modelSizeLarge": "Modelul 'large' necesită un GPU sau NPU pentru o performanță rezonabilă. Folosește 'small' pe sistemele doar cu CPU." }, "lpr": { - "globalDisabled": "Recunoașterea plăcuțelor de înmatriculare nu este activată la nivel global. Activați-o în setările globale pentru ca recunoașterea la nivel de cameră să funcționeze.", - "vehicleNotTracked": "Recunoașterea plăcuțelor de înmatriculare necesită ca „car” sau „motorcycle” să fie urmărite." + "globalDisabled": "Îmbogățirea pentru recunoașterea plăcuțelor de înmatriculare trebuie activată pentru ca funcțiile LPR să funcționeze pe această cameră.", + "vehicleNotTracked": "Recunoașterea plăcuțelor de înmatriculare necesită ca „car” sau „motorcycle” să fie urmărite.", + "modelSizeLarge": "Modelul 'large' este optimizat pentru plăcuțele de înmatriculare pe mai multe rânduri. Modelul 'small' oferă o performanță mai bună decât 'large' și ar trebui folosit cu excepția cazului în care regiunea ta folosește formate de plăcuțe pe mai multe rânduri." }, "record": { "noRecordRole": "Niciun flux nu are rolul de înregistrare definit. Înregistrarea nu va funcționa." @@ -1854,6 +1881,12 @@ "detectors": { "mixedTypes": "Toți detectorii trebuie să folosească același tip. Șterge detectorii existenți pentru a folosi un alt tip.", "mixedTypesSuggestion": "Toți detectorii trebuie să folosească același tip. Șterge detectorii existenți sau selectează {{type}}." + }, + "objects": { + "genaiNoDescriptionsProvider": "Trebuie să configurezi un furnizor GenAI cu rolul 'descriptions' pentru ca descrierile să fie generate." + }, + "semanticSearch": { + "jinav2SmallModelSize": "Dimensiunea 'small' cu modelul Jina V2 are un cost ridicat de RAM și inferență. Modelul 'large' cu un GPU dedicat este recomandat." } } } diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index e829edd602..ef285da8b6 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -241,6 +241,9 @@ "expectedFps": "FPS așteptat", "reconnectsLastHour": "Reconectări (ultima oră)", "stallsLastHour": "Blocaje (ultima oră)" + }, + "noCameras": { + "title": "Nicio cameră găsită" } }, "stats": {