Compare commits

...

13 Commits

Author SHA1 Message Date
Weblate (bot)
62e45e1682
Merge 702c9a5f16 into cfeb86646f 2026-01-17 12:21:01 +00:00
Hosted Weblate
702c9a5f16
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (215 of 215 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translation: Frigate NVR/common
2026-01-17 13:20:50 +01:00
Hosted Weblate
0d0b6588f5
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (43 of 43 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: wolfish1 <fish20488@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hant/
Translation: Frigate NVR/views-events
2026-01-17 13:20:50 +01:00
Hosted Weblate
bef60b3016
Translated using Weblate (Uzbek)
Currently translated at 1.3% (1 of 74 strings)

Translated using Weblate (Uzbek)

Currently translated at 1.8% (1 of 55 strings)

Translated using Weblate (Uzbek)

Currently translated at 0.1% (1 of 501 strings)

Translated using Weblate (Uzbek)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Uzbek)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Uzbek)

Currently translated at 0.8% (1 of 118 strings)

Translated using Weblate (Uzbek)

Currently translated at 0.4% (1 of 215 strings)

Translated using Weblate (Uzbek)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Uzbek)

Currently translated at 0.7% (1 of 136 strings)

Translated using Weblate (Uzbek)

Currently translated at 10.0% (1 of 10 strings)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Added translation using Weblate (Uzbek)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Shohruh Ismoilov <shohruh.genius@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/uz/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/uz/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-recording
2026-01-17 13:20:50 +01:00
Hosted Weblate
28ecc893dd
Translated using Weblate (Serbian)
Currently translated at 31.9% (39 of 122 strings)

Translated using Weblate (Serbian)

Currently translated at 16.2% (35 of 215 strings)

Translated using Weblate (Serbian)

Currently translated at 10.3% (52 of 501 strings)

Translated using Weblate (Serbian)

Currently translated at 71.6% (38 of 53 strings)

Translated using Weblate (Serbian)

Currently translated at 42.3% (39 of 92 strings)

Translated using Weblate (Serbian)

Currently translated at 27.9% (38 of 136 strings)

Translated using Weblate (Serbian)

Currently translated at 32.2% (38 of 118 strings)

Translated using Weblate (Serbian)

Currently translated at 84.7% (39 of 46 strings)

Translated using Weblate (Serbian)

Currently translated at 70.9% (39 of 55 strings)

Translated using Weblate (Serbian)

Currently translated at 90.6% (39 of 43 strings)

Translated using Weblate (Serbian)

Currently translated at 28.6% (39 of 136 strings)

Translated using Weblate (Serbian)

Currently translated at 79.5% (39 of 49 strings)

Translated using Weblate (Serbian)

Currently translated at 5.5% (36 of 654 strings)

Translated using Weblate (Serbian)

