Compare commits

...

21 Commits

Author SHA1 Message Date
Weblate (bot)
0a7b2c6a2b
Merge 6f851c3a06 into aa09132dfd 2025-12-01 17:05:52 +00:00
Hosted Weblate
6f851c3a06
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (116 of 116 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (48 of 48 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/components-dialog/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
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-search
Translation: Frigate NVR/views-settings
2025-12-01 17:05:45 +00:00
Hosted Weblate
a8c7de6498
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (92 of 92 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (119 of 119 strings)

Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-system
2025-12-01 17:05:44 +00:00
Hosted Weblate
1356405a2e
Translated using Weblate (Slovak)
Currently translated at 100.0% (116 of 116 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (214 of 214 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (128 of 128 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub K <klacanjakub0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-12-01 17:05:44 +00:00
Hosted Weblate
d22b6eab04
Translated using Weblate (Swedish)
Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Swedish)

Currently translated at 98.3% (117 of 119 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (55 of 55 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:43 +00:00
Hosted Weblate
413cc9d6da
Translated using Weblate (French)
Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (French)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (French)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (French)

Currently translated at 100.0% (128 of 128 strings)

Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:42 +00:00
Hosted Weblate
11f9683e6a
Translated using Weblate (Spanish)
Currently translated at 90.2% (83 of 92 strings)

Co-authored-by: Hernán Rossetto <hmronline@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/es/
Translation: Frigate NVR/views-live
2025-12-01 17:05:41 +00:00
Hosted Weblate
7689b2647b
Translated using Weblate (Dutch)
Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (128 of 128 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/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nl/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:40 +00:00
Hosted Weblate
4e634c93f1
Translated using Weblate (Italian)
Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (55 of 55 strings)

Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/it/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:39 +00:00
Hosted Weblate
f6e992c78a
Translated using Weblate (Polish)
Currently translated at 92.9% (119 of 128 strings)

Translated using Weblate (Polish)

Currently translated at 98.1% (210 of 214 strings)

Translated using Weblate (Polish)

Currently translated at 85.4% (546 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 95.0% (38 of 40 strings)

Translated using Weblate (Polish)

Currently translated at 83.5% (107 of 128 strings)

Translated using Weblate (Polish)

Currently translated at 98.0% (51 of 52 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (92 of 92 strings)

Translated using Weblate (Polish)

Currently translated at 37.8% (45 of 119 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: piesu <dogiiee@proton.me>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
Translation: Frigate NVR/common
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
Translation: Frigate NVR/views-system
2025-12-01 17:05:39 +00:00
Hosted Weblate
c23f7a96ff
Translated using Weblate (Czech)
Currently translated at 63.2% (404 of 639 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/views-settings/cs/
Translation: Frigate NVR/views-settings
2025-12-01 17:05:38 +00:00
Hosted Weblate
7bcd195eb1
Translated using Weblate (Catalan)
Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (55 of 55 strings)

Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:37 +00:00
Hosted Weblate
d89f945400
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (128 of 128 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/uk/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:36 +00:00
Hosted Weblate
3c0ee60cf6
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Bulgarian)

Currently translated at 9.0% (5 of 55 strings)

Translated using Weblate (Bulgarian)

Currently translated at 0.7% (5 of 639 strings)

Translated using Weblate (Bulgarian)

Currently translated at 15.3% (2 of 13 strings)

Translated using Weblate (Bulgarian)

Currently translated at 31.5% (29 of 92 strings)

Translated using Weblate (Bulgarian)

Currently translated at 2.3% (3 of 128 strings)

Translated using Weblate (Bulgarian)

Currently translated at 20.0% (2 of 10 strings)

Translated using Weblate (Bulgarian)

Currently translated at 9.6% (5 of 52 strings)

Translated using Weblate (Bulgarian)

Currently translated at 22.5% (9 of 40 strings)

Translated using Weblate (Bulgarian)

Currently translated at 20.0% (2 of 10 strings)

Translated using Weblate (Bulgarian)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (Bulgarian)

Currently translated at 0.8% (1 of 119 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Bulgarian)

Currently translated at 2.3% (3 of 128 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Skye Fox <mardymcfly1985@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/bg/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/bg/
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
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
2025-12-01 17:05:35 +00:00
Hosted Weblate
854de0f32e
Translated using Weblate (Romanian)
Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (128 of 128 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: lukasig <lukasig@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
2025-12-01 17:05:35 +00:00
Hosted Weblate
0362d8f20b
Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (German)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (German)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (German)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (German)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (German)

Currently translated at 100.0% (10 of 10 strings)

Translated using Weblate (German)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (119 of 119 strings)

Translated using Weblate (German)

Currently translated at 100.0% (214 of 214 strings)

Translated using Weblate (German)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (German)

Currently translated at 100.0% (92 of 92 strings)

Translated using Weblate (German)

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (German)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (German)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (German)

Currently translated at 99.5% (213 of 214 strings)

Translated using Weblate (German)

Currently translated at 99.5% (213 of 214 strings)

Translated using Weblate (German)

Currently translated at 83.5% (534 of 639 strings)

Translated using Weblate (German)

Currently translated at 93.8% (470 of 501 strings)

Translated using Weblate (German)

Currently translated at 98.9% (91 of 92 strings)

Translated using Weblate (German)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (German)

Currently translated at 100.0% (39 of 39 strings)

Translated using Weblate (German)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (German)

Currently translated at 100.0% (128 of 128 strings)

Translated using Weblate (German)

Currently translated at 100.0% (116 of 116 strings)

Translated using Weblate (German)

Currently translated at 100.0% (116 of 116 strings)

Translated using Weblate (German)

Currently translated at 34.4% (40 of 116 strings)

Translated using Weblate (German)

Currently translated at 94.8% (37 of 39 strings)

Translated using Weblate (German)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (German)

Currently translated at 78.0% (499 of 639 strings)

Translated using Weblate (German)

Currently translated at 98.4% (126 of 128 strings)

Translated using Weblate (German)

Currently translated at 29.3% (34 of 116 strings)

Translated using Weblate (German)

Currently translated at 96.0% (123 of 128 strings)

Translated using Weblate (German)

Currently translated at 78.0% (499 of 639 strings)

Co-authored-by: Fuxle <moritz.hofmann2005@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sebastian Sie <sebastian.neuplanitz@googlemail.com>
Co-authored-by: jmtatsch <julian@tatsch.it>
Co-authored-by: mvdberge <micha.vordemberge@christmann.info>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/de/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
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
Translation: Frigate NVR/views-system
2025-12-01 17:05:34 +00:00
Hosted Weblate
50da6d8405
Translated using Weblate (Portuguese (Brazil))
Currently translated at 29.3% (34 of 116 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jose Machado <machado.jm4@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pt_BR/
Translation: Frigate NVR/views-classificationmodel
2025-12-01 17:05:33 +00:00
Hosted Weblate
3f1e3ec6f3
Translated using Weblate (Turkish)
Currently translated at 98.5% (211 of 214 strings)

Translated using Weblate (Turkish)

Currently translated at 66.3% (77 of 116 strings)

Translated using Weblate (Turkish)

Currently translated at 63.7% (74 of 116 strings)

Translated using Weblate (Turkish)

Currently translated at 97.6% (209 of 214 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Turkish)

Currently translated at 94.5% (121 of 128 strings)

Translated using Weblate (Turkish)

Currently translated at 93.7% (120 of 128 strings)

Translated using Weblate (Turkish)

Currently translated at 94.5% (87 of 92 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (39 of 39 strings)

Translated using Weblate (Turkish)

Currently translated at 58.9% (377 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (52 of 52 strings)

Co-authored-by: Emircanos <emircan368@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
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
Translation: Frigate NVR/views-system
2025-12-01 17:05:32 +00:00
Nicolas Mowen
aa09132dfd
Update ROCm to 7.1.1 (#21113)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* Update ROCm to 7.1.1

* testing for build

* Fix

* remove debug
2025-12-01 08:07:35 -07:00
Josh Hawkins
24766ce427
Use user-namespaced keys for idb persistence (#21110)
* add new hooks

* use new hooks for user based keys

* fix layout race condition
2025-12-01 07:59:54 -06:00
Nicolas Mowen
97b29d177a
Miscellaneous Fixes (#21072)
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
* Implement renaming in model editing dialog

* add transcription faq

* remove incorrect constraint for viewer as username

should be able to change anyone's role other than admin

* Don't save redundant state changes

* prevent crash when a camera doesn't support onvif imaging service required for focus support

* Fine tune behavior

* Stop redundant go2rtc stream metadata requests and defer audio information to allow bandwidth for image requests

* Improve cleanup logic for capture process

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-11-30 06:54:42 -06:00
128 changed files with 2067 additions and 549 deletions

View File

@ -15,7 +15,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
PYTHON_VERSION: 3.9 PYTHON_VERSION: 3.11
jobs: jobs:
amd64_build: amd64_build:

View File

@ -15,7 +15,7 @@ ARG AMDGPU
RUN apt update -qq && \ RUN apt update -qq && \
apt install -y wget gpg && \ apt install -y wget gpg && \
wget -O rocm.deb https://repo.radeon.com/amdgpu-install/7.1/ubuntu/jammy/amdgpu-install_7.1.70100-1_all.deb && \ wget -O rocm.deb https://repo.radeon.com/amdgpu-install/7.1.1/ubuntu/jammy/amdgpu-install_7.1.1.70101-1_all.deb && \
apt install -y ./rocm.deb && \ apt install -y ./rocm.deb && \
apt update && \ apt update && \
apt install -qq -y rocm apt install -qq -y rocm

View File

@ -2,7 +2,7 @@ variable "AMDGPU" {
default = "gfx900" default = "gfx900"
} }
variable "ROCM" { variable "ROCM" {
default = "7.1.0" default = "7.1.1"
} }
variable "HSA_OVERRIDE_GFX_VERSION" { variable "HSA_OVERRIDE_GFX_VERSION" {
default = "" default = ""

View File

@ -157,3 +157,19 @@ Only one `speech` event may be transcribed at a time. Frigate does not automatic
::: :::
Recorded `speech` events will always use a `whisper` model, regardless of the `model_size` config setting. Without a supported Nvidia GPU, generating transcriptions for longer `speech` events may take a fair amount of time, so be patient. Recorded `speech` events will always use a `whisper` model, regardless of the `model_size` config setting. Without a supported Nvidia GPU, generating transcriptions for longer `speech` events may take a fair amount of time, so be patient.
#### FAQ
1. Why doesn't Frigate automatically transcribe all `speech` events?
Frigate does not implement a queue mechanism for speech transcription, and adding one is not trivial. A proper queue would need backpressure, prioritization, memory/disk buffering, retry logic, crash recovery, and safeguards to prevent unbounded growth when events outpace processing. Thats a significant amount of complexity for a feature that, in most real-world environments, would mostly just churn through low-value noise.
Because transcription is **serialized (one event at a time)** and speech events can be generated far faster than they can be processed, an auto-transcribe toggle would very quickly create an ever-growing backlog and degrade core functionality. For the amount of engineering and risk involved, it adds **very little practical value** for the majority of deployments, which are often on low-powered, edge hardware.
If you hear speech thats actually important and worth saving/indexing for the future, **just press the transcribe button in Explore** on that specific `speech` event - that keeps things explicit, reliable, and under your control.
2. Why don't you save live transcription text and use that for `speech` events?
Theres no guarantee that a `speech` event is even created from the exact audio that went through the transcription model. Live transcription and `speech` event creation are **separate, asynchronous processes**. Even when both are correctly configured, trying to align the **precise start and end time of a speech event** with whatever audio the model happened to be processing at that moment is unreliable.
Automatically persisting that data would often result in **misaligned, partial, or irrelevant transcripts**, while still incurring all of the CPU, storage, and privacy costs of transcription. Thats why Frigate treats transcription as an **explicit, user-initiated action** rather than an automatic side-effect of every `speech` event.

View File

@ -99,6 +99,42 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi):
if self.inference_speed: if self.inference_speed:
self.inference_speed.update(duration) self.inference_speed.update(duration)
def _should_save_image(
self, camera: str, detected_state: str, score: float = 1.0
) -> bool:
"""
Determine if we should save the image for training.
Save when:
- State is changing or being verified (regardless of score)
- Score is less than 100% (even if state matches, useful for training)
Don't save when:
- State is stable (matches current_state) AND score is 100%
"""
if camera not in self.state_history:
# First detection for this camera, save it
return True
verification = self.state_history[camera]
current_state = verification.get("current_state")
pending_state = verification.get("pending_state")
# Save if there's a pending state change being verified
if pending_state is not None:
return True
# Save if the detected state differs from the current verified state
# (state is changing)
if current_state is not None and detected_state != current_state:
return True
# If score is less than 100%, save even if state matches
# (useful for training to improve confidence)
if score < 1.0:
return True
# Don't save if state is stable (detected_state == current_state) AND score is 100%
return False
def verify_state_change(self, camera: str, detected_state: str) -> str | None: def verify_state_change(self, camera: str, detected_state: str) -> str | None:
""" """
Verify state change requires 3 consecutive identical states before publishing. Verify state change requires 3 consecutive identical states before publishing.
@ -212,6 +248,8 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi):
return return
if self.interpreter is None: if self.interpreter is None:
# When interpreter is None, always save (score is 0.0, which is < 1.0)
if self._should_save_image(camera, "unknown", 0.0):
write_classification_attempt( write_classification_attempt(
self.train_dir, self.train_dir,
cv2.cvtColor(frame, cv2.COLOR_RGB2BGR), cv2.cvtColor(frame, cv2.COLOR_RGB2BGR),
@ -236,12 +274,15 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi):
score = round(probs[best_id], 2) score = round(probs[best_id], 2)
self.__update_metrics(datetime.datetime.now().timestamp() - now) self.__update_metrics(datetime.datetime.now().timestamp() - now)
detected_state = self.labelmap[best_id]
if self._should_save_image(camera, detected_state, score):
write_classification_attempt( write_classification_attempt(
self.train_dir, self.train_dir,
cv2.cvtColor(frame, cv2.COLOR_RGB2BGR), cv2.cvtColor(frame, cv2.COLOR_RGB2BGR),
"none-none", "none-none",
now, now,
self.labelmap[best_id], detected_state,
score, score,
) )
@ -251,7 +292,6 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi):
) )
return return
detected_state = self.labelmap[best_id]
verified_state = self.verify_state_change(camera, detected_state) verified_state = self.verify_state_change(camera, detected_state)
if verified_state is not None: if verified_state is not None:

View File

@ -190,7 +190,11 @@ class OnvifController:
ptz: ONVIFService = await onvif.create_ptz_service() ptz: ONVIFService = await onvif.create_ptz_service()
self.cams[camera_name]["ptz"] = ptz self.cams[camera_name]["ptz"] = ptz
try:
imaging: ONVIFService = await onvif.create_imaging_service() imaging: ONVIFService = await onvif.create_imaging_service()
except (Fault, ONVIFError, TransportError, Exception) as e:
logger.debug(f"Imaging service not supported for {camera_name}: {e}")
imaging = None
self.cams[camera_name]["imaging"] = imaging self.cams[camera_name]["imaging"] = imaging
try: try:
video_sources = await media.GetVideoSources() video_sources = await media.GetVideoSources()
@ -381,7 +385,10 @@ class OnvifController:
f"Disabling autotracking zooming for {camera_name}: Absolute zoom not supported. Exception: {e}" f"Disabling autotracking zooming for {camera_name}: Absolute zoom not supported. Exception: {e}"
) )
if self.cams[camera_name]["video_source_token"] is not None: if (
self.cams[camera_name]["video_source_token"] is not None
and imaging is not None
):
try: try:
imaging_capabilities = await imaging.GetImagingSettings( imaging_capabilities = await imaging.GetImagingSettings(
{"VideoSourceToken": self.cams[camera_name]["video_source_token"]} {"VideoSourceToken": self.cams[camera_name]["video_source_token"]}
@ -421,6 +428,7 @@ class OnvifController:
if ( if (
"focus" in self.cams[camera_name]["features"] "focus" in self.cams[camera_name]["features"]
and self.cams[camera_name]["video_source_token"] and self.cams[camera_name]["video_source_token"]
and self.cams[camera_name]["imaging"] is not None
): ):
try: try:
stop_request = self.cams[camera_name]["imaging"].create_type("Stop") stop_request = self.cams[camera_name]["imaging"].create_type("Stop")
@ -648,6 +656,7 @@ class OnvifController:
if ( if (
"focus" not in self.cams[camera_name]["features"] "focus" not in self.cams[camera_name]["features"]
or not self.cams[camera_name]["video_source_token"] or not self.cams[camera_name]["video_source_token"]
or self.cams[camera_name]["imaging"] is None
): ):
logger.error(f"{camera_name} does not support ONVIF continuous focus.") logger.error(f"{camera_name} does not support ONVIF continuous focus.")
return return

View File

@ -124,6 +124,7 @@ def capture_frames(
config_subscriber.check_for_updates() config_subscriber.check_for_updates()
return config.enabled return config.enabled
try:
while not stop_event.is_set(): while not stop_event.is_set():
if not get_enabled_state(): if not get_enabled_state():
logger.debug(f"Stopping capture thread for disabled {config.name}") logger.debug(f"Stopping capture thread for disabled {config.name}")
@ -141,7 +142,9 @@ def capture_frames(
if stop_event.is_set(): if stop_event.is_set():
break break
logger.error(f"{config.name}: Unable to read frames from ffmpeg process.") logger.error(
f"{config.name}: Unable to read frames from ffmpeg process."
)
if ffmpeg_process.poll() is not None: if ffmpeg_process.poll() is not None:
logger.error( logger.error(
@ -163,6 +166,8 @@ def capture_frames(
skipped_eps.update() skipped_eps.update()
frame_index = 0 if frame_index == shm_frame_count - 1 else frame_index + 1 frame_index = 0 if frame_index == shm_frame_count - 1 else frame_index + 1
finally:
config_subscriber.stop()
class CameraWatchdog(threading.Thread): class CameraWatchdog(threading.Thread):
@ -234,6 +239,16 @@ class CameraWatchdog(threading.Thread):
else: else:
self.ffmpeg_detect_process.wait() self.ffmpeg_detect_process.wait()
# Wait for old capture thread to fully exit before starting a new one
if self.capture_thread is not None and self.capture_thread.is_alive():
self.logger.info("Waiting for capture thread to exit...")
self.capture_thread.join(timeout=5)
if self.capture_thread.is_alive():
self.logger.warning(
f"Capture thread for {self.config.name} did not exit in time"
)
self.logger.error( self.logger.error(
"The following ffmpeg logs include the last 100 lines prior to exit." "The following ffmpeg logs include the last 100 lines prior to exit."
) )

View File

@ -1,5 +1,6 @@
{ {
"form": { "form": {
"user": "Потребителско име" "user": "Потребителско име",
"password": "Парола"
} }
} }

View File

@ -10,6 +10,7 @@
"select": "Избери" "select": "Избери"
}, },
"restart": { "restart": {
"title": "Сигурен ли сте, че искате да рестартирате Frigate?" "title": "Сигурен ли сте, че искате да рестартирате Frigate?",
"button": "Рестартирай"
} }
} }

View File

@ -1,5 +1,8 @@
{ {
"iconPicker": { "iconPicker": {
"selectIcon": "Изберете иконка" "selectIcon": "Изберете иконка",
"search": {
"placeholder": "Потърси за икона…"
}
} }
} }

View File

@ -1,7 +1,10 @@
{ {
"button": { "button": {
"downloadVideo": { "downloadVideo": {
"label": "Свали видео" "label": "Свали видео",
"toast": {
"success": "Вашето видео за преглеждане почна да се изтегля."
}
} }
} }
} }

View File

@ -1 +1,3 @@
{} {
"documentTitle": "Модели за класификация"
}

View File

@ -1 +1,4 @@
{} {
"documentTitle": "Настройки на конфигурацията - Фригейт",
"configEditor": "Настройки на конфигурацията"
}

View File

@ -9,5 +9,7 @@
"aria": "Избери събития", "aria": "Избери събития",
"noFoundForTimePeriod": "Няма намерени събития за този времеви период." "noFoundForTimePeriod": "Няма намерени събития за този времеви период."
}, },
"allCameras": "Всички камери" "allCameras": "Всички камери",
"alerts": "Известия",
"detections": "Засичания"
} }

View File

@ -8,5 +8,7 @@
} }
}, },
"trackedObjectsCount_one": "{{count}} проследен обект ", "trackedObjectsCount_one": "{{count}} проследен обект ",
"trackedObjectsCount_other": "{{count}} проследени обекта " "trackedObjectsCount_other": "{{count}} проследени обекта ",
"documentTitle": "Разгледай - Фригейт",
"generativeAI": "Генериращ Изкъствен Интелект"
} }

View File

@ -1,3 +1,4 @@
{ {
"documentTitle": "Експорт - Frigate" "documentTitle": "Експорт - Frigate",
"search": "Търси"
} }

View File

@ -10,5 +10,9 @@
"deletedName_one": "{{count}} лице бе изтрито успешно.", "deletedName_one": "{{count}} лице бе изтрито успешно.",
"deletedName_other": "{{count}} лица бяха изтрити успешно." "deletedName_other": "{{count}} лица бяха изтрити успешно."
} }
},
"description": {
"addFace": "Добавете нова колекция във библиотеката за лица при качването на първата ви снимка.",
"placeholder": "Напишете име за тази колекция"
} }
} }

View File

@ -64,5 +64,6 @@
"cameraSettings": { "cameraSettings": {
"cameraEnabled": "Камерата е включена" "cameraEnabled": "Камерата е включена"
}, },
"documentTitle": "Наживо - Frigate" "documentTitle": "Наживо - Frigate",
"documentTitle.withCamera": "{{camera}} - На живо - Фригейт"
} }

View File

@ -1,5 +1,7 @@
{ {
"button": { "button": {
"save": "Запазване на търсенето" "save": "Запазване на търсенето"
} },
"search": "Търси",
"savedSearches": "Запазени търсения"
} }

View File

@ -12,5 +12,9 @@
"point_one": "{{count}} точка", "point_one": "{{count}} точка",
"point_other": "{{count}} точки" "point_other": "{{count}} точки"
} }
},
"documentTitle": {
"default": "Настройки - Фригейт",
"authentication": "Настройки за сигурността - Фругейт"
} }
} }

View File

@ -1,5 +1,9 @@
{ {
"stats": { "stats": {
"healthy": "Системата е изправна" "healthy": "Системата е изправна"
},
"documentTitle": {
"cameras": "Статистики за Камери - Фригейт",
"storage": "Статистика за паметта - Фригейт"
} }
} }

View File

@ -58,7 +58,8 @@
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici", "endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid", "noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
"failed": "No s'ha pogut inciar l'exportació: {{error}}" "failed": "No s'ha pogut inciar l'exportació: {{error}}"
} },
"view": "Vista"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Guardar exportació", "saveExport": "Guardar exportació",

View File

