diff --git a/web/public/locales/sr-Latn/common.json b/web/public/locales/sr-Latn/common.json index 0967ef424b..6a9e6d0c5d 100644 --- a/web/public/locales/sr-Latn/common.json +++ b/web/public/locales/sr-Latn/common.json @@ -1 +1,368 @@ -{} +{ + "time": { + "untilForTime": "Do {{time}}", + "untilForRestart": "Dok se Frigate ne ponovo pokrene.", + "untilRestart": "Do ponovnog pokretanja", + "never": "Nikada", + "ago": "Pre {{timeAgo}}", + "justNow": "Upravo sada", + "today": "Danas", + "yesterday": "Juče", + "last7": "Poslednjih 7 dana", + "last14": "Poslednjih 14 dana", + "last30": "Poslednjih 30 dana", + "thisWeek": "Ove nedelje", + "lastWeek": "Prošle nedelje", + "thisMonth": "Ovog meseca", + "lastMonth": "Prošlog meseca", + "5minutes": "5 minuta", + "10minutes": "10 minuta", + "30minutes": "30 minuta", + "1hour": "1 sat", + "12hours": "12 sati", + "24hours": "24 sata", + "custom": "Prilagođeno...", + "pm": "popodne", + "am": "pre podne", + "yr": "{{time}} god.", + "year_one": "{{time}} godina", + "year_few": "{{time}} godine", + "year_other": "{{time}} godina", + "mo": "{{time}} mes.", + "month_one": "{{time}} mesec", + "month_few": "{{time}} meseca", + "month_other": "{{time}} meseci", + "d": "{{time}} d.", + "day_one": "{{time}} dan", + "day_few": "{{time}} dana", + "day_other": "{{time}} dana", + "h": "{{time}} č.", + "hour_one": "{{time}} sat", + "hour_few": "{{time}} sata", + "hour_other": "{{time}} sati", + "m": "{{time}} min.", + "minute_one": "{{time}} minut", + "minute_few": "{{time}} minuta", + "minute_other": "{{time}} minuta", + "s": "{{time}} s", + "second_one": "{{time}} sekunda", + "second_few": "{{time}} sekunde", + "second_other": "{{time}} sekundi", + "formattedTimestamp": { + "12hour": "d. MMM, h:mm:ss aaa", + "24hour": "d. MMM, HH:mm:ss" + }, + "formattedTimestamp2": { + "12hour": "dd.MM. h:mm:ssa", + "24hour": "d. MMM, HH:mm:ss" + }, + "formattedTimestampHourMinute": { + "12hour": "h:mm aaa", + "24hour": "HH:mm" + }, + "formattedTimestampHourMinuteSecond": { + "12hour": "h:mm:ss aaa", + "24hour": "HH:mm:ss" + }, + "formattedTimestampMonthDayHourMinute": { + "12hour": "d. MMM, h:mm aaa", + "24hour": "d. MMM, HH:mm" + }, + "formattedTimestampMonthDayYear": { + "12hour": "d. MMM yyyy.", + "24hour": "d. MMM yyyy." + }, + "formattedTimestampMonthDayYearHourMinute": { + "12hour": "d. MMM yyyy, h:mm aaa", + "24hour": "d. MMM yyyy, HH:mm" + }, + "formattedTimestampMonthDay": "d. MMM", + "formattedTimestampFilename": { + "12hour": "dd-MM-yy-h-mm-ss-a", + "24hour": "dd-MM-yy-HH-mm-ss" + }, + "inProgress": "U toku", + "invalidStartTime": "Nevažeće vreme početka", + "invalidEndTime": "Nevažeće vreme završetka" + }, + "commandMenu": { + "action": { + "toggleTheme": "Prebaci na svetli ili tamni režim" + }, + "camera": { + "review": "Pregled", + "live": "Uživo" + }, + "section": { + "actions": "Akcije", + "settings": "Podešavanja", + "cameraGroups": "Grupe kamera", + "cameras": "Kamere", + "pages": "Stranice", + "recent": "Nedavno" + }, + "hint": "{{key}} ili / za otvaranje, Enter za pokretanje", + "empty": "Nema rezultata", + "placeholder": "Pretražite stranice, kamere, podešavanja i akcije", + "description": "Pretražite stranice, kamere, podešavanja i akcije", + "title": "Komandni meni" + }, + "credentialField": { + "savedPlaceholder": "Sačuvano — ostavite prazno da zadržite trenutno stanje" + }, + "validation_errors": "Greške pri validaciji", + "unit": { + "speed": { + "kph": "km/h", + "mph": "mph" + }, + "length": { + "feet": "stopa", + "meters": "metri" + }, + "data": { + "kbps": "kB/s", + "mbps": "MB/s", + "gbps": "GB/s", + "kbph": "kB/sat", + "mbph": "MB/sat", + "gbph": "GB/sat" + } + }, + "label": { + "back": "Idi nazad", + "hide": "Sakrij {{item}}", + "show": "Prikaži {{item}}", + "ID": "ID", + "none": "Ništa", + "all": "Sve", + "other": "Ostalo" + }, + "list": { + "two": "{{0}} i {{1}}", + "many": "{{items}} i {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "Opciono", + "internalID": "Interni ID koji Frigate koristi u konfiguraciji i bazi podataka" + }, + "button": { + "add": "Dodaj", + "apply": "Primeni", + "applying": "Primenjuje se…", + "reset": "Resetuj", + "undo": "Opozovi", + "done": "Završeno", + "enabled": "Omogućeno", + "enable": "Omogući", + "disabled": "Onemogućeno", + "disable": "Onemogući", + "save": "Sačuvaj", + "saving": "Čuvanje…", + "cancel": "Otkaži", + "close": "Zatvori", + "expand": "Proširi", + "collapse": "Skupi", + "clear": "Očisti", + "copy": "Kopiraj", + "copiedToClipboard": "Kopirano u privremenu memoriju", + "back": "Nazad", + "history": "Istorija", + "fullscreen": "Ceo ekran", + "exitFullscreen": "Izađi iz celog ekrana", + "pictureInPicture": "Slika u slici", + "twoWayTalk": "Dvosmerna komunikacija", + "cameraAudio": "Zvuk kamere", + "on": "Uključeno", + "off": "Isključeno", + "edit": "Izmeni", + "copyCoordinates": "Kopiraj koordinate", + "delete": "Obriši", + "yes": "Da", + "no": "Ne", + "download": "Preuzmi", + "info": "Informacije", + "suspended": "Suspendovano", + "unsuspended": "Aktiviraj ponovo", + "play": "Pusti", + "unselect": "Poništi izbor", + "export": "Izvezi", + "deleteNow": "Obriši odmah", + "next": "Sledeće", + "continue": "Nastavi", + "modified": "Izmenjeno", + "overridden": "Nadjačano", + "resetToGlobal": "Vrati na globalna podešavanja", + "resetToDefault": "Vrati na podrazumevano", + "saveAll": "Sačuvaj sve", + "savingAll": "Čuvanje svega…", + "undoAll": "Opozovi sve", + "retry": "Pokušaj ponovo", + "reload": "Osveži" + }, + "menu": { + "system": "Sistem", + "systemMetrics": "Stanje i metrike", + "configuration": "Konfiguracija", + "systemLogs": "Dnevnik", + "profiles": "Profili", + "settings": "Podešavanja", + "configurationEditor": "Editor konfiguracije", + "languages": "Jezici", + "language": { + "en": "Engleski (English)", + "es": "Španski (Español)", + "zhCN": "Pojednostavljeni kineski (简体中文)", + "zhHant": "Tradicionalni kineski (繁體中文)", + "hi": "Hindi (हिन्दी)", + "fr": "Francuski (Français)", + "ar": "Arapski (العربية)", + "pt": "Portugalski (Português)", + "ptBR": "Brazilski portugalski (Português brasileiro)", + "ru": "Ruski (Русский)", + "de": "Nemački (Deutsch)", + "ja": "Japanski (日本語)", + "tr": "Turski (Türkçe)", + "it": "Italijanski (Italiano)", + "nl": "Holandski (Nederlands)", + "sv": "Švedski (Svenska)", + "cs": "Češki (Čeština)", + "nb": "Norveški bukmol (Norsk Bokmål)", + "ko": "Korejski (한국어)", + "vi": "Vijetnamski (Tiếng Việt)", + "fa": "Persijski (فارسی)", + "pl": "Poljski (Polski)", + "uk": "Ukrajinski (Українська)", + "be": "Beloruski (Беларуская)", + "he": "Hebrejski (עברית)", + "el": "Grčki (Ελληνικά)", + "ro": "Rumunski (Română)", + "hu": "Mađarski (Magyar)", + "fi": "Finski (Suomi)", + "da": "Danski (Dansk)", + "sk": "Slovački (Slovenčina)", + "yue": "Kantonski (粵語)", + "th": "Tajlandski (ไทย)", + "ca": "Katalonski (Català)", + "hr": "Hrvatski (Hrvatski)", + "bs": "Bosanski (Bosanski)", + "sr": "Srpski (Српски)", + "sl": "Slovenački (Slovenščina)", + "lt": "Litvanski (Lietuvių)", + "bg": "Bugarski (Български)", + "gl": "Galicijski (Galego)", + "id": "Indonežanski (Bahasa Indonesia)", + "ur": "Urdu (اردو)", + "withSystem": { + "label": "Koristi sistemska podešavanja za jezik" + } + }, + "appearance": "Izgled", + "darkMode": { + "label": "Tamni režim", + "light": "Svetli", + "dark": "Tamni", + "withSystem": { + "label": "Koristi sistemska podešavanja za svetli ili tamni režim" + } + }, + "withSystem": "Sistem", + "theme": { + "label": "Tema", + "blue": "Plava", + "green": "Zelena", + "nord": "Nord", + "red": "Crvena", + "highcontrast": "Visok kontrast", + "default": "Podrazumevano" + }, + "help": "Pomoć", + "documentation": { + "title": "Dokumentacija", + "label": "Frigate dokumentacija" + }, + "restart": "Ponovo pokreni Frigate", + "live": { + "title": "Uživo", + "allCameras": "Sve kamere", + "cameras": { + "title": "Kamere", + "count_one": "{{count}} kamera", + "count_few": "{{count}} kamere", + "count_other": "{{count}} kamera" + } + }, + "review": "Pregled", + "explore": "Istraži", + "export": "Izvezi", + "actions": "Akcije", + "uiPlayground": "Korisničko okruženje za testiranje", + "features": "Funkcije", + "faceLibrary": "Biblioteka lica", + "classification": "Klasifikacija", + "chat": "Ćaskanje", + "user": { + "title": "Korisnik", + "account": "Nalog", + "current": "Trenutni korisnik: {{user}}", + "anonymous": "anoniman", + "logout": "Odjavi se", + "setPassword": "Postavi lozinku" + } + }, + "toast": { + "copyUrlToClipboard": "URL je kopiran u privremenu memoriju.", + "save": { + "title": "Sačuvaj", + "error": { + "title": "Neuspešno čuvanje promena u konfiguraciji: {{errorMessage}}", + "noMessage": "Neuspešno čuvanje promena u konfiguraciji" + }, + "success": "Promene u konfiguraciji su uspešno sačuvane." + } + }, + "role": { + "title": "Uloga", + "admin": "Administrator", + "viewer": "Posmatrač", + "desc": "Administratori imaju potpun pristup svim funkcijama u Frigate korisničkom interfejsu. Gledaci su ograničeni na gledanje kamera, pregled stavki i istorijskih snimaka u korisničkom interfejsu." + }, + "pagination": { + "label": "straničenje", + "previous": { + "title": "Prethodna", + "label": "Idi na prethodnu stranicu" + }, + "next": { + "title": "Sledeća", + "label": "Idi na sledeću stranicu" + }, + "more": "Više stranica" + }, + "accessDenied": { + "documentTitle": "Pristup odbijen - Frigate", + "title": "Pristup odbijen", + "desc": "Nemate dozvolu za pregled ove stranice." + }, + "notFound": { + "documentTitle": "Nije pronađeno - Frigate", + "title": "404", + "desc": "Stranica nije pronađena" + }, + "error": { + "title": "Ova stranica je prestala sa radom", + "desc": "Došlo je do neočekivane greške na stranici. Osvežavanje obično rešava problem. Ako se greška ponavlja, kopirajte detalje i priložite ih diskusiji na GitHub-u.", + "staleTitle": "Potrebno je osvežavanje", + "staleDesc": "Deo aplikacije nije mogao da se učita, što obično znači da je Frigate ažuriran dok je ova kartica bila otvorena. Osvežite stranicu da biste prešli na novu verziju.", + "partial": "Deo aplikacije je prestao sa radom.", + "copyDetails": "Kopiraj detalje", + "copyFailed": "Neuspešno kopiranje detalja u privremenu memoriju" + }, + "selectItem": "Izaberi {{item}}", + "readTheDocumentation": "Pročitaj dokumentaciju", + "information": { + "pixels": "{{area}} px" + }, + "no_items": "Nema elemenata" +} diff --git a/web/public/locales/sr-Latn/components/camera.json b/web/public/locales/sr-Latn/components/camera.json index 0967ef424b..500edd9181 100644 --- a/web/public/locales/sr-Latn/components/camera.json +++ b/web/public/locales/sr-Latn/components/camera.json @@ -1 +1,90 @@ -{} +{ + "group": { + "label": "Grupe kamera", + "add": "Dodaj grupu kamera", + "showAll": "Prikaži sve grupe kamera", + "showLess": "Prikaži manje", + "edit": "Izmeni grupu kamera", + "editGroups": "Izmeni grupe kamera", + "delete": { + "label": "Obriši grupu kamera", + "confirm": { + "title": "Potvrdite brisanje", + "desc": "Da li ste sigurni da želite da obrišete grupu kamera {{name}}?" + } + }, + "name": { + "label": "Naziv", + "placeholder": "Unesite naziv…", + "errorMessage": { + "mustLeastCharacters": "Naziv grupe kamera mora imati najmanje 2 karaktera.", + "exists": "Naziv grupe kamera već postoji.", + "nameMustNotPeriod": "Naziv grupe kamera ne sme da sadrži tačku.", + "invalid": "Nevažeći naziv grupe kamera." + } + }, + "cameras": { + "label": "Kamere", + "desc": "Izaberite kamere za ovu grupu." + }, + "icon": "Ikona", + "success": "Grupa kamera ({{name}}) je sačuvana.", + "camera": { + "birdseye": "Birdseye", + "setting": { + "label": "Podešavanja strimovanja kamere", + "title": "Podešavanja strimovanja za kameru {{cameraName}}", + "desc": "Promenite opcije strimovanja uživo za kontrolnu tablu ove grupe kamera. Ova podešavanja su specifična za uređaj/veb-pregledač.", + "audioIsAvailable": "Zvuk je dostupan za ovaj strim", + "audioIsUnavailable": "Zvuk je nedostupan za ovaj strim", + "audio": { + "tips": { + "title": "Zvuk mora biti poslat sa vaše kamere i konfigurisan u go2rtc-u za ovaj strim." + } + }, + "stream": "Strim", + "placeholder": "Izaberite strim", + "streamMethod": { + "label": "Metod strimovanja", + "placeholder": "Izaberite metod strimovanja", + "method": { + "noStreaming": { + "label": "Bez strimovanja", + "desc": "Slike sa kamere će se osvežavati samo jednom u minuti i neće biti strimovanja uživo." + }, + "smartStreaming": { + "label": "Pametno strimovanje (preporučeno)", + "desc": "Pametno strimovanje će osvežavati sliku sa vaše kamere jednom u minuti kada nema uočljivih aktivnosti, kako bi se uštedeo protok podataka i resursi. Kada se detektuje aktivnost, prikaz se neprimetno prebacuje na strim uživo." + }, + "continuousStreaming": { + "label": "Neprekidno strimovanje", + "desc": { + "title": "Slika sa kamere će uvek biti strim uživo kada je vidljiva na kontrolnoj tabli, čak i ako se ne detektuje nikakva aktivnost.", + "warning": "Neprekidno strimovanje može izazvati visoku potrošnju protoka podataka i probleme sa performansama. Koristite oprezno." + } + } + } + }, + "compatibilityMode": { + "label": "Režim kompatibilnosti", + "desc": "Omogućite ovu opciju samo ako strim uživo sa vaše kamere prikazuje izobličenja boja (artefakte) i ima dijagonalnu liniju na desnoj strani slike." + } + } + } + }, + "debug": { + "options": { + "label": "Podešavanja", + "title": "Opcije", + "showOptions": "Prikaži opcije", + "hideOptions": "Sakrij opcije" + }, + "boundingBox": "Uokvireni prostor", + "timestamp": "Vremenska oznaka", + "zones": "Zone", + "mask": "Maska", + "motion": "Pokret", + "regions": "Regioni", + "paths": "Putanje" + } +} diff --git a/web/public/locales/sr-Latn/components/dialog.json b/web/public/locales/sr-Latn/components/dialog.json index 0967ef424b..d799c9da98 100644 --- a/web/public/locales/sr-Latn/components/dialog.json +++ b/web/public/locales/sr-Latn/components/dialog.json @@ -1 +1,222 @@ -{} +{ + "restart": { + "title": "Da li ste sigurni da želite da ponovo pokrenete Frigate?", + "description": "Ovo će nakratko zaustaviti Frigate dok se ponovo pokreće.", + "button": "Ponovo pokreni", + "restarting": { + "title": "Frigate se ponovo pokreće", + "content": "Ova stranica će se ponovo učitati za {{countdown}} sekundi.", + "button": "Osveži odmah" + } + }, + "explore": { + "plus": { + "submitToPlus": { + "label": "Pošalji na Frigate+", + "desc": "Objekti na lokacijama koje želite da izbegnete nisu lažno pozitivni rezultati. Njihovo slanje kao lažno pozitivnih zbuniće model." + }, + "review": { + "question": { + "label": "Potvrdite ovu oznaku za Frigate Plu", + "ask_a": "Da li je ovaj objekat {{label}}?", + "ask_an": "Da li je ovaj objekat {{label}}?", + "ask_full": "Da li je ovaj objekat {{untranslatedLabel}} ({{translatedLabel}})?" + }, + "state": { + "submitted": "Poslato" + }, + "toast": { + "error": "Slanje na Frigate+ nije uspelo. Proverite mrežnu vezu i pokušajte ponovo." + } + } + }, + "video": { + "viewInHistory": "Prikaži u istoriji" + } + }, + "export": { + "name": { + "placeholder": "Imenujte izvezeni snimak" + }, + "stream": { + "label": "Kvalitet", + "auto": "Automatski", + "main": "Izvorni", + "sub": "Nizak", + "autoDesc": "Koristi glavni strim, a u slučaju njegove nedostupnosti prebacuje se na sporedni strim nižeg kvaliteta.", + "mainDesc": "Izvozi isključivo glavni strim izvornog kvaliteta. Vremenski periodi u kojima glavni strim nije bio dostupan biće izostavljeni.", + "subDesc": "Izvozi isključivo sporedni strim nižeg kvaliteta. Vremenski periodi u kojima sporedni strim nije bio dostupan biće izostavljeni." + }, + "case": { + "newCaseOption": "Kreiraj novi slučaj", + "newCaseNamePlaceholder": "Naziv novog slučaja", + "newCaseDescriptionPlaceholder": "Opis slučaja", + "label": "Slučaj", + "placeholder": "Izaberite slučaj", + "nameRequired": "Naziv slučaja je obavezan" + }, + "select": "Izaberi", + "export": "Izvezi", + "queueing": "Dodavanje izvoza u red...", + "selectOrExport": "Izaberi ili izvezi", + "tabs": { + "export": "Jedna kamera", + "multiCamera": "Više kamera" + }, + "multiCamera": { + "timeRange": "Vremenski opseg", + "selectFromTimeline": "Izaberite sa vremenske linije", + "cameraSelection": "Kamere", + "checkingActivity": "Provera aktivnosti kamera...", + "cameraSelectionHelp": "Kamere sa praćenim objektima u ovom vremenskom rasponu su unapred izabrane", + "searchOrSelectGroup": "Pretražite ili izaberite grupu kamera...", + "selectAll": "Izaberi sve kamere", + "clearSelection": "Poništi izbor", + "selectWithActivity": "Kamere sa praćenim objektima", + "selectGroup": "Izaberi grupu", + "noMatchingCameras": "Nema kamera koje odgovaraju pretrazi", + "selectedCount": "Izabrano: {{selected}} od {{total}}", + "noCameras": "Nema dostupnih kamera", + "noCamerasSelected": "Izaberite najmanje jednu kameru", + "detectionCount_one": "1 praćeni objekat", + "detectionCount_few": "{{count}} praćena objekata", + "detectionCount_other": "{{count}} praćenih objekata", + "nameLabel": "Naziv izvoza", + "caseNameDefault": "Izvoz sa više kamera - {{date}}", + "namePlaceholder": "Opcioni osnovni naziv za ove izvoze", + "queueingButton": "Dodavanje izvoza u red...", + "exportButton_one": "Izvezi 1 kameru", + "exportButton_few": "Izvezi {{count}} kamere", + "exportButton_other": "Izvezi {{count}} kamera" + }, + "time": { + "fromTimeline": "Izaberite sa vremenske linije", + "lastHour_one": "Poslednji sat", + "lastHour_few": "Poslednjih {{count}} sata", + "lastHour_other": "Poslednjih {{count}} sati", + "custom": "Prilagođeno", + "start": { + "title": "Vreme početka", + "label": "Izaberite vreme početka" + }, + "end": { + "title": "Vreme završetka", + "label": "Izaberite vreme završetka" + } + }, + "multi": { + "title_one": "Izvezi 1 pregled", + "title_few": "Izvezi {{count}} pregleda", + "title_other": "Izvezi {{count}} pregleda", + "description": "Izvezite svaki izabrani pregled. Svi izvezeni snimci biće grupisani pod jednim slučajem.", + "descriptionNoCase": "Izvezite svaki izabrani pregled.", + "caseNamePlaceholder": "Izvoz pregleda - {{date}}", + "exportButton_one": "Izvezi 1 pregled", + "exportButton_few": "Izvezi {{count}} pregleda", + "exportButton_other": "Izvezi {{count}} pregleda", + "exportingButton": "Izvoženje...", + "toast": { + "started_one": "Pokrenut 1 izvoz.", + "started_few": "Pokrenuto {{count}} izvoza.", + "started_other": "okrenuto {{count}} izvoza.", + "partial": "Pokrenuto je {{successful}} od {{total}} izvoza. Neuspešno: {{failedItems}}", + "failed": "Pokretanje {{total}} izvoza nije uspelo. Neuspešno: {{failedItems}}" + } + }, + "toast": { + "success": "Izvoz je uspešno pokrenut. Pogledajte datoteku na stranici sa izvezenim snimcima.", + "queued": "Izvoz je dodat u red. Pratite napredak na stranici sa izvezenim snimcima.", + "view": "Prikaži", + "batchSuccess_one": "Pokrenut 1 izvoz. Otvaranje slučaja...", + "batchSuccess_few": "Pokrenuto {{count}} izvoza. Otvaranje slučaja...", + "batchSuccess_other": "Pokrenuto {{count}} izvoza. Otvaranje slučaja...", + "batchPartial": "Pokrenuto je {{successful}} od {{total}} izvoza. Neuspešne kamere: {{failedCameras}}", + "batchFailed": "Pokretanje {{total}} izvoza nije uspelo. Neuspešne kamere: {{failedCameras}}", + "batchQueuedSuccess_one": "Dodat 1 izvoz u red.", + "batchQueuedSuccess_few": "Dodato {{count}} izvoza u red.", + "batchQueuedSuccess_other": "Dodato {{count}} izvoza u red.", + "batchQueuedPartial": "Dodato je {{successful}} od {{total}} izvoza u red. Neuspešne kamere: {{failedCameras}}", + "batchQueueFailed": "Dodavanje {{total}} izvoza u red nije uspelo. Neuspešne kamere: {{failedCameras}}", + "error": { + "failed": "Dodavanje izvoza u red nije uspelo: {{error}}", + "endTimeMustAfterStartTime": "Vreme završetka mora biti nakon vremena početka", + "noValidTimeSelected": "Nije izabran važeći vremenski opseg" + } + }, + "fromTimeline": { + "saveExport": "Sačuvaj izvezeni snimak", + "queueingExport": "Dodavanje izvoza u red...", + "previewExport": "Pregledaj izvezeni snimak", + "useThisRange": "Koristi ovaj opseg" + } + }, + "streaming": { + "label": "Strim", + "restreaming": { + "disabled": "Ponovno strimovanje nije omogućeno za ovu kameru.", + "desc": { + "title": "Podesite go2rtc za dodatne opcije prikaza uživo i zvuk za ovu kameru." + } + }, + "showStats": { + "label": "Prikaži statistiku strima", + "desc": "Omogućite ovu opciju da biste prikazali statistiku strima kao sloj preko video-izvora kamere." + }, + "debugView": "Prikaz za otklanjanje grešaka" + }, + "search": { + "saveSearch": { + "label": "Sačuvaj pretragu", + "desc": "Unesite naziv za ovu sačuvanu pretragu.", + "placeholder": "Unesite naziv za svoju pretragu", + "overwrite": "{{searchName}} već postoji. Čuvanje će prepisati postojeću vrednost.", + "success": "Pretraga ({{searchName}}) je sačuvana.", + "button": { + "save": { + "label": "Sačuvaj ovu pretragu" + } + } + } + }, + "recording": { + "shareTimestamp": { + "label": "Deli vremensku oznaku", + "title": "Deli vremensku oznaku", + "description": "Podelite URL sa vremenskom oznakom trenutne pozicije plejera ili izaberite prilagođenu vremensku oznaku. Napomena: ovo nije javni URL za deljenje i dostupan je samo korisnicima koji imaju pristup Frigate-u i ovoj kameri.", + "custom": "Prilagođena vremenska oznaka", + "button": "URL za deljenje vremenske oznake", + "shareTitle": "Frigate pregled vremenske oznake: {{camera}}" + }, + "confirmDelete": { + "title": "Potvrdite brisanje", + "desc": { + "selected": "Da li ste sigurni da želite da obrišete sav snimljeni video povezan sa ovom stavkom pregleda?

Držite taster Shift da biste ubuduće zaobišli ovaj prozor." + }, + "toast": { + "success": "Video-snimci povezani sa izabranim stavkama pregleda su uspešno obrisani.", + "error": "Neuspešno brisanje: {{error}}" + } + }, + "button": { + "export": "Izvezi", + "markAsReviewed": "Označi kao pregledano", + "markAsUnreviewed": "Označi kao nepregledano", + "deleteNow": "Obriši odmah", + "generateDescription": "Generiši opis" + }, + "genaiDescription": { + "toast": { + "success": "Zatražen je GenAI opis za ovu stavku pregleda.", + "error": "Slanje zahteva za opis nije uspelo: {{error}}" + } + } + }, + "imagePicker": { + "selectImage": "Izaberite sličicu praćenog objekta", + "unknownLabel": "Sačuvana slika pokretača", + "search": { + "placeholder": "Pretražite po oznaci ili podoznaci..." + }, + "noImages": "Nema pronađenih sličica za ovu kameru" + } +} diff --git a/web/public/locales/sr-Latn/components/filter.json b/web/public/locales/sr-Latn/components/filter.json index 0967ef424b..1d4911beca 100644 --- a/web/public/locales/sr-Latn/components/filter.json +++ b/web/public/locales/sr-Latn/components/filter.json @@ -1 +1,140 @@ -{} +{ + "filter": "Filtriraj", + "classes": { + "label": "Klase", + "all": { + "title": "Sve klase" + }, + "count_one": "{{count}} klasa", + "count_other": "{{count}} klase" + }, + "labels": { + "label": "Oznake", + "all": { + "title": "Sve oznake", + "short": "Oznake" + }, + "count_one": "{{count}} oznaka", + "count_other": "{{count}} oznake" + }, + "zones": { + "label": "Zone", + "all": { + "title": "Sve zone", + "short": "Zone" + } + }, + "dates": { + "selectPreset": "Izaberite unapred podešenu poziciju…", + "all": { + "title": "Svi datumi", + "short": "Datumi" + } + }, + "more": "Više filtera", + "reset": { + "label": "Vrati filtere na podrazumevane vrednosti" + }, + "timeRange": "Vremenski raspon", + "subLabels": { + "label": "Podoznake", + "all": "Sve podoznake" + }, + "attributes": { + "label": "Atributi klasifikacije", + "all": "Svi atributi" + }, + "score": "Rezultat", + "estimatedSpeed": "Procenjena brzina ({{unit}})", + "features": { + "label": "Funkcije", + "hasSnapshot": "Ima snimak", + "hasVideoClip": "Ima video-snimak", + "submittedToFrigatePlus": { + "label": "Poslato na Frigate+", + "tips": "Morate prvo filtrirati praćene objekte koji imaju snimak.

Praćeni objekti bez snimka ne mogu se poslati na Frigate+." + } + }, + "sort": { + "label": "Sortiranje", + "dateAsc": "Datum (Rastuće)", + "dateDesc": "Datum (Opadajuće)", + "scoreAsc": "Rezultat objekta (Rastuće)", + "scoreDesc": "Rezultat objekta (Opadajuće)", + "speedAsc": "Procenjena brzina (Rastuće)", + "speedDesc": "Procenjena brzina (Opadajuće)", + "relevance": "Relevantnost" + }, + "cameras": { + "label": "Filter kamera", + "all": { + "title": "Sve kamere", + "short": "Kamere" + } + }, + "review": { + "showReviewed": "Prikaži pregledano" + }, + "motion": { + "showMotionOnly": "Prikaži samo kretanje" + }, + "explore": { + "settings": { + "title": "Podešavanja", + "defaultView": { + "title": "Podrazumevani prikaz", + "desc": "Kada nijedan filter nije izabran, prikaži sažetak najnovijih praćenih objekata po oznaci ili prikaži nefiltriranu mrežu.", + "summary": "Sažetak", + "unfilteredGrid": "Nefiltrirana mreža" + }, + "gridColumns": { + "title": "Kolone u mreži", + "desc": "Izaberite broj kolona u prikazu mreže." + }, + "searchSource": { + "label": "Izvor pretrage", + "desc": "Izaberite da li želite da pretražujete sličice (umanjene prikaze) ili opise vaših praćenih objekata.", + "options": { + "thumbnailImage": "Sličica", + "description": "Opis" + } + } + }, + "date": { + "selectDateBy": { + "label": "Izaberite datum za filtriranje" + } + } + }, + "logSettings": { + "label": "Filtriraj nivo dnevnika", + "filterBySeverity": "Filtriraj dnevnik prema ozbiljnosti", + "loading": { + "title": "Učitavanje", + "desc": "Kada se panel dnevnika pomeri do samog dna, novi zapisi se automatski strimuju čim se dodaju." + }, + "disableLogStreaming": "Onemogući strimovanje dnevnika", + "allLogs": "Ceo dnevnik" + }, + "trackedObjectDelete": { + "title": "Potvrdite brisanje", + "desc": "Brisanjem ovih {{objectLength}} praćenih objekata uklanja se snimak, svi sačuvani vektorski prikazi i svi povezani unosi o životnom ciklusu objekta. Snimljeni materijal ovih praćenih objekata u prikazu istorije NEĆE biti obrisan.

Da li ste sigurni da želite da nastavite?

Držite taster Shift da biste ubuduće zaobišli ovaj prozor.", + "toast": { + "success": "Praćeni objekti su uspešno obrisani.", + "error": "Neuspešno brisanje praćenih objekata: {{errorMessage}}" + } + }, + "zoneMask": { + "filterBy": "Filtriraj prema maski zone" + }, + "recognizedLicensePlates": { + "title": "Prepoznate registarske tablice", + "loadFailed": "Učitavanje prepoznatih registarskih tablica nije uspelo.", + "loading": "Učitavanje prepoznatih registarskih tablica…", + "placeholder": "Unesite tekst za pretragu tablica…", + "noLicensePlatesFound": "Nema pronađenih registarskih tablica.", + "selectPlatesFromList": "Izaberite jednu ili više tablica sa liste.", + "selectAll": "Izaberi sve", + "clearAll": "Poništi sve" + } +} diff --git a/web/public/locales/sr-Latn/components/player.json b/web/public/locales/sr-Latn/components/player.json index 0967ef424b..666fd67d6a 100644 --- a/web/public/locales/sr-Latn/components/player.json +++ b/web/public/locales/sr-Latn/components/player.json @@ -1 +1,61 @@ -{} +{ + "noRecordingsFoundForThisTime": "Nema pronađenih snimaka za ovaj vremenski period", + "noPreviewFound": "Pregled nije pronađen", + "noPreviewFoundFor": "Pregled nije pronađen za kameru {{cameraName}}", + "submitFrigatePlus": { + "title": "Pošalji ovaj kadar na Frigate+?", + "submit": "Pošalji", + "previewError": "Učitavanje predpregleda snimka nije uspelo. Snimak možda nije dostupan u ovom trenutku." + }, + "livePlayerRequiredIOSVersion": "Za ovaj tip strima uživo potreban je iOS 17.1 ili noviji.", + "streamOffline": { + "title": "Strim je van mreže", + "desc": "Nijedan kadar nije primljen na strimu za detekciju detect kamere {{cameraName}}, proverite dnevnik grešaka" + }, + "cameraOff": "Kamera je isključena", + "quality": { + "auto": "Automatski", + "autoLow": "Reprodukcija u niskom kvalitetu (ograničen protok podataka)", + "autoLowCodec": "Reprodukcija u niskom kvalitetu (izvorni kvalitet nije podržan u ovom veb-pregledaču)", + "autoLowSaveData": "Reprodukcija u niskom kvalitetu (ušteda podataka)", + "main": "Izvorni", + "sub": "Nizak", + "notSupportedBrowser": "Nije podržano u ovom veb-pregledaču", + "label": "Kvalitet", + "noAudio": "Nema zvuka", + "audioRate": "{{rate}} kHz audio", + "audioCodecRate": "{{codec}} {{rate}} kHz", + "noRecordings": "Nema snimaka u ovom vremenskom opsegu" + }, + "stats": { + "streamType": { + "title": "Tip strima:", + "short": "Tip" + }, + "bandwidth": { + "title": "Propusni opseg:", + "short": "Propusni opseg" + }, + "totalFrames": "Ukupno kadrova:", + "droppedFrames": { + "title": "Odbačeni kadrovi:", + "short": { + "title": "Odbačeno", + "value": "{{droppedFrames}} kadrova" + } + }, + "decodedFrames": "Dekodirani kadrovi:", + "droppedFrameRate": "Brzina odbacivanja kadrova:", + "stream": "Strim:", + "streamAuto": "{{stream}} (automatski)" + }, + "toast": { + "success": { + "submittedFrigatePlus": "Kadar je uspešno poslat na Frigate+" + }, + "error": { + "submitFrigatePlusFailed": "Slanje kadra na Frigate+ nije uspelo", + "playRecordingsFailed": "Reprodukcija snimaka nije uspela (greška {{code}}): {{message}}" + } + } +} diff --git a/web/public/locales/sr-Latn/config/validation.json b/web/public/locales/sr-Latn/config/validation.json index 0967ef424b..31dcd9f246 100644 --- a/web/public/locales/sr-Latn/config/validation.json +++ b/web/public/locales/sr-Latn/config/validation.json @@ -1 +1,40 @@ -{} +{ + "minimum": "Mora biti najmanje {{limit}}", + "maximum": "Mora biti najviše {{limit}}", + "exclusiveMinimum": "Mora biti veće od {{limit}}", + "exclusiveMaximum": "Mora biti manje od {{limit}}", + "minLength": "Mora imati najmanje {{limit}} karakter(a)", + "maxLength": "Mora imati najviše {{limit}} karakter(a)", + "minItems": "Mora imati najmanje {{limit}} stavki", + "maxItems": "Mora imati najviše {{limit}} stavki", + "pattern": "Nevažeći format", + "required": "Ovo polje je obavezno", + "type": "Nevažeći tip vrednosti", + "enum": "Mora biti jedna od dozvoljenih vrednosti", + "const": "Vrednost se ne poklapa sa očekivanom konstantom", + "uniqueItems": "Sve stavke moraju biti jedinstvene", + "format": "Nevažeći format", + "additionalProperties": "Nepoznato svojstvo nije dozvoljeno", + "oneOf": "Mora se podudarati sa tačno jednom od dozvoljenih šema", + "anyOf": "Mora se podudarati sa najmanje jednom od dozvoljenih šema", + "proxy": { + "header_map": { + "roleHeaderRequired": "Zaglavlje uloge je obavezno kada su konfigurisana mapiranja uloga." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Svaka uloga može biti dodeljena samo jednom ulaznom strimu.", + "detectRequired": "Najmanje jednom ulaznom strimu mora biti dodeljena uloga „detect“.", + "hwaccelDetectOnly": "Samo ulazni strim sa ulogom „detect“ može definisati argumente za hardversko ubrzanje." + } + }, + "detect": { + "dimensionMustBeEven": "Mora biti paran broj." + }, + "models": { + "defaultRequired": "Jedan model mora koristiti podrazumevanu scenu. Bez nje, svaka kamera koja ne izabere scenu neće imati rezervni model na koji može da se osloni.", + "sceneDuplicate": "Svaki model mora koristiti različitu scenu.", + "sameModel": "Modeli za scenu {{scene}} i scenu {{other}} koriste istu datoteku modela. Pokretanje jednog modela pod više različitih scena samo deli posao detekcije na zasebne detektore, što je sporije nego pokretanje jednog modela sa svim hardverskim resursima navedenim pod njim." + } +} diff --git a/web/public/locales/sr-Latn/views/classificationModel.json b/web/public/locales/sr-Latn/views/classificationModel.json index 0967ef424b..b6a1fee7dd 100644 --- a/web/public/locales/sr-Latn/views/classificationModel.json +++ b/web/public/locales/sr-Latn/views/classificationModel.json @@ -1 +1,219 @@ -{} +{ + "documentTitle": "Klasifikacioni modeli - Frigate", + "disabled": "Onemogućeno", + "details": { + "scoreInfo": "Rezultat predstavlja prosečnu pouzdanost klasifikacije kroz sve detekcije ovog objekta.", + "none": "Ništa", + "unknown": "Nepoznato" + }, + "button": { + "deleteClassificationAttempts": "Obriši klasifikacione slike", + "renameCategory": "Preimenuj klasu", + "deleteCategory": "Obriši klasu", + "deleteImages": "Obriši slike", + "trainModel": "Treniraj model", + "addClassification": "Dodaj klasifikaciju", + "deleteModels": "Obriši modele", + "editModel": "Izmeni model" + }, + "tooltip": { + "trainingInProgress": "Model se trenutno trenira", + "noNewImages": "Nema novih slika za treniranje. Prvo klasifikujte više slika u skupu podataka.", + "noChanges": "Nema izmena u skupu podataka od poslednjeg treniranja.", + "modelNotReady": "Model nije spreman za treniranje" + }, + "toast": { + "success": { + "deletedModel_one": "Uspešno je obrisan {{count}} model", + "deletedModel_few": "Uspešno je obrisano {{count}} modela", + "deletedModel_other": "Uspešno je obrisano {{count}} modela", + "categorizedImage": "Slika je uspešno klasifikovana", + "reclassifiedImage": "Slika je uspešno ponovo klasifikovana", + "trainedModel": "Model je uspešno treniran.", + "trainingModel": "Treniranje modela je uspešno pokrenuto.", + "updatedModel": "Konfiguracija modela je uspešno ažurirana", + "renamedCategory": "Klasa je uspešno preimenovana u {{name}}", + "deletedCategory_one": "Obrisan {{count}} klasa", + "deletedCategory_few": "Obrisano {{count}} klase", + "deletedCategory_other": "Obrisano {{count}} klasa", + "deletedImage_one": "Obrisana {{count}} slika", + "deletedImage_few": "Obrisano {{count}} slike", + "deletedImage_other": "Obrisano {{count}} slika" + }, + "error": { + "deleteImageFailed": "Brisanje nije uspelo: {{errorMessage}}", + "deleteCategoryFailed": "Brisanje klase nije uspelo: {{errorMessage}}", + "deleteModelFailed": "Brisanje modela nije uspelo: {{errorMessage}}", + "categorizeFailed": "Kategorizacija slike nije uspela: {{errorMessage}}", + "trainingFailed": "Treniranje modela nije uspelo. Proverite Frigate dnevnike za detalje.", + "trainingFailedToStart": "Pokretanje treniranja modela nije uspelo: {{errorMessage}}", + "updateModelFailed": "Ažuriranje modela nije uspelo: {{errorMessage}}", + "renameCategoryFailed": "Preimenovanje klase nije uspelo: {{errorMessage}}", + "reclassifyFailed": "Ponovna klasifikacija slike nije uspela: {{errorMessage}}" + } + }, + "deleteCategory": { + "title": "Obriši klasu", + "desc": "Da li ste sigurni da želite da obrišete klasu {{name}}? Ovo će trajno obrisati sve povezane slike i zahtevaće ponovno treniranje modela.", + "minClassesTitle": "Nije moguće obrisati klasu", + "minClassesDesc": "Klasifikacioni model mora imati najmanje 2 klase. Dodajte drugu klasu pre nego što obrišete ovu." + }, + "deleteModel": { + "title": "Obriši klasifikacioni model", + "single": "Da li ste sigurni da želite da obrišete {{name}}? Ovo će trajno obrisati sve povezane podatke, uključujući slike i podatke o treniranju. Ova radnja se ne može poništiti.", + "desc_one": "Da li ste sigurni da želite da obrišete {{count}} model? Ovo će trajno obrisati sve povezane podatke, uključujući slike i podatke o treniranju. Ova radnja se ne može poništiti.", + "desc_few": "Da li ste sigurni da želite da obrišete {{count}} modela? Ovo će trajno obrisati sve povezane podatke, uključujući slike i podatke o treniranju. Ova radnja se ne može poništiti.", + "desc_other": "Da li ste sigurni da želite da obrišete {{count}} modela? Ovo će trajno obrisati sve povezane podatke, uključujući slike i podatke o treniranju. Ova radnja se ne može poništiti." + }, + "edit": { + "title": "Izmeni klasifikacioni model", + "descriptionState": "Izmenite klase za ovaj model klasifikacije stanja. Izmene će zahtevati ponovno treniranje modela.", + "descriptionObject": "Izmenite tip objekta i tip klasifikacije za ovaj model klasifikacije objekata.", + "enabled": "Omogućeno", + "enabledDesc": "Pokrenite ovaj model. Kada je onemogućen, prestaje sa radom i više ne vrši klasifikaciju.", + "saveAttempts": "Pokušaji čuvanja", + "saveAttemptsDesc": "Broj slika pokušaja klasifikacije koje treba zadržati za korisnički interfejs nedavnih klasifikacija.", + "motion": "Pokreni pri kretanju", + "motionDesc": "Pokrenite klasifikaciju kada se detektuje kretanje unutar konfigurisanog isecanja kadra.", + "interval": "Interval", + "intervalDesc": "Broj sekundi između periodičnih pokretanja klasifikacije. Ostavite prazno da bi se pokretala samo pri kretanju.", + "intervalPlaceholder": "Bez intervala", + "stateClassesInfo": "Model je ažuriran. Ponovo trenirajte model kako bi izmene klasa stupile na snagu.", + "errors": { + "saveAttemptsInvalid": "Pokušaji čuvanja moraju biti ceo broj 0 ili veći", + "intervalInvalid": "Interval mora biti ceo broj veći od 0" + } + }, + "deleteDatasetImages": { + "title": "Obriši slike iz skupa podataka", + "desc_one": "Da li ste sigurni da želite da obrišete {{count}} sliku iz skupa podataka {{dataset}}? Ova radnja se ne može poništiti i zahtevaće ponovno treniranje modela.", + "desc_few": "Da li ste sigurni da želite da obrišete {{count}} slike iz skupa podataka {{dataset}}? Ova radnja se ne može poništiti i zahtevaće ponovno treniranje modela.", + "desc_other": "Da li ste sigurni da želite da obrišete {{count}} slika iz skupa podataka {{dataset}}? Ova radnja se ne može poništiti i zahtevaće ponovno treniranje modela." + }, + "deleteTrainImages": { + "title": "Obriši slike za trening", + "desc_one": "Da li ste sigurni da želite da obrišete {{count}} sliku? Ova radnja se ne može poništiti.", + "desc_few": "Da li ste sigurni da želite da obrišete {{count}} slike? Ova radnja se ne može poništiti.", + "desc_other": "Da li ste sigurni da želite da obrišete {{count}} slika? Ova radnja se ne može poništiti." + }, + "renameCategory": { + "title": "Preimenuj klasu", + "desc": "Unesite novi naziv za {{name}}. Biće potrebno da ponovo trenirate model kako bi izmena naziva stupila na snagu." + }, + "description": { + "invalidName": "Neispravan naziv. Nazivi mogu sadržati samo slova, brojeve, razmake, apostrofe, donje crte i crtice." + }, + "train": { + "title": "Nedavne klasifikacije", + "titleShort": "Nedavno", + "aria": "Izaberite nedavne klasifikacije" + }, + "categories": "Klase", + "createCategory": { + "new": "Kreiraj novu klasu" + }, + "categorizeImageAs": "Klasifikuj sliku kao:", + "categorizeImage": "Klasifikuj sliku", + "reclassifyImageAs": "Ponovo klasifikuj sliku kao:", + "reclassifyImage": "Ponovo klasifikuj sliku", + "menu": { + "objects": "Objekti", + "states": "Stanja" + }, + "noModels": { + "object": { + "title": "Nema modela za klasifikaciju objekata", + "description": "Kreirajte prilagođeni model za klasifikaciju detektovanih objekata.", + "buttonText": "Kreiraj model objekata" + }, + "state": { + "title": "Nema modela za klasifikaciju stanja", + "description": "Kreirajte prilagođeni model za praćenje i klasifikaciju promena stanja u specifičnim zonama kamera.", + "buttonText": "Kreiraj model stanja" + } + }, + "wizard": { + "title": "Kreiraj novu klasifikaciju", + "steps": { + "nameAndDefine": "Naziv i definisanje", + "stateArea": "Zona stanja", + "chooseExamples": "Izaberi primere" + }, + "step1": { + "description": "Modeli stanja prate fiksne zone kamera radi uočavanja promena (npr. otvorena/zatvorena vrata). Modeli objekata dodaju klasifikacije detektovanim objektima (npr. poznate životinje, dostavljači, itd.).", + "name": "Naziv", + "namePlaceholder": "Unesite naziv modela...", + "type": "Tip", + "typeState": "Stanje", + "typeObject": "Objekat", + "objectLabel": "Oznaka objekta", + "objectLabelPlaceholder": "Izaberite tip objekta...", + "classificationType": "Tip klasifikacije", + "classificationTypeTip": "Saznajte više o tipovima klasifikacije", + "classificationTypeDesc": "Podoznake dodaju dodatni tekst oznaci objekta (npr. 'Osoba: UPS'). Atributi predstavljaju metapodatke pretražive kroz sistem koji se čuvaju odvojeno unutar metapodataka objekta.", + "classificationSubLabel": "Podoznaka", + "classificationAttribute": "Atribut", + "classes": "Klase", + "states": "Stanja", + "classesTip": "Saznajte više o klasama", + "classesStateDesc": "Definišite različita stanja u kojima se zona vaše kamere može nalaziti. Na primer: 'otvoreno' i 'zatvoreno' za garažna vrata.", + "classesObjectDesc": "Definišite različite kategorije u koje se detektovani objekti mogu klasifikovati. Na primer: 'dostavljač', 'stanar' (resident), 'stranac' za klasifikaciju osoba.", + "classPlaceholder": "Unesite naziv klase...", + "errors": { + "nameRequired": "Naziv modela je obavezan", + "nameLength": "Naziv modela mora imati 64 karaktera ili manje", + "nameOnlyNumbers": "Naziv modela ne može sadržati samo brojeve", + "classRequired": "Najmanje 1 klasa je obavezna", + "classesUnique": "Nazivi klasa moraju biti jedinstveni", + "noneNotAllowed": "Klasa 'none' nije dozvoljena", + "stateRequiresTwoClasses": "Modeli stanja zahtevaju najmanje 2 klase", + "objectLabelRequired": "Molimo izaberite oznaku objekta", + "objectTypeRequired": "Molimo izaberite tip klasifikacije" + } + }, + "step2": { + "description": "Izaberite kamere i definišite zonu za praćenje za svaku kameru. Model će klasifikovati stanje ovih zona.", + "cameras": "Kamere", + "selectCamera": "Izaberite kameru", + "noCameras": "Kliknite na + da dodate kamere", + "selectCameraPrompt": "Izaberite kameru sa liste da biste definisali njenu zonu praćenja" + }, + "step3": { + "selectImagesPrompt": "Izaberite sve slike sa: {{className}}", + "selectImagesDescription": "Kliknite na slike da ih izaberete. Kliknite na Nastavi kada završite sa ovom klasom.", + "allImagesRequired_one": "Molimo klasifikujte sve slike. Preostala je još {{count}} slika.", + "allImagesRequired_few": "Molimo klasifikujte sve slike. Preostala je još {{count}} slike.", + "allImagesRequired_other": "Molimo klasifikujte sve slike. Preostala je još {{count}} slika.", + "generating": { + "title": "Generisanje uzoraka slika", + "description": "Frigate preuzima reprezentativne slike iz vaših snimaka. Ovo može potrajati..." + }, + "training": { + "title": "Treniranje modela", + "description": "Vaš model se trenira u pozadini. Zatvorite ovaj prozor, a vaš model će početi sa radom čim se treniranje završi." + }, + "retryGenerate": "Pokušaj ponovo generisanje", + "noImages": "Nema generisanih uzoraka slika", + "classifying": "Klasifikacija i treniranje...", + "trainingStarted": "Treniranje je uspešno pokrenuto", + "modelCreated": "Model je uspešno kreiran. Koristite pregled „Nedavne klasifikacije“ da dodate slike za stanja koja nedostaju, a zatim trenirajte model.", + "errors": { + "noCameras": "Nema konfigurisanih kamera", + "noObjectLabel": "Nije izabrana oznaka objekta", + "generateFailed": "Generisanje primera nije uspelo: {{error}}", + "generationFailed": "Generisanje nije uspelo. Molimo pokušajte ponovo.", + "classifyFailed": "Klasifikacija slika nije uspela: {{error}}" + }, + "generateSuccess": "Uzorci slika su uspešno generisani", + "refreshExamples": "Generiši nove primere", + "refreshConfirm": { + "title": "Želite li da generišete nove primere?", + "description": "Ovo će generisati novi skup slika i poništiti sve izbore, uključujući i sve prethodne klase. Biće potrebno da ponovo izaberete primere za sve klase." + }, + "missingStatesWarning": { + "title": "Nedostaju primeri klasa", + "description": "Nemaju sve klase primere. Pokušajte da generišete nove primere kako biste pronašli klasu koja nedostaju, ili nastavite i kasnije koristite pregled „Nedavne klasifikacije“ da dodate slike." + } + } + } +} diff --git a/web/public/locales/sr-Latn/views/explore.json b/web/public/locales/sr-Latn/views/explore.json index 0967ef424b..94ec725782 100644 --- a/web/public/locales/sr-Latn/views/explore.json +++ b/web/public/locales/sr-Latn/views/explore.json @@ -1 +1,267 @@ -{} +{ + "documentTitle": "Istraži - Frigate", + "generativeAI": "Generativni AI", + "exploreMore": "Istražite više objekata tipa {{label}}", + "exploreIsUnavailable": { + "title": "Opcija „Istraži“ je nedostupna", + "embeddingsReindexing": { + "context": "Opcija „Istraži“ se može koristiti nakon što se završi ponovno indeksiranje ugnježdenih podataka praćenih objekata.", + "startingUp": "Pokretanje…", + "estimatedTime": "Procenjeno preostalo vreme:", + "finishingShortly": "Uskoro se završava", + "step": { + "thumbnailsEmbedded": "Sličice su ugnježdeni: ", + "descriptionsEmbedded": "Opisi su ugnježdeni: ", + "trackedObjectsProcessed": "Praćeni objekti su obrađeni: " + } + }, + "downloadingModels": { + "context": "Frigate preuzima neophodne modele ugnježdenih podataka kako bi podržao funkciju semantičke pretrage. Ovo može potrajati nekoliko minuta u zavisnosti od brzine vaše mrežne veze.", + "setup": { + "visionModel": "Vizuelni model", + "visionModelFeatureExtractor": "Ekstraktor funkcija vizuelnog modela", + "textModel": "Tekstualni model", + "textTokenizer": "Tokenizator teksta" + }, + "tips": { + "context": "Možda ćete želeti da ponovo indeksirate ugnježdene podatke (embeddings) vaših praćenih objekata kada se modeli preuzmu." + }, + "error": "Došlo je do greške. Proverite Frigate dnevnike." + } + }, + "trackedObjectDetails": "Detalji o praćenom objektu", + "type": { + "details": "detalji", + "snapshot": "snimak", + "thumbnail": "sličica", + "video": "video", + "tracking_details": "detalji praćenja" + }, + "trackingDetails": { + "title": "Detalji praćenja", + "noImageFound": "Nije pronađena slika za ovu vremensku oznaku.", + "createObjectMask": "Kreiraj masku objekta", + "adjustAnnotationSettings": "Prilagodite podešavanja označavanja", + "scrollViewTips": "Kliknite da biste videli značajne trenutke u životnom ciklusu ovog objekta.", + "autoTrackingTips": "Pozicije okvira za detekciju biće neprecizne za kamere sa automatskim praćenjem.", + "count": "{{first}} od {{second}}", + "trackedPoint": "Praćena tačka", + "lifecycleItemDesc": { + "visible": "detektovano {{label}}", + "entered_zone": "{{label}} je ušao u {{zones}}", + "active": "{{label}} je postao aktivan", + "stationary": "{{label}} je postao stacionaran", + "attribute": { + "faceOrLicense_plate": "detektovan atribut {{attribute}} za {{label}}", + "other": "{{label}} je prepoznat kao {{attribute}}" + }, + "gone": "{{label}} je otišao", + "heard": "registrovan zvuk {{label}}", + "external": "detektovan {{label}}", + "header": { + "zones": "Zone", + "ratio": "Odnos", + "area": "Površina", + "score": "Rezultat", + "computedScore": "Izračunati rezultat", + "topScore": "Najbolji rezultat", + "toggleAdvancedScores": "Uključi/isključi napredne rezultate" + } + }, + "annotationSettings": { + "title": "Podešavanja označavanja", + "showAllZones": { + "title": "Prikaži sve zone", + "desc": "Uvek prikaži zone na kadrovima gde su objekti ušli u zonu." + }, + "offset": { + "label": "Pomeraj označavanja", + "desc": "Ovi podaci dolaze sa strima za detekciju vaše kamere, ali se prikazuju preko slika sa strima za snimanje. Malo je verovatno da su ova dva strima savršeno sinhronizovana. Kao rezultat toga, okvir za detekciju i video snimak se neće savršeno poklapati. Možete koristiti ovo podešavanje da pomerite anotacije unapred ili unazad u vremenu kako biste ih bolje uskladili sa snimljenim materijalom.", + "millisecondsToOffset": "Milisekunde za koje se pomera anotacija detekcije. Podrazumevano: 0", + "tips": "Smanjite vrednost ako je reprodukcija videa ispred okvira i tačaka putanje, a povećajte vrednost ako reprodukcija videa kasni za njima. Ova vrednost može biti negativna.", + "toast": { + "success": "Pomeraj označavanja za {{camera}} je sačuvan u konfiguracionoj datoteci." + } + } + }, + "carousel": { + "previous": "Prethodni slajd", + "next": "Sledeći slajd" + } + }, + "details": { + "item": { + "title": "Detalji stavke pregleda", + "desc": "Detalji stavke pregleda", + "button": { + "share": "Podeli ovu stavku pregleda", + "viewInExplore": "Prikaži u opciji „Istraži“" + }, + "tips": { + "mismatch_one": "{{count}} nedostupan objekat je detektovan i uključen u ovu stavku pregleda. Ti objekti ili nisu ispunili uslove za upozorenje ili detekciju, ili su već očišćeni/obrisani.", + "mismatch_few": "{{count}} nedostupana objekta su detektovana i uključena u ovu stavku pregleda. Ti objekti ili nisu ispunili uslove za upozorenje ili detekciju, ili su već očišćeni/obrisani.", + "mismatch_other": "{{count}} nedostupanih objekata je detektovano i uključeno u ovu stavku pregleda. Ti objekti ili nisu ispunili uslove za upozorenje ili detekciju, ili su već očišćeni/obrisani.", + "hasMissingObjects": "Prilagodite vašu konfiguraciju ako želite da Frigate čuva praćene objekte za sledeće oznake: {{objects}}" + }, + "toast": { + "success": { + "regenerate": "Zahtevan je novi opis od provajdera {{provider}}. U zavisnosti od brzine vašeg provajdera, ponovno generisanje opisa može potrajati.", + "updatedSublabel": "Podoznaka je uspešno ažurirana.", + "updatedLPR": "Registarska tablica je uspešno ažurirana.", + "updatedAttributes": "Atributi su uspešno ažurirani.", + "audioTranscription": "Uspešno je zatražena transkripcija zvuka. U zavisnosti od brzine vašeg Frigate servera, transkripcija može potrajati." + }, + "error": { + "regenerate": "Neuspelo pozivanje provajdera {{provider}} za novi opis: {{errorMessage}}", + "updatedSublabelFailed": "Neuspelo ažuriranje podoznake: {{errorMessage}}", + "updatedLPRFailed": "Neuspelo ažuriranje registarske tablice: {{errorMessage}}", + "updatedAttributesFailed": "Neuspelo ažuriranje atributa: {{errorMessage}}", + "audioTranscription": "Neuspeli zahtev za transkripciju zvuka: {{errorMessage}}" + } + } + }, + "label": "Oznaka", + "editSubLabel": { + "title": "Izmeni podoznaku", + "desc": "Unesite novu podoznaku za: {{label}}", + "descNoLabel": "Unesite novu podoznaku za ovaj praćeni objekat" + }, + "editLPR": { + "title": "Izmeni registarsku tablicu", + "desc": "Unesite novu vrednost registarske tablice za: {{label}}", + "descNoLabel": "Unesite novu vrednost registarske tablice za ovaj praćeni objekat" + }, + "editAttributes": { + "title": "Izmeni atribute", + "desc": "Izaberite atribute klasifikacije za: {{label}}" + }, + "snapshotScore": { + "label": "Rezultat snimka" + }, + "topScore": { + "label": "Najviši rezultat", + "info": "Najviši rezultat predstavlja najveću srednju vrednost (medijanu) rezultata za praćeni objekat, pa se može razlikovati od rezultata prikazanog na sličici u rezultatima pretrage." + }, + "score": { + "label": "Rezultat" + }, + "recognizedLicensePlate": "Prepoznata registarska tablica", + "attributes": "Atributi klasifikacije", + "estimatedSpeed": "Procenjena brzina", + "objects": "Objekti", + "camera": "Kamera", + "zones": "Zone", + "timestamp": "Vremenska oznaka", + "button": { + "findSimilar": "Pronađi slično", + "regenerate": { + "title": "Ponovo generiši", + "label": "Ponovo generiši opis praćenog objekta" + } + }, + "description": { + "label": "Opis", + "placeholder": "Opis praćenog objekta", + "aiTips": "Frigate neće zatražiti opis od vašeg provajdera generativne veštačke inteligencije dok se životni ciklus praćenog objekta ne završi." + }, + "expandRegenerationMenu": "Proširi meni za ponovno generisanje", + "regenerateFromSnapshot": "Ponovo generiši iz snimka", + "regenerateFromThumbnails": "Ponovo generiši iz sličica", + "tips": { + "descriptionSaved": "Opis je uspešno sačuvan", + "saveDescriptionFailed": "Neuspelo ažuriranje opisa: {{errorMessage}}" + }, + "title": { + "label": "Naslov" + }, + "scoreInfo": "Informacije o rezultatu" + }, + "itemMenu": { + "downloadVideo": { + "label": "Preuzmi video", + "aria": "Preuzmi video" + }, + "downloadSnapshot": { + "label": "Preuzmi snimak", + "aria": "Preuzmi snimak" + }, + "downloadCleanSnapshot": { + "label": "Preuzmi čist snimak", + "aria": "Preuzmi čist snimak" + }, + "viewTrackingDetails": { + "label": "Prikaži detalje praćenja", + "aria": "Prikaži detalje praćenja" + }, + "findSimilar": { + "label": "Pronađi slično", + "aria": "Pronađi slične praćene objekte" + }, + "addTrigger": { + "label": "Dodaj okidač", + "aria": "Dodaj okidač za ovaj praćeni objekat" + }, + "audioTranscription": { + "label": "Transkribuj", + "aria": "Zatraži transkripciju zvuka" + }, + "submitToPlus": { + "label": "Pošalji u Frigate+", + "aria": "Pošalji u Frigate Plus" + }, + "viewInHistory": { + "label": "Prikaži u istoriji", + "aria": "Prikaži u istoriji" + }, + "deleteTrackedObject": { + "label": "Obriši ovaj praćeni objekat" + }, + "showObjectDetails": { + "label": "Prikaži putanju objekta" + }, + "hideObjectDetails": { + "label": "Sakrij putanju objekta" + }, + "debugReplay": { + "label": "Ponovna reprodukcija za otklanjanje grešaka", + "aria": "Prikaži ovaj praćeni objekat u prikazu ponovne reprodukcije za otklanjanje grešaka" + }, + "more": { + "aria": "Više" + } + }, + "dialog": { + "confirmDelete": { + "title": "Potvrdi brisanje", + "desc": "Brisanjem ovog praćenog objekta uklanjaju se snimak, svi sačuvani vektorski prikazi i svi povezani unosi detalja praćenja. Snimljeni video-zapis ovog praćenog objekta u prikazu Istorija NEĆE biti obrisan.

Da li ste sigurni da želite da nastavite?" + }, + "toast": { + "error": "Greška pri brisanju ovog praćenog objekta: {{errorMessage}}" + } + }, + "noTrackedObjects": "Nije pronađen nijedan praćeni objekat", + "fetchingTrackedObjectsFailed": "Greška pri preuzimanju praćenih objekata: {{errorMessage}}", + "trackedObjectsCount_one": "{{count}} praćeni objekat ", + "trackedObjectsCount_few": "{{count}} praćena objekta ", + "trackedObjectsCount_other": "{{count}} praćenih objekata ", + "searchResult": { + "tooltip": "Podudaranje: {{type}} ({{confidence}}%", + "previousTrackedObject": "Prethodni praćeni objekat", + "nextTrackedObject": "Sledeći praćeni objekat", + "deleteTrackedObject": { + "toast": { + "success": "Praćeni objekat je uspešno obrisan.", + "error": "Neuspelo brisanje praćenog objekta: {{errorMessage}}" + } + } + }, + "aiAnalysis": { + "title": "AI analiza" + }, + "concerns": { + "label": "Upozorenja" + }, + "objectLifecycle": { + "noImageFound": "Nije pronađena slika za ovaj praćeni objekat." + } +} diff --git a/web/public/locales/sr-Latn/views/exports.json b/web/public/locales/sr-Latn/views/exports.json index 0967ef424b..26a9ac5153 100644 --- a/web/public/locales/sr-Latn/views/exports.json +++ b/web/public/locales/sr-Latn/views/exports.json @@ -1 +1,41 @@ -{} +{ + "selected_one": "Izabrano: {{count}}", + "selected_other": "Izabrano: {{count}}", + "documentTitle": "Izvoz - Frigate", + "search": "Pretraga", + "noExports": "Nije pronađen nijedan izvoz", + "headings": { + "cases": "Slučajevi", + "uncategorizedExports": "Nekategorizovani izvozi" + }, + "deleteExport": { + "label": "Obriši izvoz", + "desc": "Da li ste sigurni da želite da obrišete izvoz {{exportName}}?" + }, + "editExport": { + "title": "Preimenuj izvoz", + "desc": "Unesite novi naziv za ovaj izvoz.", + "saveExport": "Sačuvaj izvoz" + }, + "tooltip": { + "shareExport": "Podeli izvoz", + "downloadVideo": "Preuzmi video", + "editName": "Izmeni naziv", + "deleteExport": "Obriši izvoz", + "assignToCase": "Dodaj u slučaj", + "removeFromCase": "Ukloni iz slučaja" + }, + "toolbar": { + "newCase": "Novi slučaj", + "addExport": "Dodaj izvoz", + "editCase": "Izmeni slučaj", + "deleteCase": "Obriši slučaj" + }, + "toast": { + "error": { + "renameExportFailed": "Neuspelo preimenovanje izvoza: {{errorMessage}}", + "assignCaseFailed": "Neuspelo ažuriranje dodele slučaju: {{errorMessage}}", + "caseSaveFailed": "Neuspelo čuvanje slučaja: {{errorMessage}}" + } + } +} diff --git a/web/public/locales/sr-Latn/views/faceLibrary.json b/web/public/locales/sr-Latn/views/faceLibrary.json index 0967ef424b..be277e9434 100644 --- a/web/public/locales/sr-Latn/views/faceLibrary.json +++ b/web/public/locales/sr-Latn/views/faceLibrary.json @@ -1 +1,12 @@ -{} +{ + "details": { + "unknown": "Nepoznato", + "timestamp": "Vremenska oznaka" + }, + "description": { + "invalidName": "Neispravan naziv. Nazivi mogu sadržati samo slova, brojeve, razmake, apostrofe, donje crte i crtice." + }, + "train": { + "titleShort": "Nedavno" + } +} diff --git a/web/public/locales/sr-Latn/views/search.json b/web/public/locales/sr-Latn/views/search.json index 0967ef424b..370cb28b91 100644 --- a/web/public/locales/sr-Latn/views/search.json +++ b/web/public/locales/sr-Latn/views/search.json @@ -1 +1,3 @@ -{} +{ + "search": "Pretraga" +} diff --git a/web/public/locales/sr-Latn/views/settings.json b/web/public/locales/sr-Latn/views/settings.json index 0967ef424b..5d991e5ac4 100644 --- a/web/public/locales/sr-Latn/views/settings.json +++ b/web/public/locales/sr-Latn/views/settings.json @@ -1 +1,1159 @@ -{} +{ + "menu": { + "system": "Sistem", + "profiles": "Profili", + "general": "Opšte", + "globalConfig": "Globalna konfiguracija", + "integrations": "Integracije", + "cameras": "Konfiguracija kamera", + "ui": "Korisnički interfejs", + "uiSettings": "Podešavanja korisničkog interfejsa", + "globalDetect": "Detekcija objekata", + "globalRecording": "Snimanje", + "globalSnapshots": "Slike", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detekcija kretanja", + "globalObjects": "Objekti", + "globalReview": "Pregled", + "globalAudioEvents": "Audio detekcija", + "globalLivePlayback": "Reprodukcija uživo", + "globalTimestampStyle": "Stil vremenske oznake", + "systemDatabase": "Baza podataka", + "systemTls": "TLS", + "systemAuthentication": "Autentifikacija", + "systemNetworking": "Umrežavanje", + "systemProxy": "Proksi", + "systemUi": "Korisnički interfejs", + "systemLogging": "Beleženje u dnevnik", + "systemEnvironmentVariables": "Promenljive okruženja", + "systemTelemetry": "Telemetrija", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorsAndModel": "Modeli detekcije", + "systemMqtt": "MQTT", + "systemGo2rtcStreams": "go2rtc strimovi", + "integrationSemanticSearch": "Semantička pretraga", + "integrationGenerativeAi": "Generativni AI", + "integrationFaceRecognition": "Prepoznavanje lica", + "integrationLpr": "Prepoznavanje registarskih tablica", + "integrationObjectClassification": "Klasifikacija objekata", + "integrationAudioTranscription": "Audio transkripcija", + "cameraDetect": "Detekcija objekata", + "cameraFfmpeg": "Strimovi (FFmpeg)", + "cameraRecording": "Snimanje", + "cameraSnapshots": "Slike", + "cameraMotion": "Detekcija kretanja", + "cameraObjects": "Objekti", + "cameraConfigReview": "Pregled", + "cameraAudioEvents": "Audio detekcija", + "cameraAudioTranscription": "Audio transkripcija", + "cameraNotifications": "Obaveštenja", + "cameraLivePlayback": "Reprodukcija uživo", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Prepoznavanje lica", + "cameraLpr": "Prepoznavanje registarskih tablica", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Korisnički interfejs kamere", + "cameraTimestampStyle": "Stil vremenske oznake", + "cameraMqtt": "MQTT kamere", + "cameraManagement": "Upravljanje kamerama", + "cameraReview": "Pregled", + "masksAndZones": "Maske / Zone", + "motionTuner": "Podešavanje detekcije pokreta", + "users": "Korisnici", + "roles": "Uloge", + "notifications": "Obaveštenja", + "triggers": "Pokretači", + "debug": "Otklanjanje grešaka", + "frigateplus": "Frigate+", + "maintenance": "Održavanje", + "mediaSync": "Sinhronizacija medija", + "regionGrid": "Mreža regiona" + }, + "analyticsPreview": { + "show": "Pregledaj izveštaj", + "desc": "Frigate šalje ovaj izveštaj jednom dnevno dok je deljenje uključeno. On nikada ne uključuje nazive kamera, zone, oznake ili adrese.", + "error": "Nije moguće kreirati predpregled" + }, + "documentTitle": { + "default": "Podešavanja - Frigate", + "authentication": "Podešavanja autentifikacije - Frigate", + "cameraManagement": "Upravljanje kamerama - Frigate", + "cameraReview": "Podešavanja pregleda kamera - Frigate", + "enrichments": "Podešavanja poboljšanja - Frigate", + "masksAndZones": "Editor maski i zona - Frigate", + "motionTuner": "Podešavanje detekcije pokreta - Frigate", + "object": "Otklanjanje grešaka - Frigate", + "general": "Podešavanja prikaza - Frigate", + "globalConfig": "Globalna konfiguracija - Frigate", + "cameraConfig": "Konfiguracija kamere - Frigate", + "frigatePlus": "Frigate+ podešavanja - Frigate", + "detectorsAndModel": "Detektori i modeli - Frigate", + "notifications": "Podešavanja obaveštenja - Frigate", + "maintenance": "Održavanje - Frigate", + "profiles": "Profili - Frigate" + }, + "button": { + "overriddenGlobal": "Nadjačano (Globalno)", + "overriddenGlobalTooltip": "Ova kamera nadjačava podešavanja globalne konfiguracije u ovoj sekciji", + "overriddenGlobalHeading_one": "Ova kamera nadjačava {{count}} polje iz globalne konfiguracije:", + "overriddenGlobalHeading_few": "Ova kamera nadjačava {{count}} polja iz globalne konfiguracije:", + "overriddenGlobalHeading_other": "Ova kamera nadjačava {{count}} polja iz globalne konfiguracije:", + "overriddenGlobalNoDeltas": "Ova kamera nadjačava globalnu konfiguraciju, ali se vrednosti polja ne razlikuju.", + "overriddenLive": "Nadjačano (Uživo)", + "overriddenLiveTooltip": "Ova kamera radi sa drugačijom vrednošću od one koja je sačuvana u vašoj konfiguraciji, a koja je prikazana ovde. Prikaz uživo, MQTT ili aktivni profil mogu je promeniti dok Frigate radi.", + "overriddenLiveValue": "Trenutna vrednost: {{value}}", + "overriddenBaseConfig": "Nadjačano (Osnovna konfiguracija)", + "overriddenBaseConfigTooltip": "Profil {{profile}} nadjačava podešavanja konfiguracije u ovoj sekciji", + "overriddenBaseConfigHeading_one": "Profil {{profile}} nadjačava {{count}} polje iz osnovne konfiguracije:", + "overriddenBaseConfigHeading_few": "Profil {{profile}} nadjačava {{count}} polja iz osnovne konfiguracije:", + "overriddenBaseConfigHeading_other": "Profil {{profile}} nadjačava {{count}} polja iz osnovne konfiguracije:", + "overriddenBaseConfigNoDeltas": "Profil {{profile}} nadjačava ovu sekciju, ali se vrednosti polja ne razlikuju od osnovne konfiguracije.", + "overriddenInCameras": { + "label_one": "Nadjačano u {{count}} kameri", + "label_few": "Nadjačano u {{count}} kamere", + "label_other": "Nadjačano u {{count}} kamera", + "tooltip_one": "{{count}} kamera nadjačava vrednosti u ovoj sekciji. Kliknite da biste videli detalje.", + "tooltip_few": "{{count}} kamere nadjačava vrednosti u ovoj sekciji. Kliknite da biste videli detalje.", + "tooltip_other": "{{count}} kamera nadjačava vrednosti u ovoj sekciji. Kliknite da biste videli detalje.", + "heading_one": "Ova globalna sekcija ima polja koja su nadjačana u {{count}} kameri.", + "heading_few": "Ova globalna sekcija ima polja koja su nadjačana u {{count}} kamere.", + "heading_other": "Ova globalna sekcija ima polja koja su nadjačana u {{count}} kamera.", + "othersField_one": "{{count}} druga", + "othersField_few": "{{count}} druge", + "othersField_other": "{{count}} drugih", + "profilePrefix": "Profil {{profile}}: {{fields}}" + } + }, + "menuDot": { + "overrideGlobal": "Ova sekcija nadjačava globalnu konfiguraciju", + "overrideProfile": "Ovu sekciju nadjačava profil {{profile}}", + "unsaved": "Ova sekcija ima nesačuvane izmene" + }, + "detectionModels": { + "scene": { + "description": "Naziv za kamere za koje je ovaj model namenjen. Kamere biraju model tako što postavljaju istu scenu u svojim podešavanjima detekcije, a podrazumevani model koristi svaka kamera koja je ostala bez izabrane scene. Koristite scene za pokretanje različitih modela, a ne za deljenje jednog istog modela na više hardverskih resursa, jer se modeli koji koriste istu datoteku modela kombinuju.", + "label": "Scena", + "placeholder": "termalna" + }, + "scenes": { + "default": "Podrazumevano" + }, + "hardware": { + "label": "Hardver", + "placeholder": "Izaberite hardver", + "loading": "Traženje hardvera za detekciju...", + "none": "Nijedan hardver nije izabran", + "claimedBy": "koristi {{scene}}", + "detectorCount": "Detektori", + "countRecommended_one": "Preporučeno za {{count}} kameru", + "countRecommended_few": "Preporučeno za {{count}} kamere", + "countRecommended_other": "Preporučeno za {{count}} kamera", + "unrecognized": "Ovaj model je konfigurisan za hardver koji nije pronađen na ovom sistemu: {{devices}}", + "description": "Hardver na kojem ovaj model pokreće svoju detekciju.", + "detectorCountDescription": "Koliko procesa detekcije treba pokrenuti na ovom hardveru. Više detektora može da isprati veći broj kamera, ali po cenu dodatne memorije uređaja.", + "unitsDescription": "Svaka jedinica pokreće sopstveni proces detekcije. Jedinica koja se ne može deliti, kao što je Coral, može se koristiti samo za jedan model." + }, + "tabs": { + "plus": "Frigate+", + "custom": "Prilagođeni model" + }, + "plusModel": { + "noModelSelected": "Izaberite Frigate+ model" + }, + "title": "Modeli detekcije", + "description": "Konfigurišite modele za detekciju objekata i hardver na kojem se svaki od njih pokreće. Dodajte model za scenu samo kada je nekim kamerama potreban drugačije obučen model, kao što su termalne kamere. Kamere biraju model na osnovu svoje scene u podešavanjima detekcije kamere.", + "addModel": "Dodaj model", + "cameras_one": "{{count}} kamera", + "cameras_few": "{{count}} kamere", + "cameras_other": "{{count}} kamera" + }, + "configMessages": { + "record": { + "noRecordSubRole": "Nijedan strim nema definisanu ulogu record_sub. Snimanje sporednog strima neće raditi.", + "profileBaseDisabled": "Snimanje je onemogućeno u osnovnoj konfiguraciji ove kamere, tako da njegovo omogućavanje u profilu nema efekta. Omogućite snimanje u osnovnoj konfiguraciji, a profil koristite da biste ga onemogućili.", + "noRecordRole": "Nijedan strim nema definisanu ulogu record. Snimanje neće raditi." + }, + "notifications": { + "profileBaseDisabled": "Nijedna kamera nema omogućena obaveštenja u svojoj osnovnoj konfiguraciji, tako da njihovo omogućavanje u profilu nema efekta. Omogućite obaveštenja u osnovnoj konfiguraciji za najmanje jednu kameru.", + "ttlDelay": "Obaveštenja mogu da stignu sa zakašnjenjem do 30 sekundi i da i dalje vode do prikaza uživo nakon što se stavka pregleda završila." + }, + "birdseye": { + "objectTrackingDetectDisabled": "Birdseye uključuje praćene objekte, ali je detekcija objekata onemogućena za ovu kameru. Kamera se neće prikazivati u Birdseye prikazu.", + "objectTrackingDetectRuntimeDisabled": "Birdseye uključuje praćene objekte, ali je detekcija objekata trenutno isključena za ovu kameru iako je vaša konfiguracija omogućava. Kamera se neće prikazivati u Birdseye prikazu dok se ponovo ne uključi iz prikaza uživo te kamere, ili dok aktivni profil ne prestane da je onemogućava." + }, + "snapshots": { + "detectDisabled": "Detekcija objekata je onemogućena. Slike (snapšotovi) se generišu na osnovu praćenih objekata i neće biti kreirane.", + "detectRuntimeDisabled": "Detekcija objekata je omogućena u vašoj konfiguraciji, ali je trenutno isključena za ovu kameru, tako da slike (snapšotovi) neće biti kreirane. Uključite je ponovo iz prikaza uživo te kamere, ili proverite da li je aktivni profil onemogućava." + }, + "semanticSearch": { + "jinav2SmallModelSize": "Mala veličina sa Jina V2 modelom ima visoku potrošnju RAM memorije i visoku cenu obrade. Preporučuje se veliki model sa zasebnom grafičkom karticom." + }, + "onvif": { + "autotrackingNoZones": "Automatsko praćenje zahteva najmanje jednu zonu. Definišite zonu za ovu kameru u sekciji Maske / Zone, a zatim je postavite kao obaveznu zonu ispod." + }, + "detect": { + "resolutionHigh": "Ova rezolucija za detekciju je viša od preporučene i može izazvati povećanu potrošnju resursa bez poboljšanja tačnosti detekcije. Za većinu kamera preporučuje se rezolucija detekcije od 1080p ili niža.", + "globalResolutionMultipleCameras": "Podešena je globalna rezolucija detekcije dok je konfigurisano više kamera. Osim ako sve kamere ne dele istu rezoluciju i odnos stranica, širinu i visinu detekcije bi trebalo definisati pojedinačno po kameri kako bi odgovarale izvornom odnosu stranica svake kamere.", + "fpsGreaterThanFive": "Postavljanje FPS-a detekcije na vrednost veću od 5 se ne preporučuje. Više vrednosti mogu izazvati probleme sa performansama i neće doneti nikakvu korist.", + "disabled": "Detekcija objekata je onemogućena. Slike (snapšotovi), stavke pregleda i poboljšanja kao što su prepoznavanje lica, prepoznavanje registarskih tablica i generativna veštačka inteligencija neće raditi.", + "runtimeDisabled": "Detekcija objekata je omogućena u vašoj konfiguraciji, ali je trenutno isključena za ovu kameru. Slike (snapšotovi), stavke pregleda i poboljšanja kao što su prepoznavanje lica, prepoznavanje registarskih tablica i generativna veštačka inteligencija neće raditi dok se ponovo ne uključi iz prikaza uživo te kamere, ili dok aktivni profil ne prestane da je onemogućava.", + "sceneWithoutModel": "Nijedan model detekcije nije konfigurisan za ovu scenu, tako da se ova kamera oslanja na podrazumevani model. Dodajte model za ovu scenu da bi kamera imala sopstveni.", + "resolutionShouldBeMultipleOfFour": "Za najbolje rezultate, širina i visina detekcije bi trebalo da budu umnošci broja 4. Druge parne vrednosti mogu proizvesti vizuelne smetnje (artefakte) ili blago izobličenje u strimu za detekciju.", + "aspectRatioMismatch": "Širina i visina koje ste uneli ne odgovaraju odnosu stranica vaše trenutne rezolucije detekcije. Ovo može proizvesti razvučenu ili izobličenu sliku.", + "maxFramesSet": "Podešavanje maksimalnog broja kadrova (max_frames) nadjačava podrazumevano ponašanje i onemogućava praćenje stacionarnih objekata. Postoji veoma malo situacija u kojima je ovo potrebno, koristite oprezno.", + "squareResolution": "Kvadratna rezolucija detekcije je neuobičajena. Širina i visina detekcije bi trebalo da odgovaraju odnosu stranica vaše kamere (na primer, 16:9), a ne dimenzijama modela za detekciju objekata. Neusklađen odnos stranica može razvući sliku i smanjiti tačnost detekcije." + }, + "model": { + "optimizedFor320": "Frigate je optimizovan za model 320x320, što je najbolji izbor za većinu konfiguracija. Model 640x640 je sporiji i pomaže samo u specifičnim scenarijima.", + "inputDimensionsNotDetectResolution": "Ulazna širina i visina modela su ulazne dimenzije modela za detekciju objekata, a ne rezolucija detekcije vaše kamere. One bi trebalo da odgovaraju dimenzijama modela koji koristite — obično kvadratnog oblika poput 320x320 ili 640x640." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "Ručni argumenti za hardversko ubrzanje se ne preporučuju. Osim ako ne postoji specifičan zahtev, izaberite unapred podešenu opciju (preset) koja odgovara vašem hardveru.", + "inputsMissingGo2rtcStream": "Ulaz ispod ukazuje na go2rtc ponovno strimovanje (restream) koje više ne postoji. Izaberite postojeći strim ili unesite URL kamere ručno, inače ova kamera neće uspeti da se poveže." + }, + "objects": { + "genaiNoDescriptionsProvider": "Morate konfigurisati GenAI provajdera sa ulogom „descriptions“ da bi opisi mogli da se generišu." + }, + "faceRecognition": { + "globalDisabled": "Poboljšanje za prepoznavanje lica mora biti omogućeno da bi funkcije prepoznavanja lica radile na ovoj kameri.", + "personNotTracked": "Prepoznavanje lica zahteva da se prati objekat „osoba“. Omogućite „osoba“ u sekciji Objekti za ovu kameru.", + "modelSizeLarge": "Veliki model zahteva grafičku karticu (GPU) ili NPU za zadovoljavajuće performanse. Koristite mali model na sistemima koji imaju samo procesor." + }, + "lpr": { + "globalDisabled": "Poboljšanje za prepoznavanje registarskih tablica mora biti omogućeno da bi LPR funkcije radile na ovoj kameri.", + "vehicleNotTracked": "Prepoznavanje registarskih tablica zahteva da se prati vozilo. Omogućite „automobil“ ili drugi tip vozila u sekciji Objekti za ovu kameru.", + "modelSizeLarge": "Veliki model je optimizovan za registarske tablice u više redova. Mali model pruža bolje performanse u odnosu na veliki i treba ga koristiti osim ako vaš region ne koristi formate tablica sa više redova." + }, + "review": { + "allNonAlertDetections": "Sve aktivnosti koje nisu alarmi biće uključene kao detekcije.", + "genaiImageSourceRecordingsRecordDisabled": "Izvor slike je podešen na „snimku“, ali je snimanje onemogućeno. Frigate će se vratiti na slike predpregleda.", + "genaiImageSourceRecordingsRecordRuntimeDisabled": "Izvor slike je podešen na „snimku“, ali je snimanje trenutno isključeno za ovu kameru iako ga vaša konfiguracija omogućava. Frigate će se vratiti na slike predpregleda.", + "recordDisabled": "Snimanje je onemogućeno, stavke pregleda neće biti generisane.", + "recordRuntimeDisabled": "Snimanje je omogućeno u vašoj konfiguraciji, ali je trenutno isključeno za ovu kameru, tako da stavke pregleda neće biti generisane. Uključite ga ponovo iz prikaza uživo te kamere, ili proverite da li je aktivni profil onemogućava.", + "detectDisabled": "Detekcija objekata je onemogućena. Stavke pregleda zahtevaju detektovane objekte kako bi se kategorizovali alarmi i detekcije.", + "detectRuntimeDisabled": "Detekcija objekata je omogućena u vašoj konfiguraciji, ali je trenutno isključena za ovu kameru. Stavke pregleda zahtevaju detektovane objekte kako bi se kategorizovali alarmi i detekcije. Uključite je ponovo iz prikaza uživo te kamere, ili proverite da li je aktivni profil onemogućava." + }, + "live": { + "noGo2rtcStream": "Prikaz uživo za ovu kameru koristi osnovni plejer sa nižim brojem kadrova u sekundi i bez zvuka. Podesite go2rtc strim za ovu kameru da biste dobili tečniji video i zvuk." + }, + "audio": { + "noAudioRole": "Nijedan strim nema definisanu ulogu „audio“. Morate omogućiti ulogu „audio“ da bi audio detekcija radila." + }, + "audioTranscription": { + "audioDetectionDisabled": "Audio detekcija nije omogućena za ovu kameru. Audio transkripcija zahteva da audio detekcija bude aktivna.", + "audioDetectionRuntimeDisabled": "Audio detekcija je omogućena u vašoj konfiguraciji, ali je trenutno isključena za ovu kameru, tako da se audio transkripcija neće pokretati. Uključite je ponovo iz prikaza uživo te kamere, ili proverite da li je aktivni profil onemogućava.", + "genaiProviderSelected": "Izabran je GenAI provajder, pa se podešavanja za veličinu uređaja i modela ignorišu." + } + }, + "logger": { + "logLevel": { + "info": "Info", + "warning": "Upozorenje", + "error": "Greška", + "critical": "Kritično", + "debug": "Otklanjanje grešaka" + } + }, + "onvif": { + "profileAuto": "Automatski", + "profileLoading": "Učitavanje profila...", + "autotracking": { + "zooming": { + "disabled": "Onemogućeno", + "absolute": "Apsolutno", + "relative": "Relativno" + } + } + }, + "modelSize": { + "small": "Mali", + "large": "Veliki" + }, + "previewQuality": { + "very_high": "Veoma visok", + "high": "Visok", + "medium": "Srednji", + "low": "Nizak", + "very_low": "Veoma nizak" + }, + "ui": { + "timeFormat": { + "browser": "Veb-pregledač", + "12hour": "12-časovni", + "24hour": "24-časovni" + }, + "unitSystem": { + "metric": "Metrički", + "imperial": "Imperijalni" + } + }, + "review": { + "imageSource": { + "recordings": "Snimci", + "previews": "Predpregledi" + }, + "frameMode": { + "frames": "Kadrovi", + "annotated_frames": "Kadrovi sa beleškama" + } + }, + "go2rtcStreams": { + "ffmpeg": { + "hardwareDxva2": "DXVA2", + "hardwareVideotoolbox": "VideoToolbox", + "addVideoCodec": "Dodaj video-kodek", + "addAudioCodec": "Dodaj audio-kodek", + "removeCodec": "Ukloni kodek", + "videoH265": "Transkoduj u H.265", + "videoExclude": "Isključi", + "audioCopy": "Kopiraj", + "audioAac": "Transkoduj u AAC", + "audioOpus": "Transkoduj u Opus", + "audioPcmu": "Transkoduj u PCM μ-law", + "audioPcma": "Transkoduj u PCM A-law", + "audioPcm": "Transkoduj u PCM", + "audioMp3": "Transkoduj u MP3", + "audioExclude": "Isključi", + "hardwareNone": "Bez hardverskog ubrzanja", + "hardwareAuto": "Automatski (preporučeno)", + "hardwareVaapi": "VAAPI", + "hardwareCuda": "CUDA", + "hardwareV4l2m2m": "V4L2 M2M", + "useFfmpegModule": "Koristi režim kompatibilnosti (ffmpeg)", + "video": "Video", + "audio": "Audio", + "hardware": "Hardversko ubrzanje", + "videoCopy": "Kopiraj", + "videoH264": "Transkoduj u H.264" + }, + "deleteStreamConfirm": "Da li ste sigurni da želite da obrišete strim „{{streamName}}“? Kamere koje koriste ovaj strim mogu prestati sa radom.", + "noStreams": "Nema konfigurisanih go2rtc strimova. Dodajte strim da biste započeli.", + "validation": { + "nameRequired": "Naziv strima je obavezan", + "nameDuplicate": "Strim sa ovim nazivom već postoji", + "nameInvalid": "Naziv strima može sadržati samo slova, brojeve, donje crte i crtice", + "urlRequired": "Neophodan je najmanje jedan URL" + }, + "renameStream": "Preimenuj strim", + "renameStreamDesc": "Unesite novi naziv za ovaj strim. Preimenovanje strima može poremetiti rad kamera ili drugih strimova koji ga koriste preko njegovog naziva.", + "newStreamName": "Novi naziv strima", + "title": "go2rtc strimovi", + "description": "Upravljajte go2rtc konfiguracijama strimova za ponovno strimovanje kamera. Svaki strim ima naziv i jedan ili više izvornih URL-ova.", + "addStream": "Dodaj strim", + "addStreamDesc": "Unesite naziv za novi strim. Ovaj naziv će se koristiti za povezivanje sa strimom u konfiguraciji vaše kamere.", + "addUrl": "Dodaj URL", + "sourceNumber": "Izvor {{index}}", + "streamName": "Naziv strima", + "streamNamePlaceholder": "npr. ulazna_vrata", + "streamUrlPlaceholder": "npr. rtsp://user:pass@192.168.1.100/stream", + "deleteStream": "Obriši strim" + }, + "birdseye": { + "cameraOrder": { + "label": "Redosled kamera", + "description": "Prevucite kamere da biste podesili njihov redosled u Birdseye rasporedu.", + "reorderHandle": "Prevucite za promenu redosleda", + "saving": "Čuvanje…", + "saved": "Sačuvano" + } + }, + "notificationTtl": { + "immediate": "Odmah", + "reliable": "Pouzdano" + }, + "retainMode": { + "all": "Sve", + "motion": "Pokret", + "active_objects": "Aktivni objekti" + }, + "profiles": { + "disabledDescription": "Profili vam omogućavaju da definišete imenovane skupove nadjačavanja konfiguracije kamere (npr. aktiviran alarm, odsutan, noć) koji se mogu aktivirati na zahtev.", + "enabledDescription": "Profili su omogućeni. Kreirajte novi profil ispod, idite na sekciju za konfiguraciju kamere da biste uneli izmene, a zatim sačuvajte kako bi izmene stupile na snagu.", + "error": { + "mustBeAtLeastTwoCharacters": "Mora imati najmanje 2 karaktera", + "mustNotContainPeriod": "Ne sme da sadrži tačku", + "alreadyExists": "Profil sa ovim ID-jem već postoji" + }, + "renameProfile": "Preimenuj profil", + "renameSuccess": "Profil je preimenovan u „{{profile}}“", + "deleteProfile": "Obriši profil", + "deleteProfileConfirm": "Da li želite da obrišete profil „{{profile}}“ sa svih kamera? Ova akcija se ne može poništiti.", + "deleteSuccess": "Profil „{{profile}}“ je obrisan", + "createSuccess": "Profil „{{profile}}“ je kreiran", + "removeOverride": "Ukloni nadjačavanje profila", + "deleteSection": "Obriši nadjačavanja sekcije", + "deleteSectionConfirm": "Da li želite da uklonite nadjačavanja za sekciju {{section}} unutar profila {{profile}} na kameri {{camera}}?", + "deleteSectionSuccess": "Uklonjena su nadjačavanja za sekciju {{section}} unutar profila {{profile}}", + "enableSwitch": "Omogući profile", + "deactivated": "Profil je deaktiviran", + "activateFailed": "Aktivacija profila nije uspela", + "noProfiles": "Nema definisanih profila.", + "noOverrides": "Nema premošćavanja (izmena)", + "cameraCount_one": "{{count}} kamera", + "cameraCount_few": "{{count}} kamere", + "cameraCount_other": "{{count}} kamera", + "columnCamera": "Kamera", + "columnOverrides": "Premošćavanja profila", + "baseConfig": "Osnovna konfiguracija", + "addProfile": "Dodaj profil", + "newProfile": "Novi profil", + "profileNamePlaceholder": "npr. Aktiviran, Odsutan, Noćni režim", + "friendlyNameLabel": "Naziv profila", + "nameDuplicate": "Profil sa ovim nazivom već postoji", + "profileIdLabel": "ID profila", + "profileIdDescription": "Interni identifikator koji se koristi u konfiguraciji i automatizacijama", + "nameInvalid": "Dozvoljena su samo mala slova, brojevi i donje crte", + "active": "Aktivno", + "activated": "Profil „{{profile}}“ je aktiviran", + "title": "Profili", + "activeProfile": "Aktivni profil", + "noActiveProfile": "Nema aktivnog profila" + }, + "unsavedChanges": "Imate nesačuvane izmene", + "confirmReset": "Potvrdite resetovanje", + "resetToDefaultDescription": "Ovo će resetovati sva podešavanja u ovoj sekciji na njihove podrazumevane vrednosti. Ova akcija se ne može poništiti.", + "resetToGlobalDescription": "Ovo će resetovati podešavanja u ovoj sekciji na globalne podrazumevane vrednosti. Ova akcija se ne može poništiti.", + "dialog": { + "unsavedChanges": { + "title": "Imate nesačuvane izmene.", + "desc": "Da li želite da sačuvate izmene pre nego što nastavite?" + } + }, + "saveAllPreview": { + "title": "Izmene koje će biti sačuvane", + "triggerLabel": "Pregledajte izmene na čekanju", + "empty": "Nema izmena na čekanju.", + "scope": { + "label": "Domen", + "global": "Globalno", + "camera": "Kamera: {{cameraName}}" + }, + "profile": { + "label": "Profil" + }, + "field": { + "label": "Polje" + }, + "value": { + "label": "Nova vrednost", + "reset": "Resetuj" + } + }, + "cameraSetting": { + "camera": "Kamera", + "noCamera": "Nema kamere" + }, + "general": { + "title": "Podešavanja korisničkog interfejsa", + "liveDashboard": { + "title": "Kontrolna tabla uživo", + "automaticLiveView": { + "label": "Automatski prikaz uživo", + "desc": "Automatski prebacite na prikaz uživo kamere kada se detektuje aktivnost. Onemogućavanje ove opcije uzrokuje da se statične slike kamera na kontrolnoj tabli uživo osvežavaju samo jednom u minuti." + }, + "playAlertVideos": { + "label": "Pusti video zapise upozorenja", + "desc": "Podrazumevano, nedavni alarmi na kontrolnoj tabli uživo se reprodukuju kao mali video-snimci koji se ponavljaju. Onemogućite ovu opciju da biste prikazali samo statičnu sliku nedavnih alarma na ovom uređaju/veb-pregledaču." + }, + "displayCameraNames": { + "label": "Uvek prikaži nazive kamera", + "desc": "Uvek prikažite nazive kamera u oznaci (čipu) na kontrolnoj tabli uživo sa više kamera." + }, + "naturalAspectLayout": { + "label": "Koristi izvorni odnos stranica", + "desc": "Na kontrolnim tablama uživo za grupe kamera, prilagodite veličinu svakog prozora sopstvenom izvornom odnosu stranica kamere. Kada je onemogućeno, kamere se uklapaju u standardni široki, pejzažni ili uspravni oblik prozora.", + "descNote": "Uključivanje ili isključivanje ovog podešavanja obrisće sačuvani raspored za sve kontrolne table uživo grupa kamera. Biće potrebno ručno ponovno konfigurisanje." + }, + "liveFallbackTimeout": { + "label": "Vremensko ograničenje za prelazak na rezervni plejer uživo", + "desc": "Kada strim visokog kvaliteta uživo sa kamere nije dostupan, pređite na režim niskog protoka podataka nakon ovoliko sekundi. Podrazumevano: 3." + } + }, + "storedLayouts": { + "title": "Sačuvani rasporedi", + "desc": "Raspored kamera u grupi kamera se može menjati prevlačenjem ili promenom veličine prozora. Pozicije se čuvaju u lokalnom skladištu vašeg veb-pregledača.", + "clearAll": "Obriši sve rasporede", + "clearConfirm": "Ovo će obrisati sačuvani raspored za svaku grupu kamera u ovom veb-pregledaču. Ova akcija se ne može poništiti." + }, + "cameraGroupStreaming": { + "title": "Podešavanja strimovanja grupa kamera", + "desc": "Podešavanja strimovanja za svaku grupu kamera se čuvaju u lokalnom skladištu vašeg veb-pregledaču.", + "clearAll": "Obriši sva podešavanja strimovanja", + "clearConfirm": "Ovo će obrisati podešavanja strimovanja za svaku grupu kamera u ovom veb-pregledaču. Ova akcija se ne može poništiti." + }, + "backupRestore": { + "title": "Rezervna kopija i oporavak", + "transfer": { + "label": "Datoteka podešavanja uređaja", + "desc": "Rasporedi grupa kamera, podešavanja strimovanja i podešavanja korisničkog interfejsa se čuvaju u vašem veb-pregledaču. Izvezite ih u datoteku da biste napravili rezervnu kopiju ili ih prebacili na drugi uređaj.", + "export": "Izvezi podešavanja", + "import": "Uvezi podešavanja" + }, + "importDialog": { + "title": "Uvezi podešavanja", + "desc": "Izaberite šta želite da primenite iz ove datoteke. Frigate će se ponovo učitati kada se uvoz završi.", + "exportedFrom": "Izvezeno {{date}} iz Frigate konfiguracije verzije {{version}}", + "layouts_one": "Rasporedi grupa kamera ({{count}} grupa)", + "layouts_few": "Rasporedi grupa kamera ({{count}} grupe)", + "layouts_other": "Rasporedi grupa kamera ({{count}} grupa)", + "layoutsPhone": "Rasporedi grupa kamera se ne uvoze na telefonima, koji uvek koriste standardnu mrežu.", + "layoutsModeOn": "Ovi rasporedi koriste prilagođavanje veličine prozora prema odnosu stranica kamere, pa će njihov uvoz takođe uključiti opciju „Koristi izvorni odnos stranica“.", + "layoutsModeOff": "Ovi rasporedi koriste standardno prilagođavanje veličine prozora, pa će njihov uvoz takođe isključiti opciju „Koristi izvorni odnos stranica“.", + "streaming_one": "Podešavanja strimovanja ({{count}} kamera)", + "streaming_few": "Podešavanja strimovanja ({{count}} kamere)", + "streaming_other": "Podešavanja strimovanja ({{count}} kamera)", + "preferences_one": "Podešavanja korisničkog interfejsa ({{count}} podešavanje)", + "preferences_few": "Podešavanja korisničkog interfejsa ({{count}} podešavanja)", + "preferences_other": "Podešavanja korisničkog interfejsa ({{count}} podešavanja)", + "unknownGroups_one": "Grupa kamera {{groups}} se ne nalazi na ovom serveru. Njena podešavanja će biti sačuvana, ali se neće koristiti.", + "unknownGroups_few": "", + "unknownGroups_other": "Grupe kamera {{groups}} se ne nalaze na ovom serveru. Njihova podešavanja će biti sačuvana, ali se neće koristiti.", + "confirm": "Importuj", + "unknownCameras_one": "Kamera {cameras} nije na ovom serveru. Njeno podešavanje strimovanja će biti ignorisano.", + "unknownCameras_few": "Kamere {cameras} nisu na ovom serveru. Njihova podešavanja strimovanja će biti ignorisana.", + "unknownCameras_other": "Kamere {cameras} nisu na ovom serveru. Njihova podešavanja strimovanja će biti ignorisana." + } + }, + "recordingsViewer": { + "title": "Pregledač snimaka", + "defaultPlaybackRate": { + "label": "Podrazumevana brzina reprodukcije", + "desc": "Podrazumevana brzina reprodukcije za puštanje snimaka." + } + }, + "calendar": { + "title": "Kalendar", + "firstWeekday": { + "label": "Prvi dan u nedelji", + "desc": "Dan od kojeg počinju sedmice u kalendaru pregleda.", + "sunday": "Nedelja", + "monday": "Ponedeljak" + } + }, + "toast": { + "success": { + "clearStoredLayout": "Obrisan je sačuvan rasporeda za {cameraName}", + "clearStreamingSettings": "Obrisana su podešavanja strimovanja za sve grupe kamera.", + "exportUiSettings": "Izvežena podešavanja", + "importUiSettings": "Uveyena podešavanja" + }, + "error": { + "clearStoredLayoutFailed": "Neuspešno brisanje sačuvanog rasporeda: {errorMessage}", + "clearStreamingSettingsFailed": "Neuspešno brisanje podešavanja strimovanja: {errorMessage}", + "exportUiSettingsFailed": "Neuspešan izvoz podešavanja", + "importNothingToApply": "Neuspešan uvoz podešavanja: datoteka ne sadrži podešavanja", + "importInvalidJson": "Neuspešan uvoz podešavanja: datoteka nije važeći JSON", + "importWrongType": "Neuspešan uvoz podešavanja: datoteka nije izvoz Frigate podešavanja", + "importUnsupportedVersion": "Neuspešan uvoz podešavanja: datoteka zahteva noviju verziju Frigate-a", + "importInvalidSchema": "Neuspešan uvoz podešavanja: datoteka je neispravno strukturirana", + "importUiSettingsFailed": "Neuspešan uvoz podešavanja" + } + } + }, + "maintenance": { + "title": "Održavanje", + "sync": { + "title": "Sinhronizacija medija" + } + }, + "cameraManagement": { + "title": "Upravljanje kamerama", + "description": "Dodajte, izmenite i obrišite kamere, kontrolišite stanje svake kamere i konfigurišite izmene po profilu i tipu kamere. Da biste konfigurisali strimove, detekciju, pokret i druga podešavanja specifična za kameru, izaberite odgovarajuću sekciju u meniju Konfiguracija kamere.", + "streams": { + "description": "Podesite radno stanje za svaku kameru.

Uključeno: strimovi se obrađuju normalno.
Isključeno: privremeno pauzira obradu. Ne zadržava se nakon ponovnog pokretanja Frigate-a.
Onemogućeno: zaustavlja obradu i čuva izmenu u vašoj konfiguraciji. Potrebno je ponovno pokretanje da bi se onemogućena kamera ponovo aktivirala.

Napomena: Onemogućavanje ne utiče na go2rtc ponovno strimovanje.

Prevucite ručicu da biste promenili redosled aktivnih kamera onako kako se pojavljuju u korisničkom interfejsu, uključujući kontrolnu tablu uživo i padajuće menije za izbor kamera.", + "title": "Stanje i detalji kamere", + "disabledSubheading": "Onemogućeno u konfiguraciji", + "status": { + "on": "Uključeno", + "off": "Isključeno", + "disabled": "Onemogućeno" + }, + "enableSuccess": "Kamera {{cameraName}} je omogućena. Ponovo pokrenite Frigate da primenite izmene.", + "disableSuccess": "Kamera {{cameraName}} je onemogućena i sačuvana u konfiguraciji.", + "reorderHandle": "Prevucite da promenite redosled", + "saving": "Čuvanje…", + "saved": "Sačuvano", + "details": { + "edit": "Izmeni detalje kamere", + "title": "Izmeni detalje kamere", + "description": "Ažurirajte prikazano ime, spoljnu URL adresu i vidljivost koji se koriste za ovu kameru kroz ceo Frigate korisnički interfejs.", + "friendlyNameLabel": "Prikazani naziv", + "friendlyNameHelp": "Prepoznatljiv naziv prikazano za ovu kameru kroz ceo Frigate korisnički interfejs. Ostavite prazno da biste koristili ID kamere.", + "webuiUrlLabel": "URL adresa veb interfejsa kamere", + "webuiUrlHelp": "URL adresa za direktnu posetu veb interfejsu kamere iz Debug pregleda. Ostavite prazno da onemogućite vezu.", + "webuiUrlInvalid": "Mora biti ispravna URL adresa (npr. https://example.com).", + "dashboardLabel": "Prikaži na kontrolnoj tabli uživo", + "dashboardHelp": "Prikaži ovu kameru na podrazumevanoj kontrolnoj tabli uživo „Sve kamere“. Ostaje dostupna svuda drugde, uključujući grupe kamera.", + "reviewLabel": "Prikaži u pregledu", + "reviewHelp": "Prikaži ovu kameru u Pregledu, uključujući filter kamere, pregled kretanja i pregled istorije." + }, + "label": "Stanje kamere" + }, + "clone": { + "sectionTitle": "Kloniraj podešavanja", + "button": "Kloniraj podešavanja", + "title": "Kloniraj podešavanja kamere", + "sectionDescription": "Kopirajte konfiguraciju sa jedne kamere na drugu kameru ili na novu kameru.", + "description": "Kopirajte konfiguraciju kamere na jednu ili više drugih kamera ili na novu kameru. Identitet (naziv, prepoznatljiv naziv, URL veb interfejsa, redosled prikaza) se nikada ne kopira.", + "source": { + "label": "Izvorna kamera", + "placeholder": "Izaberite izvornu kameru", + "required": "Izaberite izvornu kameru" + }, + "target": { + "legend": "Odredište", + "newRadio": "Nova kamera", + "newNameLabel": "Naziv kamere", + "newNamePlaceholder": "npr. zadnja_vrata ili Zadnja Vrata", + "newNameRequired": "Naziv kamere je obavezan", + "newNameInvalid": "Neispravan naziv kamere", + "newNameCollision": "Kamera sa ovim nazivom već postoji", + "newStreamsForced": "Strimovi se uvek kopiraju za novu kameru." + } + }, + "addCamera": "Dodaj novu kameru", + "deleteCamera": "Obriši kameru", + "deleteCameraDialog": { + "title": "Obriši kameru", + "description": "Brisanje kamere će trajno ukloniti sve snimke, praćene objekte i konfiguraciju za tu kameru. Sve go2rtc strimove povezane sa ovom kamerom možda ćete i dalje morati ručno da uklonite.", + "selectPlaceholder": "Izaberi kameru…", + "confirmTitle": "Da li ste sigurni?", + "confirmWarning": "Brisanje kamere {{cameraName}} se ne može poništiti.", + "deleteExports": "Takođe obriši izvezene snimke za ovu kameru", + "confirmButton": "Obriši trajno", + "success": "Kamera {{cameraName}} je uspešno obrisana", + "error": "Brisanje kamere {{cameraName}} nije uspelo" + }, + "editCamera": "Izmeni kameru:", + "selectCamera": "Izaberite kameru", + "backToSettings": "Nazad na podešavanja kamere", + "cameraConfig": { + "add": "Dodaj kameru", + "edit": "Izmeni kameru", + "description": "Konfigurišite podešavanja kamere uključujući ulaze strimova i uloge.", + "name": "Naziv kamere", + "nameRequired": "Naziv kamere je obavezan", + "nameLength": "Naziv kamere mora imati manje od 64 karaktera.", + "namePlaceholder": "npr. prednja_vrata ili Pregled dvorisnih vrata", + "enabled": "Omogućeno", + "ffmpeg": { + "inputs": "Ulazni strimovi", + "path": "Putanja strima", + "pathRequired": "Putanja strima je obavezna", + "pathPlaceholder": "rtsp://...", + "roles": "Uloge", + "rolesRequired": "Najmanje jedna uloga je obavezna", + "rolesUnique": "Svaka uloga (audio, detekcija, snimanje) može biti dodeljena samo jednom strimu", + "addInput": "Dodaj ulazni strim", + "removeInput": "Ukloni ulazni strim", + "inputsRequired": "Najmanje jedan ulazni strim je obavezan" + }, + "go2rtcStreams": "go2rtc strimovi", + "streamUrls": "URL adrese strimova", + "addUrl": "Dodaj URL", + "addGo2rtcStream": "Dodaj go2rtc strim", + "toast": { + "success": "Kamera {{cameraName}} je uspešno sačuvana" + } + }, + "profiles": { + "title": "Premošćavanje kamera u profilu", + "selectLabel": "Izaberi profil", + "description": "Konfigurišite koje se kamere uključuju ili isključuju kada se profil aktivira. Kamere postavljene na „Nasledi“ (Inherit) zadržavaju svoje podrazumevano stanje.", + "inherit": "Nasledi", + "on": "Uključeno", + "off": "Isključeno" + }, + "cameraType": { + "title": "Tip kamere", + "label": "Tip kamere", + "description": "Postavite tip za svaku kameru. Namenske LPR kamere su jednolične kamere sa moćnim optičkim zumom za snimanje registarskih tablica na udaljenim vozilima. Većina kamera bi trebalo da koristi normalan tip kamere, osim ako kamera nije specifično namenjena za LPR (prepoznavanje tablica) i ima usko fokusiran prikaz na registarske tablice.", + "normal": "Normalno", + "dedicatedLpr": "Namenska LPR", + "saveSuccess": "Ažuriran tip kamere za {{cameraName}}. Ponovo pokrenite Frigate da primenite izmene." + } + }, + "configForm": { + "advancedSettingsCount": "Napredna podešavanja ({{count}})", + "showAdvanced": "Prikaži napredna podešavanja", + "audioTranscriptionModel": { + "builtIn": "Ugrađeni modeli", + "genaiProviders": "GenAI provajderi", + "placeholder": "Izaberite model…" + }, + "audioTranscriptionModelSize": { + "notApplicable": "Nije primenljivo za GenAI provajdere" + }, + "genaiModel": { + "search": "Pretražite ili unesite model…", + "noModels": "Nema dostupnih modela", + "available": "Dostupni modeli", + "useCustom": "Koristi „{{value}}“", + "refresh": "Osveži modele", + "probeFailed": "Očitavanje modela nije uspelo", + "fetchedModels": "Lista modela je uspešno preuzeta", + "placeholder": "Pretražite ili unesite model…" + }, + "ptzPresets": { + "placeholder": "Izaberite ili unesite unapred podešenu vrednost...", + "search": "Pretražite ili unesite unapred podešenu vrednost...", + "noPresets": "Nema dostupnih unapred podešenih vrednosti", + "available": "Unapred podešene vrednosti kamere", + "useCustom": "Koristi \"{{value}}\"" + }, + "defaultRole": { + "admin": "Administrator", + "none": "Ništa" + }, + "genaiRoles": { + "options": { + "chat": "Ćaskanje", + "transcribe": "Transkripcija", + "embeddings": "Ugnježdavanje", + "descriptions": "Opisi" + } + }, + "semanticSearchModel": { + "placeholder": "Izaberite model…", + "builtIn": "Ugrađeni modeli", + "genaiProviders": "GenAI provajderi" + }, + "semanticSearchModelSize": { + "notApplicable": "Nije primenljivo za GenAI provajdere" + }, + "review": { + "title": "Podešavanja pregleda" + }, + "audio": { + "title": "Podešavanja zvuka" + }, + "notifications": { + "title": "Podešavanja obaveštenja" + }, + "live": { + "title": "Podešavanja prikaza uživo" + }, + "timestamp_style": { + "title": "Podešavanja vremenske oznake" + }, + "searchPlaceholder": "Pretraži...", + "addCustomLabel": "Dodaj prilagođenu oznaku...", + "birdseyeModes": { + "summary": "Izabrano: {{count}}", + "options": { + "continuous": "Kontinuirano", + "motion": "Kretanje", + "all_objects": "Svi objekti", + "alerts": "Upozorenja", + "detections": "Detekcije" + } + }, + "inputRoles": { + "summary": "Izabrano uloga: {{count}}", + "empty": "Nema dostupnih uloga", + "roleInUse": "Već dodeljeno drugom strimu", + "recordSubConflict": "Strim ne može imati istovremeno dodeljene uloge „record“ i „record_sub“", + "options": { + "detect": "Detekcija", + "record": "Snimanje", + "record_sub": "Snimanje - Podstrim", + "audio": "Audio" + } + }, + "detect": { + "title": "Podešavanja detekcije" + }, + "record": { + "title": "Podešavanja snimanja" + }, + "snapshots": { + "title": "Podešavanja snimaka" + }, + "motion": { + "title": "Podešavanja kretanja" + }, + "objects": { + "title": "Podešavanja objekata" + }, + "audioLabels": { + "summary": "Izabrano audio oznaka: {{count}}", + "empty": "Nema dostupnih audio oznaka" + }, + "objectLabels": { + "summary": "Izabrano tipova objekata: {{count}}", + "empty": "Nema dostupnih oznaka objekata" + }, + "reviewLabels": { + "summary": "Izabrano oznaka: {{count}}", + "empty": "Nema dostupnih oznaka" + }, + "filters": { + "objectFieldLabel": "{{field}} za {{label}}" + }, + "zoneNames": { + "summary": "Izabrano: {{count}}", + "empty": "Nema dostupnih zona" + }, + "sections": { + "mqtt": "MQTT", + "database": "Baza podataka", + "telemetry": "Telemetrija", + "auth": "Prijava", + "tls": "TLS", + "proxy": "Proksi", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detektori", + "model": "Model", + "semantic_search": "Semantička pretraga", + "genai": "GenAI", + "face_recognition": "Prepoznavanje lica", + "lpr": "Prepoznavanje registarskih tablica", + "birdseye": "Birdseye", + "masksAndZones": "Maske / Zone", + "detect": "Detection", + "record": "Snimanje", + "snapshots": "Snimci", + "motion": "Kretanje", + "objects": "Objekti", + "review": "Pregled", + "audio": "Audio", + "notifications": "Obaveštenja", + "live": "Prikaz uživo", + "timestamp_style": "Vremenske oznake" + }, + "ffmpegArgs": { + "presetLabels": { + "preset-rtsp-udp": "RTSP - UDP", + "preset-rtsp-blue-iris": "RTSP - Blue Iris", + "preset-record-generic": "Snimanje (Generičko, bez zvuka)", + "preset-record-generic-audio-copy": "Snimanje (Generičko + kopiranje zvuka)", + "preset-record-generic-audio-aac": "Snimanje (Generičko + konverzija zvuka u AAC)", + "preset-record-mjpeg": "Snimanje - MJPEG kamere", + "preset-record-jpeg": "Snimanje - JPEG kamere", + "preset-record-ubiquiti": "Snimanje - Ubiquiti kamere" + } + }, + "cameraInputs": { + "itemTitle": "Strim {{index}}", + "sourceMode": { + "restream": "Ponovni strim (go2rtc)", + "manual": "Ručna putanja unosa", + "go2rtcStreamLabel": "go2rtc strim", + "go2rtcStreamPlaceholder": "Izaberite go2rtc strim", + "noGo2rtcStreams": "Nema konfigurisanih go2rtc strimova", + "go2rtcStreamSearch": "Pretraži strimove...", + "availableStreams": "Dostupni strimovi", + "noMatchingStreams": "Nema podudarajućih strimova" + } + }, + "restartRequiredField": "Potrebno je ponovno pokretanje", + "restartRequiredFooter": "Konfiguracija je izmenjena - Potrebno je ponovno pokretanje" + }, + "enrichments": { + "title": "Podešavanja obogaćivanja podataka", + "unsavedChanges": "Nesačuvane izmene podešavanja obogaćivanja podataka", + "birdClassification": { + "title": "Klasifikacija ptica", + "desc": "Klasifikacija ptica identifikuje poznate ptice koristeći kvantizovani Tensorflow model. Kada se prepozna poznata ptica, njen uobičajeni naziv će biti dodat kao podoznaka (sub_label). Ove informacije su uključene u korisnički interfejs, filtere, kao i u obaveštenja." + }, + "semanticSearch": { + "title": "Semantička pretraga", + "desc": "Semantička pretraga u Frigate-u vam omogućava da pronađete praćene objekte unutar vaših stavki za pregled koristeći samu sliku, tekstualni opis koji je definisao korisnik ili automatski generisani opis.", + "reindexNow": { + "label": "Reindeksiraj sada", + "desc": "Reindeksiranje će ponovo generisati vektorske reprezentacije (embeddings) za sve praćene objekte. Ovaj proces se pokreće u pozadini i može maksimalno opteretiti vaš procesor i potrajati prilično dugo u zavisnosti od broja praćenih objekata koje imate.", + "confirmTitle": "Potvrdi reindeksiranje", + "confirmDesc": "Da li ste sigurni da želite da ponovo indeksirate sve vektorske reprezentacije praćenih objekata? Ovaj proces će se pokrenuti u pozadini, ali može maksimalno opteretiti vaš procesor i potrajati prilično dugo. Napredak možete pratiti na stranici Istraži.", + "confirmButton": "Reindeksiraj", + "success": "Reindeksiranje je uspešno pokrenuto.", + "alreadyInProgress": "Reindeksiranje je već u toku.", + "error": "Neuspešno pokretanje reindeksiranja: {errorMessage}" + }, + "modelSize": { + "label": "Veličina modela", + "desc": "Veličina modela koji se koristi za vektorske reprezentacije (embeddings) semantičke pretrage.", + "small": { + "title": "mali", + "desc": "Korišćenje mali modela primenjuje kvantizovanu verziju modela koja troši manje RAM memorije i radi brže na procesoru, uz zanemarljivu razliku u kvalitetu vektorskih reprezentacija." + }, + "large": { + "title": "veliki", + "desc": "Korišćenje veliki modela primenjuje puni Jina model i automatski će se pokretati na grafičkoj kartici (GPU) ako je to primenljivo." + } + } + }, + "faceRecognition": { + "title": "Prepoznavanje lica", + "desc": "Prepoznavanje lica omogućava dodeljivanje imena ljudima, a kada se njihovo lice prepozna, Frigate će dodeliti ime osobe kao podoznaku (sub_label). Ove informacije su uključene u korisnički interfejs, filtere, kao i u obaveštenja.", + "modelSize": { + "label": "Veličina modela", + "desc": "Veličina modela koji se koristi za prepoznavanje lica.", + "small": { + "title": "mali", + "desc": "Korišćenje mali modela primenjuje FaceNet model za vektorske reprezentacije lica koji radi efikasno na većini procesora." + }, + "large": { + "title": "veliki", + "desc": "Korišćenje veliki modela primenjuje ArcFace model za vektorske reprezentacije lica i automatski će se pokretati na grafičkoj kartici ako je to primenljivo." + } + } + }, + "licensePlateRecognition": { + "title": "Prepoznavanje registarskih tablica", + "desc": "Frigate može da prepozna registarske tablice na vozilima i automatski doda detektovane karaktere u polje recognized_license_plate ili poznato ime kao podoznaku (sub_label) objektima koji su tipa automobil. Uobičajeni primer upotrebe može biti čitanje registarskih tablica automobila koji ulaze na prilaz ili automobila koji prolaze ulicom." + }, + "restart_required": "Potreban je restart (Izmenjena podešavanja obogaćivanja podataka)", + "toast": { + "success": "Podešavanja obogaćivanja podataka su sačuvana. Restartujte Frigate da biste primenili izmene.", + "error": "Neuspešno čuvanje izmena konfiguracije: {errorMessage}" + } + }, + "cameraWizard": { + "title": "Dodaj kameru", + "description": "Pratite korake u nastavku da biste dodali novu kameru u svoju Frigate instalaciju.", + "steps": { + "nameAndConnection": "Naziv i veza", + "probeOrSnapshot": "Skeniranje ili snimak", + "streamConfiguration": "Konfiguracija strima", + "validationAndTesting": "Validacija i testiranje" + }, + "save": { + "success": "Nova kamera {cameraName} je uspešno sačuvana.", + "failure": "Greška pri čuvanju {cameraName}." + }, + "testResultLabels": { + "resolution": "Rezolucija", + "video": "Video", + "audio": "Audio", + "fps": "FPS" + }, + "commonErrors": { + "noUrl": "Molimo unesite važeći URL strima", + "testFailed": "Testiranje strima nije uspelo: {error}" + }, + "step1": { + "description": "Unesite podatke o kameri i izaberite da sistem skenira kameru ili ručno izaberite brend.", + "cameraName": "Naziv kamere", + "cameraNamePlaceholder": "npr. ulazna_vrata ili Pregled dvorišta", + "host": "Host/IP adresa", + "port": "Port", + "username": "Korisničko ime", + "usernamePlaceholder": "Opciono", + "password": "Lozinka", + "passwordPlaceholder": "Opciono", + "selectTransport": "Izaberite transportni protokol", + "cameraBrand": "Brend kamere", + "selectBrand": "Izaberite brend kamere za šablon URL-a", + "customUrl": "Prilagođeni URL strima", + "brandInformation": "Informacije o brendu", + "brandUrlFormat": "Za kamere sa RTSP URL formatom kao što je: {exampleUrl}", + "customUrlPlaceholder": "rtsp://username:password@host:port/path", + "connectionSettings": "Podešavanja veze", + "detectionMethod": "Metoda detekcije strima", + "onvifPort": "ONVIF port", + "probeMode": "Skeniraj kameru", + "manualMode": "Ručni izbor", + "detectionMethodDescription": "Skenirajte kameru pomoću ONVIF protokola (ako je podržan) da biste pronašli URL-ove strima kamere, ili ručno izaberite brend kamere da biste koristili unapred definisane URL-ove. Da biste uneli prilagođeni RTSP URL, izaberite ručnu metodu i izaberite „Ostalo“.", + "onvifPortDescription": "Za kamere koje podržavaju ONVIF, ovo je obično 80 ili 8080.", + "useDigestAuth": "Koristi digest autentifikaciju", + "useDigestAuthDescription": "Koristite HTTP digest autentifikaciju za ONVIF. Neke kamere mogu zahtevati namensko ONVIF korisničko ime/lozinku umesto standardnog admin korisnika.", + "errors": { + "brandOrCustomUrlRequired": "Ili izaberite brend kamere sa hostom/IP adresom ili izaberite „Ostalo“ sa prilagođenim URL-om", + "nameRequired": "Naziv kamere je obavezan", + "nameLength": "Naziv kamere mora imati 64 karaktera ili manje", + "invalidCharacters": "Naziv kamere sadrži nevažeće karaktere", + "nameExists": "Naziv kamere već postoji", + "customUrlRtspRequired": "Prilagođeni URL-ovi moraju počinjati sa „rtsp://“ ili „rtsps://“. Ručna konfiguracija je obavezna za strimove kamera koji nisu RTSP.", + "onvifPortInvalid": "ONVIF port mora biti ceo broj od 1 do 65535" + } + }, + "step2": { + "description": "Skenirajte kameru za dostupne strimove ili konfigurišite ručna podešavanja na osnovu izabrane metode detekcije.", + "testSuccess": "Testiranje veze uspešno!", + "testFailed": "Testiranje veze nije uspelo. Molimo proverite svoj unos i pokušajte ponovo.", + "testFailedTitle": "Testiranje nije uspelo", + "streamDetails": "Detalji strima", + "probing": "Skeniranje kamere...", + "retry": "Pokušaj ponovo", + "testing": { + "probingMetadata": "Skeniranje metapodataka kamere...", + "fetchingSnapshot": "Preuzimanje snimka kamere..." + }, + "probeFailed": "Neuspešno skeniranje kamere: {error}", + "probingDevice": "Skeniranje uređaja...", + "probeSuccessful": "Skeniranje uspešno", + "probeError": "Greška pri skeniranju", + "probeNoSuccess": "Skeniranje neuspešno", + "deviceInfo": "Informacije o uređaju", + "manufacturer": "Proizvođač", + "model": "Model", + "firmware": "Firmver", + "profiles": "Profili", + "ptzSupport": "PTZ podrška", + "autotrackingSupport": "Podrška za automatsko praćenje", + "presets": "Unapred podešene pozicije", + "rtspCandidates": "RTSP kandidati", + "rtspCandidatesDescription": "Sledeći RTSP URL-ovi su pronađeni skeniranjem kamere. Testirajte vezu da biste videli metapodatke strima.", + "noRtspCandidates": "Nisu pronađeni RTSP URL-ovi sa kamere. Vaši podaci za identifikaciju možda nisu tačni, ili kamera možda не podržava ONVIF, ili metoda korišćena za preuzimanje RTSP URL-ova nije uspela. Vratite se nazad i ručno unesite RTSP URL.", + "candidateStreamTitle": "Kandidat {number}", + "useCandidate": "Iskoristi", + "uriCopy": "Kopiraj", + "uriCopied": "URI je kopiran u privremenu memoriju", + "testConnection": "Testiraj vezu", + "toggleUriView": "Kliknite da biste prebacili na puni prikaz URI-ja", + "connected": "Povezano", + "notConnected": "Nije povezano", + "errors": { + "hostRequired": "Host/IP adresa je obavezna" + } + }, + "step3": { + "description": "Konfigurišite funkcije, uloge strimova i dodajte dodatne strimove za svoju kameru.", + "streamsTitle": "Strimovi kamere", + "addStream": "Dodaj strim", + "addAnotherStream": "Dodaj još jedan strim", + "streamTitle": "Strim {number}", + "streamUrl": "URL strima", + "streamUrlPlaceholder": "rtsp://username:password@host:port/path", + "selectStream": "Izaberi strim", + "searchCandidates": "Pretraži kandidate...", + "noStreamFound": "Nije pronađen nijedan strim", + "url": "URL", + "resolution": "Rezolucija", + "selectResolution": "Izaberi rezoluciju", + "quality": "Kvalitet", + "selectQuality": "Izaberi kvalitet", + "roles": "Uloge", + "roleLabels": { + "detect": "Detekcija objekata", + "record": "Snimanje", + "audio": "Audio" + }, + "testStream": "Testiraj vezu", + "testSuccess": "Testiranje strima uspešno!", + "testFailed": "Testiranje strima nije uspelo", + "testFailedTitle": "Testiranje nije uspelo", + "connected": "Povezano", + "notConnected": "Nije povezano", + "featuresTitle": "Funkcije", + "go2rtc": "Smanjite broj veza sa kamerom", + "appleCompatibility": { + "title": "Poboljšajte reprodukciju na Apple uređajima", + "description": "Uključite ovo ako gledate snimke u Safariju ili na iPhone, iPad ili Mac uređaju." + }, + "detectRoleWarning": "Najmanje jedan strim mora imati dodeljenu ulogu \"detekcija\" da biste nastavili.", + "rolesPopover": { + "title": "Uloge strima", + "detect": "Glavni izvor za detekciju objekata.", + "record": "Čuva segmente video izvora na osnovu podešavanja konfiguracije.", + "record_sub": "Snimci nižeg kvaliteta za prilagodljivu reprodukciju i produženo čuvanje (obično podstrim kamere).", + "audio": "Izvor za detekciju na osnovu zvuka." + }, + "featuresPopover": { + "title": "Funkcije strima", + "description": "Koristite go2rtc restrimovanje da biste smanjili broj veza ka vašoj kameri." + }, + "ptz": { + "title": "Omogući PTZ kontrole", + "detectedNote": "PTZ podrška je detektovana putem ONVIF protokola. Ako je ovo PTZ kamera, omogućavanje ove opcije će vam omogućiti da kontrolišete funkcije pomeranja/nagiba/zumiranja (pan/tilt/zoom) kamere iz korisničkog interfejsa.", + "connectionDetails": "Detalji ONVIF veze", + "host": "ONVIF Host", + "port": "ONVIF Port", + "username": "ONVIF Korisničko ime", + "password": "ONVIF Lozinka", + "hostRequiredWarning": "ONVIF host i port su obavezni kada su PTZ kontrole omogućene." + } + }, + "step4": { + "description": "Finalna verifikacija i analiza pre čuvanja vaše nove kamere. Povežite svaki strim pre čuvanja.", + "validationTitle": "Validacija strima", + "connectAllStreams": "Poveži sve strimove", + "reconnectionSuccess": "Ponovno povezivanje uspešno.", + "reconnectionPartial": "Neki strimovi nisu uspeli da se ponovo povežu.", + "streamUnavailable": "Pregled strima nije dostupan", + "reload": "Osveži", + "connecting": "Povezivanje...", + "streamTitle": "Strim {{number}}", + "valid": "Validno", + "failed": "Nije uspelo", + "notTested": "Nije testirano", + "connectStream": "Poveži se", + "connectingStream": "Povezivanje", + "disconnectStream": "Prekini vezu", + "estimatedBandwidth": "Procenjeni propusni opseg", + "roles": "Uloge", + "ffmpegModule": "Koristi režim kompatibilnosti strima", + "ffmpegModuleDescription": "Ako se strim ne učita nakon nekoliko pokušaja, pokušajte da omogućite ovu opciju. Kada je omogućeno, Frigate će koristiti ffmpeg modul sa go2rtc. Ovo može pružiti bolju kompatibilnost sa pojedinim strimovima kamera.", + "none": "Ništa", + "error": "Greška", + "streamValidated": "Strim {{number}} je uspešno validiran", + "streamValidationFailed": "Validacija strima {{number}} nije uspela", + "saveAndApply": "Sačuvaj novu kameru", + "saveError": "Neispravna konfiguracija. Molimo proverite vaša podešavanja.", + "issues": { + "title": "Validacija strima", + "videoCodecGood": "Video kodek je {{codec}}.", + "audioCodecGood": "Audio kodek je {{codec}}.", + "resolutionHigh": "Rezolucija {{resolution}} može izazvati povećanu potrošnju resursa.", + "resolutionLow": "Rezolucija {{resolution}} može biti preniska za pouzdanu detekciju malih objekata.", + "resolutionUnknown": "Rezolucija ovog strima nije mogla biti automatski očitana. Trebalo bi da ručno podesite rezoluciju za detekciju u Podešavanjima ili u vašoj konfiguraciji.", + "noAudioWarning": "Zvuk nije detektovan na ovom strimu, snimci neće imati audio zapis.", + "audioCodecRecordError": "AAC audio kodek je neophodan da bi zvuk bio podržan u snimcima.", + "audioCodecRequired": "Audio strim je neophodan da bi detekcija zvuka bila podržana.", + "restreamingWarning": "Smanjenje broja veza sa kamerom za strim snimanja može blago povećati zauzeće procesora.", + "brands": { + "reolink-rtsp": "Reolink RTSP se ne preporučuje. Omogućite HTTP u podešavanjima firmvera kamere i ponovo pokrenite čarobnjak.", + "reolink-http": "Reolink HTTP strimovi bi trebalo da koriste FFmpeg radi bolje kompatibilnosti. Omogućite „Koristi režim kompatibilnosti strima“ za ovaj strim." + }, + "dahua": { + "substreamWarning": "Podstrim 1 je zaključan na nisku rezoluciju. Mnoge Dahua / Amcrest / EmpireTech kamere podržavaju dodatne podstrimove koje je potrebno omogućiti u podešavanjima same kamere. Preporučuje se da proverite i iskoristite te strimove ako su dostupni." + }, + "hikvision": { + "substreamWarning": "Podstrim 1 je zaključan na nisku rezoluciju. Mnoge Hikvision kamere podržavaju dodatne podstrimove koje je potrebno omogućiti u podešavanjima same kamere. Preporučuje se da proverite i iskoristite te strimove ako su dostupni." + } + } + } + }, + "globalConfig": { + "title": "Globalna konfiguracija", + "description": "Konfigurišite globalna podešavanja koja se primenjuju na sve kamere, osim ako nisu premošćena.", + "toast": { + "success": "Globalna podešavanja su uspešno sačuvana", + "error": "Čuvanje globalnih podešavanja nije uspelo", + "validationError": "Validacija nije uspela" + } + }, + "cameraConfig": { + "title": "Konfiguracija kamere", + "description": "Konfigurišite podešavanja za pojedinačne kamere. Podešavanja premošćuju globalne podrazumevane vrednosti.", + "overriddenBadge": "Premošćeno", + "resetToGlobal": "Vrati na globalno", + "toast": { + "success": "Podešavanja kamere su uspešno sačuvana", + "error": "Čuvanje podešavanja kamere nije uspelo" + } + }, + "toast": { + "success": "Podešavanja su uspešno sačuvana", + "applied": "Podešavanja su uspešno primenjena", + "go2rtcSyncFailed": "Sačuvano, ali go2rtc nije mogao biti ažuriran. Ponovo pokrenite Frigate da primenite izmene.", + "successRestartRequired": "Podešavanja su uspešno sačuvana. Ponovo pokrenite Frigate da primenite izmene.", + "error": "Čuvanje podešavanja nije uspelo", + "validationError": "Validacija nije uspela: {{message}}", + "resetSuccess": "Vrati na globalne podrazumevane vrednosti", + "resetError": "Vraćanje podešavanja nije uspelo", + "saveAllSuccess_one": "{{count}} sekcija je uspešno sačuvana.", + "saveAllSuccess_few": "Sve sekcije ({{count}}) su uspešno sačuvane.", + "saveAllSuccess_other": "Sve sekcije ({{count}}) su uspešno sačuvane.", + "saveAllSuccessRestartRequired_one": "{{count}} sekcija je uspešno sačuvana. Ponovo pokrenite Frigate da primenite izmene.", + "saveAllSuccessRestartRequired_few": "Sve sekcije ({{count}}) su uspešno sačuvane. Ponovo pokrenite Frigate da primenite izmene.", + "saveAllSuccessRestartRequired_other": "Sve sekcije ({{count}}) su uspešno sačuvane. Ponovo pokrenite Frigate da primenite izmene.", + "saveAllPartial_one": "{{successCount}} od {{totalCount}} sekcije je sačuvana. {{failCount}} nije uspelo.", + "saveAllPartial_few": "{{successCount}} od {{totalCount}} sekcije je sačuvano. {{failCount}} nije uspelo.", + "saveAllPartial_other": "{{successCount}} od {{totalCount}} sekcija je sačuvano. {{failCount}} nije uspelo.", + "saveAllFailure": "Čuvanje svih sekcija nije uspelo." + } +} diff --git a/web/public/locales/sr-Latn/views/system.json b/web/public/locales/sr-Latn/views/system.json index 0967ef424b..7c39e028dd 100644 --- a/web/public/locales/sr-Latn/views/system.json +++ b/web/public/locales/sr-Latn/views/system.json @@ -1 +1,380 @@ -{} +{ + "documentTitle": { + "cameras": "Statistika kamera - Frigate", + "storage": "Statistika skladišta - Frigate", + "general": "Opšta statistika - Frigate", + "enrichments": "Statistika poboljšanja - Frigate", + "logs": { + "frigate": "Dnevnik Frigate sistema - Frigate", + "go2rtc": "Go2RTC dnevnik - Frigate", + "nginx": "Nginx dnevnik - Frigate", + "websocket": "Dnevnik poruka - Frigate" + }, + "health": "Stanje sistema - Frigate" + }, + "title": "Sistem", + "metrics": "Sistemska metrika", + "showAllTabs": "Prikaži sve kartice", + "showLessTabs": "Prikaži manje", + "health": { + "title": "Stanje", + "notices": { + "title": "Obaveštenja", + "empty": "Vaš Frigate sistem radi ispravno", + "acknowledge": "Uvaži", + "acknowledgeHint": "Sakrij dok se ne ponovi", + "mute": "Utišaj", + "muteHint": "Nikada više ne prikazuj ovo", + "unmute": "Uključi zvuk", + "showAgain": "Prikaži ponovo", + "openSettings": "Otvori podešavanja", + "openLink": "Otvori vezu / Otvori link", + "noMatches": "Nema obaveštenja koja odgovaraju filteru", + "hiddenTitle": "Skriveno", + "noneHidden": "Nema skrivenih obaveštenja", + "showAll": "Prikaži sve ponovo", + "showAllTitle": "Prikaži sva skrivena obaveštenja?", + "showAllDesc": "Svako potvrđeno i utišano obaveštenje se vraća na listu obaveštenja, uključujući provere konfiguracije i strimova.", + "occurred_one": "Dogodilo se {{time}}", + "occurred_other": "Poslednji put se dogodilo {{lastTime}} · {{count}} puta od {{time}}", + "acknowledgedAt": "Uvaženo {{time}}", + "mutedAt": "Utišano {{time}}", + "filter": { + "showHidden": "Prikaži skriveno", + "severity": "Ozbiljnost", + "error": "Greška", + "warning": "Upozorenje", + "info": "Informacija" + }, + "kinds": { + "detector_stuck": "Detektor {{detector}} je ponovo pokrenut nakon što je prestao da odgovara", + "model_download_failed": "Preuzimanje datoteke {{file}} za model {{model}} nije uspelo: {{error}}", + "skipped_detections": "Sistem za detekciju nije uspevao da isprati brzinu i preskočio je {{pct}}% kadrova tokom perioda dužeg od jednog minuta", + "ffmpeg_high_cpu": "Zauzeće procesora od strane FFmpeg-a je visoko (prosečno {{cpu}}%)", + "detect_high_cpu": "Zauzeće procesora od strane sistema za detekciju je visoko (prosečno {{cpu}}%)", + "shm_too_low": "/dev/shm dodeljena memorija (trenutno {{total}} MB) bi trebalo da se poveća na najmanje {{min}} MB", + "object_processing_behind": "Obrada praćenih objekata nije uspevala da isprati brzinu, pa su kadrovi sa kamere odbačeni. Proverite iskorišćenost procesora i da li ograničenja procesora ili dodeljivanje jezgara na kontejneru ili virtuelnoj mašini ostavljaju premalo procesorske snage za Frigate", + "failed_login_one": "Neuspešan pokušaj prijave za korisnika {{user}}", + "failed_login_other": "Neuspešni pokušaji prijave za korisnika {{user}}", + "update_available": "Dostupna je verzija Frigate {{version}}", + "analytics_prompt": "Razmislite o deljenju anonimne statistike korišćenja kako biste pomogli programerima da unaprede Frigate" + }, + "streamPrefix": "Strim {{index}}: {{message}}", + "streamPrefixRestream": "Strim {{index}} (putem go2rtc): {{message}}", + "streamProbeFailed": "Analiza strima {{index}} nije uspela: {{error}}", + "cameraProbeFailed": "Analiza strimova nije uspela: {{error}}" + }, + "hardware": { + "title": "Hardver", + "objectDetection": "Detekcija objekata", + "hardwareAcceleration": "Hardversko ubrzanje", + "enrichments": { + "title": "Poboljšanja", + "semantic_search": "Semantička pretraga", + "face_recognition": "Prepoznavanje lica", + "lpr": "Prepoznavanje registarskih tablica", + "audio_transcription": "Audio transkripcija" + }, + "cameraConnections": "Veze sa kamerama", + "allCamerasExcellent": "Sve kamere imaju odličnu vezu.", + "fps": "{{camera}} / {{expected}} fps", + "nothingConfigured": "Ništa nije konfigurisano", + "allCameras": "Sve kamere", + "probeUnavailable": "Hardverska detekcija je nedostupna", + "justStarted": "Frigate je upravo pokrenut", + "deviceNotFound": "Uređaj {{devices}} nije pronađen na ovom sistemu", + "detectorNotRunning": "Proces detektora nije pokrenut", + "inferenceVerySlow": "Obrada (inferencija) je veoma spora ({{speed}} ms)", + "inferenceSlow": "Obrada (inferencija) je spora ({{speed}} ms)", + "inferenceMs": "{{speed}} ms", + "customArgs": "Prilagođeni ffmpeg argumenti", + "customArgsNotVerified": "Prilagođeni ffmpeg argumenti, neverifikovani", + "hwaccelNotConfigured": "Hardversko dekodiranje se ne koristi, ali je {{family}} dostupan. Izaberite ga u ffmpeg podešavanjima", + "hwaccelHardwareMissing": "{{family}} je konfigurisan, ali ga hardverska analiza nije prijavila", + "unrecognizedDevice": "Nepoznat uređaj za nadjačavanje, neverifikovan", + "decoderUsage": "Dekoder: {{usage}}", + "remoteProvider": "Udaljeni provajder", + "acceleratorMissing": "Konfigurisano za {{device}}, ali nije pronađen kompatibilan akcelerator", + "modelNotRunYet": "Model još uvek nije pokrenut; uređaj se verifikuje nakon prve upotrebe", + "fellBackToCpu": "Konfigurisano za {{device}}, ali se izvršava na procesoru", + "cpuDespiteAccelerator": "Izvršava se na procesoru iako je akcelerator dostupan", + "probed": "Analizirano", + "probing": "Analiza u toku...", + "recheck": "Ponovo proveri hardver", + "cameraStreams": "Strimovi kamere", + "streamsNotChecked": "Još uvek nije provereno", + "streamsChecking": "Provera: {{done}} od {{total}}", + "streamsClean": "Nema problema sa strimom", + "checked": "Provereno", + "runAgain": "Pokreni ponovo", + "runStreamChecks": "Pokreni provere strimova", + "streamsChecked_one": "Proverena {{count}} kamera", + "streamsChecked_other": "Provereno {{count}} kamera", + "streamsFlagged_one": "{{count}} sa problemima, navedena pod Obaveštenja", + "streamsFlagged_other": "{{count}} sa problemima, navedene pod Obaveštenja" + } + }, + "logs": { + "websocket": { + "label": "Poruke", + "pause": "Pauziraj", + "resume": "Nastavi", + "clear": "Očisti", + "filter": { + "all": "Sve teme", + "topics": "Teme", + "events": "Događaji", + "reviews": "Pregledi", + "classification": "Klasifikacija", + "face_recognition": "Prepoznavanje lica", + "lpr": "LPR", + "camera_activity": "Aktivnost kamere", + "system": "Sistem", + "camera": "Kamera", + "all_cameras": "Sve kamere", + "cameras_count_one": "{{count}} kamera", + "cameras_count_other": "{{count}} kamere" + }, + "empty": "Još uvek nema zabeleženih poruka", + "count_one": "{{count}} poruka", + "count_other": "{{count}} poruke", + "expanded": { + "payload": "Sadržaj poruke" + } + }, + "download": { + "label": "Preuzmi dnevnik" + }, + "copy": { + "label": "Kopiraj u privremenu memoriju", + "success": "Dnevnik je kopiran u privremenu memoriju", + "error": "Neuspešno kopiranje dnevnika u privremenu memoriju" + }, + "type": { + "label": "Tip", + "timestamp": "Vremenska oznaka", + "tag": "Oznaka", + "message": "Poruka" + }, + "tips": "Dnevnik se strimuje sa servera", + "toast": { + "error": { + "fetchingLogsFailed": "Greška pri preuzimanju dnevnika: {{errorMessage}}", + "whileStreamingLogs": "Greška tokom strimovanja dnevnika: {{errorMessage}}" + } + } + }, + "general": { + "title": "Opšte", + "detector": { + "title": "Detektori", + "inferenceSpeed": "Brzina obrade detektora", + "temperature": "Temperatura detektora", + "cpuUsage": "Zauzeće procesora od strane detektora", + "cpuUsageInformation": "Procesor koji se koristi za pripremu ulaznih i izlaznih podataka za modele detekcije i iz njih. Ova vrednost ne meri iskorišćenost same obrade, čak i ako se koristi grafički procesor ili akcelerator.", + "memoryUsage": "Zauzeće memorije od strane detektora" + }, + "hardwareInfo": { + "title": "Informacije o hardveru", + "gpuUsage": "GPU zauzeće", + "gpuMemory": "GPU memorija", + "gpuEncoder": "GPU enkoder", + "gpuCompute": "GPU obrada / enkodiranje", + "gpuDecoder": "GPU dekoder", + "gpuTemperature": "GPU temperatura", + "gpuInfo": { + "vainfoOutput": { + "title": "Vainfo izlazni podaci", + "returnCode": "Izlazni kod: {{code}}", + "processOutput": "Izlazni podaci procesa:", + "processError": "Greška u procesu:" + }, + "nvidiaSMIOutput": { + "title": "Nvidia SMI izlazni podaci", + "name": "Naziv: {{name}}", + "driver": "Drajver: {{driver}}", + "cudaComputerCapability": "CUDA računarska sposobnost: {{cuda_compute}}", + "vbios": "VBios informacije: {{vbios}}" + }, + "closeInfo": { + "label": "Zatvori informacije o GPU" + }, + "copyInfo": { + "label": "Kopiraj informacije o GPU" + }, + "toast": { + "success": "Informacije o GPU su kopirane u privremenu memoriju" + } + }, + "npuUsage": "NPU zauzeće", + "npuMemory": "NPU memorija", + "npuTemperature": "NPU temperatura" + }, + "otherProcesses": { + "title": "Ostali procesi", + "series": { + "audio_detector": "audio detektor", + "embeddings": "vektorski prikazi", + "review_segment": "segment pregleda", + "recording": "snimanje", + "go2rtc": "go2rtc" + }, + "processMemoryUsage": "Zauzeće memorije", + "processCpuUsage": "Zauzeće CPU" + } + }, + "storage": { + "recordings": { + "title": "Snimci", + "tips": "Ova vrednost predstavlja ukupno skladište koje zauzimaju snimci u Frigate bazi podataka. Frigate ne prati zauzeće skladišta za sve datoteke na vašem disku.", + "earliestRecording": "Najraniji dostupni snimak:" + }, + "overview": "Pregled", + "title": "Skladište", + "shm": { + "title": "Dodeljena SHM (deljena) memorija", + "warning": "Trenutna veličina SHM-a od {{total}} MB je previše mala. Povećajte je na najmanje {{min_shm}} MB.", + "frameLifetime": { + "title": "Vreme čuvanja kadra", + "description": "Svaka kamera ima {{frames}} mesta za kadrove u deljenoj memoriji. Pri najvećem broju kadrova u sekundi (frame rate) te kamere, svaki kadar je dostupan približno {{lifetime}} sekundi pre nego što bude prepisan." + } + }, + "cameraStorage": { + "title": "Skladište kamera", + "camera": "Kamera", + "unusedStorageInformation": "Informacije o neiskorišćenom prostoru", + "storageUsed": "Skladište", + "percentageOfTotalUsed": "Procenat od ukupnog", + "bandwidth": "Propusni opseg", + "unused": { + "title": "Neiskorišćeno", + "tips": "Ova vrednost možda neće tačno prikazati slobodan prostor dostupan Frigate-u ako na vašem disku imate sačuvane druge datoteke pored Frigate snimaka. Frigate ne prati zauzeće skladišta izvan svojih snimaka." + }, + "subStream": { + "information": "Informacije o skladištu sporednog strima", + "tips": "Kamere koje snimaju sporedni strim (sub stream) odvojeno prikazuju zauzeće za izvorni i nizak kvalitet, koristeći iste nazive kao i opcije kvaliteta pri reprodukciji snimaka. Niski kvalitet snimaka ostaje na disku sve dok ne istekne period čuvanja, tako da se ovaj prikaz može i dalje pojavljivati za kameru nakon što je snimanje sporednog strima isključeno." + } + } + }, + "cameras": { + "title": "Kamere", + "overview": "Pregled", + "info": { + "aspectRatio": "Odnos stranica", + "cameraProbeInfo": "Informacije o analizi kamere {{camera}}", + "streamDataFromFFPROBE": "Podaci o strimu su dobijeni pomoću ffprobe.", + "fetching": "Preuzimanje podataka o kameri", + "stream": "Strim {{idx}}", + "video": "Video:", + "codec": "Kodek:", + "resolution": "Rezolucija:", + "fps": "FPS:", + "unknown": "Nepoznato", + "audio": "Audio:", + "error": "Greška: {{error}}", + "tips": { + "title": "Informacije o analizi kamere" + }, + "keyframes": { + "title": "Analiza ključnih kadrova", + "analyzing": "Analiza ključnih kadrova je u toku... preostalo je {{seconds}} sekundi", + "stillAnalyzing": "Analiza ključnih kadrova je i dalje u toku...", + "recordStream": "Strim za snimanje:", + "keyframeCount": "Uočeni ključni kadrovi:", + "observedDuration": "Uočeno trajanje:", + "gap": "Razmak između ključnih kadrova (min / prosek / maks):", + "segmentLength": "Dužina segmenta snimanja:", + "ok": "Ključni kadrovi na svakih ~{{seconds}} s, što je dobro za snimanje i reprodukciju.", + "warningFixed": "Ključni kadrovi su ravnomerno raspoređeni ali su retki (na svakih ~{{seconds}} s). Snimanje i dalje radi, ali će reprodukcija uživo i premotavanje započinjati sporije. Podesite interval ključnih kadrova (I-frame / keyframe) na kameri tako da odgovara broju kadrova u sekundi.", + "warningVariable": "Razmak između ključnih kadrova je neujednačen (od {{minSeconds}} s do {{maxSeconds}} s), što obično znači da je uključen pametni kodek (H.264+/H.265+). Ovo se ne preporučuje.", + "errorFixed": "Ključni kadrovi na svakih ~{{seconds}} s su duži od dužine segmenta snimanja ({{segmentTime}} s), pa pojedini segmenti nemaju ključni kadar i neće moći da se reprodukuju. Skratite interval ključnih kadrova (I-frame / keyframe) na kameri tako da odgovara broju kadrova u sekundi (frame rate).", + "errorVariable": "Razmaci između ključnih kadrova dostižu ~{{seconds}} s, što je duže od dužine segmenta snimanja ({{segmentTime}} s). Pojedini segmenti neće imati ključni kadar, što prekida reprodukciju. Onemogućite pametni/+ kodek na kameri ili skratite interval ključnih kadrova.", + "unknown": "Nije moguće utvrditi razmak između ključnih kadrova.", + "recordDisabled": "Snimanje je onemogućeno za ovu kameru." + } + }, + "framesAndDetections": "Kadrovi / Detekcije", + "noCameras": { + "title": "Nema pronađenih kamera" + }, + "label": { + "camera": "kamera", + "detect": "detekcija", + "skipped": "preskočeno", + "ffmpeg": "FFmpeg", + "capture": "snimanje", + "overallFramesPerSecond": "ukupno kadrova u sekundi", + "overallDetectionsPerSecond": "ukupno detekcija u sekundi", + "overallSkippedDetectionsPerSecond": "ukupno preskočenih detekcija u sekundi", + "cameraFfmpeg": "{{camName}} FFmpeg", + "cameraCapture": "{{camName}} snimanje", + "cameraDetect": "{{camName}} detekcija", + "cameraGpu": "{{camName}} GPU", + "cameraFramesPerSecond": "{{camName}} kadrova u sekundi", + "cameraDetectionsPerSecond": "{{camName}} detekcija u sekundi", + "cameraSkippedDetectionsPerSecond": "{{camName}} preskočenih detekcija u sekundi" + }, + "connectionQuality": { + "title": "Kvalitet veze", + "excellent": "Odličan", + "fair": "Zadovoljavajući", + "poor": "Loš", + "unusable": "Neupotrebljiv", + "fps": "FPS", + "expectedFps": "Očekivani FPS", + "reconnectsLastHour": "Ponovna povezivanja (poslednji sat)", + "stallsLastHour": "Zastoji (poslednji sat)" + }, + "toast": { + "success": { + "copyToClipboard": "Podaci o analizi su kopirani u privremenu memoriju." + }, + "error": { + "unableToProbeCamera": "Nije moguće analizirati kameru: {{errorMessage}}" + } + } + }, + "lastRefreshed": "Poslednji put osveženo: ", + "stats": { + "cameraSkippedDetections": "Kamera {{camera}} preskače detekciju na {{pct}}% kadrova", + "healthy": "Sistem ispravn", + "systemNotices_one": "{{count}} sistemsko obaveštenje", + "systemNotices_other": "{{count}} sistemska obaveštenja", + "moreMessages_one": "+{{count}}", + "moreMessages_other": "+{{count}}", + "reindexingEmbeddings": "Ponovno indeksiranje vektorskih prikaza (završeno {{processed}}%)", + "reindexEmbeddingsFailed": "Ponovno indeksiranje vektorskih prikaza nije uspelo, proverite dnevnik", + "cameraIsOffline": "Kamera {{camera}} je van mreže", + "detectIsSlow": "Detekcija na {{detect}} je spora ({{speed}} ms)", + "detectIsVerySlow": "Detekcija na {{detect}} je veoma spora ({{speed}} ms)", + "retentionUnmet": "Snimci se brišu pre isteka perioda čuvanja kako bi se oslobodio prostor", + "debugReplayActive": "Sesija otklanjanja grešaka i ponovnog puštanja je aktivna" + }, + "enrichments": { + "title": "Poboljšanja", + "infPerSecond": "Broj obrada u sekundi", + "averageInf": "Prosečno vreme obrade", + "embeddings": { + "image_embedding": "Vektorski prikaz slike", + "text_embedding": "Vektorski prikaz teksta", + "face_recognition": "Prepoznavanje lica", + "plate_recognition": "Prepoznavanje tablica", + "image_embedding_speed": "Brzina vektorskog prikaza slike", + "face_embedding_speed": "Brzina vektorskog prikaza lica", + "face_recognition_speed": "Brzina prepoznavanja lica", + "plate_recognition_speed": "Brzina prepoznavanja tablica", + "text_embedding_speed": "Brzina vektorskog prikaza teksta", + "yolov9_plate_detection_speed": "YOLOv9 brzina detekcije tablica", + "yolov9_plate_detection": "YOLOv9 detekcija tablica", + "review_description": "Opis stavke pregleda", + "review_description_speed": "Brzina opisivanja stavke pregleda", + "review_description_events_per_second": "Opis stavke pregleda", + "object_description": "Opis objekta", + "object_description_speed": "Brzina opisivanja objekta", + "object_description_events_per_second": "Opis objekta", + "classification": "{{name}} klasifikacija", + "classification_speed": "{{name}} brzina klasifikacije", + "classification_events_per_second": "{{name}} događaja klasifikacije u sekundi" + } + } +} diff --git a/web/public/locales/sr_Latn/audio.json b/web/public/locales/sr_Latn/audio.json index 0967ef424b..ea84df6ecf 100644 --- a/web/public/locales/sr_Latn/audio.json +++ b/web/public/locales/sr_Latn/audio.json @@ -1 +1,28 @@ -{} +{ + "bicycle": "Bicikl", + "car": "Automobil", + "motorcycle": "Motocikl", + "bus": "Autobus", + "train": "Voz", + "boat": "Čamac", + "bird": "Ptica", + "cat": "Mačka", + "dog": "Pas", + "horse": "Konj", + "sheep": "Ovca", + "skateboard": "Skejtbord", + "door": "Vrata", + "mouse": "Miš", + "keyboard": "Tastatura", + "sink": "Sudopera", + "blender": "Blender", + "clock": "Sat", + "scissors": "Makaze", + "hair_dryer": "Fen za kosu", + "toothbrush": "Četkica za zube", + "vehicle": "Vozilo", + "animal": "Životinja", + "bark": "Lavež", + "goat": "Koza", + "camera": "Kamera" +} diff --git a/web/public/locales/sr_Latn/components/auth.json b/web/public/locales/sr_Latn/components/auth.json index 0967ef424b..457e8e4601 100644 --- a/web/public/locales/sr_Latn/components/auth.json +++ b/web/public/locales/sr_Latn/components/auth.json @@ -1 +1,16 @@ -{} +{ + "form": { + "user": "Korisničko ime", + "password": "Lozinka", + "login": "Prijava", + "firstTimeLogin": "Pokušavate da se prijavite prvi put? Podaci za prijavu su ispisani u Frigate dnevniku.", + "errors": { + "usernameRequired": "Korisničko ime je obavezno", + "passwordRequired": "Lozinka je obavezna", + "rateLimit": "Prekoračeno je ograničenje broja pokušaja. Pokušajte ponovo kasnije.", + "loginFailed": "Prijava nije uspela", + "unknownError": "Nepoznata greška. Proverite dnevnik.", + "webUnknownError": "Nepoznata greška. Proverite dnevnik konzole." + } + } +} diff --git a/web/public/locales/sr_Latn/components/icons.json b/web/public/locales/sr_Latn/components/icons.json index 0967ef424b..4be73c6365 100644 --- a/web/public/locales/sr_Latn/components/icons.json +++ b/web/public/locales/sr_Latn/components/icons.json @@ -1 +1,8 @@ -{} +{ + "iconPicker": { + "selectIcon": "Izaberite ikonu", + "search": { + "placeholder": "Pretražite ikone…" + } + } +} diff --git a/web/public/locales/sr_Latn/components/input.json b/web/public/locales/sr_Latn/components/input.json index 0967ef424b..855e74a1dd 100644 --- a/web/public/locales/sr_Latn/components/input.json +++ b/web/public/locales/sr_Latn/components/input.json @@ -1 +1,10 @@ -{} +{ + "button": { + "downloadVideo": { + "label": "Preuzmi video", + "toast": { + "success": "Preuzimanje video-snimka iz pregleda je počelo." + } + } + } +} diff --git a/web/public/locales/sr_Latn/config/cameras.json b/web/public/locales/sr_Latn/config/cameras.json index 0967ef424b..8ab466d9bd 100644 --- a/web/public/locales/sr_Latn/config/cameras.json +++ b/web/public/locales/sr_Latn/config/cameras.json @@ -1 +1,1052 @@ -{} +{ + "mqtt": { + "label": "MQTT", + "bounding_box": { + "label": "Dodaj uokvireni prostor", + "description": "Iscrtajte uokvirene prostore (bounding boxes) na slikama koje se šalju preko MQTT-a." + }, + "crop": { + "label": "Iseci sliku", + "description": "Isecite slike koje se šalju na MQTT prema uokvirenom prostoru detektovanog objekta." + }, + "height": { + "label": "Visina slike", + "description": "Visina (u pikselima) za promenu veličine slika koje se šalju preko MQTT-a." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi slika bila poslata na MQTT." + }, + "quality": { + "label": "JPEG kvalitet", + "description": "Kvalitet JPEG slika koje se šalju na MQTT (0-100)." + }, + "description": "Podešavanja za slanje slika preko MQTT-a.", + "enabled": { + "label": "Pošalji sliku", + "description": "Omogućite slanje isečaka slika (snapšotova) za objekte na MQTT teme za ovu kameru." + }, + "timestamp": { + "label": "Dodaj vremensku oznaku", + "description": "Preklopite vremensku oznaku preko slika koje se šalju na MQTT." + } + }, + "notifications": { + "label": "Obaveštenja", + "enabled": { + "label": "Omogući obaveštenja", + "description": "Omogućite ili onemogućite obaveštenja za ovu kameru." + }, + "email": { + "label": "E-mail adresa za obaveštenja", + "description": "E-mail adresa koja se koristi za „push” obaveštenja ili koju zahtevaju određeni provajderi obaveštenja." + }, + "cooldown": { + "label": "Period mirovanja", + "description": "Vreme mirovanja (u sekundama) između obaveštenja kako bi se izbeglo preplavljivanje primalaca." + }, + "ttl": { + "label": "TTL obaveštenja", + "description": "Kako „push” usluga rukuje obaveštenjem koje je poslato dok je alarm aktivan ukoliko je vaš uređaj nedostupan. Opcija „Immediate” ga isporučuje odmah ili ga odbacuje. Opcija „Reliable” nastavlja sa pokušajima do 30 sekundi. Obaveštenje poslato kada se alarm završi uvek se čuva do jednog sata." + }, + "enabled_in_config": { + "label": "Prvobitno stanje obaveštenja", + "description": "Pokazuje da li su obaveštenja bila omogućena u prvobitnoj statičkoj konfiguraciji." + }, + "description": "Podešavanja za omogućavanje i kontrolu obaveštenja za ovu kameru." + }, + "audio": { + "label": "Audio detekcija", + "enabled": { + "label": "Omogući audio detekciju", + "description": "Omogućite ili onemogućite detekciju audio događaja za ovu kameru." + }, + "max_not_heard": { + "label": "Vreme isteka za kraj", + "description": "Broj sekundi bez prisustva podešenog tipa zvuka pre nego što se zvučni događaj završi." + }, + "min_volume": { + "label": "Minimalna jačina zvuka", + "description": "Minimalni RMS prag jačine zvuka potreban za pokretanje detekcije zvuka; niže vrednosti povećavaju osetljivost (npr. 200 visoka, 500 srednja, 1000 niska osetljivost)." + }, + "listen": { + "label": "Tipovi zvuka za slušanje", + "description": "Lista tipova zvučnih događaja koje treba detektovati (na primer: lavež, požarni alarm, govor, vika)." + }, + "labelmap": { + "label": "Prilagođavanje mape oznaka zvuka", + "description": "Izmene ili stavke za ponovno mapiranje koje će se spojiti sa standardnom mapom oznaka zvuka." + }, + "filters": { + "label": "Filteri zvuka", + "description": "Podešavanja filtera po pojedinačnim tipovima zvuka, kao što su pragovi pouzdanosti koji se koriste za smanjenje lažno pozitivnih rezultata.", + "threshold": { + "label": "Minimalna pouzdanost zvuka", + "description": "Minimalni prag pouzdanosti da bi se zvučni događaj uzeo u obzir." + } + }, + "enabled_in_config": { + "label": "Prvobitno stanje zvuka", + "description": "Pokazuje da li je detekcija zvuka bila prvobitno omogućena u statičkoj konfiguracionoj datoteci." + }, + "num_threads": { + "label": "Niti za detekciju", + "description": "Broj niti koje se koriste za procesuiranje detekcije zvuka." + }, + "description": "Podešavanja za detekciju događaja na osnovu zvuka za ovu kameru." + }, + "birdseye": { + "label": "Birdseye", + "description": "Podešavanja za kombinovani „Birdseye” prikaz koji spaja strimove sa više kamera u jedan jedinstveni raspored.", + "enabled": { + "label": "Omogući Birdseye", + "description": "Omogućava ili onemogućava funkciju „Birdseye” prikaza." + }, + "modes": { + "label": "Tipovi aktivnosti", + "description": "Tipovi aktivnosti koji uključuju kamere u „Birdseye” prikaz." + }, + "order": { + "label": "Pozicija", + "description": "Numerička pozicija koja kontroliše redosled kamera u Birdseye rasporedu." + } + }, + "detect": { + "label": "Detekcija objekata", + "description": "Podešavanja za ulogu detekcije (detect) koja se koristi za pokretanje detekcije objekata i pokretanje praćenja.", + "enabled": { + "label": "Omogući detekciju objekata", + "description": "Omogućite ili onemogućite detekciju objekata za ovu kameru." + }, + "height": { + "label": "Visina detekcije", + "description": "Visina (u pikselima) kadrova koji se koriste za strim detekcije; ostavite prazno kako bi se koristila izvorna rezolucija strima." + }, + "width": { + "label": "Širina detekcije", + "description": "Širina (u pikselima) kadrova koji se koriste za strim detekcije; ostavite prazno kako bi se koristila izvorna rezolucija strima." + }, + "scene": { + "label": "Scena detekcije", + "description": "Okruženje koje ova kamera posmatra, a koje služi za izbor modela koji će se na njoj pokretati. Kamere koje ostanu podešene na „default” pokreću model koji je konfigurisan sa scenom „default”." + }, + "fps": { + "label": "FPS detekcije", + "description": "Željeni broj kadrova u sekundi za pokretanje detekcije; niže vrednosti smanjuju opterećenje procesora (CPU) (preporučena vrednost je 5, a višu – najviše 10 – postavite samo ako pratite izuzetno brze objekte)." + }, + "min_initialized": { + "label": "Minimalni broj kadrova za pokretanje", + "description": "Broj uzastopnih pogodaka detekcije koji su potrebni pre nego što se kreira praćeni objekat. Povećajte ovu vrednost da biste smanjili lažna pokretanja. Podrazumevana vrednost je FPS podeljen sa 2." + }, + "max_disappeared": { + "label": "Maksimalni broj kadrova nestanka", + "description": "Broj kadrova bez detekcije nakon kojeg se praćeni objekat smatra nestalim." + }, + "stationary": { + "label": "Konfiguracija stacionarnih objekata", + "description": "Podešavanja za detekciju i upravljanje objektima koji ostaju nepomični (stacionarni) tokom određenog vremenskog perioda.", + "interval": { + "label": "Interval za stacionarne objekte", + "description": "Koliko često (u kadrovima) treba pokrenuti proveru detekcije radi potvrde da je objekat stacionaran." + }, + "threshold": { + "label": "Prag za stacionarne objekte", + "description": "Broj kadrova bez promene pozicije koji je potreban da bi se objekat označio kao stacionaran." + }, + "max_frames": { + "label": "Maksimalno kadrova", + "description": "Ograničava koliko dugo se prate stacionarni objekti pre nego što budu odbačeni.", + "default": { + "label": "Podrazumevano maksimalno kadrova", + "description": "Podrazumevani maksimalni broj kadrova za praćenje stacionarnog objekta pre zaustavljanja." + }, + "objects": { + "label": "Maksimalno kadrova po objektu", + "description": "Izmene maksimalnog broja kadrova za praćenje stacionarnih objekata po pojedinačnim objektima." + } + }, + "classifier": { + "label": "Omogući vizuelni klasifikator", + "description": "Koristi vizuelni klasifikator za detekciju istinski stacionarnih objekata čak i kada okvir za detekciju treperi ili podrhtava." + } + }, + "annotation_offset": { + "label": "Pomak anotacije", + "description": "Milisekunde za pomeranje anotacija detekcije kako bi se okviri na vremenskoj liniji bolje uskladili sa snimcima; vrednost može biti pozitivna ili negativna." + } + }, + "ffmpeg": { + "path": { + "label": "FFmpeg putanja", + "description": "Putanja do FFmpeg izvršne datoteke koja će se koristiti ili alijas verzije (\"7.0\" ili \"8.0\")." + }, + "global_args": { + "label": "FFmpeg globalni argumenti", + "description": "Globalni argumenti koji se prosleđuju FFmpeg procesima." + }, + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje", + "description": "Argumenti za hardversko ubrzanje za FFmpeg. Preporučuje se korišćenje unapred podešenih šablona specifičnih za provajdera hardvera." + }, + "input_args": { + "label": "Ulazni argumenti", + "description": "Ulazni argumenti koji se primenjuju na FFmpeg ulazne strimove." + }, + "output_args": { + "label": "Izlazni argumenti", + "description": "Podrazumevani izlazni argumenti koji se koriste za različite FFmpeg uloge, kao što su detekcija i snimanje.", + "detect": { + "label": "Izlazni argumenti za detekciju", + "description": "Podrazumevani izlazni argumenti za strimove sa ulogom detekcije." + }, + "record": { + "label": "Izlazni argumenti za snimanje", + "description": "Podrazumevani izlazni argumenti za strimove sa ulogom snimanja." + }, + "record_sub": { + "label": "Izlazni argumenti za snimanje pomoćnog strima", + "description": "Izlazni argumenti za strimove sa ulogom pomoćnog snimanja (record_sub). Kada ovo nije podešeno, koriste se glavni izlazni argumenti za snimanje." + } + }, + "retry_interval": { + "label": "Vreme za ponovni pokušaj FFmpeg-a", + "description": "Broj sekundi čekanja pre pokušaja ponovnog povezivanja strima kamere nakon prekida. Podrazumevana vrednost je 10." + }, + "apple_compatibility": { + "label": "Kompatibilnost sa Apple uređajima", + "description": "Omogućava HEVC označavanje radi bolje kompatibilnosti sa Apple plejerima prilikom snimanja u H.265 formatu." + }, + "gpu": { + "label": "Indeks grafičkog procesora", + "description": "Podrazumevani indeks grafičkog procesora koji se koristi za hardversko ubrzanje, ukoliko je dostupan." + }, + "inputs": { + "label": "Ulazi kamere", + "description": "Lista definicija ulaznih strimova (putanje i uloge) za ovu kameru.", + "path": { + "label": "Ulazna putanja", + "description": "URL ili putanja ulaznog strima kamere." + }, + "roles": { + "label": "Ulazne uloge", + "description": "Uloge za ovaj ulazni strim." + }, + "global_args": { + "label": "FFmpeg globalni argumenti", + "description": "FFmpeg globalni argumenti za ovaj ulazni strim." + }, + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje", + "description": "Argumenti za hardversko ubrzanje za ovaj ulazni strim." + }, + "input_args": { + "label": "Ulazni argumenti", + "description": "Ulazni argumenti specifični za ovaj strim." + } + }, + "label": "Strimovi (FFmpeg)", + "description": "Ulazni strimovi kamere i FFmpeg opcije, uključujući putanju do izvršne datoteke (binary path), argumente, hardversko ubrzanje (hwaccel) i argumente izlaznog strima po ulogama." + }, + "live": { + "label": "Prikaz uživo", + "streams": { + "label": "Nazivi strimova uživo", + "description": "Mapiranje konfigurisanih naziva strimova na restream/go2rtc nazive koji se koriste za prikaz uživo." + }, + "transcode": { + "label": "Transkodovani strimovi", + "description": "Strimovi uživo nižeg kvaliteta koje go2rtc transkoduje na zahtev.", + "enabled": { + "label": "Omogući transkodovane strimove", + "description": "Dodaje strimove uživo nižeg kvaliteta koje go2rtc transkoduje u realnom vremenu dok neko gleda." + }, + "source": { + "label": "Izvorni strim", + "description": "go2rtc strim koji treba transkodovati. Ako nije podešeno, podrazumeva se prvi strim uživo." + }, + "qualities": { + "label": "Kvaliteti", + "description": "Dodaje se po jedan transkodovani strim za svaki kvalitet.", + "height": { + "label": "Visina", + "description": "Izlazna visina u pikselima; širina prati izvorni odnos stranica." + }, + "bitrate": { + "label": "Bitrate", + "description": "Ciljani i maksimalni protok video podataka u kbps." + } + } + }, + "height": { + "label": "Visina prikaza uživo", + "description": "Visina (u pikselima) za prikazivanje jsmpeg strima uživo u veb korisničkom interfejsu; mora biti manja ili jednaka (<=) visini strima detekcije." + }, + "quality": { + "label": "Kvalitet prikaza uživo", + "description": "Kvalitet kodiranja za jsmpeg strim (1 je najviši kvalitet, 31 najniži)." + }, + "description": "Podešavanja koja se koriste u veb-pregledaču za kontrolu izbora strima uživo, rezolucije i kvaliteta." + }, + "motion": { + "label": "Detekcija pokreta", + "enabled": { + "label": "Omogući detekciju pokreta", + "description": "Omogućite ili onemogućite detekciju pokreta za ovu kameru." + }, + "threshold": { + "label": "Prag pokreta", + "description": "Prag razlike u pikselima koji koristi detektor pokreta; više vrednosti smanjuju osetljivost (opseg 1-255)." + }, + "lightning_threshold": { + "label": "Prag za munje", + "description": "Prag za detekciju i ignorisanje kratkih bljeskova osvetljenja (niže vrednosti znače veću osetljivost, vrednosti su između 0.3 i 1.0). Ovo ne sprečava u potpunosti detekciju pokreta; samo uzrokuje da detektor prestane sa analizom dodatnih kadrova kada se ovaj prag prekorači. Snimci zasnovani na pokretu se i dalje kreiraju tokom ovih događaja." + }, + "skip_motion_threshold": { + "label": "Prag za preskakanje pokreta", + "description": "Ako se postavi na vrednost između 0.0 i 1.0, i ako se u jednom kadru promeni procenat slike veći od ovog udela, detektor neće prikazati okvire za pokret i odmah će se rekalibrisati. Ovo može uštedeti resurse CPU i smanjiti lažno pozitivne rezultate tokom grmljavine, oluja itd., ali može propustiti stvarne događaje kao što je PTZ kamera koja automatski prati objekat. Kompromis je između gubitka nekoliko megabajta snimaka i pregledanja nekoliko kratkih video-klipova. Ostavite nepodešeno da biste onemogućili ovu funkciju." + }, + "improve_contrast": { + "label": "Poboljšaj kontrast", + "description": "Primenjuje poboljšanje kontrasta na kadrove pre analize pokreta kako bi se pomoglo u detekciji." + }, + "contour_area": { + "label": "Površina konture", + "description": "Minimalna površina konture u pikselima koja je potrebna da bi se kontura pokreta uzela u obzir." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa stapanja koji se koristi pri poređenju razlika među kadrovima za proračun pokreta." + }, + "frame_alpha": { + "label": "Alfa kadra", + "description": "Alfa vrednost koja se koristi prilikom stapanja kadrova tokom predobrade pokreta." + }, + "frame_height": { + "label": "Visina kadra", + "description": "Visina u pikselima na koju se kadrovi skaliraju prilikom proračuna pokreta." + }, + "mask": { + "label": "Koordinate maske", + "description": "Sortirane x,y koordinate koje definišu poligon maske pokreta, a koji služi za uključivanje ili isključivanje određenih oblasti." + }, + "mqtt_off_delay": { + "label": "MQTT odlaganje isključivanja", + "description": "Broj sekundi čekanja nakon poslednjeg zabeleženog pokreta pre slanja MQTT „off” stanja." + }, + "enabled_in_config": { + "label": "Prvobitno stanje pokreta", + "description": "Pokazuje da li je detekcija pokreta bila omogućena u prvobitnoj statičkoj konfiguraciji." + }, + "raw_mask": { + "label": "Sirova maska" + }, + "description": "Podrazumevana podešavanja detekcije pokreta" + }, + "objects": { + "label": "Objekti", + "description": "Podrazumevana podešavanja za praćenje objekata, uključujući oznake koje treba pratiti i filtere po pojedinačnim objektima.", + "track": { + "label": "Objekti za praćenje", + "description": "Lista oznaka objekata koje treba pratiti za ovu kameru." + }, + "filters": { + "label": "Filteri objekata", + "description": "Filteri koji se primenjuju na detektovane objekte radi smanjenja lažno pozitivnih rezultata (površina, odnos stranica, pouzdanost).", + "min_area": { + "label": "Minimalna površina objekta", + "description": "Minimalna površina okvira za detekciju (u pikselima ili procentima) potrebna za ovaj tip objekta. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina objekta", + "description": "Maksimalna površina okvira za detekciju (u pikselima ili procentima) dozvoljena za ovaj tip objekta. Može biti u pikselima (ceo bro) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni odnos stranica", + "description": "Minimalni odnos širine i visine koji je potreban da bi okvir za detekciju ispunio uslove." + }, + "max_ratio": { + "label": "Maksimalni odnos stranica", + "description": "Maksimalni odnos širine i visine koji je dozvoljen da bi okvir za detekciju ispunio uslove." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosečan prag pouzdanosti detekcije koji je potreban da bi se objekat smatrao istinski pozitivnim rezultatom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije u jednom kadru koja je potrebna da bi se objekat uzeo u obzir." + }, + "mask": { + "label": "Maska filtera", + "description": "Koordinate poligona koje definišu gde se ovaj filter primenjuje unutar kadra." + }, + "raw_mask": { + "label": "Sirova maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligon maske koji se koristi za sprečavanje detekcije objekata u određenim oblastima." + }, + "raw_mask": { + "label": "Sirova maska" + }, + "genai": { + "label": "GenAI konfiguracija objekata", + "description": "GenAI opcije za opisivanje praćenih objekata i slanje kadrova za generisanje.", + "enabled": { + "label": "Omogući GenAI", + "description": "Podrazumevano omogućava GenAI generisanje opisa za praćene objekte." + }, + "use_snapshot": { + "label": "Koristi snimke ekrana", + "description": "Koristi snimke ekrana objekata umesto sličica za GenAI generisanje opisa." + }, + "prompt": { + "label": "Upit za opis", + "description": "Podrazumevani šablon upita (prompt) koji se koristi prilikom generisanja opisa pomoću GenAI-ja." + }, + "object_prompts": { + "label": "Upiti za specifične objekte", + "description": "Upiti po pojedinačnim objektima za prilagođavanje GenAI izlaza za specifične oznake." + }, + "objects": { + "label": "GenAI objekti", + "description": "Lista oznaka objekata koji se podrazumevano šalju GenAI provajderu." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe kako bi ispunio uslove za GenAI generisanje opisa." + }, + "debug_save_thumbnails": { + "label": "Sačuvaj sličice", + "description": "Čuva sličice poslate GenAI provajderu radi rešavanja problema i pregleda." + }, + "send_triggers": { + "label": "GenAI okidači", + "description": "Definiše kada kadrove treba poslati GenAI provajderu (na kraju događaja, nakon ažuriranja, itd.).", + "tracked_object_end": { + "label": "Pošalji na kraju", + "description": "Šalje zahtev GenAI provajderu kada se praćenje objekta završi." + }, + "after_significant_updates": { + "label": "Rani GenAI okidač", + "description": "Šalje zahtev GenAI provajderu nakon određenog broja značajnih ažuriranja za praćeni objekat." + } + }, + "enabled_in_config": { + "label": "Prvobitno GenAI stanje", + "description": "Pokazuje da li je GenAI bio omogućen u prvobitnoj statičkoj konfiguraciji." + } + } + }, + "record": { + "label": "Snimanje", + "enabled": { + "label": "Omogući snimanje", + "description": "Omogućite ili onemogućite snimanje za ovu kameru." + }, + "expire_interval": { + "label": "Interval čišćenja snimaka", + "description": "Broj minuta između ciklusa čišćenja koji uklanjaju istekle segmente snimaka." + }, + "continuous": { + "label": "Kontinuirano zadržavanje", + "description": "Broj dana tokom kojih se čuvaju snimci bez obzira na praćene objekte ili pokret. Postavite na 0 ako želite da zadržite samo snimke upozorenja i detekcija.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "motion": { + "label": "Zadržavanje na osnovu pokreta", + "description": "Broj dana tokom kojih se čuvaju snimci pokrenuti pokretom, bez obzira na praćene objekte. Postavite na 0 ako želite da zadržite samo snimke upozorenja i detekcija.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "detections": { + "label": "Zadržavanje na osnovu detekcije", + "description": "Podešavanja zadržavanja snimaka za događaje detekcije, uključujući trajanje snimanja pre i nakon samog događaja.", + "pre_capture": { + "label": "Sekunde pre događaja", + "description": "Broj sekundi pre samog događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon događaja", + "description": "Broj sekundi nakon samog događaja detekcije koje treba uključiti u snimak." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Podešavanja zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "alerts": { + "label": "Zadržavanje upozorenja", + "description": "Podešavanja zadržavanja snimaka za događaje upozorenja, uključujući trajanje snimanja pre i nakon samog događaja.", + "pre_capture": { + "label": "Sekunde pre događaja", + "description": "Broj sekundi pre samog događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon događaja", + "description": "Broj sekundi nakon samog događaja detekcije koje treba uključiti u snimak." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Podešavanja zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Podešavanja koja se koriste prilikom izvoza snimaka, kao što su ubrzani snimak (timelapse) i hardversko ubrzanje.", + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje izvoza", + "description": "Argumenti hardverskog ubrzanja koji se koriste za operacije izvoza i transkodovanja videa." + }, + "max_concurrent": { + "label": "Maksimalno istovremenih izvoza", + "description": "Maksimalan broj zadataka izvoza koji se mogu obrađivati u isto vreme." + }, + "chapters": { + "label": "Metapodaci o poglavljima za ugradnju u izvezene snimke" + } + }, + "preview": { + "label": "Konfiguracija pregleda", + "description": "Podešavanja koja kontrolišu kvalitet pregleda snimaka koji se prikazuju u korisničkom interfejsu.", + "quality": { + "label": "Kvalitet pregleda", + "description": "Nivo kvaliteta pregleda (very_low, low, medium, high, very_high)." + } + }, + "sub": { + "label": "Snimanje pomoćnog strima", + "description": "Podešavanja za snimanje drugog strima nižeg kvaliteta.", + "enabled": { + "label": "Omogući snimanje pomoćnog strima", + "description": "Omogućava snimanje drugog strima nižeg kvaliteta radi prilagodljivog (adaptivnog) puštanja videa i produženog čuvanja snimaka." + }, + "continuous": { + "label": "Kontinuirano zadržavanje pomoćnog strima", + "description": "Broj dana tokom kojih se čuvaju snimci pomoćnog strima, bez obzira na praćene objekte ili pokret.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "motion": { + "label": "Zadržavanje pomoćnog strima na osnovu pokreta", + "description": "Broj dana tokom kojih se čuvaju snimci pomoćnog strima pokrenuti pokretom.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "alerts": { + "label": "Zadržavanje pomoćnog strima na osnovu upozorenja", + "description": "Podešavanja zadržavanja za snimke upozorenja sa pomoćnog strima.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + }, + "detections": { + "label": "Zadržavanje pomoćnog strima na osnovu detekcije", + "description": "Podešavanja zadržavanja za snimke detekcija sa pomoćnog strima.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "enabled_in_config": { + "label": "Prvobitno stanje snimanja", + "description": "Pokazuje da li je snimanje bilo omogućeno u prvobitnoj statičkoj konfiguraciji." + }, + "description": "Podešavanja snimanja i perioda čuvanja snimaka za ovu kameru." + }, + "review": { + "label": "Pregled", + "alerts": { + "label": "Konfiguracija upozorenja", + "description": "Podešavanja za koje praćene objekte se generišu upozorenja i kako se ta upozorenja zadržavaju.", + "enabled": { + "label": "Omogući upozorenja", + "description": "Omogućite ili onemogućite generisanje alarma za ovu kameru." + }, + "labels": { + "label": "Oznake upozorenja", + "description": "Lista oznaka objekata koji ispunjavaju uslove za upozorenje (na primer: automobil, osoba)." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi se smatrao upozorenjem; ostavite prazno da biste dozvolili bilo koju zonu." + }, + "enabled_in_config": { + "label": "Prvobitno stanje upozorenja", + "description": "Prati da li su upozorenja bila prvobitno omogućena u statičkoj konfiguraciji." + }, + "cutoff_time": { + "label": "Vreme prekida upozorenja", + "description": "Broj sekundi čekanja nakon što prestane aktivnost koja izaziva upozorenje pre nego što se upozorenje prekine." + } + }, + "detections": { + "label": "Konfiguracija detekcija", + "description": "Podešavanja za koje praćene objekte se generišu detekcije (koje nisu upozorenja) i kako se te detekcije zadržavaju.", + "enabled": { + "label": "Omogući detekcije", + "description": "Omogućite ili onemogućite događaje detekcije za ovu kameru." + }, + "labels": { + "label": "Oznake detekcija", + "description": "Lista oznaka objekata koji ispunjavaju uslove za događaje detekcije." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi se smatrao detekcijom; ostavite prazno da biste dozvolili bilo koju zonu." + }, + "cutoff_time": { + "label": "Vreme prekida detekcija", + "description": "Broj sekundi čekanja nakon što prestane aktivnost koja izaziva detekciju pre nego što se detekcija prekine." + }, + "enabled_in_config": { + "label": "Prvobitno stanje detekcija", + "description": "Prati da li su detekcije bile prvobitno omogućene u statičkoj konfiguraciji." + } + }, + "genai": { + "label": "GenAI konfiguracija", + "description": "Kontroliše upotrebu generativne veštačke inteligencije za pravljenje opisa i rezimea stavki pregleda.", + "enabled": { + "label": "Omogući GenAI opise", + "description": "Omogućava ili onemogućava opise i rezimee generisane pomoću GenAI-ja za stavke pregleda." + }, + "alerts": { + "label": "Omogući GenAI za upozorenja", + "description": "Koristi GenAI za generisanje opisa stavki upozorenja." + }, + "detections": { + "label": "Omogući GenAI za detekcije", + "description": "Koristi GenAI za generisanje opisa stavki detekcija." + }, + "image_source": { + "label": "Izvor slike za pregled", + "description": "Izvor slika koje se šalju GenAI provajderu ('preview' [pregled] ili 'recordings' [snimci]); opcija 'recordings' koristi kadrove višeg kvaliteta, ali troši više tokena." + }, + "additional_concerns": { + "label": "Dodatne napomene", + "description": "Lista dodatnih napomena ili beleški koje GenAI treba da uzme u obzir prilikom procene aktivnosti na ovoj kameri." + }, + "debug_save_thumbnails": { + "label": "Sačuvaj sličice", + "description": "Čuva sličice poslate GenAI provajderu radi rešavanja problema i pregleda." + }, + "enabled_in_config": { + "label": "Prvobitno GenAI stanje", + "description": "Prati da li je GenAI pregled bio prvobitno omogućen u statičkoj konfiguraciji." + }, + "preferred_language": { + "label": "Željeni jezik", + "description": "Željeni jezik koji se zahteva od GenAI provajdera za generisane odgovore." + }, + "frame_mode": { + "label": "Režim kadrova", + "description": "Način na koji se kadrovi predstavljaju modelu. Opcija 'frames' šalje upit praćen kadrovima, što odgovara modelima koji samostalno dobro prate sekvencu. Opcija 'annotated_frames' označava svaki kadar i umeće beleške izvedene iz praćenja objekata, što pomaže modelima koji gube korak sa aktivnošću koja se ponavlja ili odvija unazad." + }, + "response_style": { + "label": "Stil odgovora", + "description": "Unapred podešeni stil pisanja za generisane opise pregleda. Šabloni prilagođavaju ton i nivo detalja za naslov prikazan korisniku, rezime i opis scene; opcija 'default' ostavlja ugrađeni upit nepromenjen." + }, + "activity_context_prompt": { + "label": "Upit za kontekst aktivnosti", + "description": "Prilagođeni upit koji opisuje šta jeste, a šta nije sumnjiva aktivnost, kako bi se pružio kontekst za GenAI rezimee." + } + }, + "description": "Podešavanja koja kontrolišu alarme, detekcije i GenAI sažetke pregleda koji se koriste u sistemu i skladištu za ovu kameru." + }, + "snapshots": { + "label": "Snimci ekrana", + "enabled": { + "label": "Omogući snimke ekrana", + "description": "Omogućite ili onemogućite čuvanje slika za ovu kameru." + }, + "timestamp": { + "label": "Prikaz vremenske oznake", + "description": "Ugrađuje vremensku oznaku (datum i vreme) na snimke ekrana dobijene preko API-ja." + }, + "bounding_box": { + "label": "Prikaz okvira za detekciju", + "description": "Iscrtava okvire oko praćenih objekata na snimcima ekrana dobijenim preko API-ja." + }, + "crop": { + "label": "Isecanje snimka ekrana", + "description": "Iseca snimke ekrana dobijene preko API-ja na veličinu okvira za detekciju detektovanog objekta." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi snimak ekrana bio sačuvan." + }, + "height": { + "label": "Visina snimka ekrana", + "description": "Visina (u pikselima) na koju se menjaju dimenzije snimaka ekrana dobijenih preko API-ja; ostavite prazno da biste zadržali izvornu veličinu." + }, + "retain": { + "label": "Zadržavanje snimaka ekrana", + "description": "Podešavanja zadržavanja za snimke ekrana, uključujući podrazumevani broj dana i izmene po pojedinačnim objektima.", + "default": { + "label": "Podrazumevano zadržavanje", + "description": "Podrazumevani broj dana tokom kojih se čuvaju snimci ekrana." + }, + "objects": { + "label": "Zadržavanje po objektu", + "description": "Izmene broja dana zadržavanja snimaka ekrana po pojedinačnim objektima." + } + }, + "quality": { + "label": "Kvalitet snimka ekrana", + "description": "Kvalitet kodiranja za sačuvane snimke ekrana (0-100)." + }, + "description": "Podešavanja za automatski generisane slike praćenih objekata putem API-ja za ovu kameru." + }, + "timestamp_style": { + "label": "Stil vremenske oznake", + "position": { + "label": "Pozicija vremenske oznake", + "description": "Pozicija vremenske oznake na slici (tl [gore levo], tr [gore desno], bl [dole levo], br [dole desno])." + }, + "format": { + "label": "Format vremenske oznake", + "description": "Tekstualni format datuma i vremena koji se koristi za vremenske oznake (Python datetime kodovi za formatiranje)." + }, + "color": { + "label": "Boja vremenske oznake", + "description": "RGB vrednosti boja za tekst vremenske oznake (sve vrednosti od 0 do 255).", + "red": { + "label": "Crvena", + "description": "Crvena komponenta (0-255) za boju vremenske oznake." + }, + "green": { + "label": "Zelena", + "description": "Zelena komponenta (0-255) za boju vremenske oznake." + }, + "blue": { + "label": "Plava", + "description": "Plava komponenta (0-255) za boju vremenske oznake." + } + }, + "thickness": { + "label": "Debljina vremenske oznake", + "description": "Debljina linije teksta vremenske oznake." + }, + "effect": { + "label": "Efekat vremenske oznake", + "description": "Vizuelni efekat za tekst vremenske oznake (bez efekta, puna pozadina, senka)." + }, + "description": "Opcije stilizovanja vremenskih oznaka koje se primenjuju na sačuvane slike i prikaz otklanjanja grešaka." + }, + "audio_transcription": { + "label": "Transkripcija zvuka", + "description": "Podešavanja za transkripciju zvuka uživo i govora koja se koristi za događaje i titlove uživo.", + "live_enabled": { + "label": "Transkripcija uživo", + "description": "Omogućava strimovanje transkripcije zvuka uživo čim se on primi." + }, + "enabled_in_config": { + "label": "Izvorni status transkripcije" + }, + "enabled": { + "description": "Omogućite ili onemogućite ručno pokretanje transkripcije audio događaja.", + "label": "Omogući transkripciju" + } + }, + "semantic_search": { + "label": "Semantička pretraga", + "triggers": { + "label": "Okidači", + "description": "Akcije i kriterijumi podudaranja za okidače semantičke pretrage specifične za kameru.", + "friendly_name": { + "label": "Uobičajeni naziv", + "description": "Opcioni uobičajeni naziv koji se prikazuje u korisničkom interfejsu za ovaj okidač." + }, + "enabled": { + "label": "Omogući ovaj okidač", + "description": "Omogućava ili onemogućava ovaj okidač semantičke pretrage." + }, + "type": { + "label": "Tip okidača", + "description": "Tip okidača: 'thumbnail' (podudaranje sa slikom) ili 'description' (podudaranje sa tekstom)." + }, + "data": { + "label": "Sadržaj okidača", + "description": "Tekstualna fraza ili ID sličice za podudaranje sa praćenim objektima." + }, + "threshold": { + "label": "Prag okidača", + "description": "Minimalni rezultat sličnosti (0-1) koji je potreban za aktiviranje ovog okidača." + }, + "actions": { + "label": "Akcije okidača", + "description": "Lista akcija koje treba izvršiti kada se okidač poklopi (obaveštenje, pod-oznaka, atribut)." + } + }, + "description": "Podešavanja za semantičku pretragu koja kreira i pretražuje vektorske prikaze objekata radi pronalaženja sličnih stavki." + }, + "face_recognition": { + "label": "Prepoznavanje lica", + "enabled": { + "label": "Omogući prepoznavanje lica", + "description": "Omogućite ili onemogućite prepoznavanje lica." + }, + "min_area": { + "label": "Minimalna površina lica", + "description": "Minimalna površina okvira detektovanog lica (u pikselima) koja je potrebna da bi se pokušalo prepoznavanje." + }, + "description": "Podešavanja za detekciju i prepoznavanje lica za ovu kameru." + }, + "lpr": { + "label": "Prepoznavanje registarskih tablica", + "description": "Podešavanja za prepoznavanje registarskih tablica, uključujući pragove detekcije, formatiranje i poznate tablice.", + "enabled": { + "label": "Omogući LPR", + "description": "Omogućite ili onemogućite prepoznavanje registarskih tablica na ovoj kameri." + }, + "min_area": { + "label": "Minimalna površina tablice", + "description": "Minimalna površina tablice (u pikselima) koja je potrebna da bi se pokušalo prepoznavanje." + }, + "enhancement": { + "label": "Nivo poboljšanja", + "description": "Nivo poboljšanja kvaliteta slike (0–10) koji se primenjuje na isečke tablica pre OCR prepoznavanja; više vrednosti ne moraju uvek poboljšati rezultate, a nivoi iznad 5 mogu funkcionisati samo na noćnim tablicama i treba ih koristiti oprezno." + }, + "expire_time": { + "label": "Vreme isteka u sekundama", + "description": "Vreme u sekundama nakon kojeg se neaktivna tablica briše iz sistema za praćenje (važi samo za namenske LPR kamere)." + } + }, + "profiles": { + "label": "Profili", + "description": "Imenovani profili konfiguracije sa delimičnim nadjačavanjima koji se mogu aktivirati tokom rada sistema." + }, + "onvif": { + "label": "ONVIF", + "description": "Podešavanja ONVIF veze i PTZ automatskog praćenja za ovu kameru.", + "host": { + "label": "ONVIF host", + "description": "Host adresa (i opciona šema protokola) za ONVIF uslugu ove kamere." + }, + "port": { + "label": "ONVIF port", + "description": "Broj porta za ONVIF uslugu." + }, + "user": { + "label": "ONVIF korisničko ime", + "description": "Korisničko ime za ONVIF autentifikaciju; neki uređaji zahtevaju administratorskog (admin) korisnika za ONVIF." + }, + "password": { + "label": "ONVIF lozinka", + "description": "Lozinka za ONVIF potvrdu identiteta." + }, + "tls_insecure": { + "label": "Onemogući TLS verifikaciju", + "description": "Preskoči verifikaciju TLS sertifikata i onemogući \"digest\" potvrdu identiteta za ONVIF (nebezbedno; koristiti isključivo u pouzdanim mrežama)." + }, + "profile": { + "label": "ONVIF profil", + "description": "Konkretan ONVIF medijski profil koji se koristi za PTZ kontrolu, identifikovan putem tokena ili naziva. Ako nije podešeno, sistem automatski bira prvi profil sa ispravnom PTZ konfiguracijom." + }, + "autotracking": { + "label": "Automatsko praćenje", + "description": "Automatski prati objekte u pokretu i drži ih u centru kadra pomoću pomeranja PTZ kamere.", + "enabled": { + "label": "Omogući automatsko praćenje", + "description": "Omogući ili onemogući automatsko PTZ praćenje detektovanih objekata." + }, + "calibrate_on_startup": { + "label": "Kalibracija pri pokretanju", + "description": "Izmeri brzine PTZ motora prilikom pokretanja sistema radi veće preciznosti praćenja. Frigate će nakon kalibracije ažurirati konfiguraciju parametrom movement_weights." + }, + "zooming": { + "label": "Režim zumiranja", + "description": "Kontrola ponašanja zuma: onemogućeno (samo pomeranje levo-desno/gore-dole), apsolutno (najkompatibilnije) ili relativno (istovremeno pomeranje i zumiranje)." + }, + "zoom_factor": { + "label": "Faktor zumiranja", + "description": "Kontrola nivoa zuma na objektima koji se prate. Niže vrednosti zadržavaju širi kadar, dok više vrednosti više približavaju sliku, ali mogu dovesti do gubitka praćenja. Vrednosti se kreću između 0.1 i 0.75." + }, + "track": { + "label": "Praćeni objekti", + "description": "Lista tipova objekata koji treba da pokrenu automatsko praćenje." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Objekti moraju da uđu u jednu od ovih zona pre nego što počne automatsko praćenje." + }, + "return_preset": { + "label": "Podrazumevana pozicija za povratak", + "description": "Naziv ONVIF unapred podešene pozicije koja je konfigurisana u softveru kamere, na koju se kamera vraća nakon završetka praćenja." + }, + "timeout": { + "label": "Vreme čekanja na povratak", + "description": "Broj sekundi koji kamera čeka nakon gubitka objekta iz vidokruga pre nego što se vrati na svoju podrazumevanu poziciju." + }, + "movement_weights": { + "label": "Težinski koeficijenti kretanja", + "description": "Vrednosti kalibracije koje sistem automatski generiše tokom kalibracije kamere. Nemojte ih ručno menjati." + }, + "enabled_in_config": { + "label": "Izvorno stanje automatskog praćenja", + "description": "Interno polje koje prati da li je automatsko praćenje bilo omogućeno u samoj konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Zanemari vremensko neslaganje", + "description": "Zanemari razlike u sinhronizaciji vremena između kamere i Frigate servera za ONVIF komunikaciju." + } + }, + "zones": { + "label": "Zone", + "objects": { + "description": "Lista tipova objekata (iz mape oznaka) koji mogu da pokrenu ovu zonu. Može biti tekstualni niz ili lista nizova. Ako je prazno, uzimaju se u obzir svi objekti.", + "label": "Objekti pokretači" + }, + "speed_threshold": { + "description": "Minimalna brzina (u stvarnim jedinicama ako su udaljenosti podešene) potrebna da bi se objekat smatrao prisutnim u zoni. Koristi se za pokretače zona na osnovu brzine.", + "label": "Minimalna brzina" + }, + "loitering_time": { + "description": "Broj sekundi koliko objekat mora ostati u zoni da bi se smatralo da se zadržava. Postavite na 0 da biste onemogućili detekciju zadržavanja.", + "label": "Sekunde zadržavanja" + }, + "inertia": { + "description": "Broj uzastopnih kadrova u kojima objekat mora biti detektovan unutar zone pre nego što se smatra prisutnim. Pomaže u filtriranju prolaznih (lažnih) detekcija.", + "label": "Kadrovi inercije" + }, + "distances": { + "description": "Opcione stvarne udaljenosti za svaku stranicu četvorougla zone, koje se koriste za izračunavanje brzine ili udaljenosti. Mora imati tačno 4 vrednosti ako je podešeno.", + "label": "Stvarne udaljenosti" + }, + "coordinates": { + "description": "Koordinate poligona koje definišu površinu zone. Može biti tekstualni niz razdvojen zarezima ili lista nizova koordinata. Koordinate treba da budu relativne (0-1) ili apsolutne (zastarelo).", + "label": "Koordinate" + }, + "filters": { + "raw_mask": { + "label": "Sirova maska" + }, + "mask": { + "description": "Koordinate poligona koje definišu gde se ovaj filter primenjuje unutar kadra.", + "label": "Maska filtera" + }, + "min_score": { + "description": "Minimalna pouzdanost detekcije u jednom kadru potrebna da bi se objekat uzeo u obzir.", + "label": "Minimalna pouzdanost" + }, + "threshold": { + "description": "Prosečan potreban prag pouzdanosti detekcije da bi se objekat smatrao stvarno pozitivnim rezultatom.", + "label": "Prag pouzdanosti" + }, + "max_ratio": { + "description": "Maksimalni odnos širine i visine dozvoljen da bi uokvireni prostor ispunio uslove.", + "label": "Maksimalni odnos stranica" + }, + "min_ratio": { + "description": "Minimalni odnos širine i visine potreban da bi uokvireni prostor ispunio uslove.", + "label": "Minimalni odnos stranica" + }, + "max_area": { + "description": "Maksimalna površina uokvirenog prostora (u pikselima ili procentima) dozvoljena za ovaj tip objekta. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99).", + "label": "Maksimalna površina objekta" + }, + "min_area": { + "description": "Minimalna površina uokvirenog prostora (u pikselima ili procentima) potrebna za ovaj tip objekta. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99).", + "label": "Minimalna površina objekta" + }, + "description": "Filteri koji se primenjuju na objekte unutar ove zone. Koriste se za smanjenje lažno pozitivnih rezultata ili za ograničavanje objekata koji se smatraju prisutnim u zoni.", + "label": "Filteri zone" + }, + "enabled_in_config": { + "label": "Prati izvorno stanje zone." + }, + "enabled": { + "description": "Omogućite ili onemogućite ovu zonu. Onemogućene zone se ignorišu tokom rada sistema.", + "label": "Omogućeno" + }, + "friendly_name": { + "description": "Prepoznatljiv naziv za zonu koji se prikazuje u sistemu. Ako nije podešen, koristiće se formatirana verzija naziva zone.", + "label": "Naziv zone" + }, + "description": "Zone vam omogućavaju da definišete određenu površinu kadra kako biste mogli da utvrdite da li se objekat nalazi unutar te površine." + }, + "enabled_in_config": { + "description": "Prati izvorno stanje kamere.", + "label": "Izvorno stanje kamere" + }, + "webui_url": { + "description": "URL za direktan pristup kameri sa sistemske stranice", + "label": "URL kamere" + }, + "ui": { + "review": { + "description": "Uključite ili isključite vidljivost ove kamere u pregledu (stranica za pregled i njen filter kamera, pregled kretanja i prikaz istorije).", + "label": "Prikaži u pregledu" + }, + "dashboard": { + "description": "Uključite ili isključite vidljivost ove kamere na podrazumevanoj kontrolnoj tabli uživo „Sve kamere“. Kamera ostaje dostupna na svim ostalim mestima u sistemu, uključujući grupe kamera i podešavanja.", + "label": "Prikaži na kontrolnoj tabli uživo" + }, + "order": { + "description": "Numerički redosled koji se koristi za sortiranje kamera u sistemu (podrazumevana kontrolna tabla i liste); veći brojevi se prikazuju kasnije.", + "label": "Redosled prikaza" + }, + "description": "Podešavanje redosleda prikaza i vidljivosti za ovu kameru u sistemu. Redosled utiče na podrazumevanu kontrolnu tablu. Za detaljniju kontrolu koristite grupe kamera.", + "label": "Prikaz kamere u sistemu" + }, + "type": { + "description": "Tip kamere", + "label": "Tip kamere" + }, + "best_image_timeout": { + "label": "Vremensko ograničenje za najbolju sliku", + "description": "Koliko dugo se čeka slika sa najvećim rezultatom pouzdanosti." + }, + "label": "Konfiguracija kamere", + "name": { + "label": "Naziv kamere", + "description": "Naziv kamere je obavezan" + }, + "friendly_name": { + "label": "Prepoznatljiv naziv", + "description": "Prepoznatljiv naziv kamere koji se koristi u sistemu" + }, + "enabled": { + "label": "Omogućeno", + "description": "Omogućeno" + } +} diff --git a/web/public/locales/sr_Latn/config/global.json b/web/public/locales/sr_Latn/config/global.json index 0967ef424b..87993ee75d 100644 --- a/web/public/locales/sr_Latn/config/global.json +++ b/web/public/locales/sr_Latn/config/global.json @@ -1 +1,1563 @@ -{} +{ + "version": { + "label": "Trenutna verzija konfiguracije", + "description": "Numerička ili tekstualna verzija aktivne konfiguracije koja pomaže u otkrivanju migracija ili promena formata." + }, + "safe_mode": { + "label": "Bezbedni režim", + "description": "Kada je omogućeno, pokreće Frigate u bezbednom režimu sa smanjenim brojem funkcija radi rešavanja problema." + }, + "environment_vars": { + "label": "Promenljive okruženja", + "description": "Parovi ključ/vrednost promenljivih okruženja koje se podešavaju za Frigate proces u Home Assistant OS-u. Korisnici koji ne koriste HAOS moraju umesto toga koristiti konfiguraciju promenljivih okruženja u Docker-u." + }, + "logger": { + "label": "Vođenje dnevnika", + "description": "Kontroliše podrazumevani nivo detaljnosti dnevnika i izmene nivoa zapisa po pojedinačnim komponentama.", + "default": { + "label": "Nivo dnevnika", + "description": "Podrazumevani globalni nivo detaljnosti dnevnika (debug, info, warning, error)." + }, + "logs": { + "label": "Nivo dnevnika po procesu", + "description": "Izmene nivoa zapisa u dnevniku po pojedinačnim komponentama radi povećanja ili smanjenja detaljnosti za specifične module." + } + }, + "auth": { + "label": "Potvrda identiteta", + "description": "Podešavanja vezana za potvrdu identiteta i sesije, uključujući opcije za kolačiće i ograničenje brzine zahteva.", + "enabled": { + "label": "Omogući potvrdu identiteta", + "description": "Omogućava izvornu potvrdu identiteta za Frigate korisnički interfejs." + }, + "reset_admin_password": { + "label": "Resetuj lozinku administratora", + "description": "Ako je označeno kao tačno, resetuje lozinku administrativnog korisnika pri pokretanju i ispisuje novu lozinku u dnevniku rada." + }, + "cookie_name": { + "label": "Naziv JWT kolačića", + "description": "Naziv kolačića koji se koristi za skladištenje JWT tokena za izvornu potvrdu identiteta." + }, + "cookie_secure": { + "label": "Oznaka za bezbedni kolačić", + "description": "Uvek postavlja „secure” oznaku na kolačić za potvrdu identiteta. Frigate je postavlja automatski kada koristi TLS; omogućite ovo kada reverzni proksi završava TLS ispred Frigate-a. Proksi koji se povezuje na TLS port mora da isporučuje Frigate pretraživačima preko HTTPS-a." + }, + "session_length": { + "label": "Dužina sesije", + "description": "Trajanje sesije u sekundama za sesije zasnovane na JWT-u." + }, + "refresh_time": { + "label": "Prozor za osvežavanje sesije", + "description": "Kada preostalo vreme sesije padne na ovoliko sekundi pre isticanja, osvežava je nazad na punu dužinu." + }, + "failed_login_rate_limit": { + "label": "Ograničenja neuspešnih prijava", + "description": "Pravila za ograničavanje brzine zahteva kod neuspešnih pokušaja prijave kako bi se smanjili napadi grubom silom." + }, + "trusted_proxies": { + "label": "Poverljivi proksiji", + "description": "Lista IP adresa poverljivih proksija koji se koriste prilikom određivanja IP adrese klijenta radi ograničavanja brzine zahteva." + }, + "hash_iterations": { + "label": "Iteracije hešovanja", + "description": "Broj PBKDF2-SHA256 iteracija koje se koriste prilikom hešovanja korisničkih lozinki." + }, + "roles": { + "label": "Mapiranje uloga", + "description": "Mapiranje uloga na liste kamera. Prazna lista dodeljuje pristup svim kamerama za tu ulogu." + }, + "admin_first_time_login": { + "label": "Oznaka za prvu prijavu administratora", + "description": "Kada je označeno kao tačno, korisnički interfejs može prikazati link za pomoć na stranici za prijavu, informišući korisnike kako da se prijave nakon resetovanja lozinke administratora. " + } + }, + "database": { + "label": "Baza podataka", + "description": "Podešavanja za SQLite bazu podataka koju Frigate koristi za skladištenje praćenih objekata i metapodataka o snimcima.", + "path": { + "label": "Putanja do baze podataka", + "description": "Putanja u sistemu datoteka gde će biti sačuvana SQLite datoteka baze podataka za Frigate." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Podešavanja za integrisanu go2rtc uslugu strimovanja koja se koristi za prenos i konverziju strimova uživo." + }, + "mqtt": { + "label": "MQTT", + "description": "Podešavanja za povezivanje i slanje (objavljivanje) telemetrije, snimaka ekrana i detalja o događajima na MQTT broker.", + "enabled": { + "label": "Omogući MQTT", + "description": "Omogućava ili onemogućava MQTT integraciju za stanja, događaje i snimke ekrana." + }, + "host": { + "label": "MQTT host", + "description": "Naziv hosta ili IP adresa MQTT brokera." + }, + "port": { + "label": "MQTT port", + "description": "Port MQTT brokera (obično 1883 za običan MQTT)." + }, + "topic_prefix": { + "label": "Prefiks teme", + "description": "MQTT prefiks teme za sve Frigate teme; mora biti jedinstven ako se pokreće više instanci." + }, + "client_id": { + "label": "ID klijenta", + "description": "Identifikator klijenta koji se koristi prilikom povezivanja na MQTT broker; treba da bude jedinstven po instanci." + }, + "stats_interval": { + "label": "Interval statistike", + "description": "Interval u sekundama za slanje (objavljivanje) statistike sistema i kamera na MQTT." + }, + "user": { + "label": "MQTT korisničko ime", + "description": "Opciono MQTT korisničko ime; može se proslediti preko promenljivih okruženja ili tajni." + }, + "password": { + "label": "MQTT lozinka", + "description": "Opciona MQTT lozinka; može se proslediti preko promenljivih okruženja ili tajni." + }, + "tls_ca_certs": { + "label": "TLS CA sertifikati", + "description": "Putanja do CA sertifikata za TLS veze sa brokerom (za samopotpisane sertifikate)." + }, + "tls_client_cert": { + "label": "Sertifikat klijenta", + "description": "Putanja do sertifikata klijenta za obostranu potvrdu identiteta putem TLS-a; ne postavljajte korisničko ime/lozinku kada koristite sertifikate klijenta." + }, + "tls_client_key": { + "label": "Ključ klijenta", + "description": "Putanja do privatnog ključa za sertifikat klijenta." + }, + "tls_insecure": { + "label": "TLS nebezbedno", + "description": "Dozvoljava nebezbedne TLS veze preskakanjem verifikacije naziva hosta (nije preporučljivo)." + }, + "qos": { + "label": "MQTT QoS", + "description": "Nivo kvaliteta usluge za MQTT objave/pretplate (0, 1 ili 2)." + } + }, + "notifications": { + "label": "Obaveštenja", + "description": "Podešavanja za omogućavanje i kontrolu obaveštenja za sve kamere; mogu se izmeniti pojedinačno po kameri.", + "enabled": { + "label": "Omogući obaveštenja", + "description": "Omogućava ili onemogućava obaveštenja za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "email": { + "label": "E-mail adresa za obaveštenja", + "description": "E-mail adresa koja se koristi za „push” obaveštenja ili koju zahtevaju određeni provajderi obaveštenja." + }, + "cooldown": { + "label": "Period mirovanja", + "description": "Vreme mirovanja (u sekundama) između obaveštenja kako bi se izbeglo preplavljivanje primalaca." + }, + "ttl": { + "label": "TTL obaveštenja", + "description": "Kako „push” usluga rukuje obaveštenjem koje je poslato dok je alarm aktivan ukoliko je vaš uređaj nedostupan. Opcija „Immediate” ga isporučuje odmah ili ga odbacuje. Opcija „Reliable” nastavlja sa pokušajima do 30 sekundi. Obaveštenje poslato kada se alarm završi uvek se čuva do jednog sata." + }, + "enabled_in_config": { + "label": "Prvobitno stanje obaveštenja", + "description": "Pokazuje da li su obaveštenja bila omogućena u prvobitnoj statičkoj konfiguraciji." + } + }, + "networking": { + "label": "Umrežavanje", + "description": "Mrežna podešavanja kao što je omogućavanje IPv6 protokola za Frigate krajnje tačke.", + "ipv6": { + "label": "IPv6 konfiguracija", + "description": "Specifična IPv6 podešavanja za Frigate mrežne usluge.", + "enabled": { + "label": "Omogući IPv6", + "description": "Omogućava IPv6 podršku za Frigate usluge (API i UI) tamo gde je to primenjivo." + } + }, + "listen": { + "label": "Konfiguracija portova za slušanje", + "description": "Konfiguracija unutrašnjih i spoljašnjih portova za slušanje. Ovo je za napredne korisnike. Za većinu slučajeva upotrebe preporučuje se izmena odeljka sa portovima u vašoj Docker compose datoteci.", + "internal": { + "label": "Unutrašnji port", + "description": "Unutrašnji port za slušanje za Frigate (podrazumevano 5000)." + }, + "external": { + "label": "Spoljašnji port", + "description": "Spoljašnji port za slušanje za Frigate (podrazumevano 8971)." + } + } + }, + "proxy": { + "label": "Proksi", + "description": "Podešavanja za integraciju Frigate-a iza reverznog proksija koji prosleđuje zaglavlja sa potvrđenim identitetom korisnika.", + "header_map": { + "label": "Mapiranje zaglavlja", + "description": "Mapiranje dolaznih proksi zaglavlja na korisnička polja i polja uloga u Frigate-u za potvrdu identiteta zasnovanu na proksiju.", + "user": { + "label": "Korisničko zaglavlje", + "description": "Zaglavlje koje sadrži korisničko naziv sa potvrđenim identitetom koje obezbeđuje glavni proksi." + }, + "role": { + "label": "Zaglavlje uloge", + "description": "Zaglavlje koje sadrži ulogu ili grupe korisnika sa potvrđenim identitetom sa glavnog proksija." + }, + "role_map": { + "label": "Mapiranje uloga", + "description": "Mapiranje vrednosti grupa sa glavnog proksija na Frigate uloge (na primer, mapiranje admin grupa na admin ulogu)." + } + }, + "logout_url": { + "label": "URL za odjavu", + "description": "URL na koji se korisnici preusmeravaju kada se odjavljuju preko proksija." + }, + "auth_secret": { + "label": "Tajna proksija", + "description": "Opciona tajna koja se proverava u odnosu na „X-Proxy-Secret” zaglavlje radi verifikacije poverljivih proksija." + }, + "default_role": { + "label": "Podrazumevana uloga", + "description": "Podrazumevana uloga koja se dodeljuje korisnicima sa potvrđenim identitetom preko proksija kada se ne primenjuje nijedno mapiranje uloga. Postavite na „none” da biste odbili pristup nemapiranim korisnicima." + }, + "separator": { + "label": "Znak za razdvajanje", + "description": "Znak koji se koristi za razdvajanje više vrednosti navedenih u proksi zaglavljima." + } + }, + "telemetry": { + "label": "Telemetrija", + "description": "Opcije za sistemsku telemetriju i statistiku, uključujući praćenje GPU i mrežnog protoka.", + "analytics": { + "label": "Deli anonimnu analitiku", + "description": "Šalje jedan anoniman izveštaj o korišćenju dnevno kako bi se programerima Frigate-a pomoglo da odluče šta da podrže. Ništa se ne šalje dok je ovo isključeno." + }, + "network_interfaces": { + "label": "Mrežni interfejsi", + "description": "Lista prefiksa Naziva mrežnih interfejsa koji se prate radi statistike o propusnom opsegu." + }, + "stats": { + "label": "Statistika sistema", + "description": "Opcije za omogućavanje/onemogućavanje prikupljanja različitih statističkih podataka o sistemu i GPU.", + "amd_gpu_stats": { + "label": "Statistika za AMD GPU", + "description": "Omogućava prikupljanje statističkih podataka za AMD grafički procesor ukoliko je AMD GPU prisutan." + }, + "intel_gpu_stats": { + "label": "Statistika za Intel GPU", + "description": "Omogućava prikupljanje statističkih podataka za Intel grafički procesor ukoliko je Intel GPU prisutan." + }, + "network_bandwidth": { + "label": "Mrežni protok", + "description": "Omogućava praćenje mrežnog protoka po procesu za ffmpeg procese kamera i detektore (zahteva odgovarajuće sistemske dozvole/mogućnosti)." + }, + "intel_gpu_device": { + "label": "Intel GPU uređaj", + "description": "Adresa PCI magistrale ili putanja DRM uređaja (npr. /dev/dri/card1) koja se koristi za povezivanje statistike Intel grafičkog procesora sa specifičnim uređajem kada je prisutno više njih." + } + }, + "version_check": { + "label": "Provera verzije", + "description": "Omogućava odlaznu proveru kako bi se otkrilo da li je dostupna novija verzija Frigate-a." + } + }, + "tls": { + "label": "TLS", + "description": "TLS podešavanja za krajnje tačke (endpoints) Frigate veb interfejsa (port 8971).", + "enabled": { + "label": "Omogući TLS", + "description": "Omogućava TLS za Frigate veb korisnički interfejs i API na konfigurisanom TLS portu." + } + }, + "ui": { + "label": "Korisnički interfejs", + "description": "Podešavanja korisničkog interfejsa kao što su vremenska zona, formatiranje vremena/datuma i merne jedinice.", + "timezone": { + "label": "Vremenska zona", + "description": "Opciona vremenska zona za prikaz u korisničkom interfejsu (ako nije podešena, podrazumeva se lokalno vreme pretraživača)." + }, + "time_format": { + "label": "Format vremena", + "description": "Format vremena koji se koristi u korisničkom interfejsu (pretraživač, 12-časovni ili 24-časovni)." + }, + "unit_system": { + "label": "Sistem mernih jedinica", + "description": "Sistem mernih jedinica za prikaz (metrički ili imperijalni) koji se koristi u korisničkom interfejsu i MQTT-u." + } + }, + "models": { + "label": "Modeli za detekciju", + "description": "Modeli za detekciju objekata i hardver na kojem se svaki od njih pokreće. Kamere biraju model tako što upoređuju svoju „detect.scene” sa scenom modela, a ako se ne poklapaju, vraćaju se na podrazumevani („default”) model.", + "scene": { + "label": "Scena modela", + "description": "Naziv za okruženje kamere za koje se ovaj model koristi, kao što je „thermal” (termalno). Kamere biraju model tako što podešavaju „detect.scene” na odgovarajuću vrednost, a podrazumevani („default”) model koristi bilo koja kamera koja to ne podesi." + }, + "devices": { + "label": "Hardver za detekciju", + "description": "Hardver na kojem se ovaj model pokreće, u formatu „” ili „:” (na primer „edgetpu:pci:0” ili „openvino:GPU”). Navođenje istog uređaja više puta pokreće dodatne procese zaključivanja (inference) na njemu." + }, + "path": { + "label": "Putanja do prilagođenog modela za detekciju objekata", + "description": "Putanja do datoteke prilagođenog modela za detekciju (ili plus:// za Frigate+ modele)." + }, + "labelmap_path": { + "label": "Mapa oznaka za prilagođeni detektor objekata", + "description": "Putanja do datoteke sa mapom oznaka koja preslikava numeričke klase u tekstualne oznake za detektor." + }, + "width": { + "label": "Širina ulaza modela za detekciju objekata", + "description": "Širina ulaznog tenzora modela u pikselima." + }, + "height": { + "label": "Visina ulaza modela za detekciju objekata", + "description": "Visina ulaznog tenzora modela u pikselima." + }, + "labelmap": { + "label": "Prilagođavanje mape oznaka", + "description": "Izmene ili stavke za ponovno mapiranje koje će se spojiti sa standardnom mapom oznaka." + }, + "attributes_map": { + "label": "Mapiranje oznaka objekata na oznake njihovih atributa", + "description": "Mapiranje sa oznaka objekata na oznake atributa koje se koristi za dodavanje metapodataka (na primer: 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblik ulaznog tenzora modela", + "description": "Format tenzora koji model očekuje: 'nhwc' ili 'nchw'." + }, + "input_pixel_format": { + "label": "Format boje piksela na ulazu modela", + "description": "Prostor boja piksela koji model očekuje: 'rgb', 'bgr' ili 'yuv'." + }, + "input_dtype": { + "label": "Tip podataka ulaza modela", + "description": "Tip podataka ulaznog tenzora modela (na primer: 'float32')." + }, + "model_type": { + "label": "Tip modela za detekciju objekata", + "description": "Tip arhitekture modela detektora (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine) koji neki detektori koriste za optimizaciju." + } + }, + "genai": { + "label": "Konfiguracija generativne veštačke inteligencije", + "description": "Podešavanja za integrisane provajdere generativne veštačke inteligencije (AI) koji se koriste za generisanje opisa objekata i rezimea pregleda.", + "api_key": { + "label": "API ključ", + "description": "API ključ koji zahtevaju pojedini provajderi (može se podesiti i preko promenljivih okruženja)." + }, + "base_url": { + "label": "Osnovni URL", + "description": "Osnovni URL za lokalno hostovane ili kompatibilne provajdere (na primer, instanca Ollama-e)." + }, + "model": { + "label": "Model", + "description": "Model koji se koristi od strane provajdera za generisanje opisa ili rezimea." + }, + "provider": { + "label": "Provajder", + "description": "GenAI provajder koji se koristi (na primer: ollama, gemini, openai)." + }, + "roles": { + "label": "Uloge", + "description": "GenAI uloge (ćaskanje/chat, opisi, ugnježdavanja/embeddings, transkripcija); jedan provajder po ulozi. Podrazumevano su odobrene samo uloge ćaskanja, opisa i ugnježdavanja; transkripcija mora biti eksplicitno navedena." + }, + "provider_options": { + "label": "Opcije provajdera", + "description": "Dodatne opcije specifične za provajdera koje se prosleđuju GenAI klijentu." + }, + "runtime_options": { + "label": "Opcije izvršavanja", + "description": "Opcije izvršavanja koje se prosleđuju provajderu za svaki poziv zaključivanja." + } + }, + "audio": { + "label": "Audio detekcija", + "description": "Podešavanja za detekciju događaja na osnovu zvuka za sve kamere; mogu se izmeniti pojedinačno po kameri.", + "enabled": { + "label": "Omogući audio detekciju", + "description": "Omogućava ili onemogućava detekciju događaja na osnovu zvuka za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "max_not_heard": { + "label": "Vreme isteka za kraj", + "description": "Broj sekundi bez prisustva podešenog tipa zvuka pre nego što se zvučni događaj završi." + }, + "min_volume": { + "label": "Minimalna jačina zvuka", + "description": "Minimalni RMS prag jačine zvuka potreban za pokretanje detekcije zvuka; niže vrednosti povećavaju osetljivost (npr. 200 visoka, 500 srednja, 1000 niska osetljivost)." + }, + "listen": { + "label": "Tipovi zvuka za slušanje", + "description": "Lista tipova zvučnih događaja koje treba detektovati (na primer: lavež, požarni alarm, govor, vika)." + }, + "labelmap": { + "label": "Prilagođavanje mape oznaka zvuka", + "description": "Izmene ili stavke za ponovno mapiranje koje će se spojiti sa standardnom mapom oznaka zvuka." + }, + "filters": { + "label": "Filteri zvuka", + "description": "Podešavanja filtera po pojedinačnim tipovima zvuka, kao što su pragovi pouzdanosti koji se koriste za smanjenje lažno pozitivnih rezultata.", + "threshold": { + "label": "Minimalna pouzdanost zvuka", + "description": "Minimalni prag pouzdanosti da bi se zvučni događaj uzeo u obzir." + } + }, + "enabled_in_config": { + "label": "Prvobitno stanje zvuka", + "description": "Pokazuje da li je detekcija zvuka bila prvobitno omogućena u statičkoj konfiguracionoj datoteci." + }, + "num_threads": { + "label": "Niti za detekciju", + "description": "Broj niti koje se koriste za procesuiranje detekcije zvuka." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Podešavanja za kombinovani „Birdseye” prikaz koji spaja strimove sa više kamera u jedan jedinstveni raspored.", + "enabled": { + "label": "Omogući Birdseye", + "description": "Omogućava ili onemogućava funkciju „Birdseye” prikaza." + }, + "modes": { + "label": "Tipovi aktivnosti", + "description": "Tipovi aktivnosti koji uključuju kamere u „Birdseye” prikaz." + }, + "restream": { + "label": "Ponovno strimovanje RTSP-a", + "description": "Ponovo strimuje „Birdseye” izlaz kao RTSP strim; omogućavanje ove opcije održavaće „Birdseye” stalno pokrenutim." + }, + "width": { + "label": "Širina", + "description": "Izlazna širina (u pikselima) kombinovanog „Birdseye” kadra." + }, + "height": { + "label": "Visina", + "description": "Izlazna visina (u pikselima) kombinovanog „Birdseye” kadra." + }, + "quality": { + "label": "Kvalitet kodiranja", + "description": "Kvalitet kodiranja za Birdseye mpeg1 strim (1 je najviši kvalitet, 31 najniži)." + }, + "inactivity_threshold": { + "label": "Prag neaktivnosti", + "description": "Broj sekundi neaktivnosti nakon kojih će kamera prestati da se prikazuje u Birdseye-u." + }, + "layout": { + "label": "Raspored", + "description": "Opcije rasporeda za Birdseye kompoziciju ekrana.", + "scaling_factor": { + "label": "Faktor skaliranja", + "description": "Faktor skaliranja koji koristi kalkulator rasporeda (opseg od 1.0 do 5.0)." + }, + "max_cameras": { + "label": "Maksimalno kamera", + "description": "Maksimalan broj kamera koje se istovremeno prikazuju u Birdseye-u; prikazuje poslednje aktivne kamere." + } + }, + "idle_heartbeat_fps": { + "label": "FPS u stanju mirovanja", + "description": "Broj kadrova u sekundi za ponovno slanje poslednjeg sastavljenog Birdseye kadra kada nema aktivnosti; postavite na 0 da biste onemogućili." + }, + "order": { + "label": "Pozicija", + "description": "Numerička pozicija koja kontroliše redosled kamera u Birdseye rasporedu." + } + }, + "detect": { + "label": "Detekcija objekata", + "description": "Podešavanja za ulogu detekcije (detect) koja se koristi za pokretanje detekcije objekata i pokretanje praćenja.", + "enabled": { + "label": "Omogući detekciju objekata", + "description": "Omogućava ili onemogućava detekciju objekata za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "height": { + "label": "Visina detekcije", + "description": "Visina (u pikselima) kadrova koji se koriste za strim detekcije; ostavite prazno kako bi se koristila izvorna rezolucija strima." + }, + "width": { + "label": "Širina detekcije", + "description": "Širina (u pikselima) kadrova koji se koriste za strim detekcije; ostavite prazno kako bi se koristila izvorna rezolucija strima." + }, + "scene": { + "label": "Scena detekcije", + "description": "Okruženje koje ova kamera posmatra, a koje služi za izbor modela koji će se na njoj pokretati. Kamere koje ostanu podešene na „default” pokreću model koji je konfigurisan sa scenom „default”." + }, + "fps": { + "label": "FPS detekcije", + "description": "Željeni broj kadrova u sekundi za pokretanje detekcije; niže vrednosti smanjuju opterećenje procesora (CPU) (preporučena vrednost je 5, a višu – najviše 10 – postavite samo ako pratite izuzetno brze objekte)." + }, + "min_initialized": { + "label": "Minimalni broj kadrova za pokretanje", + "description": "Broj uzastopnih pogodaka detekcije koji su potrebni pre nego što se kreira praćeni objekat. Povećajte ovu vrednost da biste smanjili lažna pokretanja. Podrazumevana vrednost je FPS podeljen sa 2." + }, + "max_disappeared": { + "label": "Maksimalni broj kadrova nestanka", + "description": "Broj kadrova bez detekcije nakon kojeg se praćeni objekat smatra nestalim." + }, + "stationary": { + "label": "Konfiguracija stacionarnih objekata", + "description": "Podešavanja za detekciju i upravljanje objektima koji ostaju nepomični (stacionarni) tokom određenog vremenskog perioda.", + "interval": { + "label": "Interval za stacionarne objekte", + "description": "Koliko često (u kadrovima) treba pokrenuti proveru detekcije radi potvrde da je objekat stacionaran." + }, + "threshold": { + "label": "Prag za stacionarne objekte", + "description": "Broj kadrova bez promene pozicije koji je potreban da bi se objekat označio kao stacionaran." + }, + "max_frames": { + "label": "Maksimalno kadrova", + "description": "Ograničava koliko dugo se prate stacionarni objekti pre nego što budu odbačeni.", + "default": { + "label": "Podrazumevano maksimalno kadrova", + "description": "Podrazumevani maksimalni broj kadrova za praćenje stacionarnog objekta pre zaustavljanja." + }, + "objects": { + "label": "Maksimalno kadrova po objektu", + "description": "Izmene maksimalnog broja kadrova za praćenje stacionarnih objekata po pojedinačnim objektima." + } + }, + "classifier": { + "label": "Omogući vizuelni klasifikator", + "description": "Koristi vizuelni klasifikator za detekciju istinski stacionarnih objekata čak i kada okvir za detekciju treperi ili podrhtava." + } + }, + "annotation_offset": { + "label": "Pomak anotacije", + "description": "Milisekunde za pomeranje anotacija detekcije kako bi se okviri na vremenskoj liniji bolje uskladili sa snimcima; vrednost može biti pozitivna ili negativna." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "FFmpeg podešavanja uključujući putanju do izvršne datoteke (binary), argumente (args), opcije za hardversko ubrzanje (hwaccel) i izlazne argumente po ulogama.", + "path": { + "label": "FFmpeg putanja", + "description": "Putanja do FFmpeg izvršne datoteke koja će se koristiti ili alijas verzije (\"7.0\" ili \"8.0\")." + }, + "global_args": { + "label": "FFmpeg globalni argumenti", + "description": "Globalni argumenti koji se prosleđuju FFmpeg procesima." + }, + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje", + "description": "Argumenti za hardversko ubrzanje za FFmpeg. Preporučuje se korišćenje unapred podešenih šablona specifičnih za provajdera hardvera." + }, + "input_args": { + "label": "Ulazni argumenti", + "description": "Ulazni argumenti koji se primenjuju na FFmpeg ulazne strimove." + }, + "output_args": { + "label": "Izlazni argumenti", + "description": "Podrazumevani izlazni argumenti koji se koriste za različite FFmpeg uloge, kao što su detekcija i snimanje.", + "detect": { + "label": "Izlazni argumenti za detekciju", + "description": "Podrazumevani izlazni argumenti za strimove sa ulogom detekcije." + }, + "record": { + "label": "Izlazni argumenti za snimanje", + "description": "Podrazumevani izlazni argumenti za strimove sa ulogom snimanja." + }, + "record_sub": { + "label": "Izlazni argumenti za snimanje pomoćnog strima", + "description": "Izlazni argumenti za strimove sa ulogom pomoćnog snimanja (record_sub). Kada ovo nije podešeno, koriste se glavni izlazni argumenti za snimanje." + } + }, + "retry_interval": { + "label": "Vreme za ponovni pokušaj FFmpeg-a", + "description": "Broj sekundi čekanja pre pokušaja ponovnog povezivanja strima kamere nakon prekida. Podrazumevana vrednost je 10." + }, + "apple_compatibility": { + "label": "Kompatibilnost sa Apple uređajima", + "description": "Omogućava HEVC označavanje radi bolje kompatibilnosti sa Apple plejerima prilikom snimanja u H.265 formatu." + }, + "gpu": { + "label": "Indeks grafičkog procesora", + "description": "Podrazumevani indeks grafičkog procesora koji se koristi za hardversko ubrzanje, ukoliko je dostupan." + }, + "inputs": { + "label": "Ulazi kamere", + "description": "Lista definicija ulaznih strimova (putanje i uloge) za ovu kameru.", + "path": { + "label": "Ulazna putanja", + "description": "URL ili putanja ulaznog strima kamere." + }, + "roles": { + "label": "Ulazne uloge", + "description": "Uloge za ovaj ulazni strim." + }, + "global_args": { + "label": "FFmpeg globalni argumenti", + "description": "FFmpeg globalni argumenti za ovaj ulazni strim." + }, + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje", + "description": "Argumenti za hardversko ubrzanje za ovaj ulazni strim." + }, + "input_args": { + "label": "Ulazni argumenti", + "description": "Ulazni argumenti specifični za ovaj strim." + } + } + }, + "live": { + "label": "Prikaz uživo", + "description": "Podešavanja za kontrolu rezolucije i kvaliteta jsmpeg strima uživo. Ovo ne utiče na kamere sa ponovnim strimom koje koriste go2rtc za prikaz uživo.", + "streams": { + "label": "Nazivi strimova uživo", + "description": "Mapiranje konfigurisanih naziva strimova na restream/go2rtc nazive koji se koriste za prikaz uživo." + }, + "transcode": { + "label": "Transkodovani strimovi", + "description": "Strimovi uživo nižeg kvaliteta koje go2rtc transkoduje na zahtev.", + "enabled": { + "label": "Omogući transkodovane strimove", + "description": "Dodaje strimove uživo nižeg kvaliteta koje go2rtc transkoduje u realnom vremenu dok neko gleda." + }, + "source": { + "label": "Izvorni strim", + "description": "go2rtc strim koji treba transkodovati. Ako nije podešeno, podrazumeva se prvi strim uživo." + }, + "qualities": { + "label": "Kvaliteti", + "description": "Dodaje se po jedan transkodovani strim za svaki kvalitet.", + "height": { + "label": "Visina", + "description": "Izlazna visina u pikselima; širina prati izvorni odnos stranica." + }, + "bitrate": { + "label": "Bitrate", + "description": "Ciljani i maksimalni protok video podataka u kbps." + } + } + }, + "height": { + "label": "Visina prikaza uživo", + "description": "Visina (u pikselima) za prikazivanje jsmpeg strima uživo u veb korisničkom interfejsu; mora biti manja ili jednaka (<=) visini strima detekcije." + }, + "quality": { + "label": "Kvalitet prikaza uživo", + "description": "Kvalitet kodiranja za jsmpeg strim (1 je najviši kvalitet, 31 najniži)." + } + }, + "motion": { + "label": "Detekcija pokreta", + "description": "Podrazumevana podešavanja detekcije pokreta koja se primenjuju na kamere, osim ako nisu izmenjena pojedinačno po kameri.", + "enabled": { + "label": "Omogući detekciju pokreta", + "description": "Omogućava ili onemogućava detekciju pokreta za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "threshold": { + "label": "Prag pokreta", + "description": "Prag razlike u pikselima koji koristi detektor pokreta; više vrednosti smanjuju osetljivost (opseg 1-255)." + }, + "lightning_threshold": { + "label": "Prag za munje", + "description": "Prag za detekciju i ignorisanje kratkih bljeskova osvetljenja (niže vrednosti znače veću osetljivost, vrednosti su između 0.3 i 1.0). Ovo ne sprečava u potpunosti detekciju pokreta; samo uzrokuje da detektor prestane sa analizom dodatnih kadrova kada se ovaj prag prekorači. Snimci zasnovani na pokretu se i dalje kreiraju tokom ovih događaja." + }, + "skip_motion_threshold": { + "label": "Prag za preskakanje pokreta", + "description": "Ako se postavi na vrednost između 0.0 i 1.0, i ako se u jednom kadru promeni procenat slike veći od ovog udela, detektor neće prikazati okvire za pokret i odmah će se rekalibrisati. Ovo može uštedeti resurse CPU i smanjiti lažno pozitivne rezultate tokom grmljavine, oluja itd., ali može propustiti stvarne događaje kao što je PTZ kamera koja automatski prati objekat. Kompromis je između gubitka nekoliko megabajta snimaka i pregledanja nekoliko kratkih video-klipova. Ostavite nepodešeno da biste onemogućili ovu funkciju." + }, + "improve_contrast": { + "label": "Poboljšaj kontrast", + "description": "Primenjuje poboljšanje kontrasta na kadrove pre analize pokreta kako bi se pomoglo u detekciji." + }, + "contour_area": { + "label": "Površina konture", + "description": "Minimalna površina konture u pikselima koja je potrebna da bi se kontura pokreta uzela u obzir." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa stapanja koji se koristi pri poređenju razlika među kadrovima za proračun pokreta." + }, + "frame_alpha": { + "label": "Alfa kadra", + "description": "Alfa vrednost koja se koristi prilikom stapanja kadrova tokom predobrade pokreta." + }, + "frame_height": { + "label": "Visina kadra", + "description": "Visina u pikselima na koju se kadrovi skaliraju prilikom proračuna pokreta." + }, + "mask": { + "label": "Koordinate maske", + "description": "Sortirane x,y koordinate koje definišu poligon maske pokreta, a koji služi za uključivanje ili isključivanje određenih oblasti." + }, + "mqtt_off_delay": { + "label": "MQTT odlaganje isključivanja", + "description": "Broj sekundi čekanja nakon poslednjeg zabeleženog pokreta pre slanja MQTT „off” stanja." + }, + "enabled_in_config": { + "label": "Prvobitno stanje pokreta", + "description": "Pokazuje da li je detekcija pokreta bila omogućena u prvobitnoj statičkoj konfiguraciji." + }, + "raw_mask": { + "label": "Sirova maska" + } + }, + "objects": { + "label": "Objekti", + "description": "Podrazumevana podešavanja za praćenje objekata, uključujući oznake koje treba pratiti i filtere po pojedinačnim objektima.", + "track": { + "label": "Objekti za praćenje", + "description": "Lista oznaka objekata koje treba pratiti za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "filters": { + "label": "Filteri objekata", + "description": "Filteri koji se primenjuju na detektovane objekte radi smanjenja lažno pozitivnih rezultata (površina, odnos stranica, pouzdanost).", + "min_area": { + "label": "Minimalna površina objekta", + "description": "Minimalna površina okvira za detekciju (u pikselima ili procentima) potrebna za ovaj tip objekta. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina objekta", + "description": "Maksimalna površina okvira za detekciju (u pikselima ili procentima) dozvoljena za ovaj tip objekta. Može biti u pikselima (ceo bro) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni odnos stranica", + "description": "Minimalni odnos širine i visine koji je potreban da bi okvir za detekciju ispunio uslove." + }, + "max_ratio": { + "label": "Maksimalni odnos stranica", + "description": "Maksimalni odnos širine i visine koji je dozvoljen da bi okvir za detekciju ispunio uslove." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosečan prag pouzdanosti detekcije koji je potreban da bi se objekat smatrao istinski pozitivnim rezultatom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije u jednom kadru koja je potrebna da bi se objekat uzeo u obzir." + }, + "mask": { + "label": "Maska filtera", + "description": "Koordinate poligona koje definišu gde se ovaj filter primenjuje unutar kadra." + }, + "raw_mask": { + "label": "Sirova maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligon maske koji se koristi za sprečavanje detekcije objekata u određenim oblastima." + }, + "raw_mask": { + "label": "Sirova maska" + }, + "genai": { + "label": "GenAI konfiguracija objekata", + "description": "GenAI opcije za opisivanje praćenih objekata i slanje kadrova za generisanje.", + "enabled": { + "label": "Omogući GenAI", + "description": "Podrazumevano omogućava GenAI generisanje opisa za praćene objekte." + }, + "use_snapshot": { + "label": "Koristi snimke ekrana", + "description": "Koristi snimke ekrana objekata umesto sličica za GenAI generisanje opisa." + }, + "prompt": { + "label": "Upit za opis", + "description": "Podrazumevani šablon upita (prompt) koji se koristi prilikom generisanja opisa pomoću GenAI-ja." + }, + "object_prompts": { + "label": "Upiti za specifične objekte", + "description": "Upiti po pojedinačnim objektima za prilagođavanje GenAI izlaza za specifične oznake." + }, + "objects": { + "label": "GenAI objekti", + "description": "Lista oznaka objekata koji se podrazumevano šalju GenAI provajderu." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe kako bi ispunio uslove za GenAI generisanje opisa." + }, + "debug_save_thumbnails": { + "label": "Sačuvaj sličice", + "description": "Čuva sličice poslate GenAI provajderu radi rešavanja problema i pregleda." + }, + "send_triggers": { + "label": "GenAI okidači", + "description": "Definiše kada kadrove treba poslati GenAI provajderu (na kraju događaja, nakon ažuriranja, itd.).", + "tracked_object_end": { + "label": "Pošalji na kraju", + "description": "Šalje zahtev GenAI provajderu kada se praćenje objekta završi." + }, + "after_significant_updates": { + "label": "Rani GenAI okidač", + "description": "Šalje zahtev GenAI provajderu nakon određenog broja značajnih ažuriranja za praćeni objekat." + } + }, + "enabled_in_config": { + "label": "Prvobitno GenAI stanje", + "description": "Pokazuje da li je GenAI bio omogućen u prvobitnoj statičkoj konfiguraciji." + } + }, + "filters_attribute": { + "label": "Filteri atributa", + "description": "Filteri koji se primenjuju na detektovane atribute radi smanjenja lažno pozitivnih rezultata (površina, odnos stranica, pouzdanost).", + "min_area": { + "label": "Minimalna površina atributa", + "description": "Minimalna površina okvira za detekciju (u pikselima ili procentima) potrebna za ovaj atribut. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina atributa", + "description": "Maksimalna površina okvira za detekciju (u pikselima ili procentima) dozvoljena za ovaj atribut. Može biti u pikselima (ceo broj) ili u procentima (decimalni broj između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni odnos stranica", + "description": "Minimalni odnos širine i visine koji je potreban da bi se okvir za detekciju kvalifikovao." + }, + "max_ratio": { + "label": "Maksimalni odnos stranica", + "description": "Maksimalni odnos širine i visine koji je dozvoljen da bi se okvir za detekciju kvalifikovao." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosečan prag pouzdanosti detekcije koji je potreban da bi se atribut smatrao istinski pozitivnim rezultatom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije u jednom kadru koja je potrebna da bi se ovaj atribut povezao sa svojim izvornim objektom." + }, + "mask": { + "label": "Maska filtera", + "description": "Koordinate poligona koje definišu gde se ovaj filter primenjuje unutar kadra." + }, + "raw_mask": { + "label": "Sirova maska" + } + } + }, + "record": { + "label": "Snimanje", + "description": "Podešavanja snimanja i zadržavanja snimaka koja se primenjuju na sve kamere, osim ako nisu izmenjena pojedinačno po kameri.", + "enabled": { + "label": "Omogući snimanje", + "description": "Omogućava ili onemogućava snimanje za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "expire_interval": { + "label": "Interval čišćenja snimaka", + "description": "Broj minuta između ciklusa čišćenja koji uklanjaju istekle segmente snimaka." + }, + "continuous": { + "label": "Kontinuirano zadržavanje", + "description": "Broj dana tokom kojih se čuvaju snimci bez obzira na praćene objekte ili pokret. Postavite na 0 ako želite da zadržite samo snimke upozorenja i detekcija.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "motion": { + "label": "Zadržavanje na osnovu pokreta", + "description": "Broj dana tokom kojih se čuvaju snimci pokrenuti pokretom, bez obzira na praćene objekte. Postavite na 0 ako želite da zadržite samo snimke upozorenja i detekcija.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "detections": { + "label": "Zadržavanje na osnovu detekcije", + "description": "Podešavanja zadržavanja snimaka za događaje detekcije, uključujući trajanje snimanja pre i nakon samog događaja.", + "pre_capture": { + "label": "Sekunde pre događaja", + "description": "Broj sekundi pre samog događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon događaja", + "description": "Broj sekundi nakon samog događaja detekcije koje treba uključiti u snimak." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Podešavanja zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "alerts": { + "label": "Zadržavanje upozorenja", + "description": "Podešavanja zadržavanja snimaka za događaje upozorenja, uključujući trajanje snimanja pre i nakon samog događaja.", + "pre_capture": { + "label": "Sekunde pre događaja", + "description": "Broj sekundi pre samog događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon događaja", + "description": "Broj sekundi nakon samog događaja detekcije koje treba uključiti u snimak." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Podešavanja zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Podešavanja koja se koriste prilikom izvoza snimaka, kao što su ubrzani snimak (timelapse) i hardversko ubrzanje.", + "hwaccel_args": { + "label": "Argumenti za hardversko ubrzanje izvoza", + "description": "Argumenti hardverskog ubrzanja koji se koriste za operacije izvoza i transkodovanja videa." + }, + "max_concurrent": { + "label": "Maksimalno istovremenih izvoza", + "description": "Maksimalan broj zadataka izvoza koji se mogu obrađivati u isto vreme." + }, + "chapters": { + "label": "Metapodaci o poglavljima za ugradnju u izvezene snimke" + } + }, + "preview": { + "label": "Konfiguracija pregleda", + "description": "Podešavanja koja kontrolišu kvalitet pregleda snimaka koji se prikazuju u korisničkom interfejsu.", + "quality": { + "label": "Kvalitet pregleda", + "description": "Nivo kvaliteta pregleda (very_low, low, medium, high, very_high)." + } + }, + "sub": { + "label": "Snimanje pomoćnog strima", + "description": "Podešavanja za snimanje drugog strima nižeg kvaliteta.", + "enabled": { + "label": "Omogući snimanje pomoćnog strima", + "description": "Omogućava snimanje drugog strima nižeg kvaliteta radi prilagodljivog (adaptivnog) puštanja videa i produženog čuvanja snimaka." + }, + "continuous": { + "label": "Kontinuirano zadržavanje pomoćnog strima", + "description": "Broj dana tokom kojih se čuvaju snimci pomoćnog strima, bez obzira na praćene objekte ili pokret.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "motion": { + "label": "Zadržavanje pomoćnog strima na osnovu pokreta", + "description": "Broj dana tokom kojih se čuvaju snimci pomoćnog strima pokrenuti pokretom.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci." + } + }, + "alerts": { + "label": "Zadržavanje pomoćnog strima na osnovu upozorenja", + "description": "Podešavanja zadržavanja za snimke upozorenja sa pomoćnog strima.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + }, + "detections": { + "label": "Zadržavanje pomoćnog strima na osnovu detekcije", + "description": "Podešavanja zadržavanja za snimke detekcija sa pomoćnog strima.", + "days": { + "label": "Dani zadržavanja", + "description": "Broj dana tokom kojih se čuvaju snimci događaja detekcije." + }, + "mode": { + "label": "Režim zadržavanja", + "description": "Režim za čuvanje snimaka: all (čuvaj sve segmente), motion (čuvaj segmente sa pokretom) ili active_objects (čuvaj segmente sa aktivnim objektima)." + } + } + }, + "enabled_in_config": { + "label": "Prvobitno stanje snimanja", + "description": "Pokazuje da li je snimanje bilo omogućeno u prvobitnoj statičkoj konfiguraciji." + } + }, + "review": { + "label": "Pregled", + "description": "Podešavanja koja kontrolišu upozorenja, detekcije i GenAI rezimea pregleda koje koriste korisnički interfejs i skladište.", + "alerts": { + "label": "Konfiguracija upozorenja", + "description": "Podešavanja za koje praćene objekte se generišu upozorenja i kako se ta upozorenja zadržavaju.", + "enabled": { + "label": "Omogući upozorenja", + "description": "Omogućava ili onemogućava generisanje upozorenja za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "labels": { + "label": "Oznake upozorenja", + "description": "Lista oznaka objekata koji ispunjavaju uslove za upozorenje (na primer: automobil, osoba)." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi se smatrao upozorenjem; ostavite prazno da biste dozvolili bilo koju zonu." + }, + "enabled_in_config": { + "label": "Prvobitno stanje upozorenja", + "description": "Prati da li su upozorenja bila prvobitno omogućena u statičkoj konfiguraciji." + }, + "cutoff_time": { + "label": "Vreme prekida upozorenja", + "description": "Broj sekundi čekanja nakon što prestane aktivnost koja izaziva upozorenje pre nego što se upozorenje prekine." + } + }, + "detections": { + "label": "Konfiguracija detekcija", + "description": "Podešavanja za koje praćene objekte se generišu detekcije (koje nisu upozorenja) i kako se te detekcije zadržavaju.", + "enabled": { + "label": "Omogući detekcije", + "description": "Omogućava ili onemogućava događaje detekcije za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "labels": { + "label": "Oznake detekcija", + "description": "Lista oznaka objekata koji ispunjavaju uslove za događaje detekcije." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi se smatrao detekcijom; ostavite prazno da biste dozvolili bilo koju zonu." + }, + "cutoff_time": { + "label": "Vreme prekida detekcija", + "description": "Broj sekundi čekanja nakon što prestane aktivnost koja izaziva detekciju pre nego što se detekcija prekine." + }, + "enabled_in_config": { + "label": "Prvobitno stanje detekcija", + "description": "Prati da li su detekcije bile prvobitno omogućene u statičkoj konfiguraciji." + } + }, + "genai": { + "label": "GenAI konfiguracija", + "description": "Kontroliše upotrebu generativne veštačke inteligencije za pravljenje opisa i rezimea stavki pregleda.", + "enabled": { + "label": "Omogući GenAI opise", + "description": "Omogućava ili onemogućava opise i rezimee generisane pomoću GenAI-ja za stavke pregleda." + }, + "alerts": { + "label": "Omogući GenAI za upozorenja", + "description": "Koristi GenAI za generisanje opisa stavki upozorenja." + }, + "detections": { + "label": "Omogući GenAI za detekcije", + "description": "Koristi GenAI za generisanje opisa stavki detekcija." + }, + "image_source": { + "label": "Izvor slike za pregled", + "description": "Izvor slika koje se šalju GenAI provajderu ('preview' [pregled] ili 'recordings' [snimci]); opcija 'recordings' koristi kadrove višeg kvaliteta, ali troši više tokena." + }, + "additional_concerns": { + "label": "Dodatne napomene", + "description": "Lista dodatnih napomena ili beleški koje GenAI treba da uzme u obzir prilikom procene aktivnosti na ovoj kameri." + }, + "debug_save_thumbnails": { + "label": "Sačuvaj sličice", + "description": "Čuva sličice poslate GenAI provajderu radi rešavanja problema i pregleda." + }, + "enabled_in_config": { + "label": "Prvobitno GenAI stanje", + "description": "Prati da li je GenAI pregled bio prvobitno omogućen u statičkoj konfiguraciji." + }, + "preferred_language": { + "label": "Željeni jezik", + "description": "Željeni jezik koji se zahteva od GenAI provajdera za generisane odgovore." + }, + "frame_mode": { + "label": "Režim kadrova", + "description": "Način na koji se kadrovi predstavljaju modelu. Opcija 'frames' šalje upit praćen kadrovima, što odgovara modelima koji samostalno dobro prate sekvencu. Opcija 'annotated_frames' označava svaki kadar i umeće beleške izvedene iz praćenja objekata, što pomaže modelima koji gube korak sa aktivnošću koja se ponavlja ili odvija unazad." + }, + "response_style": { + "label": "Stil odgovora", + "description": "Unapred podešeni stil pisanja za generisane opise pregleda. Šabloni prilagođavaju ton i nivo detalja za naslov prikazan korisniku, rezime i opis scene; opcija 'default' ostavlja ugrađeni upit nepromenjen." + }, + "activity_context_prompt": { + "label": "Upit za kontekst aktivnosti", + "description": "Prilagođeni upit koji opisuje šta jeste, a šta nije sumnjiva aktivnost, kako bi se pružio kontekst za GenAI rezimee." + } + } + }, + "snapshots": { + "label": "Snimci ekrana", + "description": "Podešavanja za snimke ekrana praćenih objekata koje generiše API za sve kamere; mogu se izmeniti pojedinačno po kameri.", + "enabled": { + "label": "Omogući snimke ekrana", + "description": "Omogućava ili onemogućava čuvanje snimaka ekrana za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "timestamp": { + "label": "Prikaz vremenske oznake", + "description": "Ugrađuje vremensku oznaku (datum i vreme) na snimke ekrana dobijene preko API-ja." + }, + "bounding_box": { + "label": "Prikaz okvira za detekciju", + "description": "Iscrtava okvire oko praćenih objekata na snimcima ekrana dobijenim preko API-ja." + }, + "crop": { + "label": "Isecanje snimka ekrana", + "description": "Iseca snimke ekrana dobijene preko API-ja na veličinu okvira za detekciju detektovanog objekta." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi snimak ekrana bio sačuvan." + }, + "height": { + "label": "Visina snimka ekrana", + "description": "Visina (u pikselima) na koju se menjaju dimenzije snimaka ekrana dobijenih preko API-ja; ostavite prazno da biste zadržali izvornu veličinu." + }, + "retain": { + "label": "Zadržavanje snimaka ekrana", + "description": "Podešavanja zadržavanja za snimke ekrana, uključujući podrazumevani broj dana i izmene po pojedinačnim objektima.", + "default": { + "label": "Podrazumevano zadržavanje", + "description": "Podrazumevani broj dana tokom kojih se čuvaju snimci ekrana." + }, + "objects": { + "label": "Zadržavanje po objektu", + "description": "Izmene broja dana zadržavanja snimaka ekrana po pojedinačnim objektima." + } + }, + "quality": { + "label": "Kvalitet snimka ekrana", + "description": "Kvalitet kodiranja za sačuvane snimke ekrana (0-100)." + } + }, + "timestamp_style": { + "label": "Stil vremenske oznake", + "description": "Opcije stilizovanja vremenskih oznaka unutar strima koje se primenjuju na prikaz za rešavanje problema i snimke ekrana.", + "position": { + "label": "Pozicija vremenske oznake", + "description": "Pozicija vremenske oznake na slici (tl [gore levo], tr [gore desno], bl [dole levo], br [dole desno])." + }, + "format": { + "label": "Format vremenske oznake", + "description": "Tekstualni format datuma i vremena koji se koristi za vremenske oznake (Python datetime kodovi za formatiranje)." + }, + "color": { + "label": "Boja vremenske oznake", + "description": "RGB vrednosti boja za tekst vremenske oznake (sve vrednosti od 0 do 255).", + "red": { + "label": "Crvena", + "description": "Crvena komponenta (0-255) za boju vremenske oznake." + }, + "green": { + "label": "Zelena", + "description": "Zelena komponenta (0-255) za boju vremenske oznake." + }, + "blue": { + "label": "Plava", + "description": "Plava komponenta (0-255) za boju vremenske oznake." + } + }, + "thickness": { + "label": "Debljina vremenske oznake", + "description": "Debljina linije teksta vremenske oznake." + }, + "effect": { + "label": "Efekat vremenske oznake", + "description": "Vizuelni efekat za tekst vremenske oznake (bez efekta, puna pozadina, senka)." + } + }, + "audio_transcription": { + "label": "Transkripcija zvuka", + "description": "Podešavanja za transkripciju zvuka uživo i govora koja se koristi za događaje i titlove uživo.", + "enabled": { + "label": "Omogući transkripciju zvuka", + "description": "Omogućava ili onemogućava automatsku transkripciju zvuka za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "language": { + "label": "Jezik transkripcije", + "description": "Kôd jezika koji se koristi za transkripciju/prevod (na primer 'en' za engleski, ili 'auto' da bi model sam detektovao jezik). Pogledajte whisper-api.com za podržane kodove jezika." + }, + "model": { + "label": "Model za transkripciju zvuka ili Naziv GenAI provajdera", + "description": "Pozadinski sistem za transkripciju: 'whisper' za ugrađene lokalne modele u Frigate-u, ili naziv GenAI provajdera koji ima ulogu transkripcije." + }, + "device": { + "label": "Uređaj za transkripciju", + "description": "Ključ uređaja (CPU/GPU) na kojem se pokreće model za transkripciju. Trenutno su za transkripciju podržani samo NVIDIA CUDA grafički procesori." + }, + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela koja se koristi za oflajn transkripciju zvučnih događaja." + }, + "live_enabled": { + "label": "Transkripcija uživo", + "description": "Omogućava strimovanje transkripcije zvuka uživo čim se on primi." + } + }, + "classification": { + "label": "Klasifikacija objekata", + "description": "Podešavanja za modele klasifikacije koji se koriste za preciziranje oznaka objekata ili klasifikaciju stanja.", + "bird": { + "label": "Konfiguracija klasifikacije ptica", + "description": "Specifična podešavanja za modele klasifikacije ptica.", + "enabled": { + "label": "Klasifikacija ptica", + "description": "Omogućava ili onemogućava klasifikaciju ptica." + }, + "threshold": { + "label": "Minimalni rezultat", + "description": "Minimalni rezultat klasifikacije koji je potreban da bi se klasifikacija ptice prihvatila." + } + }, + "custom": { + "label": "Prilagođeni modeli klasifikacije", + "description": "Konfiguracija za prilagođene modele klasifikacije koji se koriste za detekciju objekata ili stanja.", + "enabled": { + "label": "Omogući model", + "description": "Omogućava ili onemogućava prilagođeni model klasifikacije." + }, + "name": { + "label": "Naziv modela", + "description": "Identifikator za prilagođeni model klasifikacije koji će se koristiti." + }, + "threshold": { + "label": "Prag rezultata", + "description": "Prag rezultata koji se koristi za promenu stanja klasifikacije." + }, + "save_attempts": { + "label": "Sačuvaj pokušaje", + "description": "Koliko pokušaja klasifikacije treba sačuvati za prikaz u korisničkom interfejsu nedavnih klasifikacija." + }, + "object_config": { + "objects": { + "label": "Klasifikuj objekte", + "description": "Lista tipova objekata na kojima treba pokrenuti klasifikaciju objekata." + }, + "classification_type": { + "label": "Tip klasifikacije", + "description": "Primenjeni tip klasifikacije: 'sub_label' (dodaje pod-oznaku) ili drugi podržani tipovi." + } + }, + "state_config": { + "cameras": { + "label": "Kamere za klasifikaciju", + "description": "Isecanje i podešavanja po pojedinačnim kamerama za pokretanje klasifikacije stanja.", + "crop": { + "label": "Isecanje za klasifikaciju", + "description": "Koordinate isecanja koje se koriste za pokretanje klasifikacije na ovoj kameri." + } + }, + "motion": { + "label": "Pokreni pri pokretu", + "description": "Ako je označeno kao tačno (true), pokreće klasifikaciju kada se detektuje pokret unutar određenog isecanja slike." + }, + "interval": { + "label": "Interval klasifikacije", + "description": "Interval (u sekundama) između periodičnih pokretanja klasifikacije za klasifikaciju stanja." + } + } + } + }, + "semantic_search": { + "label": "Semantička pretraga", + "description": "Podešavanja za semantičku pretragu koja kreira i pretražuje vektorska ugnježdenja objekata radi pronalaženja sličnih stavki.", + "enabled": { + "label": "Omogući semantičku pretragu", + "description": "Omogućava ili onemogućava funkciju semantičke pretrage." + }, + "reindex": { + "label": "Reindeksiranje pri pokretanju", + "description": "Pokreće potpuno ponovno indeksiranje istorije praćenih objekata u bazu podataka ugnježdenja." + }, + "model": { + "label": "Model za semantičku pretragu ili naziv GenAI provajdera", + "description": "Model ugnježdenja koji se koristi za semantičku pretragu (na primer 'jinav1') ili naziv GenAI provajdera koji ima ulogu ugnježdenja." + }, + "model_size": { + "label": "Veličina modela", + "description": "Izbor veličine modela; opcija 'small' se pokreće na CPU, dok 'large' obično zahteva GPU." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je izmena za ciljanje specifičnog uređaja. Pogledajte https://onnxruntime.ai/docs/execution-providers/ for more information za više informacija" + }, + "triggers": { + "label": "Okidači", + "description": "Akcije i kriterijumi podudaranja za okidače semantičke pretrage specifične za kameru.", + "friendly_name": { + "label": "Uobičajeni naziv", + "description": "Opcioni uobičajeni naziv koji se prikazuje u korisničkom interfejsu za ovaj okidač." + }, + "enabled": { + "label": "Omogući ovaj okidač", + "description": "Omogućava ili onemogućava ovaj okidač semantičke pretrage." + }, + "type": { + "label": "Tip okidača", + "description": "Tip okidača: 'thumbnail' (podudaranje sa slikom) ili 'description' (podudaranje sa tekstom)." + }, + "data": { + "label": "Sadržaj okidača", + "description": "Tekstualna fraza ili ID sličice za podudaranje sa praćenim objektima." + }, + "threshold": { + "label": "Prag okidača", + "description": "Minimalni rezultat sličnosti (0-1) koji je potreban za aktiviranje ovog okidača." + }, + "actions": { + "label": "Akcije okidača", + "description": "Lista akcija koje treba izvršiti kada se okidač poklopi (obaveštenje, pod-oznaka, atribut)." + } + } + }, + "face_recognition": { + "label": "Prepoznavanje lica", + "description": "Podešavanja za detekciju i prepoznavanje lica za sve kamere; mogu se izmeniti pojedinačno po kameri.", + "enabled": { + "label": "Omogući prepoznavanje lica", + "description": "Omogućava ili onemogućava prepoznavanje lica za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela koja se koristi za ugnježdenja lica (small/large); veća veličina može zahtevati grafički procesor GPU." + }, + "unknown_score": { + "label": "Prag rezultata za nepoznata lica", + "description": "Prag udaljenosti ispod kojeg se lice smatra potencijalnim podudaranjem (veća vrednost = stroži kriterijum)." + }, + "detection_threshold": { + "label": "Prag detekcije", + "description": "Minimalna pouzdanost detekcije koja je potrebna da bi se detekcija lica smatrala važećom." + }, + "recognition_threshold": { + "label": "Prag prepoznavanja", + "description": "Prag udaljenosti vektorskih ugnježdenja lica koji je potreban da bi se dva lica smatrala podudarnim." + }, + "min_area": { + "label": "Minimalna površina lica", + "description": "Minimalna površina okvira detektovanog lica (u pikselima) koja je potrebna da bi se pokušalo prepoznavanje." + }, + "min_faces": { + "label": "Minimalno lica", + "description": "Minimalni broj prepoznavanja lica koji je potreban pre nego što se prepoznata pod-oznaka primeni na osobu." + }, + "save_attempts": { + "label": "Sačuvaj pokušaje", + "description": "Broj pokušaja prepoznavanja lica koje treba zadržati za prikaz u korisničkom interfejsu nedavnih prepoznavanja." + }, + "blur_confidence_filter": { + "label": "Filter pouzdanosti zamućenja", + "description": "Prilagođava rezultate pouzdanosti na osnovu zamućenosti slike kako bi se smanjili lažno pozitivni rezultati kod lica lošeg kvaliteta." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je izmena za ciljanje specifičnog uređaja. Pogledajte https://onnxruntime.ai/docs/execution-providers/ za više informacija." + } + }, + "lpr": { + "label": "Prepoznavanje registarskih tablica", + "description": "Podešavanja za prepoznavanje registarskih tablica, uključujući pragove detekcije, formatiranje i poznate tablice.", + "enabled": { + "label": "Omogući LPR", + "description": "Omogućava ili onemogućava prepoznavanje registarskih tablica za sve kamere; može se izmeniti pojedinačno po kameri." + }, + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela koja se koristi za detekciju/prepoznavanje teksta. Većina korisnika bi trebalo da koristi opciju 'small'." + }, + "detection_threshold": { + "label": "Prag detekcije", + "description": "Prag pouzdanosti detekcije koji je potreban da bi se pokrenuo OCR (optičko prepoznavanje teksta) na sumnjivoj tablici." + }, + "min_area": { + "label": "Minimalna površina tablice", + "description": "Minimalna površina tablice (u pikselima) koja je potrebna da bi se pokušalo prepoznavanje." + }, + "recognition_threshold": { + "label": "Prag prepoznavanja", + "description": "Prag pouzdanosti koji je potreban da bi se tekst prepoznate tablice dodao kao pod-oznaka." + }, + "min_plate_length": { + "label": "Minimalna dužina tablice", + "description": "Minimalni broj znakova koje prepoznata tablica mora da sadrži da bi se smatrala važećom." + }, + "format": { + "label": "Regex za format tablice", + "description": "Opcioni regularni izraz za validaciju prepoznatih tekstualnih zapisa tablica u odnosu na očekivani format." + }, + "match_distance": { + "label": "Dozvoljeno odstupanje pri poklapanju", + "description": "Broj dozvoljenih nepoklapanja karaktera prilikom poređenja detektovanih tablica sa poznatim tablicama." + }, + "known_plates": { + "label": "Poznate tablice", + "description": "Spisak tablica ili regularnih izraza za posebno praćenje ili aktiviranje alarma." + }, + "enhancement": { + "label": "Nivo poboljšanja", + "description": "Nivo poboljšanja kvaliteta slike (0–10) koji se primenjuje na isečke tablica pre OCR prepoznavanja; više vrednosti ne moraju uvek poboljšati rezultate, a nivoi iznad 5 mogu funkcionisati samo na noćnim tablicama i treba ih koristiti oprezno." + }, + "debug_save_plates": { + "label": "Čuvanje tablica za otklanjanje grešaka", + "description": "Čuvanje isečaka slika tablica radi otklanjanja grešaka i analize performansi LPR sistema." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je opcija za nadjačavanje radi ciljanja određenog uređaja. Za više informacija pogledajte https://onnxruntime.ai/docs/execution-providers/" + }, + "replace_rules": { + "label": "Pravila zamene", + "description": "Pravila zamene zasnovana na regularnim izrazima koja se koriste za normalizaciju detektovanog teksta tablice pre procesa poklapanja.", + "pattern": { + "label": "Regex šablon" + }, + "replacement": { + "label": "String za zamenu" + } + }, + "expire_time": { + "label": "Vreme isteka u sekundama", + "description": "Vreme u sekundama nakon kojeg se neaktivna tablica briše iz sistema za praćenje (važi samo za namenske LPR kamere)." + } + }, + "camera_groups": { + "label": "Grupe kamera", + "description": "Konfiguracija za imenovane grupe kamera koje služe za organizaciju kamera unutar korisničkog interfejsa.", + "cameras": { + "label": "Lista kamera", + "description": "Niz naziva kamera koje su uključene u ovu grupu." + }, + "icon": { + "label": "Ikona grupe", + "description": "Ikona koja se koristi za prikaz grupe kamera u korisničkom interfejsu." + }, + "order": { + "label": "Redosled sortiranja", + "description": "Numerički redosled koji se koristi za sortiranje grupa kamera u korisničkom interfejsu; veći brojevi se prikazuju kasnije." + } + }, + "profiles": { + "label": "Profili", + "description": "Definicije imenovanih profila sa prepoznatljivim nazivima. Profili kamera moraju upućivati na nazive koji su ovde definisani.", + "friendly_name": { + "label": "Prepoznatljiv naziv", + "description": "Naziv ovog profila koji se prikazuje u korisničkom interfejsu." + } + }, + "active_profile": { + "label": "Aktivni profil", + "description": "Naziv trenutno aktivnog profila. Koristi se samo tokom rada sistema i ne čuva se trajno u YAML datoteci." + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Podešavanja MQTT objavljivanja slika.", + "enabled": { + "label": "Pošalji sliku", + "description": "Omogući objavljivanje isečaka slika detektovanih objekata na MQTT teme (topics) za ovu kameru." + }, + "timestamp": { + "label": "Dodaj vremensku oznaku", + "description": "Preklopi vremensku oznaku preko slika koje se objavljuju na MQTT." + }, + "bounding_box": { + "label": "Dodaj okvir za detekciju", + "description": "Iscrtaj okvire za detekciju na slikama koje se šalju preko MQTT-a." + }, + "crop": { + "label": "Iseci sliku", + "description": "Iseci slike koje se šalju na MQTT prema okviru za detekciju prepoznatog objekta." + }, + "height": { + "label": "Visina slike", + "description": "Visina (u pikselima) za promenu veličine slika koje se šalju preko MQTT-a." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Zone u koje objekat mora da uđe da bi slika bila poslata na MQTT." + }, + "quality": { + "label": "JPEG kvalitet", + "description": "Kvalitet JPEG slika koje se šalju na MQTT (0–100)." + } + }, + "camera_ui": { + "label": "Korisnički interfejs kamere", + "description": "Redosled prikaza i vidljivost ove kamere u korisničkom interfejsu. Redosled utiče na podrazumevanu kontrolnu tablu. Za precizniju kontrolu koristite grupe kamera.", + "order": { + "label": "Redosled u korisničkom interfejsu", + "description": "Numerički redosled koji se koristi za sortiranje kamera u korisničkom interfejsu (podrazumevana kontrolna tabla i liste); veći brojevi se prikazuju kasnije." + }, + "dashboard": { + "label": "Prikaži na kontrolnoj tabli uživo", + "description": "Prekidač za upravljanje vidljivošću ove kamere na podrazumevanoj kontrolnoj tabli uživo \"Sve kamere\". Kamera ostaje dostupna na svim ostalim mestima u korisničkom interfejsu, uključujući grupe kamera i podešavanja." + }, + "review": { + "label": "Prikaži u pregledu", + "description": "Prekidač za upravljanje vidljivošću ove kamere u delu za pregled (stranica za pregled i njen filter kamera, pregled kretanja i istorijski prikaz)." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Podešavanja ONVIF veze i PTZ automatskog praćenja za ovu kameru.", + "host": { + "label": "ONVIF host", + "description": "Host adresa (i opciona šema protokola) za ONVIF uslugu ove kamere." + }, + "port": { + "label": "ONVIF port", + "description": "Broj porta za ONVIF uslugu." + }, + "user": { + "label": "ONVIF korisničko ime", + "description": "Korisničko ime za ONVIF autentifikaciju; neki uređaji zahtevaju administratorskog (admin) korisnika za ONVIF." + }, + "password": { + "label": "ONVIF lozinka", + "description": "Lozinka za ONVIF potvrdu identiteta." + }, + "tls_insecure": { + "label": "Onemogući TLS verifikaciju", + "description": "Preskoči verifikaciju TLS sertifikata i onemogući \"digest\" potvrdu identiteta za ONVIF (nebezbedno; koristiti isključivo u pouzdanim mrežama)." + }, + "profile": { + "label": "ONVIF profil", + "description": "Konkretan ONVIF medijski profil koji se koristi za PTZ kontrolu, identifikovan putem tokena ili naziva. Ako nije podešeno, sistem automatski bira prvi profil sa ispravnom PTZ konfiguracijom." + }, + "autotracking": { + "label": "Automatsko praćenje", + "description": "Automatski prati objekte u pokretu i drži ih u centru kadra pomoću pomeranja PTZ kamere.", + "enabled": { + "label": "Omogući automatsko praćenje", + "description": "Omogući ili onemogući automatsko PTZ praćenje detektovanih objekata." + }, + "calibrate_on_startup": { + "label": "Kalibracija pri pokretanju", + "description": "Izmeri brzine PTZ motora prilikom pokretanja sistema radi veće preciznosti praćenja. Frigate će nakon kalibracije ažurirati konfiguraciju parametrom movement_weights." + }, + "zooming": { + "label": "Režim zumiranja", + "description": "Kontrola ponašanja zuma: onemogućeno (samo pomeranje levo-desno/gore-dole), apsolutno (najkompatibilnije) ili relativno (istovremeno pomeranje i zumiranje)." + }, + "zoom_factor": { + "label": "Faktor zumiranja", + "description": "Kontrola nivoa zuma na objektima koji se prate. Niže vrednosti zadržavaju širi kadar, dok više vrednosti više približavaju sliku, ali mogu dovesti do gubitka praćenja. Vrednosti se kreću između 0.1 i 0.75." + }, + "track": { + "label": "Praćeni objekti", + "description": "Lista tipova objekata koji treba da pokrenu automatsko praćenje." + }, + "required_zones": { + "label": "Obavezne zone", + "description": "Objekti moraju da uđu u jednu od ovih zona pre nego što počne automatsko praćenje." + }, + "return_preset": { + "label": "Podrazumevana pozicija za povratak", + "description": "Naziv ONVIF unapred podešene pozicije koja je konfigurisana u softveru kamere, na koju se kamera vraća nakon završetka praćenja." + }, + "timeout": { + "label": "Vreme čekanja na povratak", + "description": "Broj sekundi koji kamera čeka nakon gubitka objekta iz vidokruga pre nego što se vrati na svoju podrazumevanu poziciju." + }, + "movement_weights": { + "label": "Težinski koeficijenti kretanja", + "description": "Vrednosti kalibracije koje sistem automatski generiše tokom kalibracije kamere. Nemojte ih ručno menjati." + }, + "enabled_in_config": { + "label": "Izvorno stanje automatskog praćenja", + "description": "Interno polje koje prati da li je automatsko praćenje bilo omogućeno u samoj konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Zanemari vremensko neslaganje", + "description": "Zanemari razlike u sinhronizaciji vremena između kamere i Frigate servera za ONVIF komunikaciju." + } + } +} diff --git a/web/public/locales/sr_Latn/config/groups.json b/web/public/locales/sr_Latn/config/groups.json index 0967ef424b..8f7e587e81 100644 --- a/web/public/locales/sr_Latn/config/groups.json +++ b/web/public/locales/sr_Latn/config/groups.json @@ -1 +1,73 @@ -{} +{ + "audio": { + "global": { + "detection": "Globalna detekcija", + "sensitivity": "Globalna osetljivost" + }, + "cameras": { + "detection": "Detekcija", + "sensitivity": "Osetljivost" + } + }, + "timestamp_style": { + "global": { + "appearance": "Globalni izgled" + }, + "cameras": { + "appearance": "Izgled" + } + }, + "motion": { + "global": { + "sensitivity": "Globalna osetljivost", + "algorithm": "Globalni algoritam" + }, + "cameras": { + "sensitivity": "Osetljivost", + "algorithm": "Algoritam" + } + }, + "snapshots": { + "global": { + "display": "Globalni prikaz" + }, + "cameras": { + "display": "Prikaz" + } + }, + "detect": { + "global": { + "resolution": "Globalna rezolucija", + "tracking": "Globalno praćenje" + }, + "cameras": { + "resolution": "Rezolucija", + "tracking": "Praćenje" + } + }, + "objects": { + "global": { + "tracking": "Globalno praćenje", + "filtering": "Globalno filtriranje" + }, + "cameras": { + "tracking": "Praćenje", + "filtering": "Filtriranje" + } + }, + "record": { + "global": { + "retention": "Globalno čuvanje", + "events": "Globalni događaji" + }, + "cameras": { + "retention": "Čuvanje", + "events": "Događaji" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "FFmpeg argumenti specifični za kameru" + } + } +} diff --git a/web/public/locales/sr_Latn/objects.json b/web/public/locales/sr_Latn/objects.json index 0967ef424b..5b8b710192 100644 --- a/web/public/locales/sr_Latn/objects.json +++ b/web/public/locales/sr_Latn/objects.json @@ -1 +1,131 @@ -{} +{ + "person": "Osoba", + "bicycle": "Bicikl", + "car": "Automobil", + "motorcycle": "Motocikl", + "airplane": "Avion", + "bus": "Autobus", + "train": "Voz", + "boat": "Čamac", + "traffic_light": "Semafor", + "fire_hydrant": "Protivpožarni hidrant", + "street_sign": "Ulični znak", + "stop_sign": "Znak STOP", + "parking_meter": "Parking metar", + "bench": "Klupa", + "bird": "Ptica", + "cat": "Mačka", + "dog": "Pas", + "horse": "Konj", + "sheep": "Ovca", + "cow": "Krava", + "elephant": "Slon", + "bear": "Medved", + "zebra": "Zebra", + "giraffe": "Žirafa", + "hat": "Šešir", + "backpack": "Ranac", + "umbrella": "Kišobran", + "shoe": "Cipela", + "eye_glasses": "Naočare", + "handbag": "Torbica", + "tie": "Kravata", + "suitcase": "Kofer", + "frisbee": "Frizbi", + "skis": "Skije", + "snowboard": "Snoubord", + "sports_ball": "Sportska lopta", + "kite": "Zmaj", + "baseball_bat": "Bezbol palica", + "baseball_glove": "Bezbol rukavica", + "skateboard": "Skejtbord", + "surfboard": "Daska za surfovanje", + "tennis_racket": "Teniski reket", + "bottle": "Flaša", + "plate": "Tanjir", + "wine_glass": "Čaša za vino", + "cup": "Šolja", + "fork": "Viljuška", + "knife": "Nož", + "spoon": "Kašika", + "bowl": "Činija", + "banana": "Banana", + "apple": "Jabuka", + "sandwich": "Sendvič", + "orange": "Pomorandža", + "broccoli": "Brokoli", + "carrot": "Šargarepa", + "hot_dog": "Hot-dog", + "pizza": "Pica", + "donut": "Krofna", + "cake": "Kolač", + "chair": "Stolica", + "couch": "Kauč", + "potted_plant": "Saksijska biljka", + "bed": "Krevet", + "mirror": "Ogledalo", + "dining_table": "Trpezarijski sto", + "window": "Prozor", + "desk": "Radni sto", + "toilet": "Toalet", + "door": "Vrata", + "tv": "Televizor", + "laptop": "Laptop", + "mouse": "Miš", + "remote": "Daljinski upravljač", + "keyboard": "Tastatura", + "cell_phone": "Mobilni telefon", + "microwave": "Mikrotalasna", + "oven": "Rerna", + "toaster": "Toster", + "sink": "Sudopera", + "refrigerator": "Frižider", + "blender": "Blender", + "book": "Knjiga", + "clock": "Sat", + "vase": "Vaza", + "scissors": "Makaze", + "teddy_bear": "Plišani medvedić", + "hair_dryer": "Fen za kosu", + "toothbrush": "Četkica za zube", + "hair_brush": "Četka za kosu", + "vehicle": "Vozilo", + "squirrel": "Veverica", + "deer": "Jelen", + "animal": "Životinja", + "bark": "Lavež", + "fox": "Lisica", + "goat": "Koza", + "rabbit": "Zec", + "raccoon": "Rakun", + "robot_lawnmower": "Robotska kosilica", + "waste_bin": "Kanta za smeće", + "on_demand": "Na zahtev", + "face": "Lice", + "license_plate": "Registarska tablica", + "package": "Paket", + "bbq_grill": "Roštilj", + "amazon": "Amazon", + "usps": "USPS", + "ups": "UPS", + "fedex": "FedEx", + "dhl": "DHL", + "an_post": "An Post", + "purolator": "Purolator", + "postnl": "PostNL", + "nzpost": "NZPost", + "postnord": "PostNord", + "gls": "GLS", + "dpd": "DPD", + "canada_post": "Canada Post", + "royal_mail": "Royal Mail", + "school_bus": "Školski autobus", + "skunk": "Tvor", + "kangaroo": "Kengur", + "baby": "Beba", + "baby_stroller": "Dečja kolica", + "rickshaw": "Rikša", + "rodent": "Glodar", + "possum": "Oposum", + "garbage_truck": "Kamion za odvoženje smeća" +} diff --git a/web/public/locales/sr_Latn/views/chat.json b/web/public/locales/sr_Latn/views/chat.json index 0967ef424b..14a015091f 100644 --- a/web/public/locales/sr_Latn/views/chat.json +++ b/web/public/locales/sr_Latn/views/chat.json @@ -1 +1,88 @@ -{} +{ + "documentTitle": "Ćaskanje - Frigate", + "title": "Frigate ćaskanje", + "subtitle": "Vaš AI asistent za upravljanje kamerama i uvođenje u detalje", + "placeholder": "Pitajte bilo šta...", + "error": "Nešto je pošlo po zlu. Pokušajte ponovo.", + "processing": "Obrada...", + "toolsUsed": "Korišćeno: {{tools}}", + "showTools": "Prikaži alate ({{count}})", + "hideTools": "Sakrij alate", + "call": "Poziv", + "result": "Rezultat", + "arguments": "Argumenti:", + "response": "Odgovor:", + "attachment_chip_label": "{{label}} na kameri {{camera}}", + "attachment_chip_remove": "Ukloni prilog", + "open_in_explore": "Otvori u pretraživaču", + "attach_event_aria": "Priloži događaj {{eventId}}", + "attachment_picker_paste_label": "Ili nalepite ID događaja", + "attachment_picker_attach": "Priloži", + "attachment_picker_placeholder": "Priloži događaj", + "quick_reply_find_similar": "Pronađi slična uočavanja", + "quick_reply_tell_me_more": "Reci mi nešto više o ovome", + "quick_reply_when_else": "Kada je još viđeno?", + "quick_reply_find_similar_text": "Pronađi slična uočavanja za ovo.", + "quick_reply_tell_me_more_text": "Reci mi nešto više o ovome.", + "quick_reply_when_else_text": "Kada je još ovo viđeno?", + "anchor": "Referenca", + "similarity_score": "Sličnost", + "no_similar_objects_found": "Nisu pronađeni slični objekti.", + "semantic_search_required": "Semantička pretraga mora biti omogućena da bi se pronašli slični objekti.", + "send": "Pošalji", + "suggested_requests": "Pokušajte da pitate:", + "starting_requests": { + "show_recent_events": "Prikaži nedavne događaje", + "show_camera_status": "Prikaži status kamera", + "recap": "Šta se desilo u odsustvu?", + "watch_camera": "Prati kameru za aktivnosti" + }, + "starting_requests_prompts": { + "show_recent_events": "Prikaži mi nedavne događaje iz poslednjeg sata", + "show_camera_status": "Kakav je trenutni status kamera?", + "recap": "Šta se desilo u odsustvu?", + "watch_camera": "Prati ulazna vrata i javi mi ako se neko pojavi" + }, + "new_chat": "Novo ćaskanje", + "settings": { + "title": "Podešavanja ćaskanja", + "show_stats": { + "title": "Prikaži statistiku", + "desc": "Prikaži brzinu generisanja i veličinu konteksta za odgovore u ćaskanju.", + "while_generating": "Tokom generisanja", + "always": "Uvek" + }, + "auto_scroll": { + "title": "Automatsko pomeranje ekrana", + "desc": "Prati nove poruke kako pristižu." + }, + "always_allow": { + "title": "Uvek dozvoljene akcije", + "desc": "Akcije koje asistent može da pokrene bez prethodnog traženja dozvole.", + "none": "Nijedna", + "reset": "Resetuj" + } + }, + "stats": { + "context": "{{tokens}} tokena", + "tokens_per_second": "{{rate}} t/s" + }, + "reasoning": { + "active": "Razmišljanje…", + "show": "Prikaži tok razmišljanja", + "hide": "Sakrij tok razmišljanja" + }, + "thinking": { + "toggle": "Prebaci prikaz razmišljanja" + }, + "approval": { + "title": "Odobriti {{tool}}?", + "desc": "Ova akcija menja nešto u Frigate-u. Pregledajte detalje pre odobravanja.", + "approve": "Odobri", + "always_allow": "Uvek dozvoli", + "reject": "Odbij", + "approved": "Odobreno", + "rejected": "Odbijeno", + "placeholder": "Odobrite ili odbijte akciju na čekanju da biste nastavili" + } +} diff --git a/web/public/locales/sr_Latn/views/configEditor.json b/web/public/locales/sr_Latn/views/configEditor.json index 0967ef424b..ee5e848bcf 100644 --- a/web/public/locales/sr_Latn/views/configEditor.json +++ b/web/public/locales/sr_Latn/views/configEditor.json @@ -1 +1,18 @@ -{} +{ + "documentTitle": "Editor konfiguracije - Frigate", + "configEditor": "Editor konfiguracije", + "safeConfigEditor": "Editor konfiguracije (Bezbedan režim)", + "safeModeDescription": "Frigate je u bezbednom režimu zbog greške u validaciji konfiguracije.", + "copyConfig": "Kopiraj konfiguraciju", + "saveAndRestart": "Sačuvaj i ponovo pokreni", + "saveOnly": "Samo sačuvaj", + "confirm": "Izaći bez čuvanja?", + "toast": { + "success": { + "copyToClipboard": "Konfiguracija je kopirana u privremenu memoriju." + }, + "error": { + "savingError": "Greška pri čuvanju konfiguracije" + } + } +} diff --git a/web/public/locales/sr_Latn/views/events.json b/web/public/locales/sr_Latn/views/events.json index 0967ef424b..a9fde1e60b 100644 --- a/web/public/locales/sr_Latn/views/events.json +++ b/web/public/locales/sr_Latn/views/events.json @@ -1 +1,96 @@ -{} +{ + "alerts": "Upozorenja", + "detections": "Detekcije", + "motion": { + "label": "Kretanje", + "only": "Samo kretanje" + }, + "allCameras": "Sve kamere", + "empty": { + "alert": "Nema upozorenja za pregled", + "detection": "Nema detekcija za pregled", + "motion": "Nisu pronađeni podaci o kretanju", + "recordingsDisabled": { + "title": "Snimanje mora biti omogućeno", + "description": "Stavke za pregled se mogu kreirati za kameru samo kada je snimanje omogućeno za tu kameru." + } + }, + "timeline": { + "label": "Vremenska linija", + "aria": "Izaberite vremensku liniju" + }, + "zoomIn": "Uveličaj", + "zoomOut": "Umanji", + "subOnlyQuality": "U ovom vremenskom opsegu dostupni su samo snimci nižeg kvaliteta", + "events": { + "label": "Događaji", + "aria": "Izaberite događaje", + "noFoundForTimePeriod": "Nema pronađenih događaja za ovaj vremenski period." + }, + "detail": { + "label": "Detalj", + "noDataFound": "Nema detaljnih podataka za pregled", + "aria": "Uključi/isključi detaljan prikaz", + "trackedObject_one": "{{count}} objekat", + "trackedObject_other": "{{count}} objekata", + "noObjectDetailData": "Nema dostupnih detaljnih podataka o objektu.", + "settings": "Podešavanja detaljnog prikaza", + "alwaysExpandActive": { + "title": "Uvek proširi aktivno", + "desc": "Uvek proširi detalje o objektu za aktivnu stavku pregleda kada su dostupni." + } + }, + "objectTrack": { + "trackedPoint": "Praćena tačka", + "clickToSeek": "Kliknite da premotate na ovo vreme" + }, + "documentTitle": "Pregled - Frigate", + "recordings": { + "documentTitle": "Snimci - Frigate", + "invalidSharedLink": "Nije moguće otvoriti vezu ka snimku sa vremenskom oznakom zbog greške u parsiranju.", + "invalidSharedCamera": "Nije moguće otvoriti vezu ka snimku sa vremenskom oznakom zbog nepoznate ili neovlašćene kamere." + }, + "calendarFilter": { + "last24Hours": "Poslednja 24 sata" + }, + "markAsReviewed": "Označi kao pregledano", + "markTheseItemsAsReviewed": "Označi ove stavke kao pregledane", + "newReviewItems": { + "label": "Prikaži nove stavke za pregled", + "button": "Nove stavke za pregled" + }, + "selected_one": "Izabrano: {{count}}", + "selected_other": "Izabrano: {{count}}", + "select_all": "Sve", + "camera": "Kamera", + "detected": "detektovano", + "normalActivity": "Normalno", + "needsReview": "Zahteva pregled", + "securityConcern": "Bezbednosni problem", + "motionSearch": { + "menuItem": "Pretraga kretanja", + "openMenu": "Opcije kamere" + }, + "motionPreviews": { + "menuItem": "Prikaži preglede kretanja", + "title": "Pregledi kretanja: {{camera}}", + "mobileSettingsTitle": "Podešavanja pregleda kretanja", + "mobileSettingsDesc": "Prilagodite brzinu reprodukcije, zatamnjenje i isecanje, i izaberite datum za pregled video zapisa koji sadrže samo kretanje.", + "dim": "Zatamnjenje", + "dimAria": "Prilagodite intenzitet zatamnjenja", + "dimDesc": "Povećajte zatamnjenje da biste povećali vidljivost oblasti sa kretanjem.", + "speed": "Brzina", + "speedAria": "Izaberite brzinu reprodukcije pregleda", + "speedDesc": "Izaberite koliko brzo se reprodukuju video zapisi pregleda.", + "back": "Nazad", + "empty": "Nema dostupnih pregleda", + "noPreview": "Pregled nije dostupan", + "seekAria": "Premotajte plejer za kameru {{camera}} na {{time}}", + "filter": "Filter", + "filterDesc": "Izaberite oblasti da biste prikazali samo video zapise sa kretanjem u tim regionima.", + "filterClear": "Očisti", + "crop": "Iseci prema filteru", + "cropAria": "Uključi/isključi isecanje pregleda na filtrirane oblasti", + "cropDesc": "Zumirajte preglede na izabrane oblasti filtera umesto prikazivanja celog kadra." + } +} diff --git a/web/public/locales/sr_Latn/views/recording.json b/web/public/locales/sr_Latn/views/recording.json index 0967ef424b..6e89c0a6dd 100644 --- a/web/public/locales/sr_Latn/views/recording.json +++ b/web/public/locales/sr_Latn/views/recording.json @@ -1 +1,12 @@ -{} +{ + "filter": "Filtriraj", + "export": "Izvezi", + "calendar": "Kalendar", + "filters": "Filteri", + "toast": { + "error": { + "noValidTimeSelected": "Nije izabran važeći vremenski raspon", + "endTimeMustAfterStartTime": "Vreme završetka mora biti nakon vremena početka" + } + } +}