Currently translated at 14.8% (32 of 215 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (10 of 10 strings)

Translated using Weblate (Serbian)

Currently translated at 56.6% (30 of 53 strings)

Translated using Weblate (Serbian)

Currently translated at 72.0% (31 of 43 strings)

Translated using Weblate (Serbian)

Currently translated at 22.7% (31 of 136 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Serbian)

Currently translated at 67.3% (31 of 46 strings)

Translated using Weblate (Serbian)

Currently translated at 25.4% (31 of 122 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (13 of 13 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (10 of 10 strings)

Translated using Weblate (Serbian)

Currently translated at 56.3% (31 of 55 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Serbian)

Currently translated at 8.5% (43 of 501 strings)

Translated using Weblate (Serbian)

Currently translated at 63.2% (31 of 49 strings)

Translated using Weblate (Serbian)

Currently translated at 32.6% (30 of 92 strings)

Translated using Weblate (Serbian)

Currently translated at 26.2% (31 of 118 strings)

Translated using Weblate (Serbian)

Currently translated at 22.0% (30 of 136 strings)

Translated using Weblate (Serbian)

Currently translated at 4.5% (30 of 654 strings)

Co-authored-by: Aleksandar Jevremovic <aleksandar@jevremovic.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sr/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-01-17 13:20:49 +01:00
Hosted Weblate
cac42fcaf6
Translated using Weblate (Finnish)
Currently translated at 76.9% (10 of 13 strings)

Translated using Weblate (Finnish)

Currently translated at 32.8% (215 of 654 strings)

Translated using Weblate (Finnish)

Currently translated at 4.0% (5 of 122 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Niko Järvinen <nbjarvinen@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fi/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
2026-01-17 13:20:49 +01:00
Hosted Weblate
f57b72a0d8
Translated using Weblate (Dutch)
Currently translated at 100.0% (122 of 122 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translation: Frigate NVR/views-classificationmodel
2026-01-17 13:20:48 +01:00
Hosted Weblate
9170ad0269
Translated using Weblate (Indonesian)
Currently translated at 13.9% (17 of 122 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ariska <ariska@databisnis.id>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/id/
Translation: Frigate NVR/views-classificationmodel
2026-01-17 13:20:48 +01:00
Hosted Weblate
62b8b08821
Translated using Weblate (Hungarian)
Currently translated at 20.4% (25 of 122 strings)

Translated using Weblate (Hungarian)

Currently translated at 88.9% (121 of 136 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.4% (428 of 501 strings)

Translated using Weblate (Hungarian)

Currently translated at 93.9% (202 of 215 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.3% (93 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Peter Bartfai <pbartfai@stardust.hu>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/hu/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-system
2026-01-17 13:20:47 +01:00
Hosted Weblate
59d7950454
Translated using Weblate (Portuguese)
Currently translated at 90.5% (48 of 53 strings)

Translated using Weblate (Portuguese)

Currently translated at 76.9% (10 of 13 strings)

Translated using Weblate (Portuguese)

Currently translated at 28.6% (35 of 122 strings)

Co-authored-by: Carlos Santos <c.santos00@hotmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
2026-01-17 13:20:47 +01:00
Hosted Weblate
d22367d8fe
Translated using Weblate (Czech)
Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Czech)

Currently translated at 93.4% (86 of 92 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 96.3% (53 of 55 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 64.9% (425 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 74.2% (101 of 136 strings)

Translated using Weblate (Czech)

Currently translated at 32.7% (40 of 122 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Martin Brož <code@martin-broz.cz>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/cs/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2026-01-17 13:20:47 +01:00
Hosted Weblate
c2316fac52
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.3% (53 of 55 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 68.6% (449 of 654 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 78.6% (107 of 136 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 43.4% (53 of 122 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 77.9% (106 of 136 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 96.7% (89 of 92 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 40.9% (50 of 122 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: cvroque <carlos.vroque@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2026-01-17 13:20:46 +01:00
Kirill Kulakov
cfeb86646f
fix(recording): handle unexpected filenames in cache maintainer to prevent crash (#21676)
Some checks failed
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Synaptics Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled
* fix(recording): handle unexpected filenames in cache maintainer to prevent crash

* test(recording): add test for maintainer cache file parsing

* Prevent log spam from unexpected cache files

Addresses PR review feedback: Add deduplication to prevent warning
messages from being logged repeatedly for the same unexpected file
in the cache directory. Each unexpected filename is only logged once
per RecordingMaintainer instance lifecycle.

Also adds test to verify warning is only emitted once per filename.

* Fix code formatting for test_maintainer.py

* fixes + ruff
2026-01-16 19:23:23 -07:00
70 changed files with 1299 additions and 101 deletions

View File

@ -97,6 +97,7 @@ class RecordingMaintainer(threading.Thread):
self.object_recordings_info: dict[str, list] = defaultdict(list)
self.audio_recordings_info: dict[str, list] = defaultdict(list)
self.end_time_cache: dict[str, Tuple[datetime.datetime, float]] = {}
self.unexpected_cache_files_logged: bool = False
async def move_files(self) -> None:
cache_files = [
@ -112,7 +113,14 @@ class RecordingMaintainer(threading.Thread):
for cache in cache_files:
cache_path = os.path.join(CACHE_DIR, cache)
basename = os.path.splitext(cache)[0]
camera, date = basename.rsplit("@", maxsplit=1)
try:
camera, date = basename.rsplit("@", maxsplit=1)
except ValueError:
if not self.unexpected_cache_files_logged:
logger.warning("Skipping unexpected files in cache")
self.unexpected_cache_files_logged = True
continue
start_time = datetime.datetime.strptime(
date, CACHE_SEGMENT_FORMAT
).astimezone(datetime.timezone.utc)
@ -164,7 +172,13 @@ class RecordingMaintainer(threading.Thread):
cache_path = os.path.join(CACHE_DIR, cache)
basename = os.path.splitext(cache)[0]
camera, date = basename.rsplit("@", maxsplit=1)
try:
camera, date = basename.rsplit("@", maxsplit=1)
except ValueError:
if not self.unexpected_cache_files_logged:
logger.warning("Skipping unexpected files in cache")
self.unexpected_cache_files_logged = True
continue
# important that start_time is utc because recordings are stored and compared in utc
start_time = datetime.datetime.strptime(

View File

@ -0,0 +1,66 @@
import sys
import unittest
from unittest.mock import MagicMock, patch
# Mock complex imports before importing maintainer
sys.modules["frigate.comms.inter_process"] = MagicMock()
sys.modules["frigate.comms.detections_updater"] = MagicMock()
sys.modules["frigate.comms.recordings_updater"] = MagicMock()
sys.modules["frigate.config.camera.updater"] = MagicMock()
# Now import the class under test
from frigate.config import FrigateConfig # noqa: E402
from frigate.record.maintainer import RecordingMaintainer # noqa: E402
class TestMaintainer(unittest.IsolatedAsyncioTestCase):
async def test_move_files_survives_bad_filename(self):
config = MagicMock(spec=FrigateConfig)
config.cameras = {}
stop_event = MagicMock()
maintainer = RecordingMaintainer(config, stop_event)
# We need to mock end_time_cache to avoid key errors if logic proceeds
maintainer.end_time_cache = {}
# Mock filesystem
# One bad file, one good file
files = ["bad_filename.mp4", "camera@20210101000000+0000.mp4"]
with patch("os.listdir", return_value=files):
with patch("os.path.isfile", return_value=True):
with patch(
"frigate.record.maintainer.psutil.process_iter", return_value=[]
):
with patch("frigate.record.maintainer.logger.warning") as warn:
# Mock validate_and_move_segment to avoid further logic
maintainer.validate_and_move_segment = MagicMock()
try:
await maintainer.move_files()
except ValueError as e:
if "not enough values to unpack" in str(e):
self.fail("move_files() crashed on bad filename!")
raise e
except Exception:
# Ignore other errors (like DB connection) as we only care about the unpack crash
pass
# The bad filename is encountered in multiple loops, but should only warn once.
matching = [
c
for c in warn.call_args_list
if c.args
and isinstance(c.args[0], str)
and "Skipping unexpected files in cache" in c.args[0]
]
self.assertEqual(
1,
len(matching),
f"Expected a single warning for unexpected files, got {len(matching)}",
)
if __name__ == "__main__":
unittest.main()

View File

@ -67,12 +67,13 @@
"export": "Exportovat",
"selectOrExport": "Vybrat pro Export",
"toast": {
"success": "Export úspěšně spuštěn. Soubor najdete v adresáři /exports.",
"success": "Export úspěšně spuštěn. Soubor najdete na stránce exportů.",
"error": {
"failed": "Chyba spuštění exportu: {{error}}",
"endTimeMustAfterStartTime": "Čas konce musí být po čase začátku",
"noVaildTimeSelected": "Není vybráno žádné platné časové období"
}
},
"view": "Zobrazení"
},
"fromTimeline": {
"saveExport": "Uložit export",

View File

@ -132,5 +132,9 @@
},
"count_one": "Třída {{count}}",
"count_other": "Třídy {{count}}"
},
"attributes": {
"label": "Atributy Klasifikace",
"all": "Všechny Atributy"
}
}

View File

@ -38,10 +38,41 @@
"deleteImageFailed": "Chyba při mazání: {{errorMessage}}",
"deleteCategoryFailed": "Chyba při mazání třídy: {{errorMessage}}",
"deleteModelFailed": "Chyba při mazání modelu: {{errorMessage}}",
"categorizeFailed": "Chyba při mazání obrázku: {{errorMessage}}"
"categorizeFailed": "Chyba při mazání obrázku: {{errorMessage}}",
"trainingFailed": "Trénování modelu selhalo. Zkontrolujte logy Frigate pro zjištění detailů.",
"trainingFailedToStart": "Chyba spuštění trénování modelu: {{errorMessage}}",
"updateModelFailed": "Chyba aktualizace modelu: {{errorMessage}}",
"renameCategoryFailed": "Chyba přejmenování třídy: {{errorMessage}}"
}
},
"train": {
"titleShort": "Nedávný"
},
"deleteModel": {
"desc_one": "Jste si jistí, že chcete odstranit {{count}} model? Tím trvale odstraníte všechny související data včetně obrázků a tréninkových dat. Tato akce je nevratná.",
"desc_few": "Jste si jistí, že chcete odstranit {{count}} modely? Tím trvale odstraníte všechny související data včetně obrázků a tréninkových dat. Tato akce je nevratná.",
"desc_other": "Jste si jistí, že chcete odstranit {{count}} modelů? Tím trvale odstraníte všechny související data včetně obrázků a tréninkových dat. Tato akce je nevratná."
},
"deleteDatasetImages": {
"desc_one": "Opravdu chcete odstranit {{count}} obrázek z {{dataset}}? Tato akce je nevratná a vyžaduje přetrénování modelu.",
"desc_few": "Opravdu chcete odstranit {{count}} obrázky z {{dataset}}? Tato akce je nevratná a vyžaduje přetrénování modelu.",
"desc_other": "Opravdu chcete odstranit {{count}} obrázků z {{dataset}}? Tato akce je nevratná a vyžaduje přetrénování modelu."
},
"deleteTrainImages": {
"desc_one": "Opravdu chcete odstranit {{count}} obrázek? Tato akce je nevratná.",
"desc_few": "Opravdu chcete odstranit {{count}} obrázky? Tato akce je nevratná.",
"desc_other": "Opravdu chcete odstranit {{count}} obrázků? Tato akce je nevratná."
},
"wizard": {
"step3": {
"allImagesRequired_one": "Prosím, zařaďte všechny obrázky. Zbývá {{count}} obrázek.",
"allImagesRequired_few": "Prosím, zařaďte všechny obrázky. Zbývají {{count}} obrázky.",
"allImagesRequired_other": "Prosím, zařaďte všechny obrázky. Zbývá {{count}} obrázků.",
"trainingStarted": "Trénování úspěšně spuštěno",
"generateSuccess": "Vzorové obrázky byly úspěšně vytvořeny"
}
},
"deleteCategory": {
"title": "Smazat Třídu"
}
}

View File

@ -9,14 +9,18 @@
"empty": {
"alert": "Nejsou žádné výstrahy na kontrolu",
"detection": "Nejsou žádné detekce na kontrolu",
"motion": "Nenalezena žádná data o pohybu"
"motion": "Nenalezena žádná data o pohybu",
"recordingsDisabled": {
"title": "Nahrávání musí být povoleno",
"description": "Položky revize lze pro kameru vytvořit pouze tehdy, je-li pro ni povoleno nahrávání."
}
},
"timeline": "Časová osa",
"timeline.aria": "Zvolit časovou osu",
"events": {
"label": "Události",
"aria": "Zvolit události",
"noFoundForTimePeriod": "Pro toto období nebyly nalezeny žádné události."
"noFoundForTimePeriod": "Pro toto časové období nebyly nalezeny žádné události."
},
"documentTitle": "Revize - Frigate",
"camera": "Kamera",
@ -26,8 +30,8 @@
"markAsReviewed": "Označit jako zkontrolované",
"markTheseItemsAsReviewed": "Označit tyto položky jako zkontrolované",
"newReviewItems": {
"label": "Zobrazit nové položky na kontrolu",
"button": "Nové položky na kontrolu"
"label": "Zobrazit nové položky revize",
"button": "Nové položky revize"
},
"recordings": {
"documentTitle": "Záznamy - Frigate"
@ -42,8 +46,22 @@
"detail": {
"label": "Detail",
"noDataFound": "Žádná detailní data k prohlédnutí",
"aria": "Přepnout detailní zobrazení",
"aria": "Přepnout zobrazení detailů",
"trackedObject_other": "{{count}} objektů",
"trackedObject_one": "{{count}} objektů"
}
"trackedObject_one": "{{count}} objekt",
"noObjectDetailData": "Nejsou k dispozici žádné podrobné údaje o objektu.",
"settings": "Nastavení Detailního Zobrazení",
"alwaysExpandActive": {
"title": "Vždy rozbalit aktivní",
"desc": "Vždy zobrazit podrobnosti objektu aktivní položky revize, pokud jsou k dispozici."
}
},
"objectTrack": {
"trackedPoint": "Sledovaný bod",
"clickToSeek": "Kliknutím přeskočte na tento čas"
},
"select_all": "Vše",
"normalActivity": "Normální",
"needsReview": "Potřebuje revizi",
"securityConcern": "Obava o bezpečnost"
}

View File

@ -24,7 +24,8 @@
"regenerate": "Od {{provider}} byl vyžádán nový popis. V závislosti na rychlosti vašeho poskytovatele může obnovení nového popisu nějakou dobu trvat.",
"updatedSublabel": "Úspěšně aktualizovaný podružný štítek.",
"updatedLPR": "Úspěšně aktualizovaná SPZ.",
"audioTranscription": "Požádání o přepis zvuku bylo úspěšné."
"audioTranscription": "Požádání o přepis zvuku bylo úspěšné. V závislosti na rychlosti Vašeho Frigate serveru může přepis trvat nějaký čas než bude dokončen.",
"updatedAttributes": "Atributy byly úspěšně aktualizovány."
},
"error": {
"regenerate": "Chyba volání {{provider}} pro nový popis: {{errorMessage}}",
@ -206,7 +207,7 @@
"dialog": {
"confirmDelete": {
"title": "Potvrdit smazání",
"desc": "Odstraněním tohoto sledovaného objektu se odstraní snímek, všechna uložená vložení a všechny související položky životního cyklu objektu. Zaznamenaný záznam tohoto sledovaného objektu v zobrazení Historie <em>NEBUDE</em> smazán.<br /><br />Opravdu chcete pokračovat?"
"desc": "Odstraněním tohoto sledovaného objektu se odstraní snímek, všechna uložená vložení a všechny související položky s podrobnostmi o sledování. Zaznamenaný záznam tohoto sledovaného objektu v zobrazení Historie <em>NEBUDE</em> smazán.<br /><br />Opravdu chcete pokračovat?"
}
},
"trackedObjectDetails": "Detaily sledovaných objektů",
@ -214,7 +215,9 @@
"details": "detaily",
"snapshot": "snímek",
"video": "video",
"object_lifecycle": "životní cyklus objektu"
"object_lifecycle": "životní cyklus objektu",
"thumbnail": "Náhled",
"tracking_details": "detaily sledování"
},
"noTrackedObjects": "Žádné sledované objekty nebyly nalezeny",
"fetchingTrackedObjectsFailed": "Chyba při načítání sledovaných objektů: {{errorMessage}}",
@ -224,5 +227,18 @@
},
"concerns": {
"label": "Obavy"
},
"trackingDetails": {
"title": "Detaily Sledování",
"noImageFound": "Nebyl nalezen obrázek pro tuto časovou značku.",
"createObjectMask": "Vytvořit Masku Objektu",
"adjustAnnotationSettings": "Upravte nastavení poznámek",
"scrollViewTips": "Klikněte pro zobrazení významných okamžiků z životního cyklu tohoto objektu.",
"autoTrackingTips": "Pozice ohraničujících rámečků budou nepřesné pro kamery s automatickým sledováním.",
"count": "{{first}} z {{second}}",
"trackedPoint": "Sledovaný Bod",
"lifecycleItemDesc": {
"visible": "Detekován {{label}}"
}
}
}

View File

@ -1,6 +1,6 @@
{
"imageEntry": {
"dropInstructions": "Přetáhněte obrázek zde, nebo klikněte na výběr",
"dropInstructions": "Přetáhněte obrázek sem, nebo klikněte na výběr",
"maxSize": "Maximální velikost: {{size}}MB",
"dropActive": "Přetáhněte obrázek zde…",
"validation": {
@ -10,7 +10,7 @@
"createFaceLibrary": {
"new": "Vytvořit nový obličej",
"desc": "Vytvořit novou kolekci",
"nextSteps": "Chcete-li vybudovat pevný základ:<li>Použijte kartu Trénování k výběru a trénování na snímcích pro každou detekovanou osobu.</li><li>Pro nejlepší výsledky se zaměřte na přímé snímky; vyhněte se trénování snímků, které zachycují obličeje pod úhlem.</li></ul>",
"nextSteps": "Chcete-li vybudovat pevný základ:<li>Použijte kartu Nedávná Rozpoznání k výběru a trénování na snímcích pro každou detekovanou osobu.</li><li>Pro nejlepší výsledky se zaměřte na přímé snímky; vyhněte se trénování snímků, které zachycují obličeje pod úhlem.</li></ul>",
"title": "Vytvořit kolekci"
},
"details": {

View File

@ -86,7 +86,7 @@
"enable": "Ukázat statistiky streamu"
},
"manualRecording": {
"title": "Nahrávání na vyžádání",
"title": "Na požádání",
"playInBackground": {
"label": "Přehrát na pozadí",
"desc": "Povolte tuto volbu pro pokračování streamování i když je přehrávač skrytý."
@ -103,7 +103,7 @@
"started": "Manuálně spuštěno nahrávání na požádání.",
"ended": "Ukončeno manuální nahrávání na vyžádání.",
"recordDisabledTips": "Protože je v konfiguraci této kamery nahrávání zakázáno nebo omezeno, bude uložen pouze snímek.",
"tips": "Spustit ruční událost na základě nastavení uchovávání záznamů této kamery."
"tips": "Stáhněte si aktuální snímek nebo spusťte ruční událost na základě nastavení uchování záznamu této kamery."
},
"streamingSettings": "Nastavení Streamování",
"audio": "Zvuk",
@ -167,5 +167,11 @@
"transcription": {
"enable": "Povolit živý přepis zvuku",
"disable": "Zakázat živý přepis zvuku"
},
"snapshot": {
"takeSnapshot": "Stáhnout aktuální snímek",
"noVideoSource": "Pro snímek není k dispozici žádné video.",
"captureFailed": "Zachycení snímku selhalo.",
"downloadStarted": "Stažení snímku spuštěno."
}
}

View File

@ -134,7 +134,7 @@
"name": {
"inputPlaceHolder": "Zadejte jméno…",
"title": "Jméno",
"tips": "Název musí mít alespoň 2 znaky a nesmí být shodný s názvem kamery nebo jiné zóny."
"tips": "Název musí mít alespoň 2 znaky, musí obsahovat alespoň jedno písmeno a nesmí být shodný s názvem kamery nebo jiné zóny této kamery."
},
"inertia": {
"title": "Setrvačnost",
@ -160,7 +160,7 @@
}
},
"toast": {
"success": "Zóna {{zoneName}} byla uložena. Restartujte Frigate pro aplikování změn."
"success": "Zóna {{zoneName}} byla uložena."
},
"label": "Zóny",
"desc": {
@ -199,8 +199,8 @@
"clickDrawPolygon": "Kliknutím nakreslíte polygon do obrázku.",
"toast": {
"success": {
"title": "{{polygonName}} byl uložen. Restartujte Frigate pro aplikování změn.",
"noName": "Maska Detekce pohybu byla uložena. Restartujte Frigate pro aplikování změn."
"title": "{{polygonName}} byl uložen.",
"noName": "Maska Detekce pohybu byla uložena."
}
}
},
@ -284,8 +284,8 @@
"clickDrawPolygon": "Kliknutím nakreslete polygon do obrázku.",
"toast": {
"success": {
"title": "{{polygonName}} byl uložen. Restartujte Frigate pro aplikování změn.",
"noName": "Maska Objektu byla uložena. Restartujte Frigate pro aplikování změn."
"title": "{{polygonName}} byl uložen.",
"noName": "Maska Objektu byla uložena."
}
},
"point_one": "{{count}} bod",
@ -322,7 +322,7 @@
"noCamera": "Žádná Kamera"
},
"general": {
"title": "Hlavní nastavení",
"title": "Nastavení rozhraní",
"liveDashboard": {
"title": "Živý dashboard",
"automaticLiveView": {
@ -629,11 +629,11 @@
"actions": "Akce",
"noUsers": "Žádní uživatelé nebyli nalezeni.",
"changeRole": "Změnit roli uživatele",
"password": "Heslo",
"password": "Resetovat Heslo",
"deleteUser": "Smazat uživatele",
"role": "Role"
},
"updatePassword": "Aktualizovat heslo",
"updatePassword": "Resetovat heslo",
"toast": {
"success": {
"createUser": "Uživatel {{user}} úspěšně vytvořen",
@ -743,7 +743,7 @@
"triggers": {
"documentTitle": "Spouštěče",
"management": {
"title": "Správa spouštěčů",
"title": "Spouštěče",
"desc": "Spravovat spouštěče pro {{camera}}. Použít typ miniatury ke spuštění u miniatur podobných vybranému sledovanému objektu a typ popisu ke spuštění u popisů podobných zadanému textu."
},
"addTrigger": "Přidat spouštěč",
@ -782,10 +782,10 @@
"form": {
"name": {
"title": "Název",
"placeholder": "Zadejte název spouštěče",
"placeholder": "Pojmenujte tento spouštěč",
"error": {
"minLength": "Název musí mít alespoň 2 znaky.",
"invalidCharacters": "Jméno může obsahovat pouze písmena, číslice, podtržítka a pomlčky.",
"minLength": "Pole musí mít alespoň 2 znaky.",
"invalidCharacters": "Pole může obsahovat pouze písmena, číslice, podtržítka a pomlčky.",
"alreadyExists": "Spouštěč s tímto názvem již pro tuto kameru existuje."
}
},
@ -798,9 +798,9 @@
},
"content": {
"title": "Obsah",
"imagePlaceholder": "Vybrat obrázek",
"imagePlaceholder": "Vyberte miniaturu",
"textPlaceholder": "Zadat textový obsah",
"imageDesc": "Vybrat obrázek, který spustí tuto akci, když bude detekován podobný obrázek.",
"imageDesc": "Je zobrazeno pouze posledních 100 miniatur. Pokud nemůžete najít požadovanou miniaturu, prosím zkontrolujte dřívější objekty v Prozkoumat a nastavte spouštěč ze tamějšího menu.",
"textDesc": "Zadejte text, který spustí tuto akci, když bude zjištěn podobný popis sledovaného objektu.",
"error": {
"required": "Obsah je povinný."
@ -808,7 +808,7 @@
},
"actions": {
"title": "Akce",
"desc": "Ve výchozím nastavení Frigate odesílá MQTT zprávu pro všechny spouštěče. Zvolte dodatečnou akci, která se má provést, když se tento spouštěč aktivuje.",
"desc": "Ve výchozím nastavení Frigate odesílá MQTT zprávu pro všechny spouštěče. Podřazené popisky přidávají název spouštěče k popisku objektu. Atributy jsou prohledávatelná metadata uložená samostatně v metadatech sledovaného objektu.",
"error": {
"min": "Musí být vybrána alespoň jedna akce."
}
@ -850,9 +850,9 @@
"createRole": "Role {{role}} byla úspěšně vytvořena",
"updateCameras": "Kamery byly aktualizovány pro roli {{role}}",
"deleteRole": "Role {{role}} byla úspěšně smazána",
"userRolesUpdated_one": "{{count}} uživatel(ů) přiřazených k této roli bylo aktualizováno na „Divák“, který má přístup ke všem kamerám.",
"userRolesUpdated_few": "",
"userRolesUpdated_other": ""
"userRolesUpdated_one": "{{count}} uživatel přiřazený k této roli byl aktualizován na „diváka“, který má přístup ke všem kamerám.",
"userRolesUpdated_few": "{{count}} uživatelé přiřazení k této roli bylo aktualizováno na „diváky“, kteří mají přístup ke všem kamerám.",
"userRolesUpdated_other": "{{count}} uživatelů přiřazených k této roli bylo aktualizováno na „diváky“, kteří mají přístup ke všem kamerám."
},
"error": {
"createRoleFailed": "Nepodařilo se vytvořit roli: {{errorMessage}}",
@ -896,5 +896,36 @@
"title": "Správa role diváka",
"desc": "Spravujte vlastní role diváků a jejich oprávnění k přístupu ke kamerám pro tuto instanci Frigate."
}
},
"cameraWizard": {
"save": {
"success": "Nová kamera {{cameraName}} úspěšně uložena."
},
"step2": {
"testSuccess": "Test připojení v pořádku!",
"probeSuccessful": "Sonda úspěšná",
"probeNoSuccess": "Sonda neúspěšná"
},
"step3": {
"testSuccess": "Test streamu v pořádku!"
},
"step4": {
"reconnectionSuccess": "Opakované připojení úspěšné.",
"streamValidated": "Stream {{number}} úspěšně ověřený"
}
},
"cameraManagement": {
"cameraConfig": {
"toast": {
"success": "Kamera {{cameraName}} úspěšně uložena"
}
}
},
"cameraReview": {
"reviewClassification": {
"toast": {
"success": "Konfigurace Klasifikací Revizí byla uložena. Restartujte Frigate pro aplikování změn."
}
}
}
}

View File

@ -1 +1,11 @@
{}
{
"documentTitle": "Luokittelumallit - Frigate",
"details": {
"scoreInfo": "Pistemäärä edustaa tämän objektin kaikkien havaintojen keskimääräistä luokitteluvarmuutta.",
"none": "Ei mitään"
},
"button": {
"deleteImages": "Poista kuvat",
"trainModel": "Kouluta malli"
}
}

View File

@ -13,5 +13,8 @@
"title": "Nimeä uudelleen",
"desc": "Anna uusi nimi viedylle kohteelle.",
"saveExport": "Tallenna vienti"
},
"tooltip": {
"editName": "Muokkaa nimeä"
}
}

View File

@ -10,7 +10,8 @@
"object": "Virheenjäljitys - Frigate",
"authentication": "Autentikointiuasetukset - Frigate",
"notifications": "Ilmoitusasetukset - Frigate",
"enrichments": "Laajennusasetukset Frigate"
"enrichments": "Laajennusasetukset Frigate",
"cameraManagement": "Hallitse Kameroita - Frigate"
},
"menu": {
"ui": "Käyttöliittymä",

View File

@ -425,5 +425,6 @@
"crack": "Törés",
"chink": "Csörömpölés",
"shatter": "Összetörés",
"field_recording": "Helyszíni felvétel"
"field_recording": "Helyszíni felvétel",
"noise": "Zaj"
}

View File

@ -72,7 +72,9 @@
"24hour": "MMM d, HH:mm",
"12hour": "MMM d, h:mm aaa"
},
"formattedTimestampMonthDay": "MMM d"
"formattedTimestampMonthDay": "MMM d",
"inProgress": "Folyamatban",
"invalidStartTime": "Érvénytelen kezdeti idő"
},
"menu": {
"darkMode": {
@ -269,7 +271,8 @@
"next": "Következő"
},
"label": {
"back": "Vissza"
"back": "Vissza",
"all": "Mind"
},
"readTheDocumentation": "Olvassa el a dokumentációt",
"information": {

View File

@ -43,5 +43,8 @@
"noNewImages": "Nincsenek új képek a betanításhoz. Először osztályozzon több képet az adathalmazban.",
"noChanges": "Az adathalmazban nem történt változás az utolsó betanítás óta.",
"modelNotReady": "A modell nem áll készen a betanításra"
},
"menu": {
"objects": "Objektumok"
}
}

View File

@ -222,5 +222,19 @@
},
"concerns": {
"label": "Aggodalmak"
},
"trackingDetails": {
"lifecycleItemDesc": {
"active": "{{label}} aktív lett",
"attribute": {
"other": "{{label}} felismerve mint {{attribute}}"
},
"external": "{{label}} érzékelve",
"header": {
"zones": "Zónák",
"ratio": "Arány",
"area": "Terület"
}
}
}
}

View File

@ -121,12 +121,19 @@
"gpuEncoder": "GPU Enkóder",
"gpuDecoder": "GPU Dekóder",
"npuUsage": "NPU Kihasználtság",
"npuMemory": "NPU Memória"
"npuMemory": "NPU Memória",
"intelGpuWarning": {
"message": "GPU statisztika nem érhető el"
}
},
"otherProcesses": {
"processMemoryUsage": "Folyamat Memória Kihasználtság",
"title": "Egyéb Folyamatok",
"processCpuUsage": "Folyamat CPU Kihasználtság"
"processCpuUsage": "Folyamat CPU Kihasználtság",
"series": {
"go2rtc": "go2rtc",
"recording": "felvétel"
}
}
},
"storage": {

View File

@ -12,5 +12,22 @@
"addClassification": "Tambah Klasifikasi",
"deleteModels": "Hapus Model",
"editModel": "Ubah Model"
},
"tooltip": {
"trainingInProgress": "Model dalam training"
},
"toast": {
"success": {
"deletedCategory": "Kelas dihapus",
"deletedImage": "Image dihapus"
},
"error": {
"updateModelFailed": "Gagal melakukan perubahan pada model: {{errorMessage}}",
"renameCategoryFailed": "Gagal merubah penamaan kelas: {{errorMessage}}"
}
},
"deleteCategory": {
"title": "Kelas dihapus",
"minClassesTitle": "Dilarang menghapus Kelas"
}
}

View File

@ -263,7 +263,7 @@
"ID": "ID",
"none": "Ingen",
"all": "Alle",
"other": "Andre"
"other": "Annet"
},
"toast": {
"copyUrlToClipboard": "Nettadresse kopiert til utklippstavlen.",

View File

@ -169,7 +169,7 @@
},
"details": {
"scoreInfo": "Score geeft het gemiddelde classificatievertrouwen weer over alle detecties van dit object.",
"none": "Geen overeenkomst",
"none": "Geen herkenning",
"unknown": "Onbekend"
},
"edit": {

View File

@ -53,7 +53,7 @@
"export": "Exportar",
"selectOrExport": "Selecionar ou Exportar",
"toast": {
"success": "Exportação iniciada com sucesso. Veja o arquivo na pasta /exports.",
"success": "Exportação iniciada com sucesso. Veja o arquivo na tela exportar.",
"error": {
"failed": "Falha em iniciar exportação: {{error}}",
"endTimeMustAfterStartTime": "Tempo de finalização deve ser após tempo de início",

View File

@ -1,5 +1,5 @@
{
"documentTitle": "Modelos de Classificação",
"documentTitle": "Modelos de Classificação - Frigate",
"button": {
"deleteClassificationAttempts": "Apagar Imagens de Classificação",
"renameCategory": "Renomear Classe",
@ -28,7 +28,7 @@
"deleteCategoryFailed": "Falha ao deletar classe:{{errorMessage}}",
"categorizeFailed": "Falha ao categorizar imagem:{{errorMessage}}",
"deleteModelFailed": "Falha ao excluir o modelo: {{errorMessage}}",
"trainingFailed": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
"trainingFailed": "Treinamento do modelo falhou. Verifique os logs do Frigate para mais detalhes.",
"trainingFailedToStart": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
"updateModelFailed": "Falha ao atualizar modelo: {{errorMessage}}",
"renameCategoryFailed": "Falha ao renomear classe: {{errorMessage}}"
@ -44,12 +44,50 @@
"single": "Tem certeza de que deseja excluir {{name}}? Isso excluirá permanentemente todos os dados associados, incluindo imagens e dados de treinamento. Esta ação não pode ser desfeita."
},
"details": {
"scoreInfo": "A pontuação representa a média de confiança da classificação de todas as detecções deste objeto."
"scoreInfo": "A pontuação representa a média de confiança da classificação de todas as detecções deste objeto.",
"none": "Nenhum",
"unknown": "Desconhecido"
},
"tooltip": {
"trainingInProgress": "O modelo está sendo treinado",
"noNewImages": "Nenhuma nova imagem para treinar. Classifique mais imagens para treinar mais.",
"noChanges": "Nenhuma alteração ao conjunto de dados desde o último treinamento.",
"modelNotReady": "O modelo não está pronto para treinamento"
},
"deleteTrainImages": {
"desc_one": "Tem certeza que deseja deletar {{count}} imagem? Esta ação não pode ser desfeita.",
"desc_many": "Tem certeza que deseja deletar {{count}} imagens? Esta ação não pode ser desfeita.",
"desc_other": "Tem certeza que deseja deletar {{count}} imagens? Esta ação não pode ser desfeita.",
"title": "Apagar Imagens de Treinamento"
},
"renameCategory": {
"title": "Renomear Classe",
"desc": "Insira um novo nome para {{name}}. O modelo deverá ser treinado novamente para a mudança de nome ter efeito."
},
"description": {
"invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens."
},
"train": {
"title": "Classificações Recentes",
"titleShort": "Recente",
"aria": "Selecionar Classificações Recentes"
},
"categories": "Classes",
"createCategory": {
"new": "Criar Nova Classe"
},
"categorizeImageAs": "Classificar Imagem Como:",
"categorizeImage": "Classificar Imagem",
"menu": {
"objects": "Objetos",
"states": "Estados"
},
"noModels": {
"object": {
"title": "Nenhum Modelo de Classificação de Objetos"
}
},
"deleteDatasetImages": {
"title": "Deletar Imagens do Dataset"
}
}

View File

@ -50,7 +50,7 @@
"regenerate": "Uma nova descrição foi solicitada do {{provider}}. Dependendo da velocidade do seu fornecedor, a nova descrição pode levar algum tempo para regenerar.",
"updatedSublabel": "Sub-rótulo atualizado com sucesso.",
"updatedLPR": "Placa de identificação atualizada com sucesso.",
"audioTranscription": "Transcrição de áudio requisitada com sucesso."
"audioTranscription": "Transcrição de áudio requisitada com sucesso. Dependendo da velocidade de seu servidor Frigate, a transcrição pode demorar um tempo para completar."
},
"error": {
"regenerate": "Falha ao ligar para {{provider}} para uma descrição nova: {{errorMessage}}",
@ -112,7 +112,8 @@
"snapshot": "captura de imagem",
"video": "vídeo",
"object_lifecycle": "ciclo de vida do objeto",
"thumbnail": "thumbnail"
"thumbnail": "thumbnail",
"tracking_details": "detalhes de rastreamento"
},
"objectLifecycle": {
"title": "Ciclo de Vida do Objeto",
@ -203,7 +204,7 @@
"dialog": {
"confirmDelete": {
"title": "Confirmar Exclusão",
"desc": "Deletar esse objeto rastreado remove a captura de imagem, quaisquer embeddings salvos, e quaisquer entradas de ciclo de vida de objeto associadas. Gravações desse objeto rastreado na visualização de Histórico <em>NÃO</em> serão deletadas.<br /><br />Tem certeza que quer prosseguir?"
"desc": "Deletar esse objeto rastreado remove a captura de imagem, os embeddings salvos, e os detalhes de rastreamento associados. Gravações desse objeto rastreado na visualização de Histórico <em>NÃO</em> serão deletadas.<br /><br />Tem certeza que deseja prosseguir?"
}
},
"noTrackedObjects": "Nenhum Objeto Rastreado Encontrado",
@ -225,5 +226,35 @@
},
"concerns": {
"label": "Preocupações"
},
"trackingDetails": {
"lifecycleItemDesc": {
"gone": "{{label}} saiu",
"visible": "{{label}} detectado(a)",
"entered_zone": "{{label}} entrou em {{zones}}",
"active": "{{label}} em movimento",
"stationary": "{{label}} parou",
"attribute": {
"faceOrLicense_plate": "{{attribute}} detectado para {{label}}",
"other": "{{label}} reconhecido como {{attribute}}"
},
"heard": "Som de {{label}} detectado",
"external": "{{label}} detectado(a)",
"header": {
"zones": "Zonas",
"area": "Área"
}
},
"title": "Detalhes de Rastreamento",
"createObjectMask": "Criar máscara de objeto",
"annotationSettings": {
"showAllZones": {
"title": "Mostrar todas as Zonas"
}
},
"carousel": {
"previous": "Slide anterior",
"next": "Próximo slide"
}
}
}

View File

@ -59,7 +59,7 @@
"description": {
"placeholder": "Informe um nome para esta coleção",
"addFace": "Adicione uma nova coleção à Biblioteca Facial subindo a sua primeira imagem.",
"invalidName": "Nome inválido. Nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífenes."
"invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens."
},
"documentTitle": "Biblioteca de rostos - Frigate",
"uploadFaceImage": {
@ -70,7 +70,8 @@
"train": {
"title": "Reconhecimentos Recentes",
"aria": "Selecionar reconhecimentos recentes",
"empty": "Não há tentativas recentes de reconhecimento facial"
"empty": "Não há tentativas recentes de reconhecimento facial",
"titleShort": "Recente"
},
"selectFace": "Selecionar Rosto",
"trainFaceAs": "Treinar Rosto como:",
@ -83,7 +84,7 @@
"deletedFace_many": "{{count}} rostos apagados com sucesso.",
"deletedFace_other": "{{count}} rostos apagados com sucesso.",
"trainedFace": "Rosto treinado com sucesso.",
"updatedFaceScore": "Pontuação de rosto atualizada com sucesso.",
"updatedFaceScore": "Pontuação de rosto atualizada com sucesso para {{name}}{{score}}.",
"renamedFace": "O rosto foi renomeado com sucesso para {{name}}",
"deletedName_one": "{{count}} rosto foi deletado com sucesso.",
"deletedName_many": "{{count}} rostos foram deletados com sucesso.",

View File

@ -173,7 +173,7 @@
},
"noCameras": {
"title": "Nenhuma Câmera Configurada",
"description": "Inicie conectando uma câmera ao Frigate",
"description": "Inicie conectando uma câmera ao Frigate.",
"buttonText": "Adicionar Câmera"
},
"snapshot": {

View File

@ -39,7 +39,7 @@
"noCamera": "Sem Câmera"
},
"general": {
"title": "Opções Gerais",
"title": "Configurações de Interface",
"liveDashboard": {
"title": "Painel em Tempo Real",
"automaticLiveView": {
@ -278,7 +278,7 @@
},
"snapPoints": {
"true": "Pontos de encaixe",
"false": "Não encaixar os ponts"
"false": "Não encaixar os pontos"
},
"delete": {
"title": "Confirmar Deletar",
@ -306,7 +306,7 @@
"name": {
"title": "Nome",
"inputPlaceHolder": "Digite um nome…",
"tips": "O nome deve ter no mínimo 2 caracteres e não pode ter o nome de uma câmera ou outra zona."
"tips": "O nome deve ter no mínimo 2 caracteres, deve ter ao menos uma letra e não pode ter o nome de uma câmera ou outra zona nesta câmera."
},
"inertia": {
"title": "Inércia",
@ -341,7 +341,7 @@
}
},
"toast": {
"success": "A zona ({{zoneName}}) foi salva. Reinicie o Frigate para aplicar as mudanças."
"success": "A zona ({{zoneName}}) foi salva."
}
},
"objectMasks": {
@ -352,8 +352,8 @@
},
"toast": {
"success": {
"title": "{{polygonName}} foi salvo. Reinicie o Frigate para aplicar as alterações.",
"noName": "A máscara de objeto foi salva. Reinicie o Frigate para aplicar as alterações."
"title": "{{polygonName}} foi salvo.",
"noName": "A máscara de objeto foi salva."
}
},
"label": "Máscaras de Objeto",
@ -394,8 +394,8 @@
},
"toast": {
"success": {
"title": "{{polygonName}} foi salvo. Reinicie o Frigate para aplicar as alterações.",
"noName": "Máscara de Movimento salva. Reinicie o Frigate para aplicar as alterações."
"title": "{{polygonName}} foi salvo.",
"noName": "Máscara de Movimento salva."
}
}
}
@ -490,7 +490,7 @@
"desc": "Gerenciar as contas de usuário dessa instância do Frigate."
},
"addUser": "Adicionar Usuário",
"updatePassword": "Atualizar Senha",
"updatePassword": "Resetar Senha",
"toast": {
"success": {
"createUser": "Usuário {{user}} criado com sucesso",
@ -577,7 +577,7 @@
"role": "Papel",
"noUsers": "Nenhum usuário encontrado.",
"changeRole": "Mudar papel do usuário",
"password": "Senha",
"password": "Resetar Senha",
"deleteUser": "Deletar usuário"
}
},
@ -683,7 +683,7 @@
"triggers": {
"documentTitle": "Gatilhos",
"management": {
"title": "Gerenciamento de Gatilhos",
"title": "Gatilhos",
"desc": "Gerenciar gatilhos para {{camera}}. Use o tipo de miniatura para acionar miniaturas semelhantes para os seus objetos rastreados selecionados, e o tipo de descrição para acionar descrições semelhantes para textos que você especifica."
},
"addTrigger": "Adicionar Gatilho",
@ -722,10 +722,10 @@
"form": {
"name": {
"title": "Nome",
"placeholder": "Digite o nome do gatilho",
"placeholder": "Nomeie este gatilho",
"error": {
"minLength": "O nome precisa ter no mínimo 2 caracteres.",
"invalidCharacters": "O nome pode contar apenas letras, números, sublinhados, e hífens.",
"minLength": "O campo precisa ter no mínimo 2 caracteres.",
"invalidCharacters": "O campo pode contar apenas letras, números, sublinhados, e hifens.",
"alreadyExists": "Um gatilho com esse nome já existe para essa câmera."
}
},
@ -738,7 +738,7 @@
},
"content": {
"title": "Conteúdo",
"imagePlaceholder": "Selecionar uma imagem",
"imagePlaceholder": "Selecionar um thumbnail",
"textPlaceholder": "Digitar conteúdo do texto",
"imageDesc": "Selecionar uma imagem para acionar essa ação quando uma imagem semelhante for detectada.",
"textDesc": "Digite o texto para ativar essa ação quando uma descrição semelhante de objeto rastreado for detectada.",
@ -803,9 +803,9 @@
"createRole": "Papel {{role}} criado com sucesso",
"updateCameras": "Câmeras atualizados para o papel {{role}}",
"deleteRole": "Papel {{role}} apagado com sucesso",
"userRolesUpdated_one": "{{count}} usuário(os) atribuídos a esse papel foram atualizados para 'visualizador', que possui acesso a todas as câmeras.",
"userRolesUpdated_many": "",
"userRolesUpdated_other": ""
"userRolesUpdated_one": "{{count}} usuário atribuído a essa função foi atualizado para 'visualizador', com acesso a todas as câmeras.",
"userRolesUpdated_many": "{{count}} usuários atribuídos a essa função foram atualizados para 'visualizador', com acesso a todas as câmeras.",
"userRolesUpdated_other": "{{count}} usuários atribuídos a esse papel foram atualizados para 'visualizador', com acesso a todas as câmeras."
},
"error": {
"createRoleFailed": "Falha ao criar papel: {{errorMessage}}",
@ -869,7 +869,7 @@
"testFailed": "Teste de stream falhou: {{error}}"
},
"step1": {
"description": "Adicione os detalhes da sua câmera e teste a conexão.",
"description": "Insira os detalhes da sua câmera e escolha entre sondar a câmera ou selecionar a marca manualmente.",
"cameraName": "Nome da Câmera",
"cameraNamePlaceholder": "ex., porta_entrada ou Visão Geral do Quintal",
"host": "Host/Endereço IP",

View File

@ -46,5 +46,6 @@
"desc": "Tem certeza de que deseja excluir a classe {{name}}? Isso excluirá permanentemente todas as imagens associadas e exigirá o treinamento do modelo novamente.",
"minClassesTitle": "Não é possível excluir a classe",
"minClassesDesc": "Um modelo de classificação deve ter pelo menos duas classes. Adicione outra classe antes de excluir esta."
}
},
"documentTitle": "Modelos de Classificação Frigate"
}

View File

@ -13,5 +13,8 @@
"renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}"
}
},
"deleteExport.desc": "Tem a certeza de que deseja excluir {{exportName}}?"
"deleteExport.desc": "Tem a certeza de que deseja excluir {{exportName}}?",
"tooltip": {
"shareExport": "Partilhar exportação"
}
}

View File

@ -27,7 +27,7 @@
},
"train": {
"aria": "Selecionar treino",
"title": "Treinar",
"title": "Reconhecimentos Recentes",
"empty": "Não há tentativas recentes de reconhecimento facial"
},
"selectItem": "Selecionar {{item}}",
@ -55,7 +55,7 @@
"trainFace": "Treinar rosto",
"toast": {
"success": {
"updatedFaceScore": "Pontuação facial atualizada com sucesso.",
"updatedFaceScore": "Pontuação facial atualizada com sucesso para {{name}} ({{score}}).",
"trainedFace": "Rosto treinado com sucesso.",
"deletedFace_one": "{{count}} rosto excluído com sucesso.",
"deletedFace_many": "{{count}} rostos excluídos com sucesso.",

View File

@ -13,5 +13,42 @@
"laughter": "Smeh",
"train": "Voz",
"boat": "Brod",
"crying": "Plač"
"crying": "Plač",
"sigh": "Уздах",
"singing": "Пријављивање",
"choir": "Збор",
"yodeling": "Јодловање",
"chant": "Певање",
"mantra": "Мантра",
"bird": "Птица",
"snicker": "Кикот",
"child_singing": "Дечје певање",
"cat": "Мачка",
"synthetic_singing": "Синтетичко певање",
"dog": "Пас",
"rapping": "Реповање",
"horse": "Коњ",
"humming": "Брундање",
"sheep": "Овца",
"groan": "Стењање",
"grunt": "Мрмљање",
"whistling": "Звиждање",
"breathing": "Дисање",
"wheeze": "Шиштање",
"snoring": "Хркање",
"gasp": "Задиханост",
"pant": "Задиханост",
"snort": "Шмркање",
"cough": "Кашаљ",
"throat_clearing": "Прочишћавање грла",
"sneeze": "Кијање",
"sniff": "Њушкање",
"run": "Трчање",
"shuffle": "Насумично",
"footsteps": "Корачање",
"chewing": "Жвакање",
"biting": "Угриз",
"gargling": "Гргорење",
"stomach_rumble": "Крчање стомака",
"camera": "Камера"
}

View File

@ -26,7 +26,26 @@
"year_one": "1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21...",
"year_few": "2,3,4,22,23,24,32,33,34,42,...",
"year_other": "",
"mo": "{{time}}mes"
"mo": "{{time}}mes",
"month_one": "{{time}} месец",
"month_few": "{{time}} месеца",
"month_other": "{{time}} месеци",
"d": "{{time}}d",
"day_one": "{{time}} дан",
"day_few": "{{time}} дана",
"day_other": "{{time}} дана",
"h": "{{time}}h",
"hour_one": "{{time}} сат",
"hour_few": "{{time}} сата",
"hour_other": "{{time}} сати",
"m": "{{time}}m",
"minute_one": "{{time}} минут",
"minute_few": "{{time}} минута",
"minute_other": "{{time}} минута",
"s": "{{time}}s",
"second_one": "{{time}} секунда",
"second_few": "{{time}} секунде",
"second_other": "{{time}} секунди"
},
"readTheDocumentation": "Прочитајте документацију"
}