@ -152,7 +152,12 @@
"generateSuccess": "Imatges de mostra generades amb èxit", "generateSuccess": "Imatges de mostra generades amb èxit",
"allImagesRequired_one": "Classifiqueu totes les imatges. Queda {{count}} imatge.", "allImagesRequired_one": "Classifiqueu totes les imatges. Queda {{count}} imatge.",
"allImagesRequired_many": "Classifiqueu totes les imatges. Queden {{count}} imatges.", "allImagesRequired_many": "Classifiqueu totes les imatges. Queden {{count}} imatges.",
"allImagesRequired_other": "Classifiqueu totes les imatges. Queden {{count}} imatges." "allImagesRequired_other": "Classifiqueu totes les imatges. Queden {{count}} imatges.",
"modelCreated": "El model s'ha creat correctament. Utilitzeu la vista Classificacions recents per a afegir imatges per als estats que falten i, a continuació, entrenar el model.",
"missingStatesWarning": {
"title": "Falten exemples d'estat",
"description": "No heu seleccionat exemples per a tots els estats. El model no serà entrenat fins que tots els estats tinguin imatges. Després de continuar, utilitzeu la vista Classificacions recents per classificar imatges per als estats que falten, i després entrenar el model."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -55,5 +55,8 @@
"trackedPoint": "Punt de seguiment" "trackedPoint": "Punt de seguiment"
}, },
"zoomIn": "Amplia", "zoomIn": "Amplia",
"zoomOut": "Redueix" "zoomOut": "Redueix",
"normalActivity": "Normal",
"needsReview": "Necessita revisió",
"securityConcern": "Preocupació per la seguretat"
} }

View File

@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Zones", "zones": "Zones",
"ratio": "Ràtio", "ratio": "Ràtio",
"area": "Àrea" "area": "Àrea",
"score": "Puntuació"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -8,7 +8,7 @@
"masksAndZones": "Editor masky a zón - Frigate", "masksAndZones": "Editor masky a zón - Frigate",
"motionTuner": "Ladění detekce pohybu - Frigate", "motionTuner": "Ladění detekce pohybu - Frigate",
"object": "Ladění - Frigate", "object": "Ladění - Frigate",
"general": "Obecné nastavení - Frigate", "general": "Nastavení rozhraní- Frigate",
"frigatePlus": "Frigate+ nastavení - Frigate", "frigatePlus": "Frigate+ nastavení - Frigate",
"enrichments": "Nastavení obohacení - Frigate", "enrichments": "Nastavení obohacení - Frigate",
"cameraManagement": "Správa kamer - Frigate", "cameraManagement": "Správa kamer - Frigate",

View File

@ -296,7 +296,7 @@
"doorbell": "Türklingel", "doorbell": "Türklingel",
"ding-dong": "BimBam", "ding-dong": "BimBam",
"sliding_door": "Schiebetür", "sliding_door": "Schiebetür",
"slam": "Knall", "slam": "zuknallen",
"knock": "Klopfen", "knock": "Klopfen",
"tap": "Schlag", "tap": "Schlag",
"squeak": "Quietschen", "squeak": "Quietschen",
@ -355,7 +355,7 @@
"shatter": "Zerspringen", "shatter": "Zerspringen",
"silence": "Stille", "silence": "Stille",
"environmental_noise": "Umgebungsgeräusch", "environmental_noise": "Umgebungsgeräusch",
"static": "Rauschen", "static": "Statisch",
"pink_noise": "Rosa Rauschen", "pink_noise": "Rosa Rauschen",
"television": "Fernsehgerät", "television": "Fernsehgerät",
"radio": "Radio", "radio": "Radio",
@ -441,5 +441,63 @@
"arrow": "Pfeil", "arrow": "Pfeil",
"electronic_tuner": "Elektronischer Tuner", "electronic_tuner": "Elektronischer Tuner",
"effects_unit": "Effekteinheit", "effects_unit": "Effekteinheit",
"chorus_effect": "Chorus-Effekt" "chorus_effect": "Chorus-Effekt",
"sodeling": "Verfilzen",
"chird": "Akkord",
"change_ringing": "Wechsle RingRing",
"shofar": "Schofar",
"gush": "sprudeln",
"sonar": "Sonar",
"whoosh": "Rauschen",
"thump": "Ruck",
"basketball_bounce": "Basketball Abbraller",
"bang": "Knall",
"slap": "Ohrfeige",
"whack": "verhauen",
"smash": "zerschlagen",
"breaking": "zerbrechen",
"bouncing": "Abbraller",
"whip": "Peitsche",
"flap": "Lasche",
"scratch": "Kratzer",
"scrape": "Abfall",
"rub": "scheuern",
"roll": "rollen",
"crushing": "Stauchen",
"crumpling": "zerknüllen",
"tearing": "Reißen",
"beep": "Piep",
"ping": "Ping",
"ding": "klingeln",
"thunk": "dumpfes Geräusch",
"clang": "Geklirr",
"squeal": "Ausruf",
"creak": "Knarren",
"rustle": "Geknister",
"whir": "schwirren",
"clatter": "Geratter",
"sizzle": "brutzeln",
"clicking": "Klicken",
"clickety_clack": "Klappergeräuschen",
"rumble": "Grollen",
"plop": "plumpsen",
"hum": "Brummen",
"zing": "Schwung",
"boing": "ferderndes Geräusch",
"crunch": "knirschendes",
"sine_wave": "Sinus Kurve",
"harmonic": "harmonisch",
"chirp_tone": "Frequenzwobbelung",
"pulse": "Takt",
"inside": "drinnen",
"outside": "draußen",
"reverberation": "Widerhall",
"echo": "Echo",
"noise": "Lärm",
"mains_hum": "Netzbrummen",
"distortion": "Verzerrung",
"sidetone": "Nebengeräusch",
"cacophony": "Dissonanz",
"throbbing": "Pochen",
"vibration": "Vibration"
} }

View File

@ -81,7 +81,10 @@
"formattedTimestampMonthDayYear": { "formattedTimestampMonthDayYear": {
"12hour": "d. MMM yyyy", "12hour": "d. MMM yyyy",
"24hour": "d. MMM yyyy" "24hour": "d. MMM yyyy"
} },
"inProgress": "In Bearbeitung",
"invalidStartTime": "Ungültige Startzeit",
"invalidEndTime": "Ungültige Endzeit"
}, },
"button": { "button": {
"save": "Speichern", "save": "Speichern",
@ -118,7 +121,8 @@
"pictureInPicture": "Bild in Bild", "pictureInPicture": "Bild in Bild",
"on": "AN", "on": "AN",
"suspended": "Pausierte", "suspended": "Pausierte",
"unsuspended": "fortsetzen" "unsuspended": "fortsetzen",
"continue": "Weiter"
}, },
"label": { "label": {
"back": "Zurück", "back": "Zurück",
@ -227,7 +231,8 @@
"logout": "Abmelden" "logout": "Abmelden"
}, },
"uiPlayground": "Testgebiet für Benutzeroberfläche", "uiPlayground": "Testgebiet für Benutzeroberfläche",
"export": "Exportieren" "export": "Exportieren",
"classification": "Klassifizierung"
}, },
"unit": { "unit": {
"speed": { "speed": {

View File

@ -11,6 +11,6 @@
}, },
"user": "Benutzername", "user": "Benutzername",
"password": "Kennwort", "password": "Kennwort",
"firstTimeLogin": "Versuchen Sie sich zum ersten Mal anzumelden? Die Anmeldedaten sind in den Frigate-Logs aufgeführt." "firstTimeLogin": "Ist dies der erste Loginversuch? Die Zugangsdaten werden in den Frigate Logs angezeigt."
} }
} }

View File

@ -66,7 +66,8 @@
"failed": "Fehler beim Starten des Exports: {{error}}", "failed": "Fehler beim Starten des Exports: {{error}}",
"noVaildTimeSelected": "Kein gültiger Zeitraum ausgewählt" "noVaildTimeSelected": "Kein gültiger Zeitraum ausgewählt"
}, },
"success": "Export erfolgreich gestartet. Die Datei befindet sich auf der Exportseite." "success": "Export erfolgreich gestartet. Die Datei befindet sich auf der Exportseite.",
"view": "Ansicht"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Export speichern", "saveExport": "Export speichern",

View File

@ -1,10 +1,10 @@
{ {
"documentTitle": "Klassifizierungsmodelle", "documentTitle": "Klassifikationsmodelle",
"details": { "details": {
"scoreInfo": "Die Punktzahl gibt die durchschnittliche Klassifizierungssicherheit aller Erkennungen dieses Objekts wieder." "scoreInfo": "Die Punktzahl gibt die durchschnittliche Konfidenz aller Erkennungen dieses Objekts wieder."
}, },
"button": { "button": {
"deleteClassificationAttempts": "Lösche Klassifizierungs-Bilder", "deleteClassificationAttempts": "Lösche klassifizierte Bilder",
"renameCategory": "Klasse umbenennen", "renameCategory": "Klasse umbenennen",
"deleteCategory": "Klasse löschen", "deleteCategory": "Klasse löschen",
"deleteImages": "Bilder löschen", "deleteImages": "Bilder löschen",
@ -17,15 +17,15 @@
"trainingInProgress": "Modell wird gerade trainiert", "trainingInProgress": "Modell wird gerade trainiert",
"noNewImages": "Keine weiteren Bilder zum trainieren. Bitte klassifiziere weitere Bilder im Datensatz.", "noNewImages": "Keine weiteren Bilder zum trainieren. Bitte klassifiziere weitere Bilder im Datensatz.",
"noChanges": "Keine Veränderungen des Datensatzes seit dem letzten Training.", "noChanges": "Keine Veränderungen des Datensatzes seit dem letzten Training.",
"modelNotReady": "Modell ist nicht bereit trainiert zu werden." "modelNotReady": "Modell ist nicht bereit zum Training"
}, },
"toast": { "toast": {
"success": { "success": {
"deletedCategory": "Klasse gelöscht", "deletedCategory": "Klasse gelöscht",
"deletedImage": "Gelöschte Bilder", "deletedImage": "Bilder gelöscht",
"deletedModel_one": "{{count}} Model erfolgreich gelöscht", "deletedModel_one": "{{count}} Modell erfolgreich gelöscht",
"deletedModel_other": "{{count}} Modelle erfolgreich gelöscht", "deletedModel_other": "{{count}} Modelle erfolgreich gelöscht",
"categorizedImage": "Bild erfolgreich klassifiziert", "categorizedImage": "Erfolgreich klassifizierte Bilder",
"trainedModel": "Modell erfolgreich trainiert.", "trainedModel": "Modell erfolgreich trainiert.",
"trainingModel": "Modelltraining erfolgreich gestartet.", "trainingModel": "Modelltraining erfolgreich gestartet.",
"updatedModel": "Modellkonfiguration erfolgreich aktualisiert", "updatedModel": "Modellkonfiguration erfolgreich aktualisiert",
@ -33,8 +33,152 @@
}, },
"error": { "error": {
"deleteImageFailed": "Löschen fehlgeschlagen: {{errorMessage}}", "deleteImageFailed": "Löschen fehlgeschlagen: {{errorMessage}}",
"deleteCategoryFailed": "Klasse konnte nicht gelöscht werden: {{errorMessage}}", "deleteCategoryFailed": "Löschen der Klasse fehlgeschlagen: {{errorMessage}}",
"deleteModelFailed": "Model konnte nicht gelöscht werden: {{errorMessage}}" "deleteModelFailed": "Model konnte nicht gelöscht werden: {{errorMessage}}",
"trainingFailedToStart": "Modelltraining konnte nicht gestartet werden: {{errorMessage}}",
"updateModelFailed": "Aktualisierung des Modells fehlgeschlagen: {{errorMessage}}",
"renameCategoryFailed": "Umbenennung der Klasse fehlgeschlagen: {{errorMessage}}",
"categorizeFailed": "Bildkategorisierung fehlgeschlagen: {{errorMessage}}",
"trainingFailed": "Modelltraining fehlgeschlagen. Details sind in den Frigate-Protokollen zu finden."
}
},
"deleteCategory": {
"title": "Klasse löschen",
"desc": "Möchten Sie die Klasse {{name}} wirklich löschen? Dadurch werden alle zugehörigen Bilder dauerhaft gelöscht und das Modell muss neu trainiert werden.",
"minClassesTitle": "Klasse kann nicht gelöscht werden",
"minClassesDesc": "Ein Klassifizierungsmodell benötigt mindestens zwei Klassen. Fügen Sie eine weitere Klasse hinzu, bevor Sie diese löschen."
},
"deleteModel": {
"title": "Klassifizierungsmodell löschen",
"single": "Möchten Sie {{name}} wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
"desc_one": "Möchtest du {{count}} Modell wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
"desc_other": "Möchtest du {{count}} Modelle wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden."
},
"edit": {
"title": "Klassifikationsmodell bearbeiten",
"descriptionState": "Bearbeite die Klassen für dieses Zustandsklassifikationsmodell. Änderungen erfordern erneutes Trainieren des Modells.",
"descriptionObject": "Bearbeite den Objekttyp und Klassifizierungstyp für dieses Objektklassifikationsmodell.",
"stateClassesInfo": "Hinweis: Die Änderung der Statusklassen erfordert ein erneutes Trainieren des Modells mit den aktualisierten Klassen."
},
"deleteDatasetImages": {
"title": "Datensatz Bilder löschen",
"desc_one": "Bist du sicher, dass {{count}} Bild von {{dataset}} gelöscht werden sollen? Diese Aktion kann nicht rückgängig gemacht werden und erfordert ein erneutes Trainieren des Modells.",
"desc_other": "Bist du sicher, dass {{count}} Bilder von {{dataset}} gelöscht werden sollen? Diese Aktion kann nicht rückgängig gemacht werden und erfordert ein erneutes Trainieren des Modells."
},
"deleteTrainImages": {
"title": "Trainingsbilder löschen",
"desc_one": "Bist du sicher, dass du {{count}} Bild löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"desc_other": "Bist du sicher, dass du {{count}} Bilder löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden."
},
"renameCategory": {
"title": "Klasse umbenennen",
"desc": "Neuen Namen für {{name}} eingeben. Das Modell muss neu trainiert werden, damit die Änderungen wirksam werden."
},
"description": {
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
},
"train": {
"title": "Neue Klassifizierungen",
"titleShort": "kürzlich",
"aria": "Neue Klassifizierungen auswählen"
},
"categories": "Klassen",
"createCategory": {
"new": "Neue Klasse erstellen"
},
"categorizeImageAs": "Bild klassifizieren als:",
"categorizeImage": "Bild klassifizieren",
"menu": {
"objects": "Objekte",
"states": "Zustände"
},
"noModels": {
"object": {
"title": "Keine Objektklassifikationsmodelle",
"description": "Erstelle ein benutzerdefiniertes Modell, um erkannte Objekte zu klassifizieren.",
"buttonText": "Objektmodell erstellen"
},
"state": {
"title": "Keine Statusklassifizierungsmodelle",
"description": "Erstellen Sie ein benutzerdefiniertes Modell, um Zustandsänderungen in bestimmten Kamerabereichen zu überwachen und zu klassifizieren.",
"buttonText": "Zustandsmodell erstellen"
}
},
"wizard": {
"title": "Neue Klassifizierung erstellen",
"steps": {
"nameAndDefine": "Benennen und definieren",
"stateArea": "Gebiet",
"chooseExamples": "Beispiel auswählen"
},
"step1": {
"description": "Zustandsmodelle überwachen feste Kamerabereiche auf Veränderungen (z. B. Tür offen/geschlossen). Objektmodelle fügen den erkannten Objekten Klassifizierungen hinzu (z. B. bekannte Tiere, Lieferanten usw.).",
"name": "Name",
"namePlaceholder": "Eingeben Modell Name...",
"type": "Typ",
"typeState": "Zustand",
"typeObject": "Objekt",
"objectLabel": "Objekt Bezeichnung",
"objectLabelPlaceholder": "Auswahl Objekt Typ...",
"classificationType": "Klassifizierungstyp",
"classificationTypeTip": "Etwas über Klassifizierungstyp lernen",
"classificationTypeDesc": "Unterbezeichnungen fügen dem Objektnamen zusätzlichen Text hinzu (z. B. „Person: UPS“). Attribute sind durchsuchbare Metadaten, die separat in den Objektmetadaten gespeichert sind.",
"classificationSubLabel": "Unterlabel",
"classificationAttribute": "Merkmal",
"classes": "Klasse",
"states": "Gebiet",
"classesTip": "Über Klassen lernen",
"classesStateDesc": "Definieren Sie die verschiedenen Zustände, in denen sich Ihr Kamerabereich befinden kann. Beispiel: „offen” und „geschlossen” für ein Garagentor.",
"classesObjectDesc": "Definieren Sie die verschiedenen Kategorien, in die erkannte Objekte klassifiziert werden sollen. Beispiel: „Lieferant“, „Bewohner“, „Fremder“ für die Klassifizierung von Personen.",
"classPlaceholder": "Eingabe Klassenbezeichnung...",
"errors": {
"nameRequired": "Modellname ist erforderlich",
"nameLength": "Der Modellname darf maximal 64 Zeichen lang sein",
"nameOnlyNumbers": "Der Modellname darf nicht nur aus Zahlen bestehen",
"classRequired": "Mindestens eine Klasse ist erforderlich",
"classesUnique": "Klassenname muss eindeutig sein",
"stateRequiresTwoClasses": "Gebietsmodelle erfordern mindestens zwei Klassen",
"objectLabelRequired": "Bitte wähle eine Objektbeschriftung",
"objectTypeRequired": "Bitte wählen Sie einen Klassifizierungstyp aus"
}
},
"step2": {
"description": "Wählen Sie Kameras aus und legen Sie für jede Kamera den zu überwachenden Bereich fest. Das Modell klassifiziert den Zustand dieser Bereiche.",
"cameras": "Kameras",
"selectCamera": "Kamera auswählen",
"noCameras": "Klick + zum hinzufügen der Kameras",
"selectCameraPrompt": "Wählen Sie eine Kamera aus der Liste aus, um ihren Überwachungsbereich festzulegen"
},
"step3": {
"selectImagesPrompt": "Wählen sie alle Bilder mit: {{className}}",
"selectImagesDescription": "Klicken Sie auf die Bilder, um sie auszuwählen. Klicken Sie auf „Weiter“, wenn Sie mit diesem Kurs fertig sind.",
"allImagesRequired_one": "Bitte klassifizieren Sie alle Bilder. {{count}} Bild verbleibend.",
"allImagesRequired_other": "Bitte klassifizieren Sie alle Bilder. {{count}} Bilder verbleiben.",
"generating": {
"title": "Beispielbilder generieren",
"description": "Frigate extrahiert repräsentative Bilder aus Ihren Aufnahmen. Dies kann einen Moment dauern..."
},
"training": {
"title": "Trainingsmodell",
"description": "Ihr Modell wird im Hintergrund trainiert. Schließen Sie diesen Dialog, und Ihr Modell wird ausgeführt, sobald das Training abgeschlossen ist."
},
"retryGenerate": "Generierung wiederholen",
"noImages": "Keine Bilder generiert",
"classifying": "Klassifizieren und Trainieren...",
"trainingStarted": "Training wurde erfolgreich gestartet",
"errors": {
"noCameras": "Keine Kameras konfiguriert",
"noObjectLabel": "Kein Objektlabel ausgewählt",
"generateFailed": "Beispiele konnten nicht generiert werden: {{error}}",
"generationFailed": "Generierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"classifyFailed": "Bilder konnten nicht klassifiziert werden: {{error}}"
},
"generateSuccess": "Erfolgreich generierte Beispielbilder",
"modelCreated": "Modell erfolgreich erstellt. Verwenden Sie die Ansicht „Aktuelle Klassifizierungen“, um Bilder für fehlende Zustände hinzuzufügen, und trainieren Sie dann das Modell.",
"missingStatesWarning": {
"title": "Beispiele für fehlende Zustände",
"description": "Sie haben nicht für alle Zustände Beispiele ausgewählt. Das Modell wird erst trainiert, wenn für alle Zustände Bilder vorhanden sind. Fahren Sie fort und verwenden Sie die Ansicht „Aktuelle Klassifizierungen“, um Bilder für die fehlenden Zustände zu klassifizieren. Trainieren Sie anschließend das Modell."
}
} }
} }
} }

View File

@ -48,10 +48,15 @@
"noDataFound": "Keine Detaildaten zur Überprüfung", "noDataFound": "Keine Detaildaten zur Überprüfung",
"settings": "Detailansicht Einstellungen", "settings": "Detailansicht Einstellungen",
"alwaysExpandActive": { "alwaysExpandActive": {
"desc": "Immer die Objektdetails des aktiven Überprüfungselements erweitern, sofern verfügbar." "desc": "Immer die Objektdetails vom aktivem Überprüfungselement erweitern, sofern verfügbar.",
"title": "Immer aktiv erweitern"
} }
}, },
"objectTrack": { "objectTrack": {
"trackedPoint": "Verfolgter Punkt" "trackedPoint": "Verfolgter Punkt",
} "clickToSeek": "Klicke, um zu dieser Zeit zu springen"
},
"normalActivity": "normal",
"needsReview": "benötigt Überprüfung",
"securityConcern": "Sicherheitsbedenken"
} }

View File

@ -18,7 +18,7 @@
"updatedSublabel": "Unterkategorie erfolgreich aktualisiert.", "updatedSublabel": "Unterkategorie erfolgreich aktualisiert.",
"updatedLPR": "Nummernschild erfolgreich aktualisiert.", "updatedLPR": "Nummernschild erfolgreich aktualisiert.",
"regenerate": "Eine neue Beschreibung wurde von {{provider}} angefordert. Je nach Geschwindigkeit des Anbieters kann es einige Zeit dauern, bis die neue Beschreibung generiert ist.", "regenerate": "Eine neue Beschreibung wurde von {{provider}} angefordert. Je nach Geschwindigkeit des Anbieters kann es einige Zeit dauern, bis die neue Beschreibung generiert ist.",
"audioTranscription": "Audio Transkription erfolgreich angefordert." "audioTranscription": "Die Audio-Transkription wurde erfolgreich angefordert. Je nach Geschwindigkeit Ihres Frigate-Servers kann die Transkription einige Zeit in Anspruch nehmen."
}, },
"error": { "error": {
"regenerate": "Der Aufruf von {{provider}} für eine neue Beschreibung ist fehlgeschlagen: {{errorMessage}}", "regenerate": "Der Aufruf von {{provider}} für eine neue Beschreibung ist fehlgeschlagen: {{errorMessage}}",
@ -159,7 +159,8 @@
"video": "Video", "video": "Video",
"object_lifecycle": "Objekt-Lebenszyklus", "object_lifecycle": "Objekt-Lebenszyklus",
"snapshot": "Snapshot", "snapshot": "Snapshot",
"thumbnail": "Vorschaubild" "thumbnail": "Vorschaubild",
"tracking_details": "Nachverfolgungs-Details"
}, },
"itemMenu": { "itemMenu": {
"downloadSnapshot": { "downloadSnapshot": {
@ -249,13 +250,14 @@
"faceOrLicense_plate": "{{attribute}} erkannt für {{label}}", "faceOrLicense_plate": "{{attribute}} erkannt für {{label}}",
"other": "{{label}} erkannt als {{attribute}}" "other": "{{label}} erkannt als {{attribute}}"
}, },
"gone": "{{label}} verließ", "gone": "{{label}} hat verlassen",
"heard": "{{label}} wurde gehört", "heard": "{{label}} wurde gehört",
"external": "{{label}} erkannt", "external": "{{label}} erkannt",
"header": { "header": {
"zones": "Zonen", "zones": "Zonen",
"ratio": "Verhältnis", "ratio": "Verhältnis",
"area": "Bereich" "area": "Bereich",
"score": "Bewertung"
} }
}, },
"annotationSettings": { "annotationSettings": {
@ -278,6 +280,10 @@
"previous": "Vorherige Anzeige", "previous": "Vorherige Anzeige",
"next": "Nächste Anzeige" "next": "Nächste Anzeige"
}, },
"title": "Verfolgungsdetails" "title": "Verfolgungsdetails",
"adjustAnnotationSettings": "Anmerkungseinstellungen anpassen",
"autoTrackingTips": "Die Positionen der Begrenzungsrahmen sind bei Kameras mit automatischer Verfolgung ungenau.",
"count": "{{first}} von {{second}}",
"trackedPoint": "Verfolgter Punkt"
} }
} }