View File

@ -10,6 +10,7 @@
"loginFailed": "Prijava nije uspela",
"unknownError": "Nepoznata greška. Proveri logove.",
"webUnknownError": "Nepoznata greška. Proveri logove u konzoli."
}
},
"firstTimeLogin": "Пријављујете се по први пут? Креденцијали су одштампани у логовима Фригејта."
}
}

View File

@ -14,8 +14,66 @@
"label": "Ime",
"placeholder": "Unesite ime…",
"errorMessage": {
"mustLeastCharacters": "Naziv grupe kamera mora imati bar 2 karaktera."
"mustLeastCharacters": "Naziv grupe kamera mora imati bar 2 karaktera.",
"exists": "Група камера са тим именом већ постоји.",
"nameMustNotPeriod": "Назив групе камера не сме да садржи запету.",
"invalid": "Назив групе камера није исправан."
}
},
"cameras": {
"label": "Камере",
"desc": "Изаберите камере за ову групу."
},
"icon": "Иконица",
"success": "Група камера ({{name}}) је сачувана.",
"camera": {
"birdseye": "Птичије око",
"setting": {
"label": "Подешавање стримовања камере",
"title": "{{cameraName}} подешавања стримовања",
"desc": "Промена опција за стримовање уживо за контролну таблу групе камера. <em>Ова подешавања су везана за уређај/браузер.</em>",
"audioIsAvailable": "Звук је доступан у овом стриму",
"audioIsUnavailable": "Звук није доступан за овај стрим",
"audio": {
"tips": {
"title": "Звук мора бити излаз из ваше камере и подешен у go2rtc за овај стрим."
}
},
"stream": "Стрим",
"placeholder": "Изаберите стрим",
"streamMethod": {
"label": "Метод стриминга",
"placeholder": "Изаберите метод стриминга",
"method": {
"noStreaming": {
"label": "Нема стриминга",
"desc": "Слике камере ће бити ажуриране једном у минуту и неће се приказати стриминг уживо."
},
"smartStreaming": {
"label": "Паметан стриминг (препоручено)",
"desc": "Паметан стриминг ће ажурирати слике камере једном у минуту, када нема детектоване активности, да би се уштедело на мрежном саобраћају и ресурсима. Када је детектована активност, слика ће аутоматски прећи на стриминг уживо."
},
"continuousStreaming": {
"label": "Непрекидно стримовање",
"desc": {
"title": "Слика камере ће увек бити стрим уживо када је видљива на контролној табли, чак и када активност није детектована.",
"warning": "Непрекидно стримовање може проузроковати високу употребу мрежу и проблеме са перформансама. Користити опрезно."
}
}
}
},
"compatibilityMode": {
"label": "Режим компатибилности",
"desc": "Омогућите ову опцију само ако репродукција стрима уживо на камери приказује обојене артифекте и има дијагоналну линију на десној страни слице."
}
}
}
},
"debug": {
"options": {
"label": "Подешавања",
"title": "Опције",
"showOptions": "Приказ опција"
}
}
}

View File

@ -16,9 +16,74 @@
},
"review": {
"question": {
"ask_a": "Da li je ovaj objekat <code>{{label}}</code>?"
"ask_a": "Da li je ovaj objekat <code>{{label}}</code>?",
"label": "Потврдите ову ознаку за Фригејт+",
"ask_an": "Да ли је овај објекат <code>{{label}}</code>?",
"ask_full": "Да ли је овај објекат <code>{{untranslatedLabel}}</code> ({{translatedLabel}})?"
},
"state": {
"submitted": "Послато"
}
}
},
"video": {
"viewInHistory": "Преглед у историји"
}
},
"export": {
"time": {
"fromTimeline": "Изаберите са временске линије",
"lastHour_one": "Последњи {{count}} сат",
"lastHour_few": "Последња {{count}} сата",
"lastHour_other": "Последњих {{count}} сати",
"custom": "Прилагођено",
"start": {
"title": "Почетно време",
"label": "Изаберите почетно време"
},
"end": {
"title": "Коначно време",
"label": "Изаберите завршно време"
}
},
"name": {
"placeholder": "Назив извоза"
},
"select": "Избор",
"export": "Извоз",
"selectOrExport": "Избор или извоз",
"toast": {
"success": "Извоз је успешно започет. Прегледајте фајл на страници са извозима.",
"view": "Преглед",
"error": {
"failed": "Неуспешан почетак извоза: {{error}}",
"endTimeMustAfterStartTime": "Завршно време мора бити након почетног времена",
"noVaildTimeSelected": "Није изабран валидан временски распон"
}
},
"fromTimeline": {
"saveExport": "Чување извоза",
"previewExport": "Преглед извоза"
}
},
"streaming": {
"label": "Стрим",
"restreaming": {
"disabled": "Поновни стриминг није омогућен за ову камеру.",
"desc": {
"title": "Подесите go2rtc за додатне опције репродукције слике и звука уживо за ову камеру."
}
},
"showStats": {
"label": "Приказ статистике стримовања",
"desc": "Омогућите ову опцију за приказ статистике стримовања као надслој на преноса са камере."
},
"debugView": "Приказ за дебаговање"
},
"search": {
"saveSearch": {
"label": "Сачувати претрагу",
"desc": "Обезбедите назив за ову сачувану претрагу."
}
}
}