View File

@ -44,7 +44,7 @@
"deleteFace": "Lösche Gesicht" "deleteFace": "Lösche Gesicht"
}, },
"train": { "train": {
"title": "Aktuelle Erkennungen", "title": "Kürzliche Erkennungen",
"aria": "Wähle aktuelle Erkennungen", "aria": "Wähle aktuelle Erkennungen",
"empty": "Es gibt keine aktuellen Versuche zur Gesichtserkennung" "empty": "Es gibt keine aktuellen Versuche zur Gesichtserkennung"
}, },
@ -64,7 +64,7 @@
"deletedName_other": "{{count}} Gesichter wurden erfolgreich gelöscht.", "deletedName_other": "{{count}} Gesichter wurden erfolgreich gelöscht.",
"addFaceLibrary": "{{name}} wurde erfolgreich in die Gesichtsbibliothek aufgenommen!", "addFaceLibrary": "{{name}} wurde erfolgreich in die Gesichtsbibliothek aufgenommen!",
"trainedFace": "Gesicht erfolgreich trainiert.", "trainedFace": "Gesicht erfolgreich trainiert.",
"updatedFaceScore": "Gesichtsbewertung erfolgreich aktualisiert.", "updatedFaceScore": "Gesichtsbewertung erfolgreich auf {{name}} ({{score}}) aktualisiert.",
"renamedFace": "Gesicht erfolgreich in {{name}} umbenannt" "renamedFace": "Gesicht erfolgreich in {{name}} umbenannt"
}, },
"error": { "error": {

View File

@ -172,9 +172,13 @@
"disable": "Live Audio Transkription ausschalten" "disable": "Live Audio Transkription ausschalten"
}, },
"noCameras": { "noCameras": {
"title": "Keine Kameras eingerichtet", "title": "Keine Kameras konfiguriert",
"description": "Beginne indem du eine Kamera anschließt.", "description": "Beginne indem du eine Kamera anschließt.",
"buttonText": "Kamera hinzufügen" "buttonText": "Kamera hinzufügen",
"restricted": {
"title": "Keine Kamera verfügbar",
"description": "Sie haben keine Berechtigung, Kameras in dieser Gruppe anzuzeigen."
}
}, },
"snapshot": { "snapshot": {
"takeSnapshot": "Sofort-Schnappschuss herunterladen", "takeSnapshot": "Sofort-Schnappschuss herunterladen",

View File

@ -3,16 +3,16 @@
"default": "Einstellungen - Frigate", "default": "Einstellungen - Frigate",
"authentication": "Authentifizierungseinstellungen Frigate", "authentication": "Authentifizierungseinstellungen Frigate",
"camera": "Kameraeinstellungen - Frigate", "camera": "Kameraeinstellungen - Frigate",
"masksAndZones": "Masken- und Zonen-Editor Frigate", "masksAndZones": "Masken- und Zoneneditor Frigate",
"object": "Debug - Frigate", "object": "Debug - Frigate",
"general": "UI Einstellungen Frigate", "general": "UI Einstellungen Frigate",
"frigatePlus": "Frigate+ Einstellungen Frigate", "frigatePlus": "Frigate+ Einstellungen Frigate",
"classification": "Klassifizierungseinstellungen Frigate", "classification": "Klassifizierungseinstellungen Frigate",
"motionTuner": "Bewegungserkennungs-Optimierer Frigate", "motionTuner": "Bewegungserkennungs-Optimierer Frigate",
"notifications": "Benachrichtigungs-Einstellungen", "notifications": "Benachrichtigungseinstellungen",
"enrichments": "Erweiterte Statistiken - Frigate", "enrichments": "Erweiterte Statistiken - Frigate",
"cameraManagement": "Kameras verwalten - Frigate", "cameraManagement": "Kameras verwalten - Frigate",
"cameraReview": "Kamera Einstellungen prüfen - Frigate" "cameraReview": "Kameraeinstellungen prüfen - Frigate"
}, },
"menu": { "menu": {
"ui": "Benutzeroberfläche", "ui": "Benutzeroberfläche",
@ -41,7 +41,7 @@
"noCamera": "Keine Kamera" "noCamera": "Keine Kamera"
}, },
"general": { "general": {
"title": "Allgemeine Einstellungen", "title": "Einstellungen der Benutzeroberfläche",
"liveDashboard": { "liveDashboard": {
"title": "Live Übersicht", "title": "Live Übersicht",
"playAlertVideos": { "playAlertVideos": {
@ -51,6 +51,14 @@
"automaticLiveView": { "automaticLiveView": {
"desc": "Wechsle automatisch zur Live Ansicht der Kamera, wenn einen Aktivität erkannt wurde. Wenn du diese Option deaktivierst, werden die statischen Kamerabilder auf der Liveübersicht nur einmal pro Minute aktualisiert.", "desc": "Wechsle automatisch zur Live Ansicht der Kamera, wenn einen Aktivität erkannt wurde. Wenn du diese Option deaktivierst, werden die statischen Kamerabilder auf der Liveübersicht nur einmal pro Minute aktualisiert.",
"label": "Automatische Live Ansicht" "label": "Automatische Live Ansicht"
},
"displayCameraNames": {
"label": "Immer Namen der Kamera anzeigen",
"desc": "Kamerabezeichnung immer im einem Chip im Live-View-Dashboard für mehrere Kameras anzeigen."
},
"liveFallbackTimeout": {
"label": "Live Player Ausfallzeitlimit",
"desc": "Wenn der hochwertige Live-Stream einer Kamera nicht verfügbar ist, wechsle nach dieser Anzahl von Sekunden in den Modus für geringe Bandbreite. Standard: 3."
} }
}, },
"storedLayouts": { "storedLayouts": {
@ -232,7 +240,8 @@
"alreadyExists": "Für diese Kamera existiert bereits eine Zone mit diesem Namen.", "alreadyExists": "Für diese Kamera existiert bereits eine Zone mit diesem Namen.",
"mustBeAtLeastTwoCharacters": "Der Zonenname muss aus mindestens 2 Zeichen bestehen.", "mustBeAtLeastTwoCharacters": "Der Zonenname muss aus mindestens 2 Zeichen bestehen.",
"mustNotBeSameWithCamera": "Der Zonenname darf nicht mit dem Kameranamen identisch sein.", "mustNotBeSameWithCamera": "Der Zonenname darf nicht mit dem Kameranamen identisch sein.",
"mustNotContainPeriod": "Der Zonenname darf keine Punkte enthalten." "mustNotContainPeriod": "Der Zonenname darf keine Punkte enthalten.",
"mustHaveAtLeastOneLetter": "Der Name der Zone muss mindestens einen Buchstaben enthalten."
} }
}, },
"loiteringTime": { "loiteringTime": {
@ -311,7 +320,7 @@
"name": { "name": {
"title": "Name", "title": "Name",
"inputPlaceHolder": "Geben Sie einen Namen ein…", "inputPlaceHolder": "Geben Sie einen Namen ein…",
"tips": "Der Name muss aus mindestens 2 Zeichen bestehen und sollte nicht den Namen einer Kamera oder anderen Zone entsprechen." "tips": "Der Name muss mindestens 2 Zeichen lang sein, mindestens einen Buchstaben enthalten und darf nicht der Name einer Kamera oder einer anderen Zone sein."
}, },
"objects": { "objects": {
"title": "Objekte", "title": "Objekte",
@ -686,13 +695,13 @@
"semanticSearch": { "semanticSearch": {
"reindexNow": { "reindexNow": {
"confirmDesc": "Sind Sie sicher, dass Sie alle verfolgten Objekteinbettungen neu indizieren wollen? Dieser Prozess läuft im Hintergrund, kann aber Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen. Sie können den Fortschritt auf der Seite Explore verfolgen.", "confirmDesc": "Sind Sie sicher, dass Sie alle verfolgten Objekteinbettungen neu indizieren wollen? Dieser Prozess läuft im Hintergrund, kann aber Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen. Sie können den Fortschritt auf der Seite Explore verfolgen.",
"label": "Jetzt neu indizien", "label": "Jetzt neu indizieren",
"desc": "Bei der Neuindizierung werden die Einbettungen für alle verfolgten Objekte neu generiert. Dieser Prozess läuft im Hintergrund und kann je nach Anzahl der verfolgten Objekte Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen.", "desc": "Bei der Neuindizierung werden die Einbettungen für alle verfolgten Objekte neu generiert. Dieser Prozess läuft im Hintergrund und kann je nach Anzahl der verfolgten Objekte Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen.",
"confirmTitle": "Neuinszenierung bestätigen", "confirmTitle": "Neuindizierung bestätigen",
"confirmButton": "Neuindizierung", "confirmButton": "Neuindizierung",
"success": "Die Neuindizierung wurde erfolgreich gestartet.", "success": "Die Neuindizierung wurde erfolgreich gestartet.",
"alreadyInProgress": "Die Neuindizierung ist bereits im Gange.", "alreadyInProgress": "Die Neuindizierung ist bereits im Gange.",
"error": "Neuindizierung konnte nicht gestartet werden: {{errorMessage}}" "error": "Die Neuindizierung konnte nicht gestartet werden: {{errorMessage}}"
}, },
"modelSize": { "modelSize": {
"small": { "small": {
@ -715,7 +724,7 @@
"desc": "Die Gesichtserkennung ermöglicht es, Personen Namen zuzuweisen, und wenn ihr Gesicht erkannt wird, ordnet Frigate den Namen der Person als Untertitel zu. Diese Informationen sind in der Benutzeroberfläche, den Filtern und in den Benachrichtigungen enthalten.", "desc": "Die Gesichtserkennung ermöglicht es, Personen Namen zuzuweisen, und wenn ihr Gesicht erkannt wird, ordnet Frigate den Namen der Person als Untertitel zu. Diese Informationen sind in der Benutzeroberfläche, den Filtern und in den Benachrichtigungen enthalten.",
"readTheDocumentation": "Lies die Dokumentation", "readTheDocumentation": "Lies die Dokumentation",
"modelSize": { "modelSize": {
"label": "Modell Größe", "label": "Modellgröße",
"desc": "Die Größe des für die Gesichtserkennung verwendeten Modells.", "desc": "Die Größe des für die Gesichtserkennung verwendeten Modells.",
"small": { "small": {
"title": "klein", "title": "klein",
@ -741,7 +750,7 @@
"triggers": { "triggers": {
"documentTitle": "Auslöser", "documentTitle": "Auslöser",
"management": { "management": {
"title": "Auslöser Verwaltung", "title": "Auslöser",
"desc": "Auslöser für {{camera}} verwalten. Verwenden Sie den Vorschaubild Typ, um ähnliche Vorschaubilder wie das ausgewählte verfolgte Objekt auszulösen, und den Beschreibungstyp, um ähnliche Beschreibungen wie den von Ihnen angegebenen Text auszulösen." "desc": "Auslöser für {{camera}} verwalten. Verwenden Sie den Vorschaubild Typ, um ähnliche Vorschaubilder wie das ausgewählte verfolgte Objekt auszulösen, und den Beschreibungstyp, um ähnliche Beschreibungen wie den von Ihnen angegebenen Text auszulösen."
}, },
"addTrigger": "Auslöser hinzufügen", "addTrigger": "Auslöser hinzufügen",
@ -762,7 +771,9 @@
}, },
"actions": { "actions": {
"alert": "Als Alarm markieren", "alert": "Als Alarm markieren",
"notification": "Benachrichtigung senden" "notification": "Benachrichtigung senden",
"sub_label": "Unterlabel hinzufügen",
"attribute": "Attribut hinzufügen"
}, },
"dialog": { "dialog": {
"createTrigger": { "createTrigger": {
@ -780,25 +791,28 @@
"form": { "form": {
"name": { "name": {
"title": "Name", "title": "Name",
"placeholder": "Auslöser Name eingeben", "placeholder": "Benennen Sie diesen Auslöser",
"error": { "error": {
"minLength": "Der Name muss mindestens 2 Zeichen lang sein.", "minLength": "Der Name muss mindestens 2 Zeichen lang sein.",
"invalidCharacters": "Der Name darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.", "invalidCharacters": "Der Name darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.",
"alreadyExists": "Ein Auslöser mit diesem Namen existiert bereits für diese Kamera." "alreadyExists": "Ein Auslöser mit diesem Namen existiert bereits für diese Kamera."
} },
"description": "Geben Sie einen eindeutigen Namen oder eine Beschreibung ein, um diesen Auslöser zu identifizieren"
}, },
"enabled": { "enabled": {
"description": "Diesen Auslöser aktivieren oder deaktivieren" "description": "Diesen Auslöser aktivieren oder deaktivieren"
}, },
"type": { "type": {
"title": "Typ", "title": "Typ",
"placeholder": "Auslöser Typ wählen" "placeholder": "Auslöser Typ wählen",
"description": "Auslösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird",
"thumbnail": "Auslösen, wenn eine ähnliche Miniaturansicht eines verfolgten Objekts erkannt wird"
}, },
"content": { "content": {
"title": "Inhalt", "title": "Inhalt",
"imagePlaceholder": "Ein Bild auswählen", "imagePlaceholder": "Miniaturansicht auswählen",
"textPlaceholder": "Inhaltstext eingeben", "textPlaceholder": "Inhaltstext eingeben",
"imageDesc": "Ein Bild auswählen, um diese Aktion auszulösen, wenn ein ähnliches Bild erkannt wird.", "imageDesc": "Es werden nur die letzten 100 Miniaturansichten angezeigt. Wenn Sie die gewünschte Miniaturansicht nicht finden können, überprüfen Sie bitte frühere Objekte in „Explore“ und richten Sie dort über das Menü einen Trigger ein.",
"textDesc": "Einen Text eingeben, um diese Aktion auszulösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird.", "textDesc": "Einen Text eingeben, um diese Aktion auszulösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird.",
"error": { "error": {
"required": "Inhalt ist erforderlich." "required": "Inhalt ist erforderlich."
@ -809,11 +823,12 @@
"error": { "error": {
"min": "Schwellenwert muss mindestens 0 sein", "min": "Schwellenwert muss mindestens 0 sein",
"max": "Schwellenwert darf höchstens 1 sein" "max": "Schwellenwert darf höchstens 1 sein"
} },
"desc": "Legen Sie den Ähnlichkeitsschwellenwert für diesen Trigger fest. Ein höherer Schwellenwert bedeutet, dass eine größere Übereinstimmung erforderlich ist, um den Trigger auszulösen."
}, },
"actions": { "actions": {
"title": "Aktionen", "title": "Aktionen",
"desc": "Standardmäßig sendet Frigate eine MQTT-Nachricht für alle Trigger. Wähle eine zusätzliche Aktion aus, die ausgeführt werden soll, wenn dieser Trigger ausgelöst wird.", "desc": "Standardmäßig sendet Frigate für alle Trigger eine MQTT-Nachricht. Unterbezeichnungen fügen den Triggernamen zur Objektbezeichnung hinzu. Attribute sind durchsuchbare Metadaten, die separat in den Metadaten des verfolgten Objekts gespeichert werden.",
"error": { "error": {
"min": "Mindesten eine Aktion muss ausgewählt sein." "min": "Mindesten eine Aktion muss ausgewählt sein."
} }
@ -840,6 +855,23 @@
"semanticSearch": { "semanticSearch": {
"title": "Semantische Suche ist deaktiviert", "title": "Semantische Suche ist deaktiviert",
"desc": "Semantische Suche muss aktiviert sein um Auslöser nutzen zu können." "desc": "Semantische Suche muss aktiviert sein um Auslöser nutzen zu können."
},
"wizard": {
"title": "Auslöser erstellen",
"step1": {
"description": "Konfigurieren Sie die Grundeinstellungen für Ihren Auslöser."
},
"step2": {
"description": "Legen Sie den Inhalt fest, der diese Aktion auslöst."
},
"step3": {
"description": "Konfigurieren Sie den Schwellenwert und die Aktionen für diesen Trigger."
},
"steps": {
"nameAndType": "Name und Typ",
"configureData": "Daten konfigurieren",
"thresholdAndActions": "Schwellenwert und Maßnahmen"
}
} }
}, },
"roles": { "roles": {
@ -893,7 +925,7 @@
"updateCameras": "Kameras für Rolle {{role}} aktualisiert", "updateCameras": "Kameras für Rolle {{role}} aktualisiert",
"deleteRole": "Rolle {{role}} erfolgreich gelöscht", "deleteRole": "Rolle {{role}} erfolgreich gelöscht",
"userRolesUpdated_one": "{{count}} Benutzer, denen diese Rolle zugewiesen wurde, wurden auf „Zuschauer“ aktualisiert, der Zugriff auf alle Kameras hat.", "userRolesUpdated_one": "{{count}} Benutzer, denen diese Rolle zugewiesen wurde, wurden auf „Zuschauer“ aktualisiert, der Zugriff auf alle Kameras hat.",
"userRolesUpdated_other": "" "userRolesUpdated_other": "{{count}} Benutzer, denen diese Rollen zugewiesen wurde, wurden auf „Zuschauer“ aktualisiert, der Zugriff auf alle Kameras habem."
}, },
"error": { "error": {
"createRoleFailed": "Fehler beim Erstellen der Rolle: {{errorMessage}}", "createRoleFailed": "Fehler beim Erstellen der Rolle: {{errorMessage}}",
@ -909,7 +941,8 @@
"steps": { "steps": {
"nameAndConnection": "Name & Verbindung", "nameAndConnection": "Name & Verbindung",
"streamConfiguration": "Stream Konfiguration", "streamConfiguration": "Stream Konfiguration",
"validationAndTesting": "Überprüfung & Testen" "validationAndTesting": "Überprüfung & Testen",
"probeOrSnapshot": "Sondierung oder Momentaufnahme"
}, },
"save": { "save": {
"success": "Neue Kamera {{cameraName}} erfolgreich hinzugefügt.", "success": "Neue Kamera {{cameraName}} erfolgreich hinzugefügt.",
@ -926,8 +959,8 @@
"testFailed": "Stream Test fehlgeschlagen: {{error}}" "testFailed": "Stream Test fehlgeschlagen: {{error}}"
}, },
"step1": { "step1": {
"description": "Gib deine Kameradaten ein und teste die Verbindung.", "description": "Geben Sie Ihre Kameradaten ein und wählen Sie, ob Sie die Kamera automatisch erkennen lassen oder die Marke manuell auswählen möchten.",
"cameraName": "Kamera-Name", "cameraName": "Kameraname",
"cameraNamePlaceholder": "z.B. vordere_tür oder Hof Übersicht", "cameraNamePlaceholder": "z.B. vordere_tür oder Hof Übersicht",
"host": "Host/IP Adresse", "host": "Host/IP Adresse",
"port": "Port", "port": "Port",
@ -936,8 +969,8 @@
"password": "Passwort", "password": "Passwort",
"passwordPlaceholder": "Optional", "passwordPlaceholder": "Optional",
"selectTransport": "Transport-Protokoll auswählen", "selectTransport": "Transport-Protokoll auswählen",
"cameraBrand": "Kamera-Hersteller", "cameraBrand": "Kamerahersteller",
"selectBrand": "Wähle die Kamera-Hersteller für die URL-Vorlage aus", "selectBrand": "Wähle die Kamerahersteller für die URL-Vorlage aus",
"customUrl": "Benutzerdefinierte Stream-URL", "customUrl": "Benutzerdefinierte Stream-URL",
"brandInformation": "Hersteller Information", "brandInformation": "Hersteller Information",
"brandUrlFormat": "Für Kameras mit RTSP URL nutze folgendes Format: {{exampleUrl}}", "brandUrlFormat": "Für Kameras mit RTSP URL nutze folgendes Format: {{exampleUrl}}",
@ -950,21 +983,31 @@
"noSnapshot": "Es kann kein Snapshot aus dem konfigurierten Stream abgerufen werden." "noSnapshot": "Es kann kein Snapshot aus dem konfigurierten Stream abgerufen werden."
}, },
"errors": { "errors": {
"brandOrCustomUrlRequired": "Wählen Sie entweder einen Kamera-Hersteller mit Host/IP aus oder wählen Sie „Andere“ mit einer benutzerdefinierten URL", "brandOrCustomUrlRequired": "Wählen Sie entweder einen Kamerahersteller mit Host/IP aus oder wählen Sie „Andere“ mit einer benutzerdefinierten URL",
"nameRequired": "Kamera-Name benötigt", "nameRequired": "Der Kameraname wird benötigt",
"nameLength": "Kamera-Name darf höchsten 64 Zeichen lang sein", "nameLength": "Der Kameraname darf höchsten 64 Zeichen lang sein",
"invalidCharacters": "Kamera-Name enthält ungültige Zeichen", "invalidCharacters": "Der Kameraname enthält ungültige Zeichen",
"nameExists": "Kamera-Name existiert bereits", "nameExists": "Der Kameraname existiert bereits",
"brands": { "brands": {
"reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Es wird empfohlen, http in den Kameraeinstellungen zu aktivieren und den Kamera-Assistenten neu zu starten." "reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Es wird empfohlen, http in den Kameraeinstellungen zu aktivieren und den Kamera-Assistenten neu zu starten."
} },
"customUrlRtspRequired": "Benutzerdefinierte URLs müssen mit „rtsp://“ beginnen. Für Nicht-RTSP-Kamerastreams ist eine manuelle Konfiguration erforderlich."
}, },
"docs": { "docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
} },
"connectionSettings": "Verbindungseinstellungen",
"detectionMethod": "Stream Erkennungsmethode",
"onvifPort": "ONVIF Port",
"probeMode": "Untersuche Kamera",
"detectionMethodDescription": "Suchen Sie die Kamera mit ONVIF (sofern unterstützt), um die URLs der Kamerastreams zu finden, oder wählen Sie manuell die Kameramarke aus, um vordefinierte URLs zu verwenden. Um eine benutzerdefinierte RTSP-URL einzugeben, wählen Sie die manuelle Methode und dann „Andere“.",
"onvifPortDescription": "Bei Kameras, die ONVIF unterstützen, ist dies in der Regel 80 oder 8080.",
"useDigestAuth": "Digest-Authentifizierung verwenden",
"useDigestAuthDescription": "Verwenden Sie die HTTP-Digest-Authentifizierung für ONVIF. Einige Kameras erfordern möglicherweise einen speziellen ONVIF-Benutzernamen/ein spezielles ONVIF-Passwort anstelle des Standard-Admin-Benutzers.",
"manualMode": "Manuelle Auswahl"
}, },
"step2": { "step2": {
"description": "Konfigurieren Sie Stream-Rollen und fügen Sie zusätzliche Streams für Ihre Kamera hinzu.", "description": "Suchen Sie in der Kamera nach verfügbaren Streams oder konfigurieren Sie manuelle Einstellungen basierend auf der von Ihnen ausgewählten Erkennungsmethode.",
"streamsTitle": "Kamera Streams", "streamsTitle": "Kamera Streams",
"addStream": "Stream hinzufügen", "addStream": "Stream hinzufügen",
"addAnotherStream": "Weiteren Stream hinzufügen", "addAnotherStream": "Weiteren Stream hinzufügen",
@ -983,8 +1026,8 @@
"audio": "Audio" "audio": "Audio"
}, },
"testStream": "Verbindung testen", "testStream": "Verbindung testen",
"testSuccess": "Stream erfolgreich getestet!", "testSuccess": "Verbindung erfolgreich getestet!",
"testFailed": "Stream-Test fehlgeschlagen", "testFailed": "Verbindungstest fehlgeschlagen. Bitte überprüfen Sie ihre Eingaben und versuchen Sie es erneut.",
"testFailedTitle": "Test fehlgeschlagen", "testFailedTitle": "Test fehlgeschlagen",
"connected": "Verbunden", "connected": "Verbunden",
"notConnected": "Nicht verbunden", "notConnected": "Nicht verbunden",
@ -1000,10 +1043,42 @@
"featuresPopover": { "featuresPopover": {
"title": "Stream Funktionen", "title": "Stream Funktionen",
"description": "Verwende go2rtc Restreaming, um die Verbindungen zu deiner Kamera zu reduzieren." "description": "Verwende go2rtc Restreaming, um die Verbindungen zu deiner Kamera zu reduzieren."
},
"streamDetails": "Verbindungsdetails",
"probing": "Kamera wird geprüft...",
"retry": "Wiederholen",
"testing": {
"probingMetadata": "Metadaten der Kamera werden überprüft...",
"fetchingSnapshot": "Kamera-Schnappschuss wird abgerufen..."
},
"probeFailed": "Fehler beim Untersuchen der Kamera: {{error}}",
"probingDevice": "Untersuche Gerät...",
"probeSuccessful": "Erkennung erfolgreich",
"probeError": "Erkennungsfehler",
"probeNoSuccess": "Erkennung fehlgeschlagen",
"deviceInfo": "Geräteinformationen",
"manufacturer": "Hersteller",
"model": "Modell",
"firmware": "Firmware",
"profiles": "Profile",
"ptzSupport": "PTZ Unterstützung",
"autotrackingSupport": "Unterstützung für Autoverfolgung",
"presets": "Voreinstellung",
"rtspCandidates": "RTSP Kandidaten",
"rtspCandidatesDescription": "Die folgenden RTSP-URLs wurden bei der Kameraerkennung gefunden. Testen Sie die Verbindung, um die Stream-Metadaten anzuzeigen.",
"noRtspCandidates": "Es wurden keine RTSP-URLs von der Kamera gefunden. Möglicherweise sind Ihre Anmeldedaten falsch oder die Kamera unterstützt ONVIF oder die Methode zum Abrufen von RTSP-URLs nicht. Gehen Sie zurück und geben Sie die RTSP-URL manuell ein.",
"candidateStreamTitle": "Kandidate {{number}}",
"useCandidate": "Verwenden",
"uriCopy": "Kopieren",
"uriCopied": "URI in die Zwischenablage kopiert",
"testConnection": "Test Verbindung",
"toggleUriView": "Klicken Sie hier, um die vollständige URI zu sehen",
"errors": {
"hostRequired": "Host/IP adresse wird benötigt"
} }
}, },
"step3": { "step3": {
"description": "Endgültige Validierung und Analyse vor dem Speichern Ihrer neuen Kamera. Verbinde jeden Stream vor dem Speichern.", "description": "Konfigurieren Sie Stream-Rollen und fügen Sie zusätzliche Streams für Ihre Kamera hinzu",
"validationTitle": "Stream Validierung", "validationTitle": "Stream Validierung",
"connectAllStreams": "Verbinde alle Streams", "connectAllStreams": "Verbinde alle Streams",
"reconnectionSuccess": "Wiederverbindung erfolgreich.", "reconnectionSuccess": "Wiederverbindung erfolgreich.",
@ -1040,6 +1115,90 @@
"hikvision": { "hikvision": {
"substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu nutzen, sofern sie verfügbar sind." "substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu nutzen, sofern sie verfügbar sind."
} }
},
"streamsTitle": "Kamera Stream",
"addStream": "Stream hinzufügen",
"addAnotherStream": "weiteren Stream hinzufügen",
"streamUrl": "Stream URL",
"streamUrlPlaceholder": "rtsp://benutzername:passwort@host:port/path",
"selectStream": "Auswahl Stream",
"searchCandidates": "Suche Kandidaten...",
"noStreamFound": "Kein Stream gefunden",
"url": "URL",
"resolution": "Auflösung",
"selectResolution": "Wähle Auflösung",
"quality": "Qualität",
"selectQuality": "Wähle Qualität",
"roleLabels": {
"detect": "Objekterkennung",
"record": "Aufnahme",
"audio": "Ton"
},
"testStream": "Verbindungstest",
"testSuccess": "Verbindungstest erfolgreich!",
"testFailed": "Verbindungstest fehlgeschlagen",
"testFailedTitle": "Test fehlgeschlagen",
"connected": "Verbunden",
"notConnected": "nicht verbunden",
"featuresTitle": "Funktionen",
"go2rtc": "Verbindungen zur Kamera reduzieren",
"detectRoleWarning": "Mindestens ein Stream muss die Rolle „detect“ haben, um fortfahren zu können.",
"rolesPopover": {
"title": "Stream Rollen",
"detect": "Hauptfeed für die Objekterkennung.",
"record": "Speichert Segmente des Video-Feeds basierend auf den Konfigurationseinstellungen.",
"audio": "Feed für audiobasierte Erkennung."
},
"featuresPopover": {
"title": "Stream Funktionen",
"description": "Verwenden Sie go2rtc-Restreaming, um die Verbindungen zu Ihrer Kamera zu reduzieren."
}
},
"step4": {
"description": "Endgültige Validierung und Analyse vor dem Speichern Ihrer neuen Kamera. Verbinden Sie jeden Stream vor dem Speichern.",
"validationTitle": "Stream-Validierung",
"connectAllStreams": "Alle Streams verbinden",
"reconnectionSuccess": "Wiederverbindung erfolgreich.",
"reconnectionPartial": "Einige Streams konnten nicht wieder verbunden werden.",
"streamUnavailable": "Stream Vorschau nicht verfügbar",
"reload": "neu Laden",
"connecting": "Verbinden...",
"streamTitle": "Stream {{number}}",
"valid": "gültig",
"failed": "fehlgeschlagen",
"notTested": "nicht getestet",
"connectStream": "Verbinden",
"connectingStream": "Verbinden",
"disconnectStream": "getrennt",
"estimatedBandwidth": "Voraussichtliche Bandbreite",
"roles": "Rollen",
"ffmpegModule": "Stream-Kompatibilitätsmodus verwenden",
"ffmpegModuleDescription": "Wenn der Stream nach mehreren Versuchen nicht geladen wird, versuchen Sie, diese Option zu aktivieren. Wenn diese Option aktiviert ist, verwendet Frigate das ffmpeg-Modul mit go2rtc. Dies kann zu einer besseren Kompatibilität mit einigen Kamerastreams führen.",
"none": "keiner",
"error": "Fehler",
"streamValidated": "Steam {{number}} erfolgreich validiert",
"streamValidationFailed": "Stream {{number}} Validierung fehlgeschlagen",
"saveAndApply": "Neue Kamera speichern",
"saveError": "Ungültige Konfiguration. Bitte überprüfen Sie Ihre Einstellungen.",
"issues": {
"title": "Stream-Validierung",
"videoCodecGood": "Video codec ist {{codec}}.",
"audioCodecGood": "Audio codec ist {{codec}}.",
"resolutionHigh": "Eine Auflösung von {{resolution}} kann zu einem erhöhten Ressourcenverbrauch führen.",
"resolutionLow": "Eine Auflösung von {{resolution}} ist möglicherweise zu gering, um kleine Objekte zuverlässig zu erkennen.",
"noAudioWarning": "Für diesen Stream wurde kein Ton erkannt, die Aufzeichnungen enthalten keinen Ton.",
"audioCodecRecordError": "Der AAC-Audio-Codec ist erforderlich, um Audio in Aufnahmen zu unterstützen.",
"audioCodecRequired": "Ein Audiostream ist erforderlich, um die Audioerkennung zu unterstützen.",
"restreamingWarning": "Die Reduzierung der Verbindungen zur Kamera für den Aufzeichnungsstream kann zu einer geringfügigen Erhöhung der CPU-Auslastung führen.",
"brands": {
"reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Aktivieren Sie HTTP in den Firmware-Einstellungen der Kamera und starten Sie den Assistenten neu."
},
"dahua": {
"substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Kameras von Dahua / Amcrest / EmpireTech unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind."
},
"hikvision": {
"substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind."
}
} }
} }
}, },
@ -1057,9 +1216,9 @@
"add": "Kamera hinzufügen", "add": "Kamera hinzufügen",
"edit": "Kamera bearbeiten", "edit": "Kamera bearbeiten",
"description": "Konfiguriere die Kameraeinstellungen, einschließlich Streams und Rollen.", "description": "Konfiguriere die Kameraeinstellungen, einschließlich Streams und Rollen.",
"name": "Kamera-Name", "name": "Kameraname",
"nameRequired": "Kamera-Name benötigt", "nameRequired": "Kameraname benötigt",
"nameLength": "Kamera-Name darf maximal 64 Zeichen lang sein.", "nameLength": "Kameraname darf maximal 64 Zeichen lang sein.",
"namePlaceholder": "z.B. vordere_tür oder Hof Übersicht", "namePlaceholder": "z.B. vordere_tür oder Hof Übersicht",
"enabled": "Aktiviert", "enabled": "Aktiviert",
"ffmpeg": { "ffmpeg": {
@ -1094,14 +1253,14 @@
"desc": "Generative KI Review Beschreibungen für diese Kamera vorübergehend aktivieren/deaktivieren. Wenn diese Option deaktiviert ist, werden für die Review Elemente dieser Kamera keine KI-generierten Beschreibungen angefordert." "desc": "Generative KI Review Beschreibungen für diese Kamera vorübergehend aktivieren/deaktivieren. Wenn diese Option deaktiviert ist, werden für die Review Elemente dieser Kamera keine KI-generierten Beschreibungen angefordert."
}, },
"review": { "review": {
"title": "Review", "title": "Überprüfung",
"desc": "Aktivieren/deaktivieren Sie vorübergehend Warnmeldungen und Erkennungen für diese Kamera, bis Frigate neu gestartet wird. Wenn diese Funktion deaktiviert ist, werden keine neuen Überprüfungselemente generiert. ", "desc": "Aktivieren/deaktivieren Sie vorübergehend Warnmeldungen und Erkennungen für diese Kamera, bis Frigate neu gestartet wird. Wenn diese Funktion deaktiviert ist, werden keine neuen Überprüfungselemente generiert. ",
"alerts": "Warnungen ", "alerts": "Warnungen ",
"detections": "Erkennungen " "detections": "Erkennungen "
}, },
"reviewClassification": { "reviewClassification": {
"title": "Bewertungsklassifizierung", "title": "Bewertungsklassifizierung",
"desc": "Frigate kategorisiert zu überprüfende Elemente als Warnmeldungen und Erkennungen. Standardmäßig werden alle Objekte vom Typ <em>person</em> und <em>car</em> als Warnmeldungen betrachtet. Sie können die Kategorisierung der zu überprüfenden Elemente verfeinern, indem Sie die erforderlichen Zonen für sie konfigurieren.", "desc": "Frigate kategorisiert zu überprüfende Elemente als Warnmeldungen und Erkennungen. Standardmäßig werden alle Objekte vom Typ <em>Person</em> und <em>Auto</em> als Warnmeldungen betrachtet. Sie können die Kategorisierung der zu überprüfenden Elemente verfeinern, indem Sie die erforderlichen Zonen für sie konfigurieren.",
"noDefinedZones": "Für diese Kamera sind keine Zonen definiert.", "noDefinedZones": "Für diese Kamera sind keine Zonen definiert.",
"objectAlertsTips": "Alle {{alertsLabels}}-Objekte auf {{cameraName}} werden als Warnmeldungen angezeigt.", "objectAlertsTips": "Alle {{alertsLabels}}-Objekte auf {{cameraName}} werden als Warnmeldungen angezeigt.",
"zoneObjectAlertsTips": "Alle {{alertsLabels}}-Objekte, die in {{zone}} auf {{cameraName}} erkannt wurden, werden als Warnmeldungen angezeigt.", "zoneObjectAlertsTips": "Alle {{alertsLabels}}-Objekte, die in {{zone}} auf {{cameraName}} erkannt wurden, werden als Warnmeldungen angezeigt.",

View File

@ -31,7 +31,12 @@
"gpuDecoder": "GPU Decoder", "gpuDecoder": "GPU Decoder",
"gpuEncoder": "GPU Encoder", "gpuEncoder": "GPU Encoder",
"npuUsage": "NPU Verwendung", "npuUsage": "NPU Verwendung",
"npuMemory": "NPU Speicher" "npuMemory": "NPU Speicher",
"intelGpuWarning": {
"title": "Intel GPU Statistik Warnung",
"message": "GPU stats nicht verfügbar",
"description": "Dies ist ein bekannter Fehler in den GPU-Statistik-Tools von Intel (intel_gpu_top), bei dem das Tool ausfällt und wiederholt eine GPU-Auslastung von 0 % anzeigt, selbst wenn die Hardwarebeschleunigung und die Objekterkennung auf der (i)GPU korrekt funktionieren. Dies ist kein Fehler von Frigate. Du kannst den Host neu starten, um das Problem vorübergehend zu beheben und zu prüfen, ob die GPU korrekt funktioniert. Dies hat keine Auswirkungen auf die Leistung."
}
}, },
"title": "Allgemein", "title": "Allgemein",
"detector": { "detector": {
@ -167,10 +172,17 @@
"face_recognition": "Gesichts Erkennung", "face_recognition": "Gesichts Erkennung",
"image_embedding": "Bild Embedding", "image_embedding": "Bild Embedding",
"yolov9_plate_detection_speed": "YOLOv9 Kennzeichenerkennungsgeschwindigkeit", "yolov9_plate_detection_speed": "YOLOv9 Kennzeichenerkennungsgeschwindigkeit",
"yolov9_plate_detection": "YOLOv9 Kennzeichenerkennung" "yolov9_plate_detection": "YOLOv9 Kennzeichenerkennung",
"review_description": "Bewertung Beschreibung",
"review_description_speed": "Bewertungsbeschreibung Geschwindigkeit",
"review_description_events_per_second": "Bewertungsbeschreibung",
"object_description": "Objekt Beschreibung",
"object_description_speed": "Objektbeschreibung Geschwindigkeit",
"object_description_events_per_second": "Objektbeschreibung"
}, },
"title": "Optimierungen", "title": "Optimierungen",
"infPerSecond": "Rückschlüsse pro Sekunde" "infPerSecond": "Rückschlüsse pro Sekunde",
"averageInf": "Durchschnittliche Inferenzzeit"
}, },
"stats": { "stats": {
"healthy": "Das System läuft problemlos", "healthy": "Das System läuft problemlos",

View File

@ -124,7 +124,7 @@
"twoWayTalk": { "twoWayTalk": {
"tips.documentation": "Leer la documentación ", "tips.documentation": "Leer la documentación ",
"available": "La conversación bidireccional está disponible para esta transmisión", "available": "La conversación bidireccional está disponible para esta transmisión",
"unavailable": "La conversación bidireccional está disponible para esta transmisión", "unavailable": "La conversación bidireccional no está disponible para esta transmisión",
"tips": "Tu dispositivo debe soportar la función y WebRTC debe estar configurado para la conversación bidireccional." "tips": "Tu dispositivo debe soportar la función y WebRTC debe estar configurado para la conversación bidireccional."
}, },
"lowBandwidth": { "lowBandwidth": {

View File

@ -65,7 +65,8 @@
"endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début.", "endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début.",
"noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide." "noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide."
}, },
"success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations." "success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations.",
"view": "Vue"
}, },
"select": "Sélectionner", "select": "Sélectionner",
"name": { "name": {

View File

@ -152,7 +152,12 @@
"generateSuccess": "Génération des images d'exemple réussie", "generateSuccess": "Génération des images d'exemple réussie",
"allImagesRequired_one": "Veuillez classifier toutes les images. {{count}} image restante.", "allImagesRequired_one": "Veuillez classifier toutes les images. {{count}} image restante.",
"allImagesRequired_many": "Veuillez classifier toutes les images. {{count}} images restantes.", "allImagesRequired_many": "Veuillez classifier toutes les images. {{count}} images restantes.",
"allImagesRequired_other": "Veuillez classifier toutes les images. {{count}} images restantes." "allImagesRequired_other": "Veuillez classifier toutes les images. {{count}} images restantes.",
"modelCreated": "Modèle créé avec succès. Utilisez la vue Classifications récentes pour ajouter des images pour les états manquants, puis entraînez le modèle.",
"missingStatesWarning": {
"title": "Exemples d'états manquants",
"description": "Vous n'avez pas sélectionné d'exemples pour tous les états. L'entraînement ne pourra débuter que lorsque chaque état disposera d'images. Continuez, puis utilisez la vue Classifications récentes pour classer les images manquantes et lancer l'entraînement."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -56,5 +56,8 @@
"clickToSeek": "Cliquez pour atteindre ce moment." "clickToSeek": "Cliquez pour atteindre ce moment."
}, },
"zoomIn": "Zoom avant", "zoomIn": "Zoom avant",
"zoomOut": "Zoom arrière" "zoomOut": "Zoom arrière",
"normalActivity": "Normal",
"needsReview": "Nécessite une revue",
"securityConcern": "Problème de sécurité"
} }

View File

@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Zones", "zones": "Zones",
"ratio": "Ratio", "ratio": "Ratio",
"area": "Surface" "area": "Surface",
"score": "Score"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -66,7 +66,8 @@
"failed": "Impossibile avviare l'esportazione: {{error}}", "failed": "Impossibile avviare l'esportazione: {{error}}",
"endTimeMustAfterStartTime": "L'ora di fine deve essere successiva all'ora di inizio", "endTimeMustAfterStartTime": "L'ora di fine deve essere successiva all'ora di inizio",
"noVaildTimeSelected": "Nessun intervallo di tempo valido selezionato" "noVaildTimeSelected": "Nessun intervallo di tempo valido selezionato"
} },
"view": "Visualizzazione"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Salva esportazione", "saveExport": "Salva esportazione",

View File

@ -152,7 +152,12 @@
"generateSuccess": "Immagini campione generate correttamente", "generateSuccess": "Immagini campione generate correttamente",
"allImagesRequired_one": "Classifica tutte le immagini. Rimane {{count}} immagine.", "allImagesRequired_one": "Classifica tutte le immagini. Rimane {{count}} immagine.",
"allImagesRequired_many": "Classifica tutte le immagini. Rimangono {{count}} immagini.", "allImagesRequired_many": "Classifica tutte le immagini. Rimangono {{count}} immagini.",
"allImagesRequired_other": "Classifica tutte le immagini. Rimangono {{count}} immagini." "allImagesRequired_other": "Classifica tutte le immagini. Rimangono {{count}} immagini.",
"modelCreated": "Modello creato correttamente. Utilizza la vista Classificazioni recenti per aggiungere immagini per gli stati mancanti, quindi addestrare il modello.",
"missingStatesWarning": {
"title": "Esempi di stati mancanti",
"description": "Non hai selezionato esempi per tutti gli stati. Il modello non verrà addestrato finché tutti gli stati non avranno immagini. Dopo aver continuato, utilizza la vista Classificazioni recenti per classificare le immagini per gli stati mancanti, quindi addestra il modello."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -56,5 +56,8 @@
"clickToSeek": "Premi per cercare in questo momento" "clickToSeek": "Premi per cercare in questo momento"
}, },
"zoomIn": "Ingrandisci", "zoomIn": "Ingrandisci",
"zoomOut": "Rimpicciolisci" "zoomOut": "Rimpicciolisci",
"normalActivity": "Normale",
"needsReview": "Necessita revisione",
"securityConcern": "Rischio per la sicurezza"
} }

View File

@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Zone", "zones": "Zone",
"ratio": "Rapporto", "ratio": "Rapporto",
"area": "Area" "area": "Area",
"score": "Punteggio"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -61,7 +61,8 @@
"failed": "Klarte ikke å starte eksport: {{error}}", "failed": "Klarte ikke å starte eksport: {{error}}",
"noVaildTimeSelected": "Ingen gyldig tidsperiode valgt", "noVaildTimeSelected": "Ingen gyldig tidsperiode valgt",
"endTimeMustAfterStartTime": "Sluttid må være etter starttid" "endTimeMustAfterStartTime": "Sluttid må være etter starttid"
} },
"view": "Vis"
}, },
"fromTimeline": { "fromTimeline": {
"previewExport": "Forhåndsvis eksport", "previewExport": "Forhåndsvis eksport",

View File

@ -23,8 +23,8 @@
"label": "Sorter", "label": "Sorter",
"dateAsc": "Dato (Stigende)", "dateAsc": "Dato (Stigende)",
"dateDesc": "Dato (Synkende)", "dateDesc": "Dato (Synkende)",
"scoreAsc": "Objektpoengsum (Stigende)", "scoreAsc": "Objektscore (Stigende)",
"scoreDesc": "Objektpoengsum (Synkende)", "scoreDesc": "Objektscore (Synkende)",
"speedAsc": "Estimert hastighet (Stigende)", "speedAsc": "Estimert hastighet (Stigende)",
"speedDesc": "Estimert hastighet (Synkende)", "speedDesc": "Estimert hastighet (Synkende)",
"relevance": "Relevans" "relevance": "Relevans"
@ -104,7 +104,7 @@
"label": "Underetiketter", "label": "Underetiketter",
"all": "Alle underetiketter" "all": "Alle underetiketter"
}, },
"score": "Poengsum", "score": "Score",
"estimatedSpeed": "Estimert hastighet ({{unit}})", "estimatedSpeed": "Estimert hastighet ({{unit}})",
"cameras": { "cameras": {
"all": { "all": {

View File

@ -12,19 +12,19 @@
}, },
"toast": { "toast": {
"success": { "success": {
"deletedCategory": "Kategori slettet", "deletedCategory": "Klasse slettet",
"deletedImage": "Bilder slettet", "deletedImage": "Bilder slettet",
"categorizedImage": "Bildet ble klassifisert", "categorizedImage": "Klassifiserte bildet",
"trainedModel": "Modellen ble trent.", "trainedModel": "Modellen ble trent.",
"trainingModel": "Modelltrening startet.", "trainingModel": "Modelltrening startet.",
"deletedModel_one": "{{count}} modell ble slettet", "deletedModel_one": "{{count}} modell ble slettet",
"deletedModel_other": "{{count}} modeller ble slettet", "deletedModel_other": "{{count}} modeller ble slettet",
"updatedModel": "Modellkonfigurasjonen ble oppdatert", "updatedModel": "Modellkonfigurasjonen ble oppdatert",
"renamedCategory": "Kategorien ble omdøpt til {{name}}" "renamedCategory": "Klassen ble omdøpt til {{name}}"
}, },
"error": { "error": {
"deleteImageFailed": "Kunne ikke slette: {{errorMessage}}", "deleteImageFailed": "Kunne ikke slette: {{errorMessage}}",
"deleteCategoryFailed": "Kunne ikke slette kategori: {{errorMessage}}", "deleteCategoryFailed": "Kunne ikke slette klasse: {{errorMessage}}",
"categorizeFailed": "Kunne ikke klassifisere bilde: {{errorMessage}}", "categorizeFailed": "Kunne ikke klassifisere bilde: {{errorMessage}}",
"trainingFailed": "Modelltrening mislyktes. Sjekk Frigate-loggene for detaljer.", "trainingFailed": "Modelltrening mislyktes. Sjekk Frigate-loggene for detaljer.",
"deleteModelFailed": "Kunne ikke slette modell: {{errorMessage}}", "deleteModelFailed": "Kunne ikke slette modell: {{errorMessage}}",
@ -34,10 +34,10 @@
} }
}, },
"deleteCategory": { "deleteCategory": {
"title": "Slett kategori", "title": "Slett klasse",
"desc": "Er du sikker på at du vil slette kategorien {{name}}? Dette vil permanent slette alle tilknyttede bilder og kreve at modellen trenes på nytt.", "desc": "Er du sikker på at du vil slette klassen {{name}}? Dette vil permanent slette alle tilknyttede bilder og kreve at modellen trenes på nytt.",
"minClassesTitle": "Kan ikke slette klasse", "minClassesTitle": "Kan ikke slette klasse",
"minClassesDesc": "En klassifiseringsmodell må ha minst 2 kategorier. Legg til en ny kategori før du sletter denne." "minClassesDesc": "En klassifiseringsmodell må ha minst 2 klasser. Legg til en ny klasse før du sletter denne."
}, },
"deleteDatasetImages": { "deleteDatasetImages": {
"title": "Slett datasettbilder", "title": "Slett datasettbilder",
@ -48,7 +48,7 @@
"desc": "Er du sikker på at du vil slette {{count}} bilder? Denne handlingen kan ikke angres." "desc": "Er du sikker på at du vil slette {{count}} bilder? Denne handlingen kan ikke angres."
}, },
"renameCategory": { "renameCategory": {
"title": "Gi nytt navn til kategori", "title": "Omdøp klasse",
"desc": "Skriv inn et nytt navn for {{name}}. Du må trene modellen på nytt for at navneendringen skal tre i kraft." "desc": "Skriv inn et nytt navn for {{name}}. Du må trene modellen på nytt for at navneendringen skal tre i kraft."
}, },
"description": { "description": {
@ -59,9 +59,9 @@
"aria": "Velg nylige klassifiseringer", "aria": "Velg nylige klassifiseringer",
"titleShort": "Nylig" "titleShort": "Nylig"
}, },
"categories": "Kategorier", "categories": "Klasser",
"createCategory": { "createCategory": {
"new": "Opprett ny kategori" "new": "Opprett ny klasse"
}, },
"categorizeImageAs": "Klassifiser bilde som:", "categorizeImageAs": "Klassifiser bilde som:",
"categorizeImage": "Klassifiser bilde", "categorizeImage": "Klassifiser bilde",
@ -98,18 +98,18 @@
"classificationTypeDesc": "Underetiketter legger til ekstra tekst på objektetiketten (f.eks. 'Person: Posten'). Attributter er søkbare metadata som lagres separat i objektets metadata.", "classificationTypeDesc": "Underetiketter legger til ekstra tekst på objektetiketten (f.eks. 'Person: Posten'). Attributter er søkbare metadata som lagres separat i objektets metadata.",
"classificationSubLabel": "Underetikett", "classificationSubLabel": "Underetikett",
"classificationAttribute": "Attributt", "classificationAttribute": "Attributt",
"classes": "Kategorier", "classes": "Klasser",
"classesTip": "Lær om kategorier", "classesTip": "Lær om klasser",
"classesStateDesc": "Definer de ulike tilstandene kamerasonen kan være i. For eksempel: 'åpen' og 'lukket' for en garasjeport.", "classesStateDesc": "Definer de ulike tilstandene kamerasonen kan være i. For eksempel: 'åpen' og 'lukket' for en garasjeport.",
"classesObjectDesc": "Definer kategoriene du vil klassifisere oppdagede objekter i. For eksempel: 'bud', 'beboer', 'fremmed' for personklassifisering.", "classesObjectDesc": "Definer klassene du vil klassifisere oppdagede objekter i. For eksempel: 'bud', 'beboer', 'fremmed' for personklassifisering.",
"classPlaceholder": "Skriv inn tilstandsnavn...", "classPlaceholder": "Skriv inn klassenavn...",
"errors": { "errors": {
"nameRequired": "Modellnavn er påkrevd", "nameRequired": "Modellnavn er påkrevd",
"nameLength": "Modellnavn må være på 64 tegn eller mindre", "nameLength": "Modellnavn må være på 64 tegn eller mindre",
"nameOnlyNumbers": "Modellnavn kan ikke bare inneholde tall", "nameOnlyNumbers": "Modellnavn kan ikke bare inneholde tall",
"classRequired": "Minst én kategori er påkrevd", "classRequired": "Minst én klasse er påkrevd",
"classesUnique": "Kategorinavn må være unike", "classesUnique": "Klassenavn må være unike",
"stateRequiresTwoClasses": "Tilstandsmodeller krever minst to kategorier", "stateRequiresTwoClasses": "Tilstandsmodeller krever minst to klasser",
"objectLabelRequired": "Velg en objektetikett", "objectLabelRequired": "Velg en objektetikett",
"objectTypeRequired": "Velg en klassifiseringstype" "objectTypeRequired": "Velg en klassifiseringstype"
}, },
@ -124,7 +124,7 @@
}, },
"step3": { "step3": {
"selectImagesPrompt": "Velg alle bilder med: {{className}}", "selectImagesPrompt": "Velg alle bilder med: {{className}}",
"selectImagesDescription": "Klikk på bilder for å velge dem. Klikk Fortsett når du er ferdig med denne kategorien.", "selectImagesDescription": "Klikk på bilder for å velge dem. Klikk Fortsett når du er ferdig med denne klassen.",
"generating": { "generating": {
"title": "Genererer eksempelbilder", "title": "Genererer eksempelbilder",
"description": "Frigate henter representative bilder fra opptakene dine. Dette kan ta litt tid..." "description": "Frigate henter representative bilder fra opptakene dine. Dette kan ta litt tid..."
@ -146,7 +146,12 @@
}, },
"generateSuccess": "Eksempelbilder ble generert", "generateSuccess": "Eksempelbilder ble generert",
"allImagesRequired_one": "Vennligst klassifiser alle bildene. {{count}} bilde gjenstår.", "allImagesRequired_one": "Vennligst klassifiser alle bildene. {{count}} bilde gjenstår.",
"allImagesRequired_other": "Vennligst klassifiser alle bildene. {{count}} bilder gjenstår." "allImagesRequired_other": "Vennligst klassifiser alle bildene. {{count}} bilder gjenstår.",
"modelCreated": "Modellen ble opprettet. Bruk visningen Nylige klassifiseringer for å legge til bilder for manglende tilstander, og tren deretter modellen.",
"missingStatesWarning": {
"title": "Manglende tilstandseksempler",
"description": "Du har ikke valgt eksempler for alle tilstander. Modellen vil ikke trenes før alle tilstander har bilder. Når du har gått videre, bruk visningen Nylige klassifiseringer til å klassifisere bilder for de manglende tilstandene, og tren deretter modellen."
}
} }
}, },
"deleteModel": { "deleteModel": {
@ -159,7 +164,7 @@
"states": "Tilstander" "states": "Tilstander"
}, },
"details": { "details": {
"scoreInfo": "Poengsummen representerer gjennomsnittlig klassifiseringskonfidens på tvers av alle deteksjoner av dette objektet." "scoreInfo": "Score representerer gjennomsnittlig klassifiseringskonfidens på tvers av alle deteksjoner av dette objektet."
}, },
"tooltip": { "tooltip": {
"trainingInProgress": "Modellen trenes for øyeblikket", "trainingInProgress": "Modellen trenes for øyeblikket",

View File

@ -55,5 +55,8 @@
"clickToSeek": "Klikk for å gå til dette tidspunktet" "clickToSeek": "Klikk for å gå til dette tidspunktet"
}, },
"zoomIn": "Zoom inn", "zoomIn": "Zoom inn",
"zoomOut": "Zoom ut" "zoomOut": "Zoom ut",
"normalActivity": "Normal",
"needsReview": "Trenger inspeksjon",
"securityConcern": "Sikkerhetsrisiko"
} }

View File

@ -90,7 +90,7 @@
"updatedSublabel": "Underetikett ble oppdatert.", "updatedSublabel": "Underetikett ble oppdatert.",
"updatedLPR": "Vellykket oppdatering av kjennemerke.", "updatedLPR": "Vellykket oppdatering av kjennemerke.",
"regenerate": "En ny beskrivelse har blitt anmodet fra {{provider}}. Avhengig av hastigheten til leverandøren din, kan den nye beskrivelsen ta litt tid å regenerere.", "regenerate": "En ny beskrivelse har blitt anmodet fra {{provider}}. Avhengig av hastigheten til leverandøren din, kan den nye beskrivelsen ta litt tid å regenerere.",
"audioTranscription": "Lydtranskripsjon ble forespurt." "audioTranscription": "Lydtranskripsjon ble forespurt. Avhengig av ytelsen på din Frigate server kan transkripsjonen ta noe tid å fullføre."
}, },
"error": { "error": {
"regenerate": "Feil ved anrop til {{provider}} for en ny beskrivelse: {{errorMessage}}", "regenerate": "Feil ved anrop til {{provider}} for en ny beskrivelse: {{errorMessage}}",
@ -107,8 +107,8 @@
} }
}, },
"topScore": { "topScore": {
"info": "Den høyeste poengsummen er den høyeste medianverdi for det sporede objektet, så denne kan avvike fra poengsummen som vises på miniatyrbildet for søkeresultatet.", "info": "Toppscoren er den høyeste medianverdien for det sporede objektet, så denne kan avvike fra scoren som vises på miniatyrbildet i søkeresultatet.",
"label": "Høyeste poengsum" "label": "Toppscore"
}, },
"estimatedSpeed": "Estimert hastighet", "estimatedSpeed": "Estimert hastighet",
"objects": "Objekter", "objects": "Objekter",
@ -147,10 +147,10 @@
"descNoLabel": "Angi en ny underetikett for dette sporede objektet" "descNoLabel": "Angi en ny underetikett for dette sporede objektet"
}, },
"snapshotScore": { "snapshotScore": {
"label": "Øyeblikksbilde poengsum" "label": "Øyeblikksbilde score"
}, },
"score": { "score": {
"label": "Poengsum" "label": "Score"
} }
}, },
"itemMenu": { "itemMenu": {
@ -261,7 +261,8 @@
"header": { "header": {
"zones": "Soner", "zones": "Soner",
"ratio": "Forhold", "ratio": "Forhold",
"area": "Område" "area": "Område",
"score": "Score"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -11,7 +11,7 @@
"face": "Ansiktsdetaljer", "face": "Ansiktsdetaljer",
"faceDesc": "Detaljer for sporet objekt som genererte dette ansiktet", "faceDesc": "Detaljer for sporet objekt som genererte dette ansiktet",
"timestamp": "Tidsstempel", "timestamp": "Tidsstempel",
"scoreInfo": "Under-merkelappens poengsum er basert på en vektet sum ut ifra hvor sikre gjenkjenningene av ansiktene er, så den kan avvike fra poengsummen som vises på øyeblikksbildet.", "scoreInfo": "Score er et vektet gjennomsnitt av alle ansiktsscorer, vektet etter størrelsen på ansiktet i hvert bilde.",
"subLabelScore": "Poengsum for under-merkelapp", "subLabelScore": "Poengsum for under-merkelapp",
"unknown": "Ukjent" "unknown": "Ukjent"
}, },
@ -38,7 +38,7 @@
"deleteFaceFailed": "Kunne ikke slette: {{errorMessage}}", "deleteFaceFailed": "Kunne ikke slette: {{errorMessage}}",
"uploadingImageFailed": "Kunne ikke laste opp bilde: {{errorMessage}}", "uploadingImageFailed": "Kunne ikke laste opp bilde: {{errorMessage}}",
"trainFailed": "Kunne ikke trene: {{errorMessage}}", "trainFailed": "Kunne ikke trene: {{errorMessage}}",
"updateFaceScoreFailed": "Kunne ikke oppdatere ansiktsskåring: {{errorMessage}}", "updateFaceScoreFailed": "Kunne ikke oppdatere ansiktsscore: {{errorMessage}}",
"addFaceLibraryFailed": "Kunne ikke angi ansiktsnavn: {{errorMessage}}", "addFaceLibraryFailed": "Kunne ikke angi ansiktsnavn: {{errorMessage}}",
"deleteNameFailed": "Kunne ikke slette navn: {{errorMessage}}", "deleteNameFailed": "Kunne ikke slette navn: {{errorMessage}}",
"renameFaceFailed": "Kunne ikke gi nytt navn til ansikt: {{errorMessage}}" "renameFaceFailed": "Kunne ikke gi nytt navn til ansikt: {{errorMessage}}"
@ -49,7 +49,7 @@
"deletedName_one": "{{count}} ansikt ble slettet.", "deletedName_one": "{{count}} ansikt ble slettet.",
"deletedName_other": "{{count}} ansikter ble slettet.", "deletedName_other": "{{count}} ansikter ble slettet.",
"trainedFace": "Ansiktet ble trent.", "trainedFace": "Ansiktet ble trent.",
"updatedFaceScore": "Ansiktsskåring ble oppdatert til {{name}} ({{score}}).", "updatedFaceScore": "Oppdaterte ansiktsscore for {{name}} ({{score}}).",
"uploadedImage": "Bildet ble lastet opp.", "uploadedImage": "Bildet ble lastet opp.",
"addFaceLibrary": "{{name}} ble lagt til i ansiktsbiblioteket!", "addFaceLibrary": "{{name}} ble lagt til i ansiktsbiblioteket!",
"renamedFace": "Nytt navn ble gitt til ansikt {{name}}" "renamedFace": "Nytt navn ble gitt til ansikt {{name}}"

View File

@ -15,8 +15,8 @@
"labels": "Etiketter", "labels": "Etiketter",
"search_type": "Søketype", "search_type": "Søketype",
"after": "Etter", "after": "Etter",
"min_score": "Min. poengsum", "min_score": "Min. score",
"max_score": "Maks. poengsum", "max_score": "Maks. score",
"min_speed": "Min. hastighet", "min_speed": "Min. hastighet",
"zones": "Soner", "zones": "Soner",
"sub_labels": "Underetiketter", "sub_labels": "Underetiketter",
@ -36,8 +36,8 @@
"minSpeedMustBeLessOrEqualMaxSpeed": "Minimum hastighet 'min_speed' må være mindre enn eller lik maksimum hastighet 'max_speed'.", "minSpeedMustBeLessOrEqualMaxSpeed": "Minimum hastighet 'min_speed' må være mindre enn eller lik maksimum hastighet 'max_speed'.",
"beforeDateBeLaterAfter": "Før-datoen 'before' må være senere enn etter-datoen 'after'.", "beforeDateBeLaterAfter": "Før-datoen 'before' må være senere enn etter-datoen 'after'.",
"afterDatebeEarlierBefore": "Etter-datoen 'after' må være tidligere enn før-datoen 'before'.", "afterDatebeEarlierBefore": "Etter-datoen 'after' må være tidligere enn før-datoen 'before'.",
"minScoreMustBeLessOrEqualMaxScore": "Minimum poengsum 'min_score' må være mindre enn eller lik maksimum poengsum 'max_score'.", "minScoreMustBeLessOrEqualMaxScore": "Minimum score 'min_score' må være mindre enn eller lik maksimum score 'max_score'.",
"maxScoreMustBeGreaterOrEqualMinScore": "Maksimum poengsum 'max_score' må være større enn eller lik minimum poengsum 'min_score'.", "maxScoreMustBeGreaterOrEqualMinScore": "Maksimum score 'max_score' må være større enn eller lik minimum score 'min_score'.",
"maxSpeedMustBeGreaterOrEqualMinSpeed": "Maksimum hastighet 'max_speed' må være større enn eller lik minimum hastighet 'min_speed'." "maxSpeedMustBeGreaterOrEqualMinSpeed": "Maksimum hastighet 'max_speed' må være større enn eller lik minimum hastighet 'min_speed'."
} }
}, },

View File

@ -460,7 +460,7 @@
}, },
"objectShapeFilterDrawing": { "objectShapeFilterDrawing": {
"document": "Se dokumentasjonen ", "document": "Se dokumentasjonen ",
"score": "Poengsum", "score": "Score",
"ratio": "Forhold", "ratio": "Forhold",
"area": "Areal", "area": "Areal",
"title": "Tegning av objektformfilter", "title": "Tegning av objektformfilter",
@ -478,7 +478,7 @@
"audio": { "audio": {
"title": "Lyd", "title": "Lyd",
"noAudioDetections": "Ingen lyddeteksjoner", "noAudioDetections": "Ingen lyddeteksjoner",
"score": "poengsum", "score": "score",
"currentRMS": "Nåværende RMS", "currentRMS": "Nåværende RMS",
"currentdbFS": "Nåværende dbFS" "currentdbFS": "Nåværende dbFS"
}, },

View File

@ -65,7 +65,8 @@
"noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd", "noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd",
"endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn" "endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn"
}, },
"success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina." "success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina.",
"view": "Weergeven"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Export opslaan", "saveExport": "Export opslaan",

View File

@ -148,7 +148,12 @@
}, },
"generateSuccess": "Met succes gegenereerde voorbeeldafbeeldingen", "generateSuccess": "Met succes gegenereerde voorbeeldafbeeldingen",
"allImagesRequired_one": "Classificeer alle afbeeldingen. {{count}} afbeelding resterend.", "allImagesRequired_one": "Classificeer alle afbeeldingen. {{count}} afbeelding resterend.",
"allImagesRequired_other": "Classificeer alle afbeeldingen. {{count}} afbeeldingen resterend." "allImagesRequired_other": "Classificeer alle afbeeldingen. {{count}} afbeeldingen resterend.",
"modelCreated": "Model succesvol aangemaakt. Gebruik de weergave Recente classificaties om afbeeldingen voor ontbrekende statussen toe te voegen en train vervolgens het model.",
"missingStatesWarning": {
"title": "Voorbeelden van ontbrekende staten",
"description": "Je hebt geen voorbeelden geselecteerd voor alle staten. Het model wordt pas getraind wanneer alle staten afbeeldingen hebben. Ga je verder, gebruik dan de weergave Recente Classificaties om afbeeldingen voor de ontbrekende staten te classificeren en train daarna het model."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -55,5 +55,8 @@
"clickToSeek": "Klik om naar deze tijd te zoeken" "clickToSeek": "Klik om naar deze tijd te zoeken"
}, },
"zoomIn": "Zoom in", "zoomIn": "Zoom in",
"zoomOut": "Zoom uit" "zoomOut": "Zoom uit",
"normalActivity": "Normaal",
"needsReview": "Heeft een beoordeling nodig",
"securityConcern": "Beveiligingsprobleem"
} }