View File

@ -1,7 +1,7 @@
{
"filter": "Filter",
"labels": {
"label": "Labele",
"label": "Ознаке",
"all": {
"title": "Sve oznake",
"short": "Oznake"
@ -15,5 +15,126 @@
"title": "Sve zone",
"short": "Zone"
}
},
"classes": {
"label": "Класе",
"all": {
"title": "Све класе"
},
"count_one": "{{count}} класа",
"count_other": "{{count}} класа"
},
"dates": {
"selectPreset": "Изаберите предефинисано…",
"all": {
"title": "Сви датуми",
"short": "Датуми"
}
},
"more": "Још филтера",
"reset": {
"label": "Ресетовање филтера на подразумеване вредности"
},
"timeRange": "Распон времена",
"subLabels": {
"label": "Под-ознаке",
"all": "Све под-ознаке"
},
"attributes": {
"label": "Атрибути класификације",
"all": "Сви атрибути"
},
"score": "Резултат",
"estimatedSpeed": "Процењена брзина ({{unit}})",
"features": {
"label": "Особине",
"hasSnapshot": "Постоји снимак",
"hasVideoClip": "Постоји видео клип",
"submittedToFrigatePlus": {
"label": "Послато у Frigate+",
"tips": "Прво морате филтрирати праћене објекте који имају снимак. <br /><br />Праћени објекти без снимка не могу бити послати у Frigate+."
}
},
"sort": {
"label": "Сортирање",
"dateAsc": "Датум (растући)",
"dateDesc": "Дату (опадајући)",
"scoreAsc": "Резултат објекта (растући)",
"scoreDesc": "Резултат објекта (опадајући)",
"speedAsc": "Процењена брзина (растућа)",
"speedDesc": "Процењена брзина (опадајућа)",
"relevance": "Значај"
},
"cameras": {
"label": "Филтери камера",
"all": {
"title": "Све камере",
"short": "Камере"
}
},
"review": {
"showReviewed": "Прикажи прегледане"
},
"motion": {
"showMotionOnly": "Прикажи само покрете"
},
"explore": {
"settings": {
"title": "Подешавања",
"defaultView": {
"title": "Подразумевани приказ",
"desc": "Када нису изабрани филтери приказати сажето најскорије праћене објекте по ознакама или приказати нефилтрирану табелу.",
"summary": "Сумарно",
"unfilteredGrid": "Нефилтрирана табела"
},
"gridColumns": {
"title": "Колоне табеле",
"desc": "Изаберите број колона табеле које ће се приказати."
},
"searchSource": {
"label": "Извор претраге",
"desc": "Изаберите да ли да се претражују сличице или описи праћених објеката.",
"options": {
"thumbnailImage": "Сличица",
"description": "Опис"
}
}
},
"date": {
"selectDateBy": {
"label": "Изаберите датум по ком ће се филтрирати"
}
}
},
"logSettings": {
"label": "Ниво логовања филтера",
"filterBySeverity": "Филтрирање логова по озбиљности",
"loading": {
"title": "Учитавање",
"desc": "Када се лог панел скролује до дна, нови записи се аутоматски приказују чим су додати."
},
"disableLogStreaming": "Искључивање ажурирања лога",
"allLogs": "Сви логови"
},
"trackedObjectDelete": {
"title": "Потврдите брисање",
"desc": "Брисање ових {{objectLength}} праћених објеката уклања снимке, све сачуване ембединге, као и све повезанезаписе везане за животни циклус објекта. Снимци праћених објеката у Историји <em>НЕЋЕ</em> бити избрисани.<br /><br />Да ли сте сигурни да желите да наставите?<br /><br />Држите притиснут <em>Shift</em> тастер да прескочите овај дијалог у будућности.",
"toast": {
"success": "Праћени објекти су успешно обрисани.",
"error": "Брисање праћених објеката није успело: {{errorMessage}}"
}
},
"zoneMask": {
"filterBy": "Филтрирање по маскама зоне"
},
"recognizedLicensePlates": {
"title": "Препознате регистарске таблице",
"loadFailed": "Учитавање препознатих регистарских таблица није успело.",
"loading": "Учитавање препознатих регистарских таблица…",
"placeholder": "Претражите регистарске таблице…",
"noLicensePlatesFound": "Регистарске таблице нису пронађене.",
"selectPlatesFromList": "Изаберите једне или више таблица са листе.",
"selectAll": "Изаберите све",
"clearAll": "Почистите све"
}
}

View File

@ -8,6 +8,44 @@
},
"livePlayerRequiredIOSVersion": "Za ovaj tip prenosa uživo potreban je iOS 17.1 ili noviji.",
"streamOffline": {
"title": "Strim je oflajn"
"title": "Strim je oflajn",
"desc": "Ни један фрејм није добијен од {{cameraName}} <code>detect</code>, проверите лог грешака"
},
"cameraDisabled": "Камера је онемогућена",
"stats": {
"streamType": {
"title": "Тип стрима:",
"short": "Тип"
},
"bandwidth": {
"title": "Пропусни опсег:",
"short": "Ширина опсега"
},
"latency": {
"title": "Кашњење:",
"value": "{{seconds}} секунди",
"short": {
"title": "Кашњење",
"value": "{{seconds}}s"
}
},
"totalFrames": "Укупно фрејмова:",
"droppedFrames": {
"title": "Изгубљени фрејмови:",
"short": {
"title": "Испуштено",
"value": "{{droppedFrames}} фрејмова"
}
},
"decodedFrames": "Декодовани фрејмови:",
"droppedFrameRate": "Однос испуштених фрејмова:"
},
"toast": {
"success": {
"submittedFrigatePlus": "Фрејм је успешно послат у Фригејт+"
},
"error": {
"submitFrigatePlusFailed": "Неуспешно слање фрејма у Фригејт+"
}
}
}

View File

@ -6,5 +6,35 @@
"airplane": "Avion",
"bus": "Autobus",
"train": "Voz",
"boat": "Brod"
"boat": "Brod",
"traffic_light": "Семафор",
"fire_hydrant": "Хидрант",
"street_sign": "Улични знак",
"stop_sign": "Знак стоп",
"parking_meter": "Паркинг апарат",
"bench": "Клупа",
"bird": "Птица",
"cat": "Мачка",
"dog": "Пас",
"horse": "Коњ",
"sheep": "Овца",
"cow": "Крава",
"elephant": "Слон",
"bear": "Медвед",
"zebra": "Зебра",
"giraffe": "Жирафа",
"hat": "Капа",
"backpack": "Ранац",
"umbrella": "Кишобран",
"shoe": "Ципела",
"eye_glasses": "Наочаре",
"handbag": "Ручна торба",
"tie": "Кравата",
"suitcase": "Актовка",
"frisbee": "Фризби",
"skis": "Скије",
"snowboard": "Сноуборд",
"sports_ball": "Спортска лопта",
"baseball_bat": "Палица за бејзбол",
"baseball_glove": "Рукавица за бејзбол"
}