View File

@ -261,7 +261,8 @@
"header": { "header": {
"zones": "Zones", "zones": "Zones",
"ratio": "Verhouding", "ratio": "Verhouding",
"area": "Gebied" "area": "Gebied",
"score": "Score"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -87,7 +87,10 @@
"formattedTimestampMonthDayYear": { "formattedTimestampMonthDayYear": {
"12hour": "d MMMM yyyy", "12hour": "d MMMM yyyy",
"24hour": "d MMMM yyyy" "24hour": "d MMMM yyyy"
} },
"inProgress": "W trakcie",
"invalidStartTime": "Nieprawidłowy czas rozpoczęcia",
"invalidEndTime": "Nieprawidłowy czas zakończenia"
}, },
"unit": { "unit": {
"speed": { "speed": {
@ -97,10 +100,23 @@
"length": { "length": {
"feet": "stopy", "feet": "stopy",
"meters": "metry" "meters": "metry"
},
"data": {
"kbps": "kB/s",
"mbps": "MB/s",
"gbps": "GB/s",
"kbph": "kB/godz.",
"mbph": "MB/godz.",
"gbph": "GB/godz."
} }
}, },
"label": { "label": {
"back": "Wróć" "back": "Wróć",
"hide": "Ukryj {{item}}",
"show": "Pokaż {{item}}",
"ID": "ID",
"none": "Brak",
"all": "Wszystko"
}, },
"button": { "button": {
"apply": "Zastosuj", "apply": "Zastosuj",
@ -137,7 +153,8 @@
"cameraAudio": "Dźwięk kamery", "cameraAudio": "Dźwięk kamery",
"off": "WYŁĄCZ", "off": "WYŁĄCZ",
"edit": "Edytuj", "edit": "Edytuj",
"copyCoordinates": "Kopiuj współrzędne" "copyCoordinates": "Kopiuj współrzędne",
"continue": "Kontynuuj"
}, },
"menu": { "menu": {
"system": "System", "system": "System",
@ -239,7 +256,8 @@
"configurationEditor": "Edytor konfiguracji", "configurationEditor": "Edytor konfiguracji",
"help": "Pomoc", "help": "Pomoc",
"settings": "Ustawienia", "settings": "Ustawienia",
"export": "Eksportuj" "export": "Eksportuj",
"classification": "Klasyfikacja"
}, },
"role": { "role": {
"viewer": "Przeglądający", "viewer": "Przeglądający",
@ -283,5 +301,9 @@
"readTheDocumentation": "Przeczytaj dokumentację", "readTheDocumentation": "Przeczytaj dokumentację",
"information": { "information": {
"pixels": "{{area}}px" "pixels": "{{area}}px"
},
"list": {
"two": "{{0}} i {{1}}",
"many": "{{items}}, oraz {{last}}"
} }
} }

View File

@ -3,7 +3,7 @@
"button": { "button": {
"deleteClassificationAttempts": "Usuń obrazy klasyfikacyjne", "deleteClassificationAttempts": "Usuń obrazy klasyfikacyjne",
"renameCategory": "Zmień nazwę klasy", "renameCategory": "Zmień nazwę klasy",
"deleteCategory": "Usuń klasę", "deleteCategory": "Usuń klasyfikację",
"deleteImages": "Usuń obrazy", "deleteImages": "Usuń obrazy",
"trainModel": "Przeszkol model", "trainModel": "Przeszkol model",
"addClassification": "Dodaj klasyfikację", "addClassification": "Dodaj klasyfikację",
@ -39,7 +39,9 @@
}, },
"deleteCategory": { "deleteCategory": {
"title": "Usuń klasę", "title": "Usuń klasę",
"desc": "Czy na pewno chcesz usunąć klasę {{name}}? Spowoduje to trawałe usunięcie wszystkich powiązanych obrazków i konieczność ponownego trenowania modelu." "desc": "Czy na pewno chcesz usunąć klasę {{name}}? Spowoduje to trawałe usunięcie wszystkich powiązanych obrazków i konieczność ponownego trenowania modelu.",
"minClassesTitle": "Nie można usunąć kategorii",
"minClassesDesc": "Model klasyfikacyjny musi posiadać co najmniej dwie kategorie. Dodaj inną kategorię aby możliwe było usunięcie tej kategorii."
}, },
"deleteModel": { "deleteModel": {
"title": "Usuń model klasyfikacji", "title": "Usuń model klasyfikacji",
@ -49,10 +51,29 @@
"desc_many": "Czy na pewno chcesz usunąć {{count}} modeli? Spowoduje to trwałe usunięcie wszystkich powiązanych danych, włącznie z obrazami i danymi treningowymi. Nie można cofnąć tej operacji." "desc_many": "Czy na pewno chcesz usunąć {{count}} modeli? Spowoduje to trwałe usunięcie wszystkich powiązanych danych, włącznie z obrazami i danymi treningowymi. Nie można cofnąć tej operacji."
}, },
"edit": { "edit": {
"title": "Edytuj model klasyfikacji" "title": "Edytuj model klasyfikacji",
"descriptionObject": "Zmień typ obiektu i kryteria dla tego modelu klasyfikacji.",
"stateClassesInfo": "Uwaga: Zmiana typu klasyfikacji wymaga treningu nowego modelu."
}, },
"tooltip": { "tooltip": {
"trainingInProgress": "Trwa trenowanie modelu", "trainingInProgress": "Trwa trenowanie modelu",
"modelNotReady": "Mode nie jest gotowy do trenowania" "modelNotReady": "Mode nie jest gotowy do trenowania",
"noChanges": "Brak zmian w zbiorze danych od czasu ostatniego treningu."
},
"deleteDatasetImages": {
"title": "Usuń obrazy z puli danych"
},
"renameCategory": {
"title": "Zmień nazwę klasy",
"desc": "Wprowadź nową nazwę dla {{name}}. Zastosowanie tej zmiany wymagać będzie treningu nowego modelu."
},
"description": {
"invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki."
},
"train": {
"title": "Ostatnie Klasyfikacje"
},
"createCategory": {
"new": "Stwórz nową klasyfikację"
} }
} }

View File

@ -43,8 +43,8 @@
"label": "Szczegóły", "label": "Szczegóły",
"noDataFound": "Brak szczegółów do przejrzenia", "noDataFound": "Brak szczegółów do przejrzenia",
"aria": "Przełącz widok szczegółów", "aria": "Przełącz widok szczegółów",
"trackedObject_one": "obiekt", "trackedObject_one": "{{count}} obiekt",
"trackedObject_other": "obiekty", "trackedObject_other": "{{count}} obiekty",
"noObjectDetailData": "Brak danych szczegółowych dla obiektu.", "noObjectDetailData": "Brak danych szczegółowych dla obiektu.",
"settings": "Ustawienia widoku szczegółów", "settings": "Ustawienia widoku szczegółów",
"alwaysExpandActive": { "alwaysExpandActive": {
@ -55,5 +55,6 @@
"objectTrack": { "objectTrack": {
"trackedPoint": "Śledzony punkt", "trackedPoint": "Śledzony punkt",
"clickToSeek": "Kliknij aby przewinąć do tego miejsca" "clickToSeek": "Kliknij aby przewinąć do tego miejsca"
} },
"needsReview": "Wymaga manualnego sprawdzenia"
} }

View File

@ -160,7 +160,8 @@
"snapshot": "zrzut ekranu", "snapshot": "zrzut ekranu",
"video": "wideo", "video": "wideo",
"object_lifecycle": "cykl życia obiektu", "object_lifecycle": "cykl życia obiektu",
"thumbnail": "miniaturka" "thumbnail": "miniaturka",
"tracking_details": "szczegóły śledzenia"
}, },
"itemMenu": { "itemMenu": {
"downloadSnapshot": { "downloadSnapshot": {
@ -232,6 +233,29 @@
"createObjectMask": "Utwórz maskę obiektu", "createObjectMask": "Utwórz maskę obiektu",
"adjustAnnotationSettings": "Dostosuj ustawienia adnotacji", "adjustAnnotationSettings": "Dostosuj ustawienia adnotacji",
"scrollViewTips": "Kliknij, aby zobaczyć najważniejsze momenty cyklu życia tego obiektu.", "scrollViewTips": "Kliknij, aby zobaczyć najważniejsze momenty cyklu życia tego obiektu.",
"count": "{{first}} z {{second}}" "count": "{{first}} z {{second}}",
"autoTrackingTips": "Pozycja znacznika obiektu jest niedokładna dla kamer z automatycznym śledzeniem.",
"lifecycleItemDesc": {
"visible": "Wykryto {{label}}",
"entered_zone": "{{label}} pojawił się w {{zones}}",
"active": "{{label}} poruszył się",
"stationary": "{{label}} zatrzymał się",
"attribute": {
"faceOrLicense_plate": "Wykryto {{attribute}} dla obiektu {{label}}",
"other": "{{label}} został rozpoznany jako {{attribute}}"
},
"gone": "Utracono śledzenie dla {{label}}",
"external": "Wykryto {{label}}",
"header": {
"zones": "Strefy"
}
},
"annotationSettings": {
"title": "Ustawienia adnotacji",
"showAllZones": {
"title": "Pokaż wszystkie strefy",
"desc": "Pokazuj linie stref w momencie wejścia obiektu w strefę."
}
}
} }
} }

View File

@ -3,7 +3,7 @@
"description": { "description": {
"addFace": "Dodaj nową kolekcję do biblioteki twarzy, przesyłając swoje pierwsze zdjęcie.", "addFace": "Dodaj nową kolekcję do biblioteki twarzy, przesyłając swoje pierwsze zdjęcie.",
"placeholder": "Wprowadź nazwę tej kolekcji", "placeholder": "Wprowadź nazwę tej kolekcji",
"invalidName": "Nieprawidłowa nazwa. Nazwy mogą zawierać tylko litery, cyfry, spacje, apostrofy, podkreślenia oraz myślniki." "invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki."
}, },
"details": { "details": {
"person": "Osoba", "person": "Osoba",

View File

@ -67,7 +67,7 @@
}, },
"manualRecording": { "manualRecording": {
"title": "Nagrywanie na żądanie", "title": "Nagrywanie na żądanie",
"tips": "Rozpocznij ręczne zdarzenie w oparciu o ustawienia przechowywania nagrań tej kamery.", "tips": "Ręcznie rozpocznij zdarzenie w oparciu o ustawienia przechowywania nagrań tej kamery.",
"playInBackground": { "playInBackground": {
"label": "Odtwarzaj w tle", "label": "Odtwarzaj w tle",
"desc": "Włącz tę opcję, aby kontynuować transmisję, gdy odtwarzacz jest ukryty." "desc": "Włącz tę opcję, aby kontynuować transmisję, gdy odtwarzacz jest ukryty."
@ -173,7 +173,17 @@
}, },
"noCameras": { "noCameras": {
"buttonText": "Dodaj kamerę", "buttonText": "Dodaj kamerę",
"description": "Zacznij od podłączenia kamery.", "description": "Zacznij od podłączenia kamery do Frigate.",
"title": "Nie ustawiono żadnej kamery" "title": "Nie skonfigurowano żadnej kamery",
"restricted": {
"title": "Brak dostępnych kamer",
"description": "Nie masz uprawnień aby przeglądać kamery w tej grupie."
}
},
"snapshot": {
"takeSnapshot": "Pobierz miniaturę",
"captureFailed": "Nie udało się wykonać migawki.",
"downloadStarted": "Pobieranie migawki rozpoczęte.",
"noVideoSource": "Brak źródeł video dostępnych do wykonania migawki."
} }
} }

View File

@ -13,7 +13,7 @@
"triggers": "Wyzwalacze", "triggers": "Wyzwalacze",
"roles": "Role", "roles": "Role",
"cameraManagement": "Zarządzanie", "cameraManagement": "Zarządzanie",
"cameraReview": "Przejrzyj" "cameraReview": "Przegląd"
}, },
"dialog": { "dialog": {
"unsavedChanges": { "unsavedChanges": {
@ -26,7 +26,7 @@
"noCamera": "Brak Kamery" "noCamera": "Brak Kamery"
}, },
"general": { "general": {
"title": "Ustawienia Ogólne", "title": "Ustawienia interfejsu użytkownika",
"storedLayouts": { "storedLayouts": {
"title": "Zapisane Układy", "title": "Zapisane Układy",
"clearAll": "Wyczyść Wszystkie Układy", "clearAll": "Wyczyść Wszystkie Układy",
@ -50,6 +50,14 @@
"playAlertVideos": { "playAlertVideos": {
"label": "Odtwarzaj Filmy Alarmowe", "label": "Odtwarzaj Filmy Alarmowe",
"desc": "Domyślnie, ostatnie alerty na panelu Na Żywo są odtwarzane jako małe zapętlone filmy. Wyłącz tę opcję, aby pokazywać tylko statyczny obraz ostatnich alertów na tym urządzeniu/przeglądarce." "desc": "Domyślnie, ostatnie alerty na panelu Na Żywo są odtwarzane jako małe zapętlone filmy. Wyłącz tę opcję, aby pokazywać tylko statyczny obraz ostatnich alertów na tym urządzeniu/przeglądarce."
},
"displayCameraNames": {
"label": "Zawsze pokazuj nazwy kamer",
"desc": "Zawsze pokazuj nazwę kamery w widoku wielu kamer."
},
"liveFallbackTimeout": {
"label": "Przekroczono czas oczekiwania dla strumienia",
"desc": "W wypadku utraty strumienia wysokiej jakości, użyj trybu niskiej przepustowości po X sekund od utracenia połączenia. Sugerowana wartość: 3."
} }
}, },
"cameraGroupStreaming": { "cameraGroupStreaming": {
@ -906,5 +914,200 @@
"title": "Wyszukiwanie semantyczne jest zablokowane", "title": "Wyszukiwanie semantyczne jest zablokowane",
"desc": "Wyszukiwanie semantyczne musi być włączone, aby korzystać z triggerów." "desc": "Wyszukiwanie semantyczne musi być włączone, aby korzystać z triggerów."
} }
},
"cameraWizard": {
"title": "Dodaj kamerę",
"steps": {
"streamConfiguration": "Konfiguracja strumienia"
},
"save": {
"success": "Zapisano ustawienia nowej kamery {{cameraName}}."
},
"testResultLabels": {
"resolution": "Rozdzielczość",
"fps": "kl./s"
},
"commonErrors": {
"noUrl": "Podaj poprawny adres URL",
"testFailed": "Negatywny wynik testu strumienia: {{error}}"
},
"step1": {
"cameraName": "Nazwa kamery",
"cameraNamePlaceholder": "np. drzwi_frontowe lub Ogród",
"host": "Host/Adres IP",
"port": "Port",
"username": "Nazwa użytkownika",
"usernamePlaceholder": "Opcjonalne",
"password": "Hasło",
"passwordPlaceholder": "Opcjonalne",
"selectTransport": "Wybierz protokół warstwy transportowej",
"cameraBrand": "Marka Kamery",
"selectBrand": "Wybierz markę kamery aby dostosować wzór adresu URL",
"customUrl": "Niestandardowy adres URL strumienia",
"brandInformation": "Informacje o marce",
"brandUrlFormat": "Dla kamer z formatem RTSP, formatuj URL jako: {{exampleUrl}}",
"customUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka",
"connectionSettings": "Ustawienia Połączenia",
"detectionMethod": "Metoda wykrywania strumienia",
"onvifPort": "Port ONVIF",
"manualMode": "Ręczny wybór",
"onvifPortDescription": "Dla kamer wspierających protokół ONVIF, port to zazwyczaj 80 lub 8080.",
"errors": {
"brandOrCustomUrlRequired": "Wybierz markę kamery oraz host/adres IP lub wybierz 'Inny' i podaj niestandardowy adres URL",
"nameRequired": "Wymagana nazwa kamery",
"nameLength": "Nazwa kamery musi mieć 64 lub mniej znaków",
"invalidCharacters": "Nazwa kamery zawiera niepoprawne znaki",
"nameExists": "Nazwa kamery jest już zajęta",
"customUrlRtspRequired": "Niestandardowe adresy URL muszą zaczynać się od \"rtsp://\". Ręczna konfiguracja wymagana jest dla strumieniów innych niż RTSP."
}
},
"step2": {
"testSuccess": "Test połączenia udany!",
"testFailed": "Test połączenia nieudany. Sprawdź adres źródła obrazu i spróbuj ponownie.",
"testFailedTitle": "Test Nieudany",
"streamDetails": "Szczegóły Strumienia",
"testing": {
"fetchingSnapshot": "Przygotowywanie migawki kamery..."
},
"deviceInfo": "Informacje o urządzeniu",
"manufacturer": "Producent",
"model": "Model",
"firmware": "Firmware",
"profiles": "Profile",
"ptzSupport": "Wsparcie PTZ",
"autotrackingSupport": "Wsparcie auto-śledzenia",
"uriCopy": "Kopiuj",
"uriCopied": "Adres URL skopiowano do schowka",
"testConnection": "Przetestuj połączenie",
"errors": {
"hostRequired": "Wymagany jest Host/Adres IP"
}
},
"step3": {
"streamTitle": "Strumień numer: {{number}}",
"streamUrl": "URL strumienia",
"streamUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka",
"selectStream": "Wybierz strumień",
"noStreamFound": "Nie znaleziono żadnego strumienia",
"url": "adres URL",
"resolution": "Rozdzielczość",
"selectResolution": "Wybierz rozdzielczość",
"quality": "Jakość",
"selectQuality": "wybierz jakość",
"roles": "Role",
"roleLabels": {
"detect": "Wykrywanie obiektów",
"record": "Nagrywanie",
"audio": "Dźwięk"
},
"testStream": "Przetestuj połączenie",
"testSuccess": "Test strumienia udany!",
"testFailed": "Test strumienia nieudany",
"testFailedTitle": "Test nieudany",
"connected": "Połączono",
"notConnected": "Nie połączono",
"featuresTitle": "Funkcje",
"go2rtc": "Ogranicz połączenia do kamery",
"detectRoleWarning": "Przynajmniej jeden strumień musi mieć rolę \"detect\".",
"rolesPopover": {
"title": "Role strumienia",
"detect": "Główny strumień służący do wykrywania obiektów."
},
"featuresPopover": {
"title": "Funkcje strumienia"
}
},
"step4": {
"description": "Końcowa walidacja i analiza przed zapisaniem ustawień nowej kamery. Połącz się z każdym strumieniem przed zapisaniem.",
"validationTitle": "Walidacja strumienia",
"reconnectionSuccess": "Ponowna próba połączenia udana.",
"streamUnavailable": "Podgląd strumienia niedostępny",
"connecting": "Łączenie...",
"streamTitle": "Strumień numer: {{number}}",
"valid": "Poprawny",
"connectingStream": "Łączenie",
"disconnectStream": "Rozłącz",
"estimatedBandwidth": "Przewidywana przepustowość",
"roles": "Role",
"ffmpegModuleDescription": "Jeżeli po kilku próbach strumień nadal nie ładuje się, uruchom ten tryb. Gdy włączony jest ten tryb Frigate będzie używać modułu ffmpeg z go2rtc. Może to zapewnić lepszą kompatybilność z niektórymi typami strumieniów.",
"none": "Brak",
"error": "Błąd",
"streamValidated": "Strumień numer: {{number}} przeszedł test pozytywnie.",
"streamValidationFailed": "Strumień numer: {{number}} test nieudany",
"saveAndApply": "Zapisz nową kamerę",
"saveError": "Nieprawidłowa konfiguracja. Sprawdź ustawienia.",
"issues": {
"title": "Walidacja strumienia",
"audioCodecGood": "Kodek dźwięku to {{codec}}.",
"resolutionHigh": "Rozdzielczość {{resolution}} może spowodować większe zużycie zasobów.",
"resolutionLow": "Rozdzielczość {{resolution}} może okazać się za mała aby poprawnie wykrywać małe obiekty.",
"noAudioWarning": "Nie wykryto dźwięku dla tego strumienia, nagrania również nie będą zawierać dźwięku.",
"audioCodecRecordError": "Kodek AAC jest wymagany aby uwzględnić dźwięk w nagraniach.",
"audioCodecRequired": "Strumień audio jest wymagany aby umożliwić wykrywanie dźwięku.",
"restreamingWarning": "Ograniczenie ilości połączeń do strumienia nagrań może delikatnie zwiększyć użycie procesora",
"brands": {
"reolink-rtsp": "Strumień RTSP dla kamer firmy Reolink nie jest rekomendowany. Uruchom strumień HTTP w oprogramowaniu kamery i uruchom kreator jeszcze raz."
}
}
}
},
"cameraManagement": {
"title": "Zarządzaj kamerami",
"addCamera": "Dodaj nową kamerę",
"editCamera": "Edytuj kamerę:",
"selectCamera": "Wybierz kamerę",
"backToSettings": "Powrót do ustawień kamery",
"streams": {
"title": "Włącz / Wyłącz kamery"
},
"cameraConfig": {
"add": "Dodaj kamerę",
"edit": "Edytuj kamerę",
"description": "Skonfiguruj ustawienia kamery, wliczając strumienie wejściowe i ich role.",
"name": "Nazwa kamery",
"nameRequired": "Wymagana nazwa kamery",
"nameLength": "Nazwa kamery musi mieć 64 lub mniej znaków.",
"namePlaceholder": "np. drzwi_frontowe lub Ogród",
"enabled": "Włączone",
"ffmpeg": {
"inputs": "Strumienie wejściowe",
"path": "Ścieżka strumienia",
"pathRequired": "Ścieżka strumienia jest wymagana",
"pathPlaceholder": "rtsp://...",
"roles": "Role",
"rolesRequired": "Wymagana jest przynajmniej jedna rola",
"rolesUnique": "Każda rola ('audio', 'detect', 'record') może zostać przypisana tylko raz",
"addInput": "Dodaj strumień wejściowy",
"removeInput": "Usuń strumień wejściowy",
"inputsRequired": "Wymagany jest przynajmniej jeden strumień wejściowy"
},
"go2rtcStreams": "Strumienie go2rtc",
"streamUrls": "Adresy URL strumieni",
"addUrl": "Dodaj adres URL",
"addGo2rtcStream": "Dodaj strumień go2rtc",
"toast": {
"success": "Zapisano poprawnie kamerę {{cameraName}}"
}
}
},
"cameraReview": {
"review": {
"alerts": "Alerty ",
"detections": "Wykrycia "
},
"reviewClassification": {
"title": "Przegląd klasyfikacji",
"noDefinedZones": "Nie zdefiniowano żadnych stref dla tej kamery.",
"objectDetectionsTips": "Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte przez kamerę {{cameraName}} będą wyświetlane jako Wykrycia niezależnie od strefy w której zostały wykryte.",
"zoneObjectDetectionsTips": {
"text": "Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane w strefie {{zone}} kamery {{cameraName}} będą wyświetlane jako Wykrycia.",
"notSelectDetections": "Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte w strefie {{zone}} kamery {{cameraName}} nieskategoryzowane jako Alerty będą wyświetlane jako Wykrycia, niezależnie w której strefie zostaną wykryte.",
"regardlessOfZoneObjectDetectionsTips": "Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane dla kamery {{cameraName}} będą wyświetlane jako Wykrycia niezależnie w której strefie zostaną wykryte."
},
"unsavedChanges": "Niezapisane ustawienia klasyfikacji przeglądu dla kamery {{camera}}",
"selectAlertsZones": "Wybierz strefę dla Alertów",
"selectDetectionsZones": "Wybierz strefę dla Wykryć",
"limitDetections": "Ogranicz detekcje do konkretnych stref"
}
} }
} }

View File

@ -42,7 +42,11 @@
"gpuMemory": "Pamięć GPU", "gpuMemory": "Pamięć GPU",
"gpuUsage": "Użycie GPU", "gpuUsage": "Użycie GPU",
"npuUsage": "Użycie NPU", "npuUsage": "Użycie NPU",
"npuMemory": "Pamięć NPU" "npuMemory": "Pamięć NPU",
"intelGpuWarning": {
"message": "Statystyki układu graficznego niedostępne",
"description": "W narzędziach telemetrii i statystyki układów graficznych firmy Intel (intel_gpu_top) znajduje się znany błąd powodujący raportowanie użycia układu graficznego wynoszące 0%, nawet gdy akceleracja sprzętowa i wykrywanie obiektów działa prawidłowo korzystając ze zintegrowanego układu graficznego. To nie jest błąd oprogramowania Frigate. Restart hosta może chwilowo rozwiązać problem i pozwolić na weryfikację działania układu graficznego. Ten bład nie wpływa na wydajność systemu,"
}
}, },
"title": "Ogólne", "title": "Ogólne",
"detector": { "detector": {

View File

@ -19,19 +19,25 @@
"trainingModel": "Treinamento do modelo iniciado com sucesso.", "trainingModel": "Treinamento do modelo iniciado com sucesso.",
"deletedModel_one": "{{count}} modelo excluído com sucesso", "deletedModel_one": "{{count}} modelo excluído com sucesso",
"deletedModel_many": "{{count}} modelos excluídos com sucesso", "deletedModel_many": "{{count}} modelos excluídos com sucesso",
"deletedModel_other": "{{count}} modelos excluídos com sucesso" "deletedModel_other": "{{count}} modelos excluídos com sucesso",
"updatedModel": "Configuração do modelo atualizada com sucesso",
"renamedCategory": "Classe renomeada para {{name}} com sucesso"
}, },
"error": { "error": {
"deleteImageFailed": "Falha ao deletar:{{errorMessage}}", "deleteImageFailed": "Falha ao deletar:{{errorMessage}}",
"deleteCategoryFailed": "Falha ao deletar classe:{{errorMessage}}", "deleteCategoryFailed": "Falha ao deletar classe:{{errorMessage}}",
"categorizeFailed": "Falha ao categorizar imagem:{{errorMessage}}", "categorizeFailed": "Falha ao categorizar imagem:{{errorMessage}}",
"deleteModelFailed": "Falha ao excluir o modelo: {{errorMessage}}", "deleteModelFailed": "Falha ao excluir o modelo: {{errorMessage}}",
"trainingFailed": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}" "trainingFailed": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
"trainingFailedToStart": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
"updateModelFailed": "Falha ao atualizar modelo: {{errorMessage}}",
"renameCategoryFailed": "Falha ao renomear classe: {{errorMessage}}"
} }
}, },
"deleteCategory": { "deleteCategory": {
"title": "Excluir Classe", "title": "Excluir Classe",
"desc": "Tem certeza de que deseja excluir a classe {{name}}? Isso excluirá permanentemente todas as imagens associadas e exigirá o treinamento do modelo novamente." "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 apagar a classe"
}, },
"deleteModel": { "deleteModel": {
"title": "Deletar modelo de classificação", "title": "Deletar modelo de classificação",

View File

@ -88,7 +88,8 @@
"failed": "Eroare la pornirea exportului: {{error}}", "failed": "Eroare la pornirea exportului: {{error}}",
"endTimeMustAfterStartTime": "Ora de sfârșit trebuie să fie după ora de început", "endTimeMustAfterStartTime": "Ora de sfârșit trebuie să fie după ora de început",
"noVaildTimeSelected": "Nu a fost selectat un interval de timp valid" "noVaildTimeSelected": "Nu a fost selectat un interval de timp valid"
} },
"view": "Vizualizează"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Salvează exportul", "saveExport": "Salvează exportul",

View File

@ -152,7 +152,12 @@
"generateSuccess": "Imaginile de exemplu au fost generate cu succes", "generateSuccess": "Imaginile de exemplu au fost generate cu succes",
"allImagesRequired_one": "Te rog să clasifici toate imaginile. {{count}} imagine rămasă.", "allImagesRequired_one": "Te rog să clasifici toate imaginile. {{count}} imagine rămasă.",
"allImagesRequired_few": "Te rog să clasifici toate imaginile. {{count}} imagini rămase.", "allImagesRequired_few": "Te rog să clasifici toate imaginile. {{count}} imagini rămase.",
"allImagesRequired_other": "Te rog să clasifici toate imaginile. {{count}} de imagini rămase." "allImagesRequired_other": "Te rog să clasifici toate imaginile. {{count}} de imagini rămase.",
"modelCreated": "Modelul a fost creat cu succes. Folosește vizualizarea Clasificări recente pentru a adăuga imagini pentru stările lipsă, apoi antrenează modelul.",
"missingStatesWarning": {
"title": "Exemple de stări lipsă",
"description": "Nu ai selectat exemple pentru toate stările. Modelul nu va fi antrenat până când toate stările nu au imagini. După continuare, folosește vizualizarea Clasificări recente pentru a clasifica imagini pentru stările lipsă, apoi antrenează modelul."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -55,5 +55,8 @@
"clickToSeek": "Apasă pentru a naviga la acest moment" "clickToSeek": "Apasă pentru a naviga la acest moment"
}, },
"zoomIn": "Mărește", "zoomIn": "Mărește",
"zoomOut": "Micșorează" "zoomOut": "Micșorează",
"normalActivity": "Normal",
"needsReview": "Necesită revizuire",
"securityConcern": "Potențială problemă de securitate"
} }