View File

@ -1 +1,61 @@
{}
{
"documentTitle": "Класификациони модели - Фригејт",
"details": {
"scoreInfo": "Резултат представља просечно поверење у класификацију код свих откривања овог објекта.",
"none": "Ниједан",
"unknown": "Непознато"
},
"button": {
"deleteClassificationAttempts": "Брисање класификационих слика",
"renameCategory": "Преименовање класе",
"deleteCategory": "Брисање класе",
"deleteImages": "Брисање слика",
"trainModel": "Модел за тренирање",
"addClassification": "Додавање класификације",
"deleteModels": "Брисање модела",
"editModel": "Уређивање модела"
},
"tooltip": {
"trainingInProgress": "Модел се тренутно тренира",
"noNewImages": "Нема нових слика за тренирање. Класификујте више слика прво у датасету.",
"noChanges": "Нема измена у датасету од последњег тренирања.",
"modelNotReady": "Модел није спреман за тренирање"
},
"toast": {
"success": {
"deletedCategory": "Обрисана класа",
"deletedImage": "Обрисане слике",
"deletedModel_one": "Успешно је обрисан {{count}} модел",
"deletedModel_few": "Успешно су обрисана {{count}} модела",
"deletedModel_other": "Успешно је обрисано {{count}} модела",
"categorizedImage": "Успешно класификована слика",
"trainedModel": "Успешно трениран модел.",
"trainingModel": "Тренирање модела је успешно започето.",
"updatedModel": "Успешно је ажурирана конфигурација модела",
"renamedCategory": "Класа је успешно преименована у {{name}}"
},
"error": {
"deleteImageFailed": "Неуспешно брисање: {{errorMessage}}",
"deleteCategoryFailed": "Неуспешно брисање класе: {{errorMessage}}",
"deleteModelFailed": "Неуспешно брисање модела: {{errorMessage}}",
"categorizeFailed": "Неуспешна категоризација слике: {{errorMessage}}",
"trainingFailed": "Неуспешно тренирање модела. Проверите Фригејт логове за детаље.",
"trainingFailedToStart": "Неуспешан почетак тренирања модела: {{errorMessage}}",
"updateModelFailed": "Неуспешно ажурирање модела: {{errorMessage}}",
"renameCategoryFailed": "Неуспешно преименовање класе: {{errorMessage}}"
}
},
"train": {
"titleShort": "Скорашње"
},
"deleteCategory": {
"title": "Брисање класе",
"desc": "Да ли сте сигурни да желите да обришете класу {{name}}? Тиме ће трајно бити обрисане и све придружене слике и биће потребно поновно тренирање модела.",
"minClassesTitle": "Није могуће обрисати класу",
"minClassesDesc": "Класификациони модел мора имати најмање две класе. Додајте нову класу пре него што избришете ову."
},
"deleteModel": {
"title": "Брисање класификационог модела",
"single": "Да ли сте сигурни да желите да обришете {{name}}? Ово ће трајно обрисати све повезане податке, укључујући слике и податке за тренирање. Ова акција се не може накнадно опозвати."
}
}

View File

@ -8,6 +8,11 @@
"toast": {
"success": {
"copyToClipboard": "Konfiguracija je kopirana u clipboard."
},
"error": {
"savingError": "Грешка при чувању конфигурације"
}
}
},
"safeConfigEditor": "Уређивач конфигурације (безбедан режим)",
"safeModeDescription": "Фригејт је у безбедном режиму због грешке при провери исправности конфигурације."
}

View File

@ -9,6 +9,53 @@
"empty": {
"alert": "Nema upozorenja za pregled",
"detection": "Nema detekcija za pregled",
"motion": "Nema podataka o pokretu"
}
"motion": "Nema podataka o pokretu",
"recordingsDisabled": {
"title": "Снимање мора бити омогућено",
"description": "Преглед ставки може бити креиран само за камеру када је омогућено снимање за њу."
}
},
"timeline": "Временска линија",
"timeline.aria": "Изаберите временску линију",
"zoomIn": "Зумирање",
"zoomOut": "Одзумирање",
"events": {
"label": "Догађаји",
"aria": "Изаберите догађаје",
"noFoundForTimePeriod": "Нису пронађени догађају у овом периоду."
},
"detail": {
"label": "Детаљ",
"noDataFound": "Нема детаљних података за преглед",
"aria": "Промена детаљности прегледа",
"trackedObject_one": "{{count}} објеката",
"trackedObject_other": "{{count}} објеката",
"noObjectDetailData": "Нема података о детаљима објекта.",
"settings": "Подешавање приказа детаља",
"alwaysExpandActive": {
"title": "Увек проширити активан",
"desc": "Увек прошири детаље кативног прегледа објекта, уколико су доступни."
}
},
"objectTrack": {
"trackedPoint": "Праћена тачка",
"clickToSeek": "Кликните да претражите у ово време"
},
"documentTitle": "Преглед - Фригејт",
"recordings": {
"documentTitle": "Снимци - Фригејт"
},
"calendarFilter": {
"last24Hours": "Последња 24 часа"
},
"markAsReviewed": "Означавање да је прегледано",
"markTheseItemsAsReviewed": "Означи ове ставке као прегледане",
"newReviewItems": {
"label": "Приказ нових ставки за прегледање",
"button": "Нове ставке за преглед"
},
"selected_one": "{{count}} изабрано",
"selected_other": "{{count}} изабрано",
"select_all": "Све",
"camera": "Камера"
}

View File

@ -7,7 +7,57 @@
"embeddingsReindexing": {
"context": "Istraživanje se može koristiti nakon što se završi reindeksiranje ugrađivanja praćenih objekata.",
"startingUp": "Pokretanje…",
"estimatedTime": "Procenjeno preostalo vreme:"
"estimatedTime": "Procenjeno preostalo vreme:",
"finishingShortly": "Завршава се ускоро",
"step": {
"thumbnailsEmbedded": "Угњеждене сличице: ",
"descriptionsEmbedded": "Угњеждени описи: ",
"trackedObjectsProcessed": "Обрађени праћени објекти: "
}
},
"downloadingModels": {
"context": "Фригејт преузима неопходне <em>embedding</em> моделе за подршку могућности Семантичке претраге. Ово може потрајати неколико минута, зависно од брзине Ваше мрежне везе.",
"setup": {
"visionModel": "Модел визије",
"visionModelFeatureExtractor": "Екстрактор особина модела визије",
"textModel": "Модел текста",
"textTokenizer": "Токенизатор текста"
},
"tips": {
"context": "Можда ћете желети да реиндексујете ембединге праћених објеката када модели буду преузети."
},
"error": "Дошло је до грешке. Проверите логове."
}
},
"details": {
"timestamp": "Временски тренутак"
},
"trackedObjectDetails": "Детаљи праћеног објекта",
"type": {
"details": "детаљи",
"snapshot": "снимак",
"thumbnail": "сличица",
"video": "видео",
"tracking_details": "детаљи праћења"
},
"trackingDetails": {
"title": "Детаљи праћења",
"noImageFound": "Нема слике за овај временски тренутак.",
"createObjectMask": "Креирање маске објекта",
"adjustAnnotationSettings": "Прилагођавање подешавања анотације",
"scrollViewTips": "Кликните да видите значајне моменте у животном циклусу овог објекта.",
"autoTrackingTips": "Позиције оквира неће бити тачне за камере са аутоматским праћењем.",
"count": "{{first}} од {{second}}",
"trackedPoint": "Праћена тачка",
"lifecycleItemDesc": {
"visible": "{{label}} детектован",
"entered_zone": "{{label}} је ушао у {{zones}}",
"active": "{{label}} се активирао",
"stationary": "{{label}} је постао стационаран",
"attribute": {
"faceOrLicense_plate": "{{attribute}} детектован за {{label}}",
"other": "{{label}} је препознат као {{attribute}}"
}
}
}
}

View File

@ -8,5 +8,16 @@
"title": "Preimenuj izvoz",
"desc": "Unesite novo ime za ovaj izvoz.",
"saveExport": "Sačuvaj izvoz"
},
"tooltip": {
"shareExport": "Дељење експорта",
"downloadVideo": "Преузимање видео-снимка",
"editName": "Уређивање имена",
"deleteExport": "Брисање извоза"
},
"toast": {
"error": {
"renameExportFailed": "Промена назива извоза није успела: {{errorMessage}}"
}
}
}

View File

@ -9,6 +9,65 @@
"subLabelScore": "Sub Label Skor",
"scoreInfo": "Rezultat podoznake je otežan rezultat za sve prepoznate pouzdanosti lica, tako da se može razlikovati od rezultata prikazanog na snimku.",
"face": "Detalji lica",
"faceDesc": "Detalji praćenog objekta koji je generisao ovo lice"
}
"faceDesc": "Detalji praćenog objekta koji je generisao ovo lice",
"timestamp": "Временски тренутак",
"unknown": "Непознато"
},
"documentTitle": "Библиотека лица - Фригејт",
"uploadFaceImage": {
"title": "Отпремање слике лица",
"desc": "Орпремање слике за скенирање за лица и укључивање у {{pageToggle}}"
},
"collections": "Колекције",
"createFaceLibrary": {
"new": "Креирање новог лика",
"nextSteps": "За изградњу снажне основе: <li>Користите картицу \"Скорашња препознавања\" да бисте изабрали и тренирали на сликама за сваку од откривених особа.</li><li>За најбоље резултате фокусирајте се на фронталне слике; избегавајте тренирање на сликама где су лица приказана под углом.</li></ul>"
},
"steps": {
"faceName": "Унесите назив лица",
"uploadFace": "Отпремање слике лица",
"nextSteps": "Следећи кораци",
"description": {
"uploadFace": "Отпремите слику {{name}} која приказује његово/њено лице спреда. Слика не мора да садржи само лице."
}
},
"train": {
"title": "Скорашња препознавања",
"titleShort": "Скорашње",
"aria": "Изаберите скорашња препознавања",
"empty": "Нема скорашњих покушаја препознавања лица"
},
"deleteFaceLibrary": {
"title": "Брисање имена",
"desc": "Да ли сте сигурни да желите да обришете колекцију {{name}}? То ће трајно обрисати и сва придружена лица."
},
"deleteFaceAttempts": {
"title": "Обрисана лица",
"desc_one": "Да ли сте сигурни да желите да обришете {{count}} лице? Ова акција се не може опозвати накнадно.",
"desc_few": "Да ли сте сигурни да желите да обришете {{count}} лица? Ова акција се не може опозвати накнадно.",
"desc_other": "Да ли сте сигурни да желите да обришете {{count}} лица? Ова акција се не може опозвати накнадно."
},
"renameFace": {
"title": "Преименовање лица",
"desc": "Унесите ново име за {{name}}"
},
"button": {
"deleteFaceAttempts": "Брисање лица",
"addFace": "Додавање лица",
"renameFace": "Преименовање лица",
"deleteFace": "Брисање лица",
"uploadImage": "Отпремање слике",
"reprocessFace": "Поново обради лице"
},
"imageEntry": {
"validation": {
"selectImage": "Изаберите фајл са сликом."
},
"dropActive": "Превуците слику овде…",
"dropInstructions": "Превуците или пејстујте слику овде, или кликните за избор",
"maxSize": "Максимална величина: {{size}}MB"
},
"nofaces": "Нема доступних лица",
"trainFaceAs": "Тренирање лица као:",
"trainFace": "Тренирање лица"
}