View File

@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Zone", "zones": "Zone",
"ratio": "Raport", "ratio": "Raport",
"area": "Aria" "area": "Aria",
"score": "Scor"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -445,7 +445,7 @@
"boiling": "Varenie", "boiling": "Varenie",
"sonar": "Sonar", "sonar": "Sonar",
"arrow": "Šípka", "arrow": "Šípka",
"whoosh": "Whoosh", "whoosh": "Ktoosh",
"thump": "Palec", "thump": "Palec",
"thunk": "Thunk", "thunk": "Thunk",
"electronic_tuner": "Elektronický tuner", "electronic_tuner": "Elektronický tuner",

View File

@ -248,7 +248,8 @@
"label": "Dokumentácia Frigate" "label": "Dokumentácia Frigate"
}, },
"review": "Recenzia", "review": "Recenzia",
"explore": "Preskúmať" "explore": "Preskúmať",
"classification": "Klasifikácia"
}, },
"toast": { "toast": {
"copyUrlToClipboard": "Adresa URL bola skopírovaná do schránky.", "copyUrlToClipboard": "Adresa URL bola skopírovaná do schránky.",

View File

@ -58,7 +58,8 @@
"failed": "Chyba spustenia exportu: {{error}}", "failed": "Chyba spustenia exportu: {{error}}",
"endTimeMustAfterStartTime": "Čas konca musí byť po čase začiatku", "endTimeMustAfterStartTime": "Čas konca musí byť po čase začiatku",
"noVaildTimeSelected": "Nie je vybrané žiadne platné časové obdobie" "noVaildTimeSelected": "Nie je vybrané žiadne platné časové obdobie"
} },
"view": "Zobraziť"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Uložiť Export", "saveExport": "Uložiť Export",

View File

@ -145,7 +145,10 @@
"generationFailed": "Generovanie zlyhalo. Skúste to znova.", "generationFailed": "Generovanie zlyhalo. Skúste to znova.",
"classifyFailed": "Nepodarilo sa klasifikovať obrázky: {{error}}" "classifyFailed": "Nepodarilo sa klasifikovať obrázky: {{error}}"
}, },
"generateSuccess": "Vzorové obrázky boli úspešne vygenerované" "generateSuccess": "Vzorové obrázky boli úspešne vygenerované",
"allImagesRequired_one": "Uveďte všetky obrázky. {{count}} obrázok zostáva.",
"allImagesRequired_few": "Uveďte všetky obrázky. {{count}} obrázky zostávajú.",
"allImagesRequired_other": "Uveďte všetky obrázky. {{count}} obrázkov zostávajú."
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -21,7 +21,7 @@
"regenerate": "Od poskytovateľa {{provider}} bol vyžiadaný nový popis. V závislosti od rýchlosti vášho poskytovateľa môže jeho obnovenie chvíľu trvať.", "regenerate": "Od poskytovateľa {{provider}} bol vyžiadaný nový popis. V závislosti od rýchlosti vášho poskytovateľa môže jeho obnovenie chvíľu trvať.",
"updatedSublabel": "Podštítok bol úspešne aktualizovaný.", "updatedSublabel": "Podštítok bol úspešne aktualizovaný.",
"updatedLPR": "ŠPZ bola úspešne aktualizovaná.", "updatedLPR": "ŠPZ bola úspešne aktualizovaná.",
"audioTranscription": "Úspešne požiadané o prepis zvuku." "audioTranscription": "Úspešne požiadané o prepis zvuku. V závislosti od rýchlosti vášho servera Frigate môže dokončenie prepisu trvať určitý čas."
}, },
"error": { "error": {
"regenerate": "Nepodarilo sa zavolať od {{provider}} pre nový popis: {{errorMessage}}", "regenerate": "Nepodarilo sa zavolať od {{provider}} pre nový popis: {{errorMessage}}",
@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Zóny", "zones": "Zóny",
"ratio": "Pomer", "ratio": "Pomer",
"area": "Oblasť" "area": "Oblasť",
"score": "Skóre"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -1,6 +1,6 @@
{ {
"description": { "description": {
"addFace": "Sprievodca pridaním novej kolekcie do Knižnice tvárí.", "addFace": "Pridajte novú kolekciu do Face Library nahrať svoj prvý obrázok.",
"invalidName": "Neplatné meno. Mená môžu obsahovať iba písmená, čísla, medzery, apostrofy, podčiarkovníky a spojovníky.", "invalidName": "Neplatné meno. Mená môžu obsahovať iba písmená, čísla, medzery, apostrofy, podčiarkovníky a spojovníky.",
"placeholder": "Zadajte názov pre túto kolekciu" "placeholder": "Zadajte názov pre túto kolekciu"
}, },

View File

@ -551,10 +551,12 @@
"probeMode": "Probe kamera", "probeMode": "Probe kamera",
"manualMode": "Ručný výber", "manualMode": "Ručný výber",
"detectionMethodDescription": "Vyskúša cez ONVIF (ak je podporovaný) nájsť kamery streamové adresy, alebo ručne vyberte značku kamery a jej preddefinované URL. Ak chcete zadať vlastnú URL RTSP, vyberte manuálne zadanie a označte \"Ostatné\".", "detectionMethodDescription": "Vyskúša cez ONVIF (ak je podporovaný) nájsť kamery streamové adresy, alebo ručne vyberte značku kamery a jej preddefinované URL. Ak chcete zadať vlastnú URL RTSP, vyberte manuálne zadanie a označte \"Ostatné\".",
"onvifPortDescription": "Pre kamery, ktoré podporujú ONVIF, to je zvyčajne 80 alebo 8080." "onvifPortDescription": "Pre kamery, ktoré podporujú ONVIF, to je zvyčajne 80 alebo 8080.",
"useDigestAuth": "Použite overenie súhrnu",
"useDigestAuthDescription": "Použite HTTP stráviteľné overenie pre ONVIF. Niektoré kamery môžu vyžadovať vyhradený ONVIF užívateľské meno/password namiesto štandardného správcu."
}, },
"step2": { "step2": {
"description": "Konfigurovať prúdové role a pridať ďalšie prúdy pre vašu kameru.", "description": "Vyhľadajte dostupné streamy z kamery alebo nakonfigurujte manuálne nastavenia na základe zvolenej metódy detekcie.",
"streamsTitle": "Kamerové prúdy", "streamsTitle": "Kamerové prúdy",
"addStream": "Pridať Stream", "addStream": "Pridať Stream",
"addAnotherStream": "Pridať ďalší Stream", "addAnotherStream": "Pridať ďalší Stream",
@ -573,8 +575,8 @@
"audio": "Zvuk" "audio": "Zvuk"
}, },
"testStream": "Testovacie pripojenie", "testStream": "Testovacie pripojenie",
"testSuccess": "Stream test úspešné!", "testSuccess": "Test pripojenia bol úspešný!",
"testFailed": "Stream test zlyhal", "testFailed": "Test pripojenia zlyhal. Skontrolujte zadané údaje a skúste to znova.",
"testFailedTitle": "Test Zlyhal", "testFailedTitle": "Test Zlyhal",
"connected": "Pripojené", "connected": "Pripojené",
"notConnected": "Nie je pripojený", "notConnected": "Nie je pripojený",
@ -590,6 +592,38 @@
"featuresPopover": { "featuresPopover": {
"title": "Funkcie streamu", "title": "Funkcie streamu",
"description": "Použite prekrytie go2rtc na zníženie pripojenia k fotoaparátu." "description": "Použite prekrytie go2rtc na zníženie pripojenia k fotoaparátu."
},
"streamDetails": "Detaily vysielania",
"probing": "Skúmajúca kamera...",
"retry": "Skúste to znova",
"testing": {
"probingMetadata": "Skúmanie metadát kamery...",
"fetchingSnapshot": "Načítava sa snímka z fotoaparátu..."
},
"probeFailed": "Nepodarilo sa otestovať kameru: {{error}}",
"probingDevice": "Snímacie zariadenie...",
"probeSuccessful": "Sonda úspešná",
"probeError": "Chyba sondy",
"probeNoSuccess": "Sonda neúspešná",
"deviceInfo": "Informácie o zariadení",
"manufacturer": "Výrobca",
"model": "Model",
"firmware": "Firmvér",
"profiles": "Profily",
"ptzSupport": "PTZ Podpora",
"autotrackingSupport": "Podpora automatického sledovania",
"presets": "Prestavby",
"rtspCandidates": "RTSP kandidátov",
"rtspCandidatesDescription": "Z kamery boli nájdené nasledujúce adresy URL RTSP. Otestujte pripojenie a zobrazte metadáta streamu.",
"noRtspCandidates": "Z kamery sa nenašli žiadne URL adresy RTSP. Vaše prihlasovacie údaje môžu byť nesprávne alebo kamera nepodporuje protokol ONVIF alebo metódu použitú na získanie URL adries RTSP. Vráťte sa späť a zadajte URL adresu RTSP manuálne.",
"candidateStreamTitle": "Kandidát {{number}}",
"useCandidate": "Použitie",
"uriCopy": "Kopírovať",
"uriCopied": "URI skopírované do schránky",
"testConnection": "Testovacie pripojenie",
"toggleUriView": "Kliknutím prepnete zobrazenie celého URI",
"errors": {
"hostRequired": "Vyžaduje sa hostiteľská/IP adresa"
} }
}, },
"step3": { "step3": {
@ -621,6 +655,57 @@
"resolutionHigh": "Rozlíšenie {{resolution}} môže spôsobiť zvýšenú spotrebu zdrojov.", "resolutionHigh": "Rozlíšenie {{resolution}} môže spôsobiť zvýšenú spotrebu zdrojov.",
"resolutionLow": "Rozlíšenie {{resolution}} môže byť príliš nízka pre spoľahlivú detekciu malých objektov." "resolutionLow": "Rozlíšenie {{resolution}} môže byť príliš nízka pre spoľahlivú detekciu malých objektov."
}, },
"description": "Nakonfigurujte role streamov a pridajte ďalšie streamy pre vašu kameru.",
"validationTitle": "Stream Platnosť",
"connectAllStreams": "Pripojte všetky prúdy",
"reconnectionSuccess": "Opätovné pripojenie bolo úspešné.",
"reconnectionPartial": "Niektoré prúdy sa nepodarilo prepojiť.",
"streamUnavailable": "Ukážka streamu nie je k dispozícii",
"reload": "Znovu načítať",
"connecting": "Pripája...",
"streamTitle": "Stream {{number}}",
"valid": "Platné",
"failed": "Zlyhanie",
"notTested": "Netestované",
"streamsTitle": "Kamerové prúdy",
"addStream": "Pridať Stream",
"addAnotherStream": "Pridať ďalší Stream",
"streamUrl": "Stream URL",
"streamUrlPlaceholder": "rtsp://username:password@host:port/path",
"selectStream": "Vyberte stream",
"searchCandidates": "Hľadať kandidátov...",
"noStreamFound": "Nenašiel sa žiadny stream",
"url": "URL",
"resolution": "Rozlíšenie",
"selectResolution": "Vyberte rozlíšenie",
"quality": "Kvalita",
"selectQuality": "Vyberte kvalitu",
"roleLabels": {
"detect": "Detekcia objektov",
"record": "Nahrávanie",
"audio": "Zvuk"
},
"testStream": "Testovanie pripojenia",
"testSuccess": "Stream test úspešné!",
"testFailed": "Stream test zlyhal",
"testFailedTitle": "Test Zlyhal",
"connected": "Pripojené",
"notConnected": "Nie je pripojený",
"featuresTitle": "Vlastnosti",
"go2rtc": "Znížte počet pripojení ku kamere",
"detectRoleWarning": "Aspoň jeden prúd musí mať \"detekt\" úlohu pokračovať.",
"rolesPopover": {
"title": "Roly streamu",
"detect": "Hlavné krmivo pre detekciu objektu.",
"record": "Ukladá segmenty video kanála na základe nastavení konfigurácie.",
"audio": "Kŕmenie pre detekciu zvuku."
},
"featuresPopover": {
"title": "Funkcie streamu",
"description": "Použite prekrytie go2rtc na zníženie pripojenia k fotoaparátu."
}
},
"step4": {
"description": "Záverečné overenie a analýza pred uložením nového fotoaparátu. Pripojte každý prúd pred uložením.", "description": "Záverečné overenie a analýza pred uložením nového fotoaparátu. Pripojte každý prúd pred uložením.",
"validationTitle": "Stream Platnosť", "validationTitle": "Stream Platnosť",
"connectAllStreams": "Pripojte všetky prúdy", "connectAllStreams": "Pripojte všetky prúdy",
@ -632,7 +717,40 @@
"streamTitle": "Stream {{number}}", "streamTitle": "Stream {{number}}",
"valid": "Platné", "valid": "Platné",
"failed": "Zlyhanie", "failed": "Zlyhanie",
"notTested": "Netestované" "notTested": "Netestované",
"connectStream": "Pripojiť",
"connectingStream": "Pripája",
"disconnectStream": "Odpojiť",
"estimatedBandwidth": "Odhadovaná šírka pásma",
"roles": "Roly",
"ffmpegModule": "Použite režim kompatibility prúdu",
"ffmpegModuleDescription": "Ak sa stream nenačíta ani po niekoľkých pokusoch, skúste túto funkciu povoliť. Keď je táto funkcia povolená, Frigate použije modul ffmpeg s go2rtc. To môže poskytnúť lepšiu kompatibilitu s niektorými streammi z kamier.",
"none": "Žiadne",
"error": "Chyba",
"streamValidated": "Stream {{number}} úspešne overený",
"streamValidationFailed": "Stream {{number}} validácia zlyhala",
"saveAndApply": "Uložiť novú kameru",
"saveError": "Neplatná konfigurácia. Skontrolujte nastavenia.",
"issues": {
"title": "Platnosť Streamu",
"videoCodecGood": "Kód videa je {{codec}}.",
"audioCodecGood": "Audio kódc je {{codec}}.",
"resolutionHigh": "Rozlíšenie {{resolution}} môže spôsobiť zvýšenú spotrebu zdrojov.",
"resolutionLow": "Rozlíšenie {{resolution}} môže byť príliš nízka pre spoľahlivú detekciu malých objektov.",
"noAudioWarning": "Žiadne audio nebolo detekovane pre tento prúd, nahrávanie nebude mať audio.",
"audioCodecRecordError": "AAC audio kodek je potrebný na podporu audio v záznamoch.",
"audioCodecRequired": "Zvukový prúd je povinný podporovať detekciu zvuku.",
"restreamingWarning": "Zníženie pripojenia ku kamery pre rekordný prúd môže mierne zvýšiť využitie CPU.",
"brands": {
"reolink-rtsp": "Reolink RTSP sa neodporúča. Odporúča sa povoliť HTTP v nastavení kamery a reštartovať sprievodca kamery."
},
"dahua": {
"substreamWarning": "Čiastkový stream 1 je uzamknutý na nízke rozlíšenie. Mnoho kamier Dahua / Amcrest / EmpireTech podporuje ďalšie čiastkové streamy, ktoré je potrebné povoliť v nastaveniach kamery. Odporúča sa skontrolovať a využiť tieto streamy, ak sú k dispozícii."
},
"hikvision": {
"substreamWarning": "Čiastkový stream 1 je uzamknutý na nízke rozlíšenie. Mnoho kamier Hikvision podporuje ďalšie čiastkové streamy, ktoré je potrebné povoliť v nastaveniach kamery. Odporúča sa skontrolovať a využiť tieto streamy, ak sú k dispozícii."
}
}
} }
}, },
"cameraManagement": { "cameraManagement": {
@ -829,9 +947,9 @@
"createRole": "Rola {{role}} bola úspešne vytvorená", "createRole": "Rola {{role}} bola úspešne vytvorená",
"updateCameras": "Kamery aktualizované pre rolu {{role}}", "updateCameras": "Kamery aktualizované pre rolu {{role}}",
"deleteRole": "Rola {{role}} bola úspešne odstránená", "deleteRole": "Rola {{role}} bola úspešne odstránená",
"userRolesUpdated_one": "{{count}} užívateľ (y) priradené tejto úlohe boli aktualizované pre \"viewer\", ktorý má prístup ku všetkým kamerám.", "userRolesUpdated_one": "",
"userRolesUpdated_few": "", "userRolesUpdated_few": "",
"userRolesUpdated_other": "" "userRolesUpdated_other": "{{count}} užívatelia priradené tejto úlohe boli aktualizované pre \"viewer\", ktorý má prístup ku všetkým kamerám."
}, },
"error": { "error": {
"createRoleFailed": "Nepodarilo sa vytvoriť rolu: {{errorMessage}}", "createRoleFailed": "Nepodarilo sa vytvoriť rolu: {{errorMessage}}",

View File

@ -188,7 +188,10 @@
"yolov9_plate_detection": "YOLOv9 Detekcia ŠPZ", "yolov9_plate_detection": "YOLOv9 Detekcia ŠPZ",
"review_description": "Popis recenzie", "review_description": "Popis recenzie",
"review_description_speed": "Popis recenzie Rýchlosťi", "review_description_speed": "Popis recenzie Rýchlosťi",
"review_description_events_per_second": "Popis" "review_description_events_per_second": "Popis",
"object_description": "Popis objektu",
"object_description_speed": "Popis objektu Rýchlosť",
"object_description_events_per_second": "Popis objektu"
}, },
"averageInf": "Priemerný čas inferencie" "averageInf": "Priemerný čas inferencie"
} }

View File

@ -57,7 +57,8 @@
"failed": "Misslyckades med att starta exporten: {{error}}", "failed": "Misslyckades med att starta exporten: {{error}}",
"endTimeMustAfterStartTime": "Sluttiden måste vara efter starttiden", "endTimeMustAfterStartTime": "Sluttiden måste vara efter starttiden",
"noVaildTimeSelected": "Inget giltigt tidsintervall valt" "noVaildTimeSelected": "Inget giltigt tidsintervall valt"
} },
"view": "Visa"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Spara export", "saveExport": "Spara export",

View File

@ -112,7 +112,7 @@
"oven": "Ugn", "oven": "Ugn",
"blender": "Blandare", "blender": "Blandare",
"book": "Bok", "book": "Bok",
"waste_bin": "Papperskorg", "waste_bin": "Soptunna",
"license_plate": "Nummerplåt", "license_plate": "Nummerplåt",
"toothbrush": "Tandborste", "toothbrush": "Tandborste",
"ups": "UPS", "ups": "UPS",

View File

@ -148,7 +148,8 @@
}, },
"generateSuccess": "Exempelbilder har genererats", "generateSuccess": "Exempelbilder har genererats",
"allImagesRequired_one": "Vänligen klassificera alla bilder. {{count}} bild återstår.", "allImagesRequired_one": "Vänligen klassificera alla bilder. {{count}} bild återstår.",
"allImagesRequired_other": "Vänligen klassificera alla bilder. {{count}} bilder återstår." "allImagesRequired_other": "Vänligen klassificera alla bilder. {{count}} bilder återstår.",
"modelCreated": "Modellen har skapats. Använd vyn Senaste klassificeringar för att lägga till bilder för saknade tillstånd och träna sedan modellen."
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -55,5 +55,8 @@
"clickToSeek": "Klicka för att söka till den här tiden" "clickToSeek": "Klicka för att söka till den här tiden"
}, },
"zoomIn": "Zooma in", "zoomIn": "Zooma in",
"zoomOut": "Zooma ut" "zoomOut": "Zooma ut",
"normalActivity": "Normal",
"needsReview": "Behöver granskas",
"securityConcern": "Säkerhetsproblem"
} }

View File

@ -261,7 +261,8 @@
"header": { "header": {
"zones": "Zoner", "zones": "Zoner",
"ratio": "Förhållandet", "ratio": "Förhållandet",
"area": "Område" "area": "Område",
"score": "Resultat"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -81,7 +81,10 @@
"formattedTimestampMonthDayYear": { "formattedTimestampMonthDayYear": {
"12hour": "d MMM, yyyy", "12hour": "d MMM, yyyy",
"24hour": "d MMM, yyyy" "24hour": "d MMM, yyyy"
} },
"inProgress": "Devam ediyor",
"invalidStartTime": "Geçersiz başlangıç zamanı",
"invalidEndTime": "Geçersiz bitiş zamanı"
}, },
"button": { "button": {
"off": "KAPALI", "off": "KAPALI",
@ -222,7 +225,12 @@
"uiPlayground": "UI Deneme Alanı" "uiPlayground": "UI Deneme Alanı"
}, },
"label": { "label": {
"back": "Geri" "back": "Geri",
"hide": "{{item}} öğesini gizle",
"show": "{{item}} öğesini göster",
"ID": "ID",
"none": "Yok",
"all": "Tümü"
}, },
"notFound": { "notFound": {
"documentTitle": "Bulunamadı - Frigate", "documentTitle": "Bulunamadı - Frigate",
@ -237,6 +245,14 @@
"length": { "length": {
"feet": "feet", "feet": "feet",
"meters": "metre" "meters": "metre"
},
"data": {
"kbps": "kB/s",
"mbps": "MB/s",
"gbps": "GB/s",
"kbph": "kB/saat",
"mbph": "MB/saat",
"gbph": "GB/saat"
} }
}, },
"pagination": { "pagination": {
@ -273,5 +289,14 @@
"admin": "Yönetici", "admin": "Yönetici",
"desc": "Yöneticiler Frigate arayüzündeki bütün özelliklere tam erişim sahibidir. Görüntüleyiciler ise yalnızca kameraları, eski görüntüleri ve inceleme öğelerini görüntülemekle sınırlıdır." "desc": "Yöneticiler Frigate arayüzündeki bütün özelliklere tam erişim sahibidir. Görüntüleyiciler ise yalnızca kameraları, eski görüntüleri ve inceleme öğelerini görüntülemekle sınırlıdır."
}, },
"readTheDocumentation": "Dökümantasyonu oku" "readTheDocumentation": "Dökümantasyonu oku",
"list": {
"two": "{{0}} ve {{1}}",
"many": "{{items}} ve {{last}}",
"separatorWithSpace": ", "
},
"field": {
"optional": "İsteğe bağlı",
"internalID": "Frigateın yapılandırma ve veritabanında kullandığı Dahili Kimlik"
}
} }

View File