View File

@ -13,8 +13,81 @@
"ptz": {
"move": {
"clickMove": {
"label": "Kliknite na sliku da bi centrirali kameru"
"label": "Kliknite na sliku da bi centrirali kameru",
"enable": "Укључивање померања кликом",
"disable": "Онемогућавање померања кликом"
},
"left": {
"label": "Померање PTZ камере у лево"
},
"up": {
"label": "Окретање PTZ камере на горе"
},
"down": {
"label": "Окретање PTZ камере на доле"
},
"right": {
"label": "Окретање PTZ камере у десно"
}
}
},
"zoom": {
"in": {
"label": "Зумирање PTZ камере"
},
"out": {
"label": "Одзумирање PTZ камере"
}
},
"focus": {
"in": {
"label": "Фокусирање PTZ камере"
},
"out": {
"label": "Одфокусирање PTZ камере"
}
},
"frame": {
"center": {
"label": "Кликните унутар фрејма да центрирате PTZ камеру"
}
},
"presets": "Пресети PTZ камере"
},
"camera": {
"enable": "Укључивање камере",
"disable": "Онемогућавање камере"
},
"muteCameras": {
"enable": "Мутирање свих камера",
"disable": "Демутирање свих камера"
},
"detect": {
"enable": "Укључивање детекције",
"disable": "Искључивање детекције"
},
"recording": {
"enable": "Укључивање снимања",
"disable": "Искључивање снимања"
},
"snapshots": {
"enable": "Укључивање снепшотова",
"disable": "Онемогућивање снепшотова"
},
"snapshot": {
"takeSnapshot": "Преузимање тренутног снимка",
"noVideoSource": "Нема доступних извора за снепшот.",
"captureFailed": "Неуспешно прављење снепшота.",
"downloadStarted": "Преузимање снепшота је започето."
},
"audioDetect": {
"enable": "Омогућавање детектовања звука",
"disable": "Онемогућавање детекције звука"
},
"transcription": {
"enable": "Омогућавање транскрибовања звука уживо",
"disable": "Искључивање транскрибовања звука уживо"
},
"autotracking": {
"enable": "Омогућавање аутоматског праћења"
}
}

View File

@ -8,5 +8,50 @@
"delete": "Izbrišite sačuvanu pretragu",
"filterInformation": "Filtriraj informacije",
"filterActive": "Aktivni filteri"
},
"trackedObjectId": "ID праћеног објекта",
"filter": {
"label": {
"cameras": "Камере",
"labels": "Ознаке",
"zones": "Зоне",
"sub_labels": "Под-ознаке",
"attributes": "Атрибути",
"search_type": "Тип претраге",
"time_range": "Временски распон",
"before": "Пре",
"after": "Након",
"min_score": "Најнижи резултат",
"max_score": "Најбољи резултат",
"min_speed": "Најнижа брзина",
"max_speed": "Највиша брзина",
"recognized_license_plate": "Препознате регистарске таблице",
"has_clip": "Има клип",
"has_snapshot": "Има снепшот"
},
"searchType": {
"thumbnail": "Сличица",
"description": "Опис"
},
"toast": {
"error": {
"beforeDateBeLaterAfter": "Датум 'пре' мора бити након датума 'после'.",
"afterDatebeEarlierBefore": "Датум 'после' мора бити пре датума 'пре'.",
"minScoreMustBeLessOrEqualMaxScore": "'min_score' мора бити нижи или један 'max_score'.",
"maxScoreMustBeGreaterOrEqualMinScore": "'max_score' мора бити већи или једнак од 'min_score'.",
"minSpeedMustBeLessOrEqualMaxSpeed": "'min_speed' мора бити мања или једнака 'max_speed'.",
"maxSpeedMustBeGreaterOrEqualMinSpeed": "'max_speed' мора бити већа или једнака 'min_speed'."
}
},
"tips": {
"title": "Како да се користе филтери за текст",
"desc": {
"text": "Филтери Вам помажу да сузите резултате претраге. Ево како да их користите у пољима за унос:",
"step1": "Откуцајте назив кључа филтера а затим две тачке (нпр. \"cameras:\").",
"step2": "Изаберите предложену или сопствену вредност.",
"step3": "Примените више филтера тако што ћете их додати један за другим са размаком између.",
"step4": "Филтери за датум (пре: и касније:) користе {{DateFormat}} формат."
}
}
}
}

View File

@ -6,6 +6,59 @@
"enrichments": "Podešavanja obogaćivanja - Frigate",
"masksAndZones": "Uređivač maski i zona - Frigate",
"motionTuner": "Tjuner pokreta - Frigate",
"general": "Generalna podešavanja - Frigate"
"general": "Generalna podešavanja - Frigate",
"cameraManagement": "Управљање камерама - Фригејт",
"cameraReview": "Преглед подешавања камере - Фригејт",
"object": "Дебаговање - Фригејт",
"frigatePlus": "Подешавања за Фригејт+ - Фригејт",
"notifications": "Подешавања обавештавања - Фригејт"
},
"menu": {
"ui": "UI",
"enrichments": "Обогаћивања",
"cameraManagement": "Управљање",
"cameraReview": "Преглед",
"masksAndZones": "Маске / Зоне",
"motionTuner": "Подешавач покрета",
"triggers": "Окидачи",
"debug": "Дебаговање",
"users": "Корисници",
"roles": "Улоге",
"notifications": "Нотификације",
"frigateplus": "Фригејт+"
},
"dialog": {
"unsavedChanges": {
"title": "Имате несачуване измене.",
"desc": "Да ли желите да сачувате измене пре наставка?"
}
},
"cameraSetting": {
"camera": "Камера",
"noCamera": "Нема камере"
},
"general": {
"title": "UI подешавања",
"liveDashboard": {
"title": "Контролна табла уживо",
"automaticLiveView": {
"label": "Аутоматси преглед уживо",
"desc": "Аутоматско пребацивање на преглед камере уживо када је активност детектована. Онемогућавање ове опције доводи до тога да се слике камере на контролној тапли ажурирају једном у минуту."
},
"playAlertVideos": {
"label": "Репродукуј видео за узбуну",
"desc": "Скорашњa упозорења се на контролној табли подразумевано репродукују као мали видеи који се понављају. Онемогућите ову опцију за приказивање само статичке слике скорашњих упозорења (на овом уређају/браузеру)."
},
"displayCameraNames": {
"label": "Увек приказивати називе камера",
"desc": "Увек приказивати називе камера у чипу у репродукцији уживо више камера на контролној табли."
},
"liveFallbackTimeout": {
"desc": "Када стрим високог квалитета није доступан за камеру, спусти се на режим споре мреже након оволико секунди. Подразумевано 3."
}
},
"storedLayouts": {
"title": "Сачувани распореди"
}
}
}

View File

@ -10,5 +10,59 @@
"nginx": "Nginx logovi - Frigate"
}
},
"title": "Sistem"
"title": "Sistem",
"metrics": "Системске метрике",
"logs": {
"download": {
"label": "Преузимање логова"
},
"copy": {
"label": "Копирање",
"success": "Логови су копирани",
"error": "Копирање логова није успело"
},
"type": {
"label": "Тип",
"timestamp": "Временски тренутак",
"tag": "Ознака",
"message": "Порука"
},
"tips": "Логови стримују са сервера",
"toast": {
"error": {
"fetchingLogsFailed": "Грешка при преузимању логова: {{errorMessage}}",
"whileStreamingLogs": "Грешка код стримовања логова: {{errorMessage}}"
}
}
},
"general": {
"title": "Опште",
"detector": {
"title": "Детектори",
"inferenceSpeed": "Детектор брзине закључивања",
"temperature": "Детектор температуре",
"cpuUsage": "Детектор употребе CPU-а",
"cpuUsageInformation": "CPU коришћен за припрему улаза и излаза података у/из модела детекције. Ова вредност не мери коришћење инференције, чак ни када користи GPU или акселератор.",
"memoryUsage": "Употреба меморије од стране детектора"
},
"hardwareInfo": {
"title": "Информације о хардверу",
"gpuUsage": "Употреба GPU",
"gpuMemory": "GPU меморија",
"gpuEncoder": "GPU енкодер",
"gpuDecoder": "GPU декодер",
"gpuInfo": {
"vainfoOutput": {
"title": "Vainfo Output",
"returnCode": "Повратни код: {{code}}",
"processOutput": "Обрада излаза:",
"processError": "Грешка у обради:"
},
"nvidiaSMIOutput": {
"title": "Nvidia SMI излаз",
"name": "Назив: {{name}}"
}
}
}
}
}

View File

@ -0,0 +1,3 @@
{
"speech": "So'zlashuv"
}

View File

@ -0,0 +1,5 @@
{
"time": {
"untilForTime": "{{time}} vaqtgacha"
}
}

View File

@ -0,0 +1,5 @@
{
"form": {
"user": "Foydalanuvchi nomi"
}
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,5 @@
{
"restart": {
"title": "Frigate dasturini qayta ishga tushirishga aminmisiz?"
}
}

View File

@ -0,0 +1,3 @@
{
"filter": "Filtr"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,7 @@
{
"button": {
"downloadVideo": {
"label": "Videoni yuklab olish"
}
}
}

View File

@ -0,0 +1,3 @@
{
"noRecordingsFoundForThisTime": "Ushbu vaqt uchun hech qanday qayd mavjud emas"
}

View File

@ -0,0 +1,3 @@
{
"person": "Shaxs"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,3 @@
{
"documentTitle": "Frigate dasturi bilan tanishish"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,3 @@
{
"filter": "Filtr"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -62,5 +62,6 @@
},
"normalActivity": "正常",
"needsReview": "待審核",
"securityConcern": "安全隱憂"
"securityConcern": "安全隱憂",
"select_all": "全選"
}