@ -64,7 +64,8 @@
"failed": "Dışa aktarım başlatılamadı: {{error}}", "failed": "Dışa aktarım başlatılamadı: {{error}}",
"endTimeMustAfterStartTime": "Bitiş zamanı başlangıç zamanından sonra olmalıdır", "endTimeMustAfterStartTime": "Bitiş zamanı başlangıç zamanından sonra olmalıdır",
"noVaildTimeSelected": "Geçerli bir zaman aralığı seçilmedi" "noVaildTimeSelected": "Geçerli bir zaman aralığı seçilmedi"
} },
"view": "Görüntüle"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Dışa Aktarımı Kaydet", "saveExport": "Dışa Aktarımı Kaydet",
@ -117,7 +118,8 @@
"button": { "button": {
"export": "Dışa Aktar", "export": "Dışa Aktar",
"markAsReviewed": "İncelendi olarak işaretle", "markAsReviewed": "İncelendi olarak işaretle",
"deleteNow": "Şimdi Sil" "deleteNow": "Şimdi Sil",
"markAsUnreviewed": "Gözden geçirilmedi olarak işaretle"
} }
}, },
"imagePicker": { "imagePicker": {
@ -125,6 +127,7 @@
"noImages": "Bu kamera için küçük resim bulunamadı", "noImages": "Bu kamera için küçük resim bulunamadı",
"search": { "search": {
"placeholder": "Etiket/alt etiket kullanarak arama yapın..." "placeholder": "Etiket/alt etiket kullanarak arama yapın..."
} },
"unknownLabel": "Kaydedilen Tetikleme Görseli"
} }
} }

View File

@ -10,44 +10,53 @@
"deleteImages": "Fotoğrafları Sil", "deleteImages": "Fotoğrafları Sil",
"trainModel": "Modeli Eğit", "trainModel": "Modeli Eğit",
"addClassification": "Sınıflandırma Ekle", "addClassification": "Sınıflandırma Ekle",
"deleteModels": "Modelleri Sil" "deleteModels": "Modelleri Sil",
"editModel": "Modeli Düzenle"
}, },
"toast": { "toast": {
"success": { "success": {
"deletedCategory": "Silinmiş Sınıf", "deletedCategory": "Silinmiş Sınıf",
"deletedImage": "Silinmiş Fotoğraflar", "deletedImage": "Silinmiş Fotoğraflar",
"deletedModel_one": "{{tane}} model(ler) başarıyla silindi", "deletedModel_one": "{{count}} model başarıyla silindi",
"deletedModel_other": "", "deletedModel_other": "{{count}} model başarıyla silindi",
"categorizedImage": "Fotoğraf Başarıyla Sınıflandırıldı", "categorizedImage": "Fotoğraf Başarıyla Sınıflandırıldı",
"trainedModel": "Model başarıyla eğitildi.", "trainedModel": "Model başarıyla eğitildi.",
"trainingModel": "Model eğitimi başarıyla başladı." "trainingModel": "Model eğitimi başarıyla başladı.",
"updatedModel": "Model yapılandırması başarıyla güncellendi",
"renamedCategory": "Sınıf başarıyla {{name}} olarak yeniden adlandırıldı"
}, },
"error": { "error": {
"deleteImageFailed": "Silinirken hatayla karşılaşıldı: {{errorMessage}}", "deleteImageFailed": "Silinemedi: {{errorMessage}}",
"deleteModelFailed": "Model silinirken hata oluştu: {{errorMessage}}", "deleteModelFailed": "Model silinirken hata oluştu: {{errorMessage}}",
"categorizeFailed": "Görsel sınıflandırılamadı: {{errorMessage}}", "categorizeFailed": "Görsel sınıflandırılamadı: {{errorMessage}}",
"trainingFailed": "Model eğitimi başlatılamadı: {{errorMessage}}" "trainingFailed": "Model eğitimi başarısız oldu. Ayrıntılar için Frigate günlüklerini kontrol edin.",
"deleteCategoryFailed": "Sınıf silinemedi: {{errorMessage}}",
"trainingFailedToStart": "Model eğitimi başlatılamadı: {{errorMessage}}",
"updateModelFailed": "Model güncellenemedi: {{errorMessage}}",
"renameCategoryFailed": "Sınıf yeniden adlandırılamadı: {{errorMessage}}"
} }
}, },
"deleteCategory": { "deleteCategory": {
"title": "Sınıfı Sil", "title": "Sınıfı Sil",
"desc": "{{name}} adlı sınıfı silmek istediğinizden emin misiniz? Bu işlem, sınıfa ait tüm görselleri kalıcı olarak silecek ve modelin yeniden eğitilmesini gerektirecektir." "desc": "{{name}} adlı sınıfı silmek istediğinizden emin misiniz? Bu işlem, sınıfa ait tüm görselleri kalıcı olarak silecek ve modelin yeniden eğitilmesini gerektirecektir.",
"minClassesTitle": "Sınıf Silinemiyor",
"minClassesDesc": "Bu sınıfı silmeden önce bir sınıflandırma modelinin en az 2 sınıfa sahip olması gerekir. Bu sınıfı silmeden önce başka bir sınıf ekleyin."
}, },
"deleteModel": { "deleteModel": {
"title": "Sınıflandırma Modelini Sil", "title": "Sınıflandırma Modelini Sil",
"single": "{{name}} öğesini silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.", "single": "{{name}} öğesini silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.",
"desc_one": "{{count}} modeli silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.", "desc_one": "{{count}} modeli silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.",
"desc_other": "" "desc_other": "{{count}} modeli silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz."
}, },
"deleteDatasetImages": { "deleteDatasetImages": {
"title": "Eğitim verisi görsellerini sil", "title": "Eğitim verisi görsellerini sil",
"desc_one": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirecektir.", "desc_one": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirir.",
"desc_other": "" "desc_other": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirir."
}, },
"deleteTrainImages": { "deleteTrainImages": {
"title": "Eğitim Görsellerini Sil", "title": "Eğitim Görsellerini Sil",
"desc_one": "{{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.", "desc_one": "{{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"desc_other": "" "desc_other": "{{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz."
}, },
"renameCategory": { "renameCategory": {
"title": "Sınıfı Yeniden Adlandır", "title": "Sınıfı Yeniden Adlandır",
@ -76,6 +85,43 @@
"title": "Nesne sınıflandırma modeli mevcut değil", "title": "Nesne sınıflandırma modeli mevcut değil",
"description": "Algılanan nesneleri sınıflandırmak için özel bir model oluşturun.", "description": "Algılanan nesneleri sınıflandırmak için özel bir model oluşturun.",
"buttonText": "Nesne Modeli Oluştur" "buttonText": "Nesne Modeli Oluştur"
},
"state": {
"title": "Durum Sınıflandırma Modeli Yok",
"description": "Belirli kamera alanlarındaki durum değişimlerini izlemek ve sınıflandırmak için özel bir model oluşturun.",
"buttonText": "Durum Modeli Oluştur"
}
},
"tooltip": {
"trainingInProgress": "Model şu anda eğitiliyor",
"noNewImages": "Eğitilecek yeni görsel bulunmuyor. Önce veri kümesinde daha fazla görseli sınıflandırın.",
"noChanges": "Son eğitimden bu yana veri kümesinde herhangi bir değişiklik yapılmadı.",
"modelNotReady": "Model eğitim için hazır değil"
},
"edit": {
"title": "Sınıflandırma Modelini Düzenle",
"descriptionState": "Bu durum sınıflandırma modeli için sınıfları düzenleyin. Değişiklikler, modelin yeniden eğitilmesini gerektirecektir.",
"descriptionObject": "Bu nesne sınıflandırma modeli için nesne türünü ve sınıflandırma türünü düzenleyin.",
"stateClassesInfo": "Not: Durum sınıflarını değiştirmek, modelin güncellenmiş sınıflarla yeniden eğitilmesini gerektirir."
},
"wizard": {
"title": "Yeni Sınıflandırma Oluştur",
"steps": {
"nameAndDefine": "Adlandır ve Tanımla",
"stateArea": "Durum Alanı",
"chooseExamples": "Örnekleri Seç"
},
"step1": {
"description": "State modelleri, sabit kamera alanlarındaki değişiklikleri (ör. kapının açılması/kapanması) izler. Nesne modelleri ise algılanan nesnelere ek sınıflandırmalar ekler (ör. bilinen hayvanlar, kuryeler vb.).",
"name": "Ad",
"namePlaceholder": "Model adını girin...",
"type": "Tür",
"typeState": "Durum",
"typeObject": "Nesne",
"objectLabel": "Nesne Etiketi",
"objectLabelPlaceholder": "Nesne türünü seçin...",
"classificationType": "Sınıflandırma Türü",
"classificationTypeTip": "Sınıflandırma türleri hakkında bilgi edinin"
} }
} }
} }

View File

@ -42,14 +42,15 @@
"detail": { "detail": {
"label": "Detay", "label": "Detay",
"aria": "Ayrıntı görünümünü aç/kapat", "aria": "Ayrıntı görünümünü aç/kapat",
"trackedObject_one": "Nesne", "trackedObject_one": "{{count}} nesne",
"trackedObject_other": "nesneler", "trackedObject_other": "{{count}} nesne",
"noObjectDetailData": "Nesneye ait ayrıntılı veri bulunmuyor.", "noObjectDetailData": "Nesneye ait ayrıntılı veri bulunmuyor.",
"settings": "Ayrıntılı Görünüm Ayarları", "settings": "Ayrıntılı Görünüm Ayarları",
"alwaysExpandActive": { "alwaysExpandActive": {
"title": "Etkin olanı her zaman genişlet", "title": "Etkin olanı her zaman genişlet",
"desc": "Varsa, etkin inceleme öğesinin nesne ayrıntılarını daima göster." "desc": "Varsa, etkin inceleme öğesinin nesne ayrıntılarını daima göster."
} },
"noDataFound": "İncelenecek ayrıntılı veri bulunmuyor"
}, },
"objectTrack": { "objectTrack": {
"trackedPoint": "Takip edilen nokta", "trackedPoint": "Takip edilen nokta",

View File

@ -19,7 +19,7 @@
"updatedSublabel": "Alt etiket başarıyla gücellendi.", "updatedSublabel": "Alt etiket başarıyla gücellendi.",
"regenerate": "Yeni bir açıklama {{provider}} sağlayıcısından talep edildi. Sağlayıcının hızına bağlı olarak yeni açıklamanın oluşturulması biraz zaman alabilir.", "regenerate": "Yeni bir açıklama {{provider}} sağlayıcısından talep edildi. Sağlayıcının hızına bağlı olarak yeni açıklamanın oluşturulması biraz zaman alabilir.",
"updatedLPR": "Plaka başarıyla güncellendi.", "updatedLPR": "Plaka başarıyla güncellendi.",
"audioTranscription": "Ses çözümlemesi başarıyla talep edildi." "audioTranscription": "Ses dökümü başarıyla istendi. Frigate sunucunuzun hızına bağlı olarak döküm işlemi tamamlanması biraz zaman alabilir."
}, },
"error": { "error": {
"updatedSublabelFailed": "Alt etiket güncellenemedi: {{errorMessage}}", "updatedSublabelFailed": "Alt etiket güncellenemedi: {{errorMessage}}",
@ -110,7 +110,8 @@
"object_lifecycle": "nesne yaşam döngüsü", "object_lifecycle": "nesne yaşam döngüsü",
"snapshot": "fotoğraf", "snapshot": "fotoğraf",
"video": "video", "video": "video",
"thumbnail": "küçük resim" "thumbnail": "küçük resim",
"tracking_details": "izleme ayrıntıları"
}, },
"objectLifecycle": { "objectLifecycle": {
"title": "Nesne Yaşam Döngüsü", "title": "Nesne Yaşam Döngüsü",
@ -244,8 +245,30 @@
"external": "{{label}} tespit edildi", "external": "{{label}} tespit edildi",
"header": { "header": {
"zones": "Bölgeler", "zones": "Bölgeler",
"ratio": "Oran" "ratio": "Oran",
} "area": "Alan",
"score": "Skor"
}
},
"annotationSettings": {
"title": "Etiketleme Ayarları",
"showAllZones": {
"title": "Tüm Bölgeleri Göster",
"desc": "Herhangi bir bölgeye nesne girdiğinde, o karede bölgeleri her zaman göster."
},
"offset": {
"label": "Etiket Kaydırma Değeri",
"desc": "Bu veriler kameranızın algılama akışından gelir ancak kayıt akışındaki görüntülerin üzerine bindirilir. İki akışın tamamen senkronize olması pek olası değildir. Bu nedenle sınır kutusu ile görüntü birebir hizalı olmayabilir. Bu ayarı kullanarak anotasyonları zamansal olarak ileri veya geri kaydırabilir ve kaydedilmiş görüntülerle daha iyi hizalayabilirsiniz.",
"millisecondsToOffset": "Algılama anotasyonlarının kaydırılacağı milisaniye değeri. <em>Varsayılan: 0</em>",
"tips": "Videonun oynatımı kutulardan ve yol noktalarından öndeyse değeri düşürün; geride kalıyorsa değeri artırın. Bu değer negatif olabilir.",
"toast": {
"success": "{{camera}} için anotasyon kaydırması yapılandırma dosyasına kaydedildi. Değişikliklerin uygulanması için Frigatei yeniden başlatın."
}
}
},
"carousel": {
"previous": "Önceki slayt",
"next": "Sonraki slayt"
} }
} }
} }

View File

@ -27,7 +27,7 @@
"nextSteps": "Sağlam bir temel oluşturmak için:<li>Her tespit edilen kişi için **Recent Recognitions (Son Tanımalar)** sekmesini kullanarak görüntüleri seçin ve eğitim gerçekleştirin.</li> <li>En iyi sonuçlar için doğrudan önden çekilmiş yüz görüntülerine odaklanın; yüzlerin açılı göründüğü fotoğrafları eğitimde kullanmaktan kaçının.</li>" "nextSteps": "Sağlam bir temel oluşturmak için:<li>Her tespit edilen kişi için **Recent Recognitions (Son Tanımalar)** sekmesini kullanarak görüntüleri seçin ve eğitim gerçekleştirin.</li> <li>En iyi sonuçlar için doğrudan önden çekilmiş yüz görüntülerine odaklanın; yüzlerin açılı göründüğü fotoğrafları eğitimde kullanmaktan kaçının.</li>"
}, },
"train": { "train": {
"title": "Son Algılananlar", "title": "Son Tanımalar",
"aria": "Son algılanan nesneleri seç", "aria": "Son algılanan nesneleri seç",
"empty": "Yakın zamanda yüz tanıma denemesi olmadı" "empty": "Yakın zamanda yüz tanıma denemesi olmadı"
}, },
@ -61,7 +61,7 @@
"addFaceLibrary": "{{name}} başarıyla Yüz Kütüphanesine eklendi!", "addFaceLibrary": "{{name}} başarıyla Yüz Kütüphanesine eklendi!",
"trainedFace": "Yüz başarıyla eğitildi.", "trainedFace": "Yüz başarıyla eğitildi.",
"uploadedImage": "Resim başarıyla yüklendi.", "uploadedImage": "Resim başarıyla yüklendi.",
"updatedFaceScore": "Yüz skoru başarıyla güncellendi.", "updatedFaceScore": "Yüz tanıma skoru {{name}} ({{score}}) olarak başarıyla güncellendi.",
"renamedFace": "Yüz başarıyla {{name}} olarak adlandırıldı" "renamedFace": "Yüz başarıyla {{name}} olarak adlandırıldı"
}, },
"error": { "error": {

View File

@ -52,7 +52,10 @@
"label": "Arka planda oynat", "label": "Arka planda oynat",
"tips": "Yayını oynatıcı arkadayken de devam ettirmek için bu seçeneği açın." "tips": "Yayını oynatıcı arkadayken de devam ettirmek için bu seçeneği açın."
}, },
"title": "Yayın" "title": "Yayın",
"debug": {
"picker": "Debug modunda akış seçimi kullanılamaz. Debug görünümü her zaman “detect” rolüne atanmış akışı kullanır."
}
}, },
"cameraSettings": { "cameraSettings": {
"recording": "Kayıt", "recording": "Kayıt",

View File

@ -8,7 +8,7 @@
"motionTuner": "Hareket Algılama Ayarları - Frigate", "motionTuner": "Hareket Algılama Ayarları - Frigate",
"frigatePlus": "Frigate+ Ayarları - Frigate", "frigatePlus": "Frigate+ Ayarları - Frigate",
"object": "Hata Ayıklama - Frigate", "object": "Hata Ayıklama - Frigate",
"general": "Genel Ayarlar - Frigate", "general": "Kullanıcı Arayüzü Ayarları Frigate",
"notifications": "Bildirim Ayarları - Frigate", "notifications": "Bildirim Ayarları - Frigate",
"enrichments": "Zenginleştirme Ayarları - Frigate", "enrichments": "Zenginleştirme Ayarları - Frigate",
"cameraManagement": "Kameraları Yönet - Frigate", "cameraManagement": "Kameraları Yönet - Frigate",
@ -31,7 +31,7 @@
"roles": "Roller" "roles": "Roller"
}, },
"general": { "general": {
"title": "Genel Ayarlar", "title": "Kullanıcı Arayüzü Ayarları",
"liveDashboard": { "liveDashboard": {
"automaticLiveView": { "automaticLiveView": {
"label": "Otomatik Canlı Görünüm", "label": "Otomatik Canlı Görünüm",
@ -45,6 +45,10 @@
"displayCameraNames": { "displayCameraNames": {
"label": "Kamera Adlarını Her Zaman Göster", "label": "Kamera Adlarını Her Zaman Göster",
"desc": "Çok kameralı canlı izleme panelinde, kamera adlarını her zaman bir etiket içinde göster." "desc": "Çok kameralı canlı izleme panelinde, kamera adlarını her zaman bir etiket içinde göster."
},
"liveFallbackTimeout": {
"label": "Canlı Oynatıcı Yedekleme Zaman Aşımı",
"desc": "Bir kameranın yüksek kaliteli canlı akışı kullanılamadığında, belirtilen saniye kadar sonra düşük bant genişliği moduna geç. Varsayılan: 3."
} }
}, },
"storedLayouts": { "storedLayouts": {

View File

@ -43,7 +43,12 @@
"gpuEncoder": "GPU Kodlayıcı", "gpuEncoder": "GPU Kodlayıcı",
"title": "Donanım Bilgisi", "title": "Donanım Bilgisi",
"npuUsage": "NPU Kullanımı", "npuUsage": "NPU Kullanımı",
"npuMemory": "NPU Bellek Kullanımı" "npuMemory": "NPU Bellek Kullanımı",
"intelGpuWarning": {
"title": "Intel GPU İstatistik Uyarısı",
"message": "GPU istatistikleri kullanılamıyor",
"description": "Bu, Intelin GPU istatistik raporlama araçlarında (intel_gpu_top) bilinen bir hatadır; araç çalışmayı bozarak, donanımsal hızlandırma ve nesne tespiti (i)GPU üzerinde doğru şekilde çalışıyor olsa bile, GPU kullanımını tekrar tekrar %0 olarak döndürür. Bu bir Frigate hatası değildir. Sorunu geçici olarak düzeltmek ve GPUnun doğru çalıştığını doğrulamak için host sistemini yeniden başlatabilirsiniz. Bu durum performansı etkilemez."
}
}, },
"otherProcesses": { "otherProcesses": {
"title": "Diğer İşlemler", "title": "Diğer İşlemler",

View File

@ -57,7 +57,8 @@
"endTimeMustAfterStartTime": "Час закінчення повинен бути після часу початку", "endTimeMustAfterStartTime": "Час закінчення повинен бути після часу початку",
"noVaildTimeSelected": "Не вибрано допустимий діапазон часу" "noVaildTimeSelected": "Не вибрано допустимий діапазон часу"
}, },
"success": "Експорт успішно розпочато. Перегляньте файл на сторінці експорту." "success": "Експорт успішно розпочато. Перегляньте файл на сторінці експорту.",
"view": "Переглянути"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "Зберегти експорт", "saveExport": "Зберегти експорт",

View File

@ -152,7 +152,12 @@
"generateSuccess": "Зразки зображень успішно створено", "generateSuccess": "Зразки зображень успішно створено",
"allImagesRequired_one": "Будь ласка, класифікуйте всі зображення. Залишилося {{count}} зображення.", "allImagesRequired_one": "Будь ласка, класифікуйте всі зображення. Залишилося {{count}} зображення.",
"allImagesRequired_few": "Будь ласка, класифікуйте всі зображення. Залишилося зображень: {{count}}.", "allImagesRequired_few": "Будь ласка, класифікуйте всі зображення. Залишилося зображень: {{count}}.",
"allImagesRequired_many": "Будь ласка, класифікуйте всі зображення. Залишилося зображень: {{count}}." "allImagesRequired_many": "Будь ласка, класифікуйте всі зображення. Залишилося зображень: {{count}}.",
"modelCreated": "Модель успішно створено. Використовуйте режим перегляду «Нещодавні класифікації», щоб додати зображення для відсутніх станів, а потім навчіть модель.",
"missingStatesWarning": {
"title": "Приклади відсутніх станів",
"description": "Ви не вибрали приклади для всіх станів. Модель не буде навчена, доки всі стани не матимуть зображень. Після продовження скористайтеся поданням «Нещодавні класифікації», щоб класифікувати зображення для відсутніх станів, а потім навчіть модель."
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -55,5 +55,8 @@
"clickToSeek": "Натисніть, щоб перейти до цього часу" "clickToSeek": "Натисніть, щоб перейти до цього часу"
}, },
"zoomIn": "Збільшити масштаб", "zoomIn": "Збільшити масштаб",
"zoomOut": "Зменшити масштаб" "zoomOut": "Зменшити масштаб",
"normalActivity": "Звичайний",
"needsReview": "Потребує перегляду",
"securityConcern": "Проблема безпеки"
} }

View File

@ -263,7 +263,8 @@
"header": { "header": {
"zones": "Зони", "zones": "Зони",
"ratio": "Співвідношення", "ratio": "Співвідношення",
"area": "Площа" "area": "Площа",
"score": "Рахунок"
} }
}, },
"annotationSettings": { "annotationSettings": {

View File

@ -64,7 +64,8 @@
"failed": "导出失败:{{error}}", "failed": "导出失败:{{error}}",
"endTimeMustAfterStartTime": "结束时间必须在开始时间之后", "endTimeMustAfterStartTime": "结束时间必须在开始时间之后",
"noVaildTimeSelected": "未选择有效的时间范围" "noVaildTimeSelected": "未选择有效的时间范围"
} },
"view": "查看"
}, },
"fromTimeline": { "fromTimeline": {
"saveExport": "保存导出", "saveExport": "保存导出",

View File

@ -144,7 +144,12 @@
"classifyFailed": "图片分类失败:{{error}}" "classifyFailed": "图片分类失败:{{error}}"
}, },
"generateSuccess": "样本图片生成成功", "generateSuccess": "样本图片生成成功",
"allImagesRequired_other": "请对所有图片进行分类。还有 {{count}} 张图片需要分类。" "allImagesRequired_other": "请对所有图片进行分类。还有 {{count}} 张图片需要分类。",
"modelCreated": "模型创建成功。请在“最近分类”页面为缺失的状态添加图片,然后训练模型。",
"missingStatesWarning": {
"title": "缺失状态示例",
"description": "你尚未为所有状态选择示例。在所有状态都有图片数据之前,模型将不能训练。继续后,请使用“最近分类”视图为缺少图片的状态分类添加图片,然后再训练模型。"
}
} }
}, },
"deleteModel": { "deleteModel": {

View File

@ -56,5 +56,8 @@
"clickToSeek": "点击从该时间进行寻找" "clickToSeek": "点击从该时间进行寻找"
}, },
"zoomIn": "放大", "zoomIn": "放大",
"zoomOut": "缩小" "zoomOut": "缩小",
"normalActivity": "正常",
"needsReview": "需要核查",
"securityConcern": "安全隐患"
} }

Some files were not shown because too many files have changed in this diff Show More