Compare commits

...

50 Commits

Author SHA1 Message Date
Blake Blackshear
cb943022f9 updates for yolov9 coral support 2026-02-27 01:35:35 +00:00
Josh Hawkins
a0d6cb5c15 Docs updates (#22131)
* fix config examples

* remove reference to trt model generation script

* tweak tmpfs comment

* update old version

* tweak tmpfs comment

* clean up and clarify tensorrt

* re-add size

* Update docs/docs/configuration/hardware_acceleration_enrichments.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2026-02-26 10:57:33 -07:00
Josh Hawkins
352d271fe4 Update HA docs with MQTT example (#22098)
* update HA docs with MQTT example

* format block as yaml
2026-02-23 10:25:03 -06:00
Kai Curry
a6e11a59d6 docs: Add detail to face recognition MQTT update docs (#21942)
* Add detail to face recognition MQTT update docs

Clarify that the weighted average favors larger faces and
higher-confidence detections, that unknown attempts are excluded,
and document when name/score will be null/0.0.

* Fix score decimal in MQTT face recognition documentation

`0.0` in JSON is just `0`.

* Clarify score is a running weighted average

* Simplify MQTT tracked_object_update docs with inline comments

Move scoring logic details to face recognition docs and keep
MQTT reference concise with inline field comments and links.

* fix (expand) lpr doc link

* rm obvious lpr comments

---------

Co-authored-by: Kai Curry <kai@wjerk.com>
2026-02-23 06:46:55 -07:00
Kai Curry
a7d8d13d9a docs: Add frame selection and clean copy details to snapshots docs (#21946)
* docs: Add frame selection and clean copy details to snapshots docs

Document how Frigate selects the best frame for snapshots, explain the
difference between regular snapshots and clean copies, fix internal
links to use absolute paths, and highlight Frigate+ as the primary
reason to keep clean_copy enabled if regular snapshot is configured clean.

* revert - do not use the word event

* rm clean copy is only saved when `clean_copy` is enabled

* Simplified the Frame Selection section down to a single paragraph.

* rm note about snapshot file ext change from png to webp

---------

Co-authored-by: Kai Curry <kai@wjerk.com>
2026-02-23 06:45:29 -07:00
Matt Rusiniak
4d51f7a1bb Fix script for downloading RF-DETR (#22083) 2026-02-22 07:57:27 -07:00
GuoQing Liu
c9be98f935 docs: fix hailo setup numbering error (#22066) 2026-02-21 12:19:46 -06:00
GuoQing Liu
85ed8c6432 docs: fix image address (#22067) 2026-02-21 12:19:21 -06:00
Hosted Weblate
f0d69f7856 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (13 of 13 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (10 of 10 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (122 of 122 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (49 of 49 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (98 of 98 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: beginner2047 <leoywng44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
5b16978430 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (654 of 654 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/views-settings/nb_NO/
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
b6142e3017 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (654 of 654 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-settings/zh_Hans/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
e1a6f69c4e Translated using Weblate (Slovenian)
Currently translated at 37.7% (247 of 654 strings)

Translated using Weblate (Slovenian)

Currently translated at 36.0% (236 of 654 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: tadythefish <tady.the.fish@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
d940ff3341 Translated using Weblate (Slovak)
Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Slovak)

Currently translated at 96.2% (52 of 54 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Slovak)

Currently translated at 99.1% (121 of 122 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Slovak)

Currently translated at 97.7% (639 of 654 strings)

Translated using Weblate (Slovak)

Currently translated at 95.5% (130 of 136 strings)

Translated using Weblate (Slovak)

Currently translated at 99.8% (500 of 501 strings)

Translated using Weblate (Slovak)

Currently translated at 99.2% (135 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OskarSidor <oskar.sidor@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-filter/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/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-filter
Translation: Frigate NVR/objects
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
2026-02-21 10:22:26 -06:00
Hosted Weblate
1f14f1cda0 Added translation using Weblate (Georgian)
Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Co-authored-by: George Hertz <georgedot@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-02-21 10:22:26 -06:00
Hosted Weblate
806c5892b6 Translated using Weblate (Swedish)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (10 of 10 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
8bc82060f1 Translated using Weblate (French)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (French)

Currently translated at 100.0% (654 of 654 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-settings/fr/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
3cc8311b48 Translated using Weblate (Spanish)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (74 of 74 strings)

Co-authored-by: Ferrer <juanemilioferrer+weblate@outlook.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ramitada <ramitada@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
71139ef842 Translated using Weblate (Dutch)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (54 of 54 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/common/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
f4f32a3f59 Translated using Weblate (Indonesian)
Currently translated at 54.9% (67 of 122 strings)

Translated using Weblate (Indonesian)

Currently translated at 48.2% (27 of 56 strings)

Co-authored-by: Catto <sisharyadi@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/id/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/id/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
2026-02-21 10:22:26 -06:00
Hosted Weblate
29a4076589 Translated using Weblate (Italian)
Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (217 of 217 strings)

Co-authored-by: Edoardo Macrì <edoardo@edoardomacri.it>
Co-authored-by: Filippo-riccardo Franzin (filippo franzin) <filric01@gmail.com>
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/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
d4d4164f99 Translated using Weblate (Polish)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (654 of 654 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J P <jpoloczek24@gmail.com>
Co-authored-by: Krzysztof <krzysztof64@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
5cc81bc7a1 Translated using Weblate (Hungarian)
Currently translated at 62.8% (411 of 654 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Hungarian)

Currently translated at 88.9% (121 of 136 strings)

Translated using Weblate (Hungarian)

Currently translated at 35.2% (43 of 122 strings)

Translated using Weblate (Hungarian)

Currently translated at 98.1% (53 of 54 strings)

Translated using Weblate (Hungarian)

Currently translated at 77.9% (106 of 136 strings)

Translated using Weblate (Hungarian)

Currently translated at 96.4% (54 of 56 strings)

Translated using Weblate (Hungarian)

Currently translated at 95.3% (41 of 43 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/hu/
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-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
1856e62ad0 Translated using Weblate (Catalan)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (654 of 654 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-settings/ca/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
252f1a6eb9 Translated using Weblate (Japanese)
Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (217 of 217 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 塩野拓夢 <salt.field1210@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ja/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
ad076aefff Translated using Weblate (Romanian)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (654 of 654 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-settings/ro/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
8a95cd2472 Translated using Weblate (Estonian)
Currently translated at 100.0% (56 of 56 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/et/
Translation: Frigate NVR/components-dialog
2026-02-21 10:22:26 -06:00
Hosted Weblate
3aeeb09834 Translated using Weblate (Danish)
Currently translated at 21.4% (12 of 56 strings)

Translated using Weblate (Danish)

Currently translated at 22.4% (11 of 49 strings)

Translated using Weblate (Danish)

Currently translated at 11.0% (15 of 136 strings)

Translated using Weblate (Danish)

Currently translated at 41.8% (18 of 43 strings)

Translated using Weblate (Danish)

Currently translated at 1.8% (12 of 654 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Danish)

Currently translated at 35.1% (26 of 74 strings)

Co-authored-by: Anders Fosgerau <afosgerau@gmail.com>
Co-authored-by: Andreas Scholdan <andreas@scholdan.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/da/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
8c98b4c9d0 Translated using Weblate (German)
Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (German)

Currently translated at 98.2% (55 of 56 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: PhillyMay <mein.alias@outlook.com>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
a2d6e04f45 Translated using Weblate (Thai)
Currently translated at 64.8% (48 of 74 strings)

Translated using Weblate (Thai)

Currently translated at 26.4% (36 of 136 strings)

Translated using Weblate (Thai)

Currently translated at 77.5% (38 of 49 strings)

Translated using Weblate (Thai)

Currently translated at 13.4% (88 of 654 strings)

Translated using Weblate (Thai)

Currently translated at 3.2% (4 of 122 strings)

Translated using Weblate (Thai)

Currently translated at 78.5% (44 of 56 strings)

Translated using Weblate (Thai)

Currently translated at 8.8% (12 of 136 strings)

Translated using Weblate (Thai)

Currently translated at 46.2% (25 of 54 strings)

Translated using Weblate (Thai)

Currently translated at 90.0% (9 of 10 strings)

Co-authored-by: Hasan Bula <sun20689@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/th/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
7c11747ab3 Translated using Weblate (Latvian)
Currently translated at 12.8% (84 of 654 strings)

Translated using Weblate (Latvian)

Currently translated at 99.5% (216 of 217 strings)

Translated using Weblate (Latvian)

Currently translated at 14.7% (20 of 136 strings)

Translated using Weblate (Latvian)

Currently translated at 13.2% (18 of 136 strings)

Translated using Weblate (Latvian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Latvian)

Currently translated at 11.3% (74 of 654 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jānis Sanders <sanders.janis@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/lv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/lv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/lv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/lv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/lv/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Shay Collings
5f2536dcd8 Added section for macOS installation including port conflict warning, example compose file and reference to Apple Silicon Detector (#22025)
Co-authored-by: Shay Collings <shay.collings@gmail.com>
2026-02-19 08:04:28 -06:00
Nicolas Mowen
ef5608a970 Imporove attributes handling (#22035)
* Revert "Fix saving attributes for object to DB (#22000)"

This reverts commit 73c1e12faf.

* Automatically handle attributes by obj data parsing
2026-02-18 10:48:45 -07:00
dirk150
3101d5f27b Update hardware.md (#22018)
Update broken NVIDIA TensorRT Support Matrix link.
2026-02-15 20:59:36 -07:00
Josh Hawkins
4dcd2968b3 consolidate attribute filtering to match non-english and url encoded values (#22002) 2026-02-14 08:33:17 -06:00
Nicolas Mowen
73c1e12faf Fix saving attributes for object to DB (#22000) 2026-02-14 07:40:08 -06:00
Josh Hawkins
5f93cee732 fix tooltips (#21989) 2026-02-13 07:22:28 -06:00
Josh Hawkins
67e3f8eefa Miscellaneous fixes (0.17 beta) (#21934)
* improve chip tooltip display

- use formatList to use i18n separators instead of commas
- ensure the correct event type is used so sublabels are not run through normalization
- remove smart-capitalization classes as translated labels use i18n (which includes capitalization)
- give icons an optional key so that the console doesn't complain about duplication when rendering

* Add grace period for recording segment checks to prevent spurious ffmpeg restarts

* add admin precedence to proxy role_map resolution to prevent downgrade

* clean up

* formatting

* work around radix pointer events issue when dialog is opened from drawer

fixes https://github.com/blakeblackshear/frigate/discussions/21940

* prevent console warnings about missing titles and descriptions

make these invisible with sr-only

* remove duplicate language

* Adjust handling for device sizes

* Cleanup

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2026-02-12 13:42:08 -07:00
GuoQing Liu
e1005ac2a5 fix: fix object classification model not reload (#21982) 2026-02-12 08:56:52 -07:00
Hosted Weblate
6accc38275 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (651 of 651 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
ff20be58b4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (54 of 54 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/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
fc3f798bd6 Translated using Weblate (Swedish)
Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (217 of 217 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
44e695362a Translated using Weblate (French)
Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (French)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (French)

Currently translated at 100.0% (217 of 217 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/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
9fbc854bf5 Translated using Weblate (Polish)
Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (54 of 54 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kamil AvH <kamil.arszagi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
334acd6078 Translated using Weblate (Catalan)
Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (217 of 217 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/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
92c503070c Translated using Weblate (Japanese)
Currently translated at 100.0% (98 of 98 strings)

Translated using Weblate (Japanese)

Currently translated at 99.2% (135 of 136 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (216 of 217 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (54 of 54 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Yusuke, Hirota <hirota.yusuke@jp.fujitsu.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ja/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ja/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-system
2026-02-07 10:42:52 -07:00
Hosted Weblate
ecd7d04228 Translated using Weblate (Romanian)
Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (54 of 54 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/common/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
11576e9e68 Translated using Weblate (Estonian)
Currently translated at 29.4% (192 of 651 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Estonian)

Currently translated at 33.0% (45 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/et/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/et/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/et/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Hosted Weblate
2cfb118981 Translated using Weblate (Danish)
Currently translated at 39.1% (196 of 501 strings)

Translated using Weblate (Danish)

Currently translated at 56.1% (55 of 98 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (25 of 25 strings)

Co-authored-by: Bjorn Jorgensen <github@bjornz.dk>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/da/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/da/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-live
2026-02-07 10:42:52 -07:00
Hosted Weblate
e1c273be8d Translated using Weblate (German)
Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (German)

Currently translated at 100.0% (651 of 651 strings)

Translated using Weblate (German)

Currently translated at 100.0% (217 of 217 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sebastian Sie <sebastian.neuplanitz@googlemail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translation: Frigate NVR/common
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
2026-02-07 10:42:52 -07:00
Josh Hawkins
ea1533f456 Miscellaneous Fixes (0.17 beta) (#21912)
* fix display of custom sublabels in review item chip

use "manual" as type so it's not run through translation and normalized, producing "Josh S Car" instead of "Josh's Car"

* use css instead of js for reviewed button hover state in filmstrip
2026-02-07 09:06:55 -07:00
171 changed files with 2495 additions and 572 deletions

View File

@@ -166,6 +166,10 @@ In this example:
- If no mapping matches, Frigate falls back to `default_role` if configured.
- If `role_map` is not defined, Frigate assumes the role header directly contains `admin`, `viewer`, or a custom role name.
**Note on matching semantics:**
- Admin precedence: if the `admin` mapping matches, Frigate resolves the session to `admin` to avoid accidental downgrade when a user belongs to multiple groups (for example both `admin` and `viewer` groups).
#### Port Considerations
**Authenticated Port (8971)**

View File

@@ -12,23 +12,20 @@ Some of Frigate's enrichments can use a discrete GPU or integrated GPU for accel
Object detection and enrichments (like Semantic Search, Face Recognition, and License Plate Recognition) are independent features. To use a GPU / NPU for object detection, see the [Object Detectors](/configuration/object_detectors.md) documentation. If you want to use your GPU for any supported enrichments, you must choose the appropriate Frigate Docker image for your GPU / NPU and configure the enrichment according to its specific documentation.
- **AMD**
- ROCm support in the `-rocm` Frigate image is automatically detected for enrichments, but only some enrichment models are available due to ROCm's focus on LLMs and limited stability with certain neural network models. Frigate disables models that perform poorly or are unstable to ensure reliable operation, so only compatible enrichments may be active.
- **Intel**
- OpenVINO will automatically be detected and used for enrichments in the default Frigate image.
- **Note:** Intel NPUs have limited model support for enrichments. GPU is recommended for enrichments when available.
- **Nvidia**
- Nvidia GPUs will automatically be detected and used for enrichments in the `-tensorrt` Frigate image.
- Jetson devices will automatically be detected and used for enrichments in the `-tensorrt-jp6` Frigate image.
- **RockChip**
- RockChip NPU will automatically be detected and used for semantic search v1 and face recognition in the `-rk` Frigate image.
Utilizing a GPU for enrichments does not require you to use the same GPU for object detection. For example, you can run the `tensorrt` Docker image for enrichments and still use other dedicated hardware like a Coral or Hailo for object detection. However, one combination that is not supported is TensorRT for object detection and OpenVINO for enrichments.
Utilizing a GPU for enrichments does not require you to use the same GPU for object detection. For example, you can run the `tensorrt` Docker image to run enrichments on an Nvidia GPU and still use other dedicated hardware like a Coral or Hailo for object detection. However, one combination that is not supported is the `tensorrt` image for object detection on an Nvidia GPU and Intel iGPU for enrichments.
:::note

View File

@@ -29,12 +29,12 @@ cameras:
When running Frigate through the HA Add-on, the Frigate `/config` directory is mapped to `/addon_configs/<addon_directory>` in the host, where `<addon_directory>` is specific to the variant of the Frigate Add-on you are running.
| Add-on Variant | Configuration directory |
| -------------------------- | -------------------------------------------- |
| Frigate | `/addon_configs/ccab4aaf_frigate` |
| Frigate (Full Access) | `/addon_configs/ccab4aaf_frigate-fa` |
| Frigate Beta | `/addon_configs/ccab4aaf_frigate-beta` |
| Frigate Beta (Full Access) | `/addon_configs/ccab4aaf_frigate-fa-beta` |
| Add-on Variant | Configuration directory |
| -------------------------- | ----------------------------------------- |
| Frigate | `/addon_configs/ccab4aaf_frigate` |
| Frigate (Full Access) | `/addon_configs/ccab4aaf_frigate-fa` |
| Frigate Beta | `/addon_configs/ccab4aaf_frigate-beta` |
| Frigate Beta (Full Access) | `/addon_configs/ccab4aaf_frigate-fa-beta` |
**Whenever you see `/config` in the documentation, it refers to this directory.**
@@ -109,15 +109,16 @@ detectors:
record:
enabled: True
retain:
motion:
days: 7
mode: motion
alerts:
retain:
days: 30
mode: motion
detections:
retain:
days: 30
mode: motion
snapshots:
enabled: True
@@ -165,15 +166,16 @@ detectors:
record:
enabled: True
retain:
motion:
days: 7
mode: motion
alerts:
retain:
days: 30
mode: motion
detections:
retain:
days: 30
mode: motion
snapshots:
enabled: True
@@ -231,15 +233,16 @@ model:
record:
enabled: True
retain:
motion:
days: 7
mode: motion
alerts:
retain:
days: 30
mode: motion
detections:
retain:
days: 30
mode: motion
snapshots:
enabled: True

View File

@@ -34,7 +34,7 @@ Frigate supports multiple different detectors that work on different types of ha
**Nvidia GPU**
- [ONNX](#onnx): TensorRT will automatically be detected and used as a detector in the `-tensorrt` Frigate image when a supported ONNX model is configured.
- [ONNX](#onnx): Nvidia GPUs will automatically be detected and used as a detector in the `-tensorrt` Frigate image when a supported ONNX model is configured.
**Nvidia Jetson** <CommunityBadge />
@@ -65,7 +65,7 @@ This does not affect using hardware for accelerating other tasks such as [semant
# Officially Supported Detectors
Frigate provides the following builtin detector types: `cpu`, `edgetpu`, `hailo8l`, `memryx`, `onnx`, `openvino`, `rknn`, and `tensorrt`. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
Frigate provides a number of builtin detector types. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
## Edge TPU Detector
@@ -157,7 +157,13 @@ A TensorFlow Lite model is provided in the container at `/edgetpu_model.tflite`
#### YOLOv9
YOLOv9 models that are compiled for TensorFlow Lite and properly quantized are supported, but not included by default. [Download the model](https://github.com/dbro/frigate-detector-edgetpu-yolo9/releases/download/v1.0/yolov9-s-relu6-best_320_int8_edgetpu.tflite), bind mount the file into the container, and provide the path with `model.path`. Note that the linked model requires a 17-label [labelmap file](https://raw.githubusercontent.com/dbro/frigate-detector-edgetpu-yolo9/refs/heads/main/labels-coco17.txt) that includes only 17 COCO classes.
YOLOv9 models that are compiled for TensorFlow Lite and properly quantized are supported, but not included by default. [Instructions](#yolov9-for-google-coral-support) for downloading a model with support for the Google Coral.
:::tip
**Frigate+ Users:** Follow the [instructions](../integrations/plus#use-models) to set a model ID in your config file.
:::
<details>
<summary>YOLOv9 Setup & Config</summary>
@@ -654,11 +660,9 @@ ONNX is an open format for building machine learning models, Frigate supports ru
If the correct build is used for your GPU then the GPU will be detected and used automatically.
- **AMD**
- ROCm will automatically be detected and used with the ONNX detector in the `-rocm` Frigate image.
- **Intel**
- OpenVINO will automatically be detected and used with the ONNX detector in the default Frigate image.
- **Nvidia**
@@ -1514,11 +1518,11 @@ RF-DETR can be exported as ONNX by running the command below. You can copy and p
```sh
docker build . --build-arg MODEL_SIZE=Nano --rm --output . -f- <<'EOF'
FROM python:3.11 AS build
FROM python:3.12 AS build
RUN apt-get update && apt-get install --no-install-recommends -y libgl1 && rm -rf /var/lib/apt/lists/*
COPY --from=ghcr.io/astral-sh/uv:0.8.0 /uv /bin/
COPY --from=ghcr.io/astral-sh/uv:0.10.4 /uv /bin/
WORKDIR /rfdetr
RUN uv pip install --system rfdetr[onnxexport] torch==2.8.0 onnx==1.19.1 onnxscript
RUN uv pip install --system rfdetr[onnxexport] torch==2.8.0 onnx==1.19.1 transformers==4.57.6 onnxscript
ARG MODEL_SIZE
RUN python3 -c "from rfdetr import RFDETR${MODEL_SIZE}; x = RFDETR${MODEL_SIZE}(resolution=320); x.export(simplify=True)"
FROM scratch
@@ -1556,7 +1560,11 @@ cd tensorrt_demos/yolo
python3 yolo_to_onnx.py -m yolov7-320
```
#### YOLOv9
#### YOLOv9 for Google Coral Support
[Download the model](https://github.com/dbro/frigate-detector-edgetpu-yolo9/releases/download/v1.0/yolov9-s-relu6-best_320_int8_edgetpu.tflite), bind mount the file into the container, and provide the path with `model.path`. Note that the linked model requires a 17-label [labelmap file](https://raw.githubusercontent.com/dbro/frigate-detector-edgetpu-yolo9/refs/heads/main/labels-coco17.txt) that includes only 17 COCO classes.
#### YOLOv9 for other detectors
YOLOv9 model can be exported as ONNX using the command below. You can copy and paste the whole thing to your terminal and execute, altering `MODEL_SIZE=t` and `IMG_SIZE=320` in the first line to the [model size](https://github.com/WongKinYiu/yolov9#performance) you would like to convert (available model sizes are `t`, `s`, `m`, `c`, and `e`, common image sizes are `320` and `640`).

View File

@@ -9,4 +9,25 @@ Snapshots are accessible in the UI in the Explore pane. This allows for quick su
To only save snapshots for objects that enter a specific zone, [see the zone docs](./zones.md#restricting-snapshots-to-specific-zones)
Snapshots sent via MQTT are configured in the [config file](https://docs.frigate.video/configuration/) under `cameras -> your_camera -> mqtt`
Snapshots sent via MQTT are configured in the [config file](/configuration) under `cameras -> your_camera -> mqtt`
## Frame Selection
Frigate does not save every frame — it picks a single "best" frame for each tracked object and uses it for both the snapshot and clean copy. As the object is tracked across frames, Frigate continuously evaluates whether the current frame is better than the previous best based on detection confidence, object size, and the presence of key attributes like faces or license plates. Frames where the object touches the edge of the frame are deprioritized. The snapshot is written to disk once tracking ends using whichever frame was determined to be the best.
MQTT snapshots are published more frequently — each time a better thumbnail frame is found during tracking, or when the current best image is older than `best_image_timeout` (default: 60s). These use their own annotation settings configured under `cameras -> your_camera -> mqtt`.
## Clean Copy
Frigate can produce up to two snapshot files per event, each used in different places:
| Version | File | Annotations | Used by |
| --- | --- | --- | --- |
| **Regular snapshot** | `<camera>-<id>.jpg` | Respects your `timestamp`, `bounding_box`, `crop`, and `height` settings | API (`/api/events/<id>/snapshot.jpg`), MQTT (`<camera>/<label>/snapshot`), Explore pane in the UI |
| **Clean copy** | `<camera>-<id>-clean.webp` | Always unannotated — no bounding box, no timestamp, no crop, full resolution | API (`/api/events/<id>/snapshot-clean.webp`), [Frigate+](/plus/first_model) submissions, "Download Clean Snapshot" in the UI |
MQTT snapshots are configured separately under `cameras -> your_camera -> mqtt` and are unrelated to the clean copy.
The clean copy is required for submitting events to [Frigate+](/plus/first_model) — if you plan to use Frigate+, keep `clean_copy` enabled regardless of your other snapshot settings.
If you are not using Frigate+ and `timestamp`, `bounding_box`, and `crop` are all disabled, the regular snapshot is already effectively clean, so `clean_copy` provides no benefit and only uses additional disk space. You can safely set `clean_copy: False` in this case.

View File

@@ -41,8 +41,8 @@ If the EQ13 is out of stock, the link below may take you to a suggested alternat
| Name | Capabilities | Notes |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------- |
| Beelink EQ13 (<a href="https://amzn.to/4jn2qVr" target="_blank" rel="nofollow noopener sponsored">Amazon</a>) | Can run object detection on several 1080p cameras with low-medium activity | Dual gigabit NICs for easy isolated camera network. |
| Intel 1120p ([Amazon](https://www.amazon.com/Beelink-i3-1220P-Computer-Display-Gigabit/dp/B0DDCKT9YP) | Can handle a large number of 1080p cameras with high activity | |
| Intel 125H ([Amazon](https://www.amazon.com/MINISFORUM-Pro-125H-Barebone-Computer-HDMI2-1/dp/B0FH21FSZM) | Can handle a significant number of 1080p cameras with high activity | Includes NPU for more efficient detection in 0.17+ |
| Intel 1120p ([Amazon](https://www.amazon.com/Beelink-i3-1220P-Computer-Display-Gigabit/dp/B0DDCKT9YP)) | Can handle a large number of 1080p cameras with high activity | |
| Intel 125H ([Amazon](https://www.amazon.com/MINISFORUM-Pro-125H-Barebone-Computer-HDMI2-1/dp/B0FH21FSZM)) | Can handle a significant number of 1080p cameras with high activity | Includes NPU for more efficient detection in 0.17+ |
## Detectors
@@ -86,7 +86,7 @@ Frigate supports multiple different detectors that work on different types of ha
**Nvidia**
- [TensortRT](#tensorrt---nvidia-gpu): TensorRT can run on Nvidia GPUs to provide efficient object detection.
- [Nvidia GPU](#nvidia-gpus): Nvidia GPUs can provide efficient object detection.
- [Supports majority of model architectures via ONNX](../../configuration/object_detectors#onnx-supported-models)
- Runs well with any size models including large
@@ -172,7 +172,7 @@ Inference speeds vary greatly depending on the CPU or GPU used, some known examp
| Intel Arc A380 | ~ 6 ms | | 320: ~ 10 ms 640: ~ 22 ms | 336: 20 ms 448: 27 ms | |
| Intel Arc A750 | ~ 4 ms | | 320: ~ 8 ms | | |
### TensorRT - Nvidia GPU
### Nvidia GPUs
Frigate is able to utilize an Nvidia GPU which supports the 12.x series of CUDA libraries.
@@ -182,17 +182,15 @@ Frigate is able to utilize an Nvidia GPU which supports the 12.x series of CUDA
Make sure your host system has the [nvidia-container-runtime](https://docs.docker.com/config/containers/resource_constraints/#access-an-nvidia-gpu) installed to pass through the GPU to the container and the host system has a compatible driver installed for your GPU.
There are improved capabilities in newer GPU architectures that TensorRT can benefit from, such as INT8 operations and Tensor cores. The features compatible with your hardware will be optimized when the model is converted to a trt file. Currently the script provided for generating the model provides a switch to enable/disable FP16 operations. If you wish to use newer features such as INT8 optimization, more work is required.
#### Compatibility References:
[NVIDIA TensorRT Support Matrix](https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-841/support-matrix/index.html)
[NVIDIA TensorRT Support Matrix](https://docs.nvidia.com/deeplearning/tensorrt-rtx/latest/getting-started/support-matrix.html)
[NVIDIA CUDA Compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html)
[NVIDIA GPU Compute Capability](https://developer.nvidia.com/cuda-gpus)
Inference speeds will vary greatly depending on the GPU and the model used.
Inference is done with the `onnx` detector type. Speeds will vary greatly depending on the GPU and the model used.
`tiny (t)` variants are faster than the equivalent non-tiny model, some known examples are below:
✅ - Accelerated with CUDA Graphs

View File

@@ -56,7 +56,7 @@ services:
volumes:
- /path/to/your/config:/config
- /path/to/your/storage:/media/frigate
- type: tmpfs # Recommended: 1GB of memory
- type: tmpfs # 1GB In-memory filesystem for recording segment storage
target: /tmp/cache
tmpfs:
size: 1000000000
@@ -123,7 +123,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
:::note
If you are **not** using a Raspberry Pi with **Bookworm OS**, skip this step and proceed directly to step 2.
If you are using Raspberry Pi with **Trixie OS**, also skip this step and proceed directly to step 2.
:::
@@ -133,13 +133,13 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
```bash
lsmod | grep hailo
```
If it shows `hailo_pci`, unload it:
```bash
sudo modprobe -r hailo_pci
```
Then locate the built-in kernel driver and rename it so it cannot be loaded.
Renaming allows the original driver to be restored later if needed.
First, locate the currently installed kernel module:
@@ -149,28 +149,29 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
```
Example output:
```
/lib/modules/6.6.31+rpt-rpi-2712/kernel/drivers/media/pci/hailo/hailo_pci.ko.xz
```
Save the module path to a variable:
```bash
BUILTIN=$(modinfo -n hailo_pci)
```
And rename the module by appending .bak:
```bash
sudo mv "$BUILTIN" "${BUILTIN}.bak"
```
Now refresh the kernel module map so the system recognizes the change:
```bash
sudo depmod -a
```
Reboot your Raspberry Pi:
```bash
@@ -185,7 +186,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
This command should return no results.
3. **Run the installation script**:
2. **Run the installation script**:
Download the installation script:
@@ -206,14 +207,13 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
```
The script will:
- Install necessary build dependencies
- Clone and build the Hailo driver from the official repository
- Install the driver
- Download and install the required firmware
- Set up udev rules
4. **Reboot your system**:
3. **Reboot your system**:
After the script completes successfully, reboot to load the firmware:
@@ -221,7 +221,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
sudo reboot
```
5. **Verify the installation**:
4. **Verify the installation**:
After rebooting, verify that the Hailo device is available:
@@ -236,18 +236,18 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke
```
Verify the driver version:
```bash
cat /sys/module/hailo_pci/version
```
Verify that the firmware was installed correctly:
```bash
ls -l /lib/firmware/hailo/hailo8_fw.bin
```
**Optional: Fix PCIe descriptor page size error**
**Optional: Fix PCIe descriptor page size error**
If you encounter the following error:
@@ -462,7 +462,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/config:/config
- /path/to/your/storage:/media/frigate
- type: tmpfs # Recommended: 1GB of memory
- type: tmpfs # 1GB In-memory filesystem for recording segment storage
target: /tmp/cache
tmpfs:
size: 1000000000
@@ -502,12 +502,12 @@ The official docker image tags for the current stable version are:
- `stable` - Standard Frigate build for amd64 & RPi Optimized Frigate build for arm64. This build includes support for Hailo devices as well.
- `stable-standard-arm64` - Standard Frigate build for arm64
- `stable-tensorrt` - Frigate build specific for amd64 devices running an nvidia GPU
- `stable-tensorrt` - Frigate build specific for amd64 devices running an Nvidia GPU
- `stable-rocm` - Frigate build for [AMD GPUs](../configuration/object_detectors.md#amdrocm-gpu-detector)
The community supported docker image tags for the current stable version are:
- `stable-tensorrt-jp6` - Frigate build optimized for nvidia Jetson devices running Jetpack 6
- `stable-tensorrt-jp6` - Frigate build optimized for Nvidia Jetson devices running Jetpack 6
- `stable-rk` - Frigate build for SBCs with Rockchip SoC
## Home Assistant Add-on
@@ -521,7 +521,7 @@ There are important limitations in HA OS to be aware of:
- Separate local storage for media is not yet supported by Home Assistant
- AMD GPUs are not supported because HA OS does not include the mesa driver.
- Intel NPUs are not supported because HA OS does not include the NPU firmware.
- Nvidia GPUs are not supported because addons do not support the nvidia runtime.
- Nvidia GPUs are not supported because addons do not support the Nvidia runtime.
:::
@@ -689,3 +689,43 @@ docker run \
```
Log into QNAP, open Container Station. Frigate docker container should be listed under 'Overview' and running. Visit Frigate Web UI by clicking Frigate docker, and then clicking the URL shown at the top of the detail page.
## macOS - Apple Silicon
:::warning
macOS uses port 5000 for its Airplay Receiver service. If you want to expose port 5000 in Frigate for local app and API access the port will need to be mapped to another port on the host e.g. 5001
Failure to remap port 5000 on the host will result in the WebUI and all API endpoints on port 5000 being unreachable, even if port 5000 is exposed correctly in Docker.
:::
Docker containers on macOS can be orchestrated by either [Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/) or [OrbStack](https://orbstack.dev) (native swift app). The difference in inference speeds is negligable, however CPU, power consumption and container start times will be lower on OrbStack because it is a native Swift application.
To allow Frigate to use the Apple Silicon Neural Engine / Processing Unit (NPU) the host must be running [Apple Silicon Detector](../configuration/object_detectors.md#apple-silicon-detector) on the host (outside Docker)
#### Docker Compose example
```yaml
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable-standard-arm64
restart: unless-stopped
shm_size: "512mb" # update for your cameras based on calculation above
volumes:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/config:/config
- /path/to/your/recordings:/recordings
ports:
- "8971:8971"
# If exposing on macOS map to a diffent host port like 5001 or any orher port with no conflicts
# - "5001:5000" # Internal unauthenticated access. Expose carefully.
- "8554:8554" # RTSP feeds
extra_hosts:
# This is very important
# It allows frigate access to the NPU on Apple Silicon via Apple Silicon Detector
- "host.docker.internal:host-gateway" # Required to talk to the NPU detector
environment:
- FRIGATE_RTSP_PASSWORD: "password"
```

View File

@@ -20,7 +20,6 @@ Keeping Frigate up to date ensures you benefit from the latest features, perform
If youre running Frigate via Docker (recommended method), follow these steps:
1. **Stop the Container**:
- If using Docker Compose:
```bash
docker compose down frigate
@@ -31,9 +30,8 @@ If youre running Frigate via Docker (recommended method), follow these steps:
```
2. **Update and Pull the Latest Image**:
- If using Docker Compose:
- Edit your `docker-compose.yml` file to specify the desired version tag (e.g., `0.17.0` instead of `0.16.3`). For example:
- Edit your `docker-compose.yml` file to specify the desired version tag (e.g., `0.17.0` instead of `0.16.4`). For example:
```yaml
services:
frigate:
@@ -51,7 +49,6 @@ If youre running Frigate via Docker (recommended method), follow these steps:
```
3. **Start the Container**:
- If using Docker Compose:
```bash
docker compose up -d
@@ -75,18 +72,15 @@ If youre running Frigate via Docker (recommended method), follow these steps:
For users running Frigate as a Home Assistant Addon:
1. **Check for Updates**:
- Navigate to **Settings > Add-ons** in Home Assistant.
- Find your installed Frigate addon (e.g., "Frigate NVR" or "Frigate NVR (Full Access)").
- If an update is available, youll see an "Update" button.
2. **Update the Addon**:
- Click the "Update" button next to the Frigate addon.
- Wait for the process to complete. Home Assistant will handle downloading and installing the new version.
3. **Restart the Addon**:
- After updating, go to the addons page and click "Restart" to apply the changes.
4. **Verify the Update**:
@@ -105,8 +99,8 @@ If an update causes issues:
1. Stop Frigate.
2. Restore your backed-up config file and database.
3. Revert to the previous image version:
- For Docker: Specify an older tag (e.g., `ghcr.io/blakeblackshear/frigate:0.16.3`) in your `docker run` command.
- For Docker Compose: Edit your `docker-compose.yml`, specify the older version tag (e.g., `ghcr.io/blakeblackshear/frigate:0.16.3`), and re-run `docker compose up -d`.
- For Docker: Specify an older tag (e.g., `ghcr.io/blakeblackshear/frigate:0.16.4`) in your `docker run` command.
- For Docker Compose: Edit your `docker-compose.yml`, specify the older version tag (e.g., `ghcr.io/blakeblackshear/frigate:0.16.4`), and re-run `docker compose up -d`.
- For Home Assistant: Reinstall the previous addon version manually via the repository if needed and restart the addon.
4. Verify the old version is running again.

View File

@@ -119,7 +119,7 @@ services:
volumes:
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
- type: tmpfs # 1GB In-memory filesystem for recording segment storage
target: /tmp/cache
tmpfs:
size: 1000000000

View File

@@ -16,7 +16,15 @@ See the [MQTT integration
documentation](https://www.home-assistant.io/integrations/mqtt/) for more
details.
In addition, MQTT must be enabled in your Frigate configuration file and Frigate must be connected to the same MQTT server as Home Assistant for many of the entities created by the integration to function.
In addition, MQTT must be enabled in your Frigate configuration file and Frigate must be connected to the same MQTT server as Home Assistant for many of the entities created by the integration to function, e.g.:
```yaml
mqtt:
enabled: True
host: mqtt.server.com # the address of your HA server that's running the MQTT integration
user: your_mqtt_broker_username
password: your_mqtt_broker_password
```
### Integration installation
@@ -95,12 +103,12 @@ services:
If you are using Home Assistant Add-on, the URL should be one of the following depending on which Add-on variant you are using. Note that if you are using the Proxy Add-on, you should NOT point the integration at the proxy URL. Just enter the same URL used to access Frigate directly from your network.
| Add-on Variant | URL |
| -------------------------- | ----------------------------------------- |
| Frigate | `http://ccab4aaf-frigate:5000` |
| Frigate (Full Access) | `http://ccab4aaf-frigate-fa:5000` |
| Frigate Beta | `http://ccab4aaf-frigate-beta:5000` |
| Frigate Beta (Full Access) | `http://ccab4aaf-frigate-fa-beta:5000` |
| Add-on Variant | URL |
| -------------------------- | -------------------------------------- |
| Frigate | `http://ccab4aaf-frigate:5000` |
| Frigate (Full Access) | `http://ccab4aaf-frigate-fa:5000` |
| Frigate Beta | `http://ccab4aaf-frigate-beta:5000` |
| Frigate Beta (Full Access) | `http://ccab4aaf-frigate-fa-beta:5000` |
### Frigate running on a separate machine

View File

@@ -120,7 +120,7 @@ Message published for each changed tracked object. The first message is publishe
### `frigate/tracked_object_update`
Message published for updates to tracked object metadata, for example:
Message published for updates to tracked object metadata. All messages include an `id` field which is the tracked object's event ID, and can be used to look up the event via the API or match it to items in the UI.
#### Generative AI Description Update
@@ -134,12 +134,14 @@ Message published for updates to tracked object metadata, for example:
#### Face Recognition Update
Published after each recognition attempt, regardless of whether the score meets `recognition_threshold`. See the [Face Recognition](/configuration/face_recognition) documentation for details on how scoring works.
```json
{
"type": "face",
"id": "1607123955.475377-mxklsc",
"name": "John",
"score": 0.95,
"name": "John", // best matching person, or null if no match
"score": 0.95, // running weighted average across all recognition attempts
"camera": "front_door_cam",
"timestamp": 1607123958.748393
}
@@ -147,11 +149,13 @@ Message published for updates to tracked object metadata, for example:
#### License Plate Recognition Update
Published when a license plate is recognized on a car object. See the [License Plate Recognition](/configuration/license_plate_recognition) documentation for details.
```json
{
"type": "lpr",
"id": "1607123955.475377-mxklsc",
"name": "John's Car",
"name": "John's Car", // known name for the plate, or null
"plate": "123ABC",
"score": 0.95,
"camera": "driveway_cam",

View File

@@ -54,6 +54,8 @@ Once you have [requested your first model](../plus/first_model.md) and gotten yo
You can either choose the new model from the Frigate+ pane in the Settings page of the Frigate UI, or manually set the model at the root level in your config:
```yaml
detectors: ...
model:
path: plus://<your_model_id>
```

View File

@@ -24,6 +24,8 @@ You will receive an email notification when your Frigate+ model is ready.
Models available in Frigate+ can be used with a special model path. No other information needs to be configured because it fetches the remaining config from Frigate+ automatically.
```yaml
detectors: ...
model:
path: plus://<your_model_id>
```

View File

@@ -15,15 +15,15 @@ There are three model types offered in Frigate+, `mobiledet`, `yolonas`, and `yo
Not all model types are supported by all detectors, so it's important to choose a model type to match your detector as shown in the table under [supported detector types](#supported-detector-types). You can test model types for compatibility and speed on your hardware by using the base models.
| Model Type | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `mobiledet` | Based on the same architecture as the default model included with Frigate. Runs on Google Coral devices and CPUs. |
| `yolonas` | A newer architecture that offers slightly higher accuracy and improved detection of small objects. Runs on Intel, NVidia GPUs, and AMD GPUs. |
| `yolov9` | A leading SOTA (state of the art) object detection model with similar performance to yolonas, but on a wider range of hardware options. Runs on Intel, NVidia GPUs, AMD GPUs, Hailo, MemryX, Apple Silicon, and Rockchip NPUs. |
| Model Type | Description |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mobiledet` | Based on the same architecture as the default model included with Frigate. Runs on Google Coral devices and CPUs. |
| `yolonas` | A newer architecture that offers slightly higher accuracy and improved detection of small objects. Runs on Intel, NVidia GPUs, and AMD GPUs. |
| `yolov9` | A leading SOTA (state of the art) object detection model with similar performance to yolonas, but on a wider range of hardware options. Runs on most hardware. |
### YOLOv9 Details
YOLOv9 models are available in `s` and `t` sizes. When requesting a `yolov9` model, you will be prompted to choose a size. If you are unsure what size to choose, you should perform some tests with the base models to find the performance level that suits you. The `s` size is most similar to the current `yolonas` models in terms of inference times and accuracy, and a good place to start is the `320x320` resolution model for `yolov9s`.
YOLOv9 models are available in `s`, `t`, `edgetpu` variants. When requesting a `yolov9` model, you will be prompted to choose a variant. If you want the model to be compatible with a Google Coral, you will need to choose the `edgetpu` variant. If you are unsure what variant to choose, you should perform some tests with the base models to find the performance level that suits you. The `s` size is most similar to the current `yolonas` models in terms of inference times and accuracy, and a good place to start is the `320x320` resolution model for `yolov9s`.
:::info
@@ -37,23 +37,21 @@ If you have a Hailo device, you will need to specify the hardware you have when
#### Rockchip (RKNN) Support
For 0.16, YOLOv9 onnx models will need to be manually converted. First, you will need to configure Frigate to use the model id for your YOLOv9 onnx model so it downloads the model to your `model_cache` directory. From there, you can follow the [documentation](/configuration/object_detectors.md#converting-your-own-onnx-model-to-rknn-format) to convert it. Automatic conversion is available in 0.17 and later.
Rockchip models are automatically converted as of 0.17. For 0.16, YOLOv9 onnx models will need to be manually converted. First, you will need to configure Frigate to use the model id for your YOLOv9 onnx model so it downloads the model to your `model_cache` directory. From there, you can follow the [documentation](/configuration/object_detectors.md#converting-your-own-onnx-model-to-rknn-format) to convert it.
## Supported detector types
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), ONNX (`onnx`), Hailo (`hailo8l`), and Rockchip\* (`rknn`) detectors.
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), ONNX (`onnx`), Hailo (`hailo8l`), and Rockchip (`rknn`) detectors.
| Hardware | Recommended Detector Type | Recommended Model Type |
| -------------------------------------------------------------------------------- | ------------------------- | ---------------------- |
| [CPU](/configuration/object_detectors.md#cpu-detector-not-recommended) | `cpu` | `mobiledet` |
| [Coral (all form factors)](/configuration/object_detectors.md#edge-tpu-detector) | `edgetpu` | `mobiledet` |
| [Coral (all form factors)](/configuration/object_detectors.md#edge-tpu-detector) | `edgetpu` | `yolov9` |
| [Intel](/configuration/object_detectors.md#openvino-detector) | `openvino` | `yolov9` |
| [NVidia GPU](/configuration/object_detectors#onnx) | `onnx` | `yolov9` |
| [AMD ROCm GPU](/configuration/object_detectors#amdrocm-gpu-detector) | `onnx` | `yolov9` |
| [Hailo8/Hailo8L/Hailo8R](/configuration/object_detectors#hailo-8) | `hailo8l` | `yolov9` |
| [Rockchip NPU](/configuration/object_detectors#rockchip-platform)\* | `rknn` | `yolov9` |
_\* Requires manual conversion in 0.16. Automatic conversion available in 0.17 and later._
| [Rockchip NPU](/configuration/object_detectors#rockchip-platform) | `rknn` | `yolov9` |
## Improving your model
@@ -81,7 +79,7 @@ Candidate labels are also available for annotation. These labels don't have enou
Where possible, these labels are mapped to existing labels during training. For example, any `baby` labels are mapped to `person` until support for new labels is added.
The candidate labels are: `baby`, `bpost`, `badger`, `possum`, `rodent`, `chicken`, `groundhog`, `boar`, `hedgehog`, `tractor`, `golf cart`, `garbage truck`, `bus`, `sports ball`
The candidate labels are: `baby`, `bpost`, `badger`, `possum`, `rodent`, `chicken`, `groundhog`, `boar`, `hedgehog`, `tractor`, `golf cart`, `garbage truck`, `bus`, `sports ball`, `la_poste`, `lawnmower`, `heron`, `rickshaw`, `wombat`, `auspost`, `aramex`, `bobcat`, `mustelid`, `transoflex`, `airplane`, `drone`, `mountain_lion`, `crocodile`, `turkey`, `baby_stroller`, `monkey`, `coyote`, `porcupine`, `parcelforce`, `sheep`, `snake`, `helicopter`, `lizard`, `duck`, `hermes`, `cargus`, `fan_courier`, `sameday`
Candidate labels are not available for automatic suggestions.

View File

@@ -439,10 +439,11 @@ def resolve_role(
Determine the effective role for a request based on proxy headers and configuration.
Order of resolution:
1. If a role header is defined in proxy_config.header_map.role:
- If a role_map is configured, treat the header as group claims
(split by proxy_config.separator) and map to roles.
- If no role_map is configured, treat the header as role names directly.
1. If a role header is defined in proxy_config.header_map.role:
- If a role_map is configured, treat the header as group claims
(split by proxy_config.separator) and map to roles.
Admin matches short-circuit to admin.
- If no role_map is configured, treat the header as role names directly.
2. If no valid role is found, return proxy_config.default_role if it's valid in config_roles, else 'viewer'.
Args:
@@ -492,6 +493,12 @@ def resolve_role(
}
logger.debug("Matched roles from role_map: %s", matched_roles)
# If admin matches, prioritize it to avoid accidental downgrade when
# users belong to both admin and lower-privilege groups.
if "admin" in matched_roles and "admin" in config_roles:
logger.debug("Resolved role (with role_map) to 'admin'.")
return "admin"
if matched_roles:
resolved = next(
(r for r in config_roles if r in matched_roles), validated_default

View File

@@ -69,6 +69,25 @@ logger = logging.getLogger(__name__)
router = APIRouter(tags=[Tags.events])
def _build_attribute_filter_clause(attributes: str):
filtered_attributes = [
attr.strip() for attr in attributes.split(",") if attr.strip()
]
attribute_clauses = []
for attr in filtered_attributes:
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
escaped_attr = json.dumps(attr, ensure_ascii=True)[1:-1]
if escaped_attr != attr:
attribute_clauses.append(Event.data.cast("text") % f'*:"{escaped_attr}"*')
if not attribute_clauses:
return None
return reduce(operator.or_, attribute_clauses)
@router.get(
"/events",
response_model=list[EventResponse],
@@ -193,14 +212,9 @@ def events(
if attributes != "all":
# Custom classification results are stored as data[model_name] = result_value
filtered_attributes = attributes.split(",")
attribute_clauses = []
for attr in filtered_attributes:
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
attribute_clause = reduce(operator.or_, attribute_clauses)
clauses.append(attribute_clause)
attribute_clause = _build_attribute_filter_clause(attributes)
if attribute_clause is not None:
clauses.append(attribute_clause)
if recognized_license_plate != "all":
filtered_recognized_license_plates = recognized_license_plate.split(",")
@@ -508,7 +522,7 @@ def events_search(
cameras = params.cameras
labels = params.labels
sub_labels = params.sub_labels
attributes = params.attributes
attributes = unquote(params.attributes)
zones = params.zones
after = params.after
before = params.before
@@ -607,13 +621,9 @@ def events_search(
if attributes != "all":
# Custom classification results are stored as data[model_name] = result_value
filtered_attributes = attributes.split(",")
attribute_clauses = []
for attr in filtered_attributes:
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
event_filters.append(reduce(operator.or_, attribute_clauses))
attribute_clause = _build_attribute_filter_clause(attributes)
if attribute_clause is not None:
event_filters.append(attribute_clause)
if zones != "all":
zone_clauses = []

View File

@@ -658,6 +658,7 @@ class CustomObjectClassificationProcessor(RealTimeProcessorApi):
def handle_request(self, topic, request_data):
if topic == EmbeddingsRequestEnum.reload_classification_model.value:
if request_data.get("model_name") == self.model_config.name:
self.__build_detector()
logger.info(
f"Successfully loaded updated model for {self.model_config.name}"
)

View File

@@ -6,6 +6,7 @@ from typing import Dict
from frigate.comms.events_updater import EventEndPublisher, EventUpdateSubscriber
from frigate.config import FrigateConfig
from frigate.config.classification import ObjectClassificationType
from frigate.events.types import EventStateEnum, EventTypeEnum
from frigate.models import Event
from frigate.util.builtin import to_relative_box
@@ -247,6 +248,18 @@ class EventProcessor(threading.Thread):
"recognized_license_plate"
][1]
# only overwrite attribute-type custom model fields in the database if they're set
for name, model_config in self.config.classification.custom.items():
if (
model_config.object_config
and model_config.object_config.classification_type
== ObjectClassificationType.attribute
):
value = event_data.get(name)
if value is not None:
event[Event.data][name] = value[0]
event[Event.data][f"{name}_score"] = value[1]
(
Event.insert(event)
.on_conflict(

View File

@@ -168,6 +168,57 @@ class TestHttpApp(BaseTestHttp):
assert events[0]["id"] == id
assert events[1]["id"] == id2
def test_get_event_list_match_multilingual_attribute(self):
event_id = "123456.zh"
attribute = "中文标签"
with AuthTestClient(self.app) as client:
super().insert_mock_event(event_id, data={"custom_attr": attribute})
events = client.get("/events", params={"attributes": attribute}).json()
assert len(events) == 1
assert events[0]["id"] == event_id
events = client.get(
"/events", params={"attributes": "%E4%B8%AD%E6%96%87%E6%A0%87%E7%AD%BE"}
).json()
assert len(events) == 1
assert events[0]["id"] == event_id
def test_events_search_match_multilingual_attribute(self):
event_id = "123456.zh.search"
attribute = "中文标签"
mock_embeddings = Mock()
mock_embeddings.search_thumbnail.return_value = [(event_id, 0.05)]
self.app.frigate_config.semantic_search.enabled = True
self.app.embeddings = mock_embeddings
with AuthTestClient(self.app) as client:
super().insert_mock_event(event_id, data={"custom_attr": attribute})
events = client.get(
"/events/search",
params={
"search_type": "similarity",
"event_id": event_id,
"attributes": attribute,
},
).json()
assert len(events) == 1
assert events[0]["id"] == event_id
events = client.get(
"/events/search",
params={
"search_type": "similarity",
"event_id": event_id,
"attributes": "%E4%B8%AD%E6%96%87%E6%A0%87%E7%AD%BE",
},
).json()
assert len(events) == 1
assert events[0]["id"] == event_id
def test_get_good_event(self):
id = "123456.random"

View File

@@ -31,6 +31,21 @@ class TestProxyRoleResolution(unittest.TestCase):
role = resolve_role(headers, self.proxy_config, self.config_roles)
self.assertEqual(role, "admin")
def test_role_map_or_matching(self):
config = self.proxy_config
config.header_map.role_map = {
"admin": ["group_admin", "group_privileged"],
}
# OR semantics: a single matching group should map to the role
headers = {"x-remote-role": "group_admin"}
role = resolve_role(headers, config, self.config_roles)
self.assertEqual(role, "admin")
headers = {"x-remote-role": "group_admin|group_privileged"}
role = resolve_role(headers, config, self.config_roles)
self.assertEqual(role, "admin")
def test_direct_role_header_with_separator(self):
config = self.proxy_config
config.header_map.role_map = None # disable role_map

View File

@@ -377,7 +377,14 @@ class TrackedObject:
return (thumb_update, significant_change, path_update, autotracker_update)
def to_dict(self) -> dict[str, Any]:
event = {
# Tracking internals excluded from output (centroid, estimate, estimate_velocity)
_EXCLUDED_OBJ_DATA_KEYS = {
"centroid",
"estimate",
"estimate_velocity",
}
event: dict[str, Any] = {
"id": self.obj_data["id"],
"camera": self.camera_config.name,
"frame_time": self.obj_data["frame_time"],
@@ -412,6 +419,11 @@ class TrackedObject:
"recognized_license_plate": self.obj_data.get("recognized_license_plate"),
}
# Add any other obj_data keys (e.g. custom attribute fields) not yet included
for key, value in self.obj_data.items():
if key not in _EXCLUDED_OBJ_DATA_KEYS and key not in event:
event[key] = value
return event
def is_active(self) -> bool:

View File

@@ -214,6 +214,7 @@ class CameraWatchdog(threading.Thread):
self.latest_valid_segment_time: float = 0
self.latest_invalid_segment_time: float = 0
self.latest_cache_segment_time: float = 0
self.record_enable_time: datetime | None = None
def _update_enabled_state(self) -> bool:
"""Fetch the latest config and update enabled state."""
@@ -261,6 +262,9 @@ class CameraWatchdog(threading.Thread):
def run(self) -> None:
if self._update_enabled_state():
self.start_all_ffmpeg()
# If recording is enabled at startup, set the grace period timer
if self.config.record.enabled:
self.record_enable_time = datetime.now().astimezone(timezone.utc)
time.sleep(self.sleeptime)
while not self.stop_event.wait(self.sleeptime):
@@ -270,13 +274,15 @@ class CameraWatchdog(threading.Thread):
self.logger.debug(f"Enabling camera {self.config.name}")
self.start_all_ffmpeg()
# reset all timestamps
# reset all timestamps and record the enable time for grace period
self.latest_valid_segment_time = 0
self.latest_invalid_segment_time = 0
self.latest_cache_segment_time = 0
self.record_enable_time = datetime.now().astimezone(timezone.utc)
else:
self.logger.debug(f"Disabling camera {self.config.name}")
self.stop_all_ffmpeg()
self.record_enable_time = None
# update camera status
self.requestor.send_data(
@@ -361,6 +367,12 @@ class CameraWatchdog(threading.Thread):
if self.config.record.enabled and "record" in p["roles"]:
now_utc = datetime.now().astimezone(timezone.utc)
# Check if we're within the grace period after enabling recording
# Grace period: 90 seconds allows time for ffmpeg to start and create first segment
in_grace_period = self.record_enable_time is not None and (
now_utc - self.record_enable_time
) < timedelta(seconds=90)
latest_cache_dt = (
datetime.fromtimestamp(
self.latest_cache_segment_time, tz=timezone.utc
@@ -386,10 +398,16 @@ class CameraWatchdog(threading.Thread):
)
# ensure segments are still being created and that they have valid video data
cache_stale = now_utc > (latest_cache_dt + timedelta(seconds=120))
valid_stale = now_utc > (latest_valid_dt + timedelta(seconds=120))
# Skip checks during grace period to allow segments to start being created
cache_stale = not in_grace_period and now_utc > (
latest_cache_dt + timedelta(seconds=120)
)
valid_stale = not in_grace_period and now_utc > (
latest_valid_dt + timedelta(seconds=120)
)
invalid_stale_condition = (
self.latest_invalid_segment_time > 0
and not in_grace_period
and now_utc > (latest_invalid_dt + timedelta(seconds=120))
and self.latest_valid_segment_time
<= self.latest_invalid_segment_time

View File

@@ -48,7 +48,8 @@
"bg": "Български (Búlgar)",
"gl": "Galego (Gallec)",
"id": "Bahasa Indonesia (Indonesi)",
"ur": "اردو (Urdú)"
"ur": "اردو (Urdú)",
"hr": "Hrvatski (croat)"
},
"system": "Sistema",
"systemMetrics": "Mètriques del sistema",

View File

@@ -6,7 +6,8 @@
"title": "Frigate s'està reiniciant",
"content": "Aquesta pàgina es tornarà a carregar d'aquí a {{countdown}} segons.",
"button": "Forçar la recàrrega ara"
}
},
"description": "Això aturarà breument Frigate mentre es reinicia."
},
"explore": {
"plus": {

View File

@@ -19,7 +19,8 @@
"description": {
"addFace": "Afegiu una col·lecció nova a la biblioteca de cares pujant la vostra primera imatge.",
"placeholder": "Introduïu un nom per a aquesta col·lecció",
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions.",
"nameCannotContainHash": "El nom no pot contenir #."
},
"documentTitle": "Biblioteca de rostres - Frigate",
"uploadFaceImage": {

View File

@@ -114,6 +114,11 @@
},
"error": {
"mustBeFinished": "El dibuix del polígon s'ha d'acabar abans de desar."
},
"type": {
"zone": "zona",
"motion_mask": "màscara de moviment",
"object_mask": "màscara d'objecte"
}
},
"zoneName": {
@@ -532,7 +537,7 @@
"hide": "Amaga contrasenya",
"requirements": {
"title": "Requisits contrasenya:",
"length": "Com a mínim 8 carácters",
"length": "Com a mínim 12 carácters",
"uppercase": "Com a mínim una majúscula",
"digit": "Com a mínim un digit",
"special": "Com a mínim un carácter especial (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -27,7 +27,7 @@
"harp": "Harpe",
"bell": "Klokke",
"harmonica": "Harmonika",
"bagpipes": "Sækkepibe",
"bagpipes": "Sækkepiber",
"didgeridoo": "Didgeridoo",
"jazz": "Jazz",
"opera": "Opera",
@@ -78,7 +78,7 @@
"camera": "Kamera",
"tools": "Værktøj",
"hammer": "Hammer",
"drill": "Bore",
"drill": "Boremaskine",
"explosion": "Eksplosion",
"fireworks": "Nytårskrudt",
"babbling": "Pludren",

View File

@@ -193,7 +193,8 @@
"bg": "Български (Bulgarsk)",
"gl": "Galego (Galisisk)",
"id": "Bahasa Indonesia (Indonesisk)",
"ur": "اردو (Urdu)"
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Kroatisk)"
},
"appearance": "Udseende",
"darkMode": {
@@ -221,7 +222,7 @@
},
"restart": "Genstart Frigate",
"live": {
"title": "Live",
"title": "Direkte",
"allCameras": "Alle kameraer",
"cameras": {
"title": "Kameraer",
@@ -240,17 +241,17 @@
"current": "Aktiv bruger: {{user}}",
"anonymous": "anonym",
"logout": "Log ud",
"setPassword": "Set Password"
"setPassword": "Vælg kodeord"
},
"classification": "Kategorisering"
},
"toast": {
"copyUrlToClipboard": "Kopieret URL til klippebord.",
"copyUrlToClipboard": "Kopieret URL til udklipsholder.",
"save": {
"title": "Gem",
"error": {
"title": "Ændringer kan ikke gemmes: {{errorMessage}}",
"noMessage": "Kan ikke gemme konfigurationsændringer"
"title": "Ændringer kunne ikke gemmes: {{errorMessage}}",
"noMessage": "Kunne ikke gemme konfigurationsændringer"
}
}
},
@@ -261,7 +262,7 @@
"desc": "Admins har fuld adgang til Frigate UI. Viewers er begrænset til at se kameraer, gennemse items, og historik i UI."
},
"pagination": {
"label": "paginering",
"label": "sideinddeling",
"previous": {
"title": "Forrige",
"label": "Gå til forrige side"
@@ -273,9 +274,9 @@
"more": "Flere sider"
},
"accessDenied": {
"documentTitle": "Adgang forbudt - Frigate",
"title": "Adgang forbudt",
"desc": "Du har ikke tiiladelse til at se denne side."
"documentTitle": "Adgang nægtet - Frigate",
"title": "Adgang nægtet",
"desc": "Du har ikke rettigheder til at se denne side."
},
"notFound": {
"documentTitle": "Ikke fundet - Frigate",

View File

@@ -6,7 +6,8 @@
"title": "Frigate genstarter",
"button": "Gennemtving genindlæsning nu",
"content": "Denne side genindlæses om {{countdown}} sekunder."
}
},
"description": "Dette vil kortvarigt stoppe Frigate under genstart."
},
"explore": {
"plus": {
@@ -17,7 +18,9 @@
"review": {
"question": {
"label": "Bekræft denne etiket til Frigate Plus",
"ask_a": "Er dette objekt et <code>{{label}}</code>?"
"ask_a": "Er dette objekt et <code>{{label}}</code>?",
"ask_an": "Er dette objekt en <code>{{label}}</code>?",
"ask_full": "Er dette objekt en <code>{{untranslatedLabel}}</code> ({{translatedLabel}})?"
}
}
}

View File

@@ -1,5 +1,5 @@
{
"filter": "Filter",
"filter": "Filtrer",
"classes": {
"label": "Klasser",
"all": {

View File

@@ -4,13 +4,13 @@
"cameraDisabled": "Kamera er deaktiveret",
"noPreviewFoundFor": "Ingen forhåndsvisning fundet for {{cameraName}}",
"submitFrigatePlus": {
"title": "Indsend denne frame til Frigate+?",
"title": "Indsend dette billede til Frigate+?",
"submit": "Indsend"
},
"livePlayerRequiredIOSVersion": "iOS 17.1 eller nyere kræves for denne type livestream.",
"streamOffline": {
"title": "Stream offline",
"desc": "Der er ikke modtaget nogen frames på {{cameraName}}-<code>detect</code>-streamen, tjek fejlloggene."
"desc": "Der er ikke modtaget nogen billeder på {{cameraName}}-<code>detect</code>-streamen, tjek fejllogs."
},
"stats": {
"streamType": {
@@ -18,8 +18,8 @@
"short": "Type"
},
"bandwidth": {
"title": "Bandbredde:",
"short": "Bandbredde"
"title": "Båndbredde:",
"short": "Båndbredde"
},
"latency": {
"title": "Latenstid:",
@@ -31,8 +31,21 @@
},
"droppedFrames": {
"short": {
"title": "Tabt"
}
"title": "Tabt",
"value": "{{droppedFrames}} billeder"
},
"title": "Tabte billeder:"
},
"totalFrames": "Antal billeder i alt:",
"decodedFrames": "Dekodede billeder:",
"droppedFrameRate": "Rate for tabte billeder:"
},
"toast": {
"success": {
"submittedFrigatePlus": "Billede sendt til Frigate+"
},
"error": {
"submitFrigatePlusFailed": "Kunne ikke sende billede til Frigate+"
}
}
}

View File

@@ -27,5 +27,6 @@
"markTheseItemsAsReviewed": "Marker disse som gennemset",
"detail": {
"aria": "Skift til detaljevisning"
}
},
"timeline.aria": "Vælg tidslinje"
}

View File

@@ -17,10 +17,15 @@
"context": "Udforsk kan bruges, når genindekseringen af de sporede objektindlejringer er fuldført.",
"finishingShortly": "Afsluttes om lidt",
"step": {
"thumbnailsEmbedded": "Miniaturer indlejret: "
"thumbnailsEmbedded": "Miniaturer indlejret: ",
"descriptionsEmbedded": "Beskrivelser indlejrede: ",
"trackedObjectsProcessed": "Sporede objekter behandlede: "
}
},
"title": "Udforsk er ikke tilgængelig"
"title": "Udforsk er ikke tilgængelig",
"downloadingModels": {
"context": "Frigate henter de nødvendige indlejringsmodeller for at understøtte semantiske søgninger. Dette kan tage flere minutter, afhængig af hastigheden på din netværksforbindelse."
}
},
"exploreMore": "Udforsk flere {{label}}-objekter",
"details": {

View File

@@ -3,7 +3,8 @@
"description": {
"addFace": "Tilføj en ny samling til ansigtsbiblioteket ved at uploade dit første billede.",
"placeholder": "Angiv et navn for bibliotek",
"invalidName": "Ugyldigt navn. Navne må kun indeholde bogstaver, tal, mellemrum, apostroffer, understregninger og bindestreger."
"invalidName": "Ugyldigt navn. Navne må kun indeholde bogstaver, tal, mellemrum, apostroffer, understregninger og bindestreger.",
"nameCannotContainHash": "Navet kan ikke indeholde #."
},
"details": {
"person": "Person",
@@ -17,6 +18,76 @@
"desc": "Upload et billede for at scanne efter ansigter og inkludere det for {{pageToggle}}"
},
"train": {
"titleShort": "Nyeste"
}
"titleShort": "Nyeste",
"title": "Seneste genkendelser",
"aria": "Vælg seneste genkendelser",
"empty": "Der er ingen nylige ansigtsgenkendelser"
},
"createFaceLibrary": {
"new": "Nyt ansigt",
"nextSteps": "<ul> <li>Brug fanen <strong>Seneste genkendelser</strong> til at udvælge og træne på billeder for hver registreret person.</li> <li>Fokusér på billeder taget lige forfra for de bedste resultater; undgå træningsbilleder, hvor ansigter er fotograferet fra siden eller i vinkel.</li> </ul>"
},
"steps": {
"faceName": "Skriv ansigt navn",
"uploadFace": "Upload ansigt billede",
"nextSteps": "Næste skridt",
"description": {
"uploadFace": "Upload et billede af {{name}}, hvor ansigtet er set forfra. Billedet behøver ikke kun at vise ansigtet og skal ikke beskæres."
}
},
"button": {
"deleteFace": "Slet ansigt",
"deleteFaceAttempts": "Slet ansigter",
"addFace": "Tilføj ansigt",
"renameFace": "Omdøb ansigt",
"uploadImage": "Upload billede",
"reprocessFace": "Genbehandl ansigt"
},
"trainFace": "Lær ansigt",
"renameFace": {
"title": "Omdøb ansigt",
"desc": "Indtast et nyt navn til {{name}}"
},
"toast": {
"success": {
"deletedFace_one": "{{count}} ansigt blev slettet",
"deletedFace_other": "{{count}} ansigter blev slettet",
"deletedName_one": "{{count}} ansigt slettet",
"deletedName_other": "{{count}} ansigter slettet",
"uploadedImage": "Billedet blev uploadet.",
"addFaceLibrary": "{{name}} er blevet tilføjet til ansigtsbiblioteket!",
"renamedFace": "Ansigtet er blevet omdøbt til {{name}}",
"trainedFace": "Ansigtet er blevet trænet.",
"updatedFaceScore": "Ansigtets score er blevet opdateret til {{score}} ({{name}})."
},
"error": {
"uploadingImageFailed": "Kunne ikke uploade billedet: {{errorMessage}}",
"addFaceLibraryFailed": "Kunne ikke angive navn på ansigtet: {{errorMessage}}",
"deleteFaceFailed": "Kunne ikke slette: {{errorMessage}}",
"deleteNameFailed": "Kunne ikke slette navnet: {{errorMessage}}",
"renameFaceFailed": "Kunne ikke omdøbe ansigtet: {{errorMessage}}",
"trainFailed": "Kunne ikke træne: {{errorMessage}}",
"updateFaceScoreFailed": "Kunne ikke opdatere ansigtets score: {{errorMessage}}"
}
},
"deleteFaceAttempts": {
"desc_one": "Er du sikker på, at du vil slette {{count}} ansigt? Denne handling kan ikke fortrydes.",
"desc_other": "Er du sikker på, at du vil slette {{count}} ansigter? Denne handling kan ikke fortrydes.",
"title": "Slet ansigter"
},
"collections": "Samlinger",
"deleteFaceLibrary": {
"title": "Slet navn",
"desc": "Er du sikker på, at du vil slette samlingen {{name}}? Dette vil permanent slette alle tilknyttede ansigter."
},
"imageEntry": {
"maxSize": "Maks. størrelse: {{size}} MB",
"validation": {
"selectImage": "Vælg venligst en billedfil."
},
"dropActive": "Slip billedet her…",
"dropInstructions": "Træk og slip eller indsæt et billede her eller klik for at vælge"
},
"nofaces": "Ingen tilgængelige ansigter",
"trainFaceAs": "Træn ansigt som:"
}

View File

@@ -14,8 +14,104 @@
"move": {
"clickMove": {
"label": "Klik i billedrammen for at centrere kameraet",
"enable": "Aktivér klik for at flytte"
"enable": "Aktivér klik for at flytte",
"disable": "Deaktiver klik for at flytte"
},
"left": {
"label": "Flyt PTZ-kameraet til venstre"
},
"up": {
"label": "Flyt PTZ kamera op"
},
"down": {
"label": "Flyt PTZ-kameraet ned"
},
"right": {
"label": "Flyt PTZ-kameraet til højre"
}
}
},
"zoom": {
"in": {
"label": "Zoom PTZ-kamera ind"
},
"out": {
"label": "Zoom PTZ kamera ud"
}
},
"focus": {
"in": {
"label": "Focus PTZ kamera ind"
},
"out": {
"label": "Focus PTZ kamera ud"
}
},
"frame": {
"center": {
"label": "Klik på billedet for at centrere PTZ-kameraet"
}
},
"presets": "PTZ kamera forudindstillinger"
},
"camera": {
"enable": "Aktivér kamera",
"disable": "Deaktivér kamera"
},
"muteCameras": {
"enable": "Slå lyd på alle kameraer fra",
"disable": "Slå lyd på alle kameraer til"
},
"detect": {
"enable": "Aktiver detektering",
"disable": "Deaktiver detektering"
},
"recording": {
"enable": "Aktivér optagelse",
"disable": "Deaktiver optagelse"
},
"snapshots": {
"enable": "Aktivér Snapshots",
"disable": "Deaktivér Snapshots"
},
"snapshot": {
"takeSnapshot": "Hent instant snapshot",
"noVideoSource": "Ingen videokilde til snapshot.",
"captureFailed": "Kunne ikke tage snapshot.",
"downloadStarted": "Hentning af snapshot startet."
},
"audioDetect": {
"enable": "Aktiver lyddetektor",
"disable": "Deaktiver lyddetektor"
},
"transcription": {
"enable": "Aktiver Live Audio Transkription",
"disable": "Deaktiver Live Audio Transkription"
},
"autotracking": {
"enable": "Aktiver Autotracking",
"disable": "Deaktiver Autotracking"
},
"streamStats": {
"enable": "Vis Stream statistik",
"disable": "Skjul Stream statistik"
},
"manualRecording": {
"title": "Manuel optagelse",
"tips": "Hent et øjebliksbillede eller start en manuel begivenhed baseret på dette kameras indstillinger for optagelse af opbevaring.",
"playInBackground": {
"label": "Afspil i baggrunden",
"desc": "Aktiver denne mulighed for at fortsætte streaming, når afspilleren er skjult."
},
"showStats": {
"label": "Vis statistik",
"desc": "Aktiver denne mulighed for at vise streamstatistikker som en overlejring på kameraets feed."
},
"debugView": "Debug View",
"start": "Start on-demand optagelse",
"started": "Start manuel optagelse.",
"failedToStart": "Manuel optagelse fejlede.",
"recordDisabledTips": "Da optagelsen er deaktiveret eller begrænset i konfig for dette kamera, gemmes der kun et snapshot.",
"end": "Afslut manuel optagelse",
"ended": "Afsluttet manuel optagelse."
}
}

View File

@@ -1,5 +1,5 @@
{
"filter": "Filter",
"filter": "Filtrer",
"export": "Eksporter",
"calendar": "Kalender",
"filters": "Filtere",

View File

@@ -9,5 +9,11 @@
"filterActive": "Filtre aktiv",
"clear": "Ryd søgning"
},
"trackedObjectId": "Sporet genstands-ID"
"trackedObjectId": "Sporet genstands-ID",
"filter": {
"label": {
"cameras": "Kameraer",
"zones": "Områder"
}
}
}

View File

@@ -9,6 +9,11 @@
"enrichments": "Indstillinger for berigelser - Frigate",
"masksAndZones": "Maske- og zoneeditor - Frigate",
"motionTuner": "Bevægelsesjustering - Frigate",
"general": "Brugergrænsefladeindstillinger - Frigate"
"general": "Brugergrænsefladeindstillinger - Frigate",
"frigatePlus": "Frigate+ Indstillinger - Frigate",
"notifications": "Notifikations indstillinger - Frigate"
},
"menu": {
"ui": "Brugergrænseflade"
}
}

View File

@@ -179,7 +179,8 @@
"lt": "Lietuvių (Litauisch)",
"bg": "Български (bulgarisch)",
"gl": "Galego (Galicisch)",
"id": "Bahasa Indonesia (Indonesisch)"
"id": "Bahasa Indonesia (Indonesisch)",
"hr": "Hrvatski (Kroatisch)"
},
"appearance": "Erscheinung",
"theme": {

View File

@@ -6,7 +6,8 @@
"content": "Diese Seite wird in {{countdown}} Sekunde(n) aktualisiert.",
"button": "Neuladen erzwingen"
},
"button": "Neustarten"
"button": "Neustarten",
"description": "Dies wird Frigate kurz stoppen, während es neu startet."
},
"explore": {
"plus": {

View File

@@ -1,8 +1,9 @@
{
"description": {
"placeholder": "Gib einen Name für diese Kollektion ein",
"addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem du ein Bild hochlädst.",
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
"addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem du ein erstes Bild hochlädst.",
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten.",
"nameCannotContainHash": "Der Name darf keine # enthalten."
},
"details": {
"person": "Person",

View File

@@ -49,12 +49,12 @@
"desc": "Standardmäßig werden die letzten Warnmeldungen auf dem Live-Dashboard als kurze Videoschleifen abgespielt. Deaktiviere diese Option, um nur ein statisches Bild der letzten Warnungen auf diesem Gerät/Browser anzuzeigen."
},
"automaticLiveView": {
"desc": "Zeigt automatisch das Live-Bild einer Kamera an, wenn eine Aktivität erkannt wird. Ist diese Option deaktiviert, werden Kamerabilder im Live-Dashboard nur einmal pro Minute aktualisiert.",
"desc": "Automatisch zur Live-Ansicht einer Kamera wechseln, wenn eine Aktivität erkannt wird. Wenn diese Option deaktiviert ist, werden statische Kamerabilder auf dem Live-Dashboard nur einmal pro Minute aktualisiert.",
"label": "Automatische Live Ansicht"
},
"displayCameraNames": {
"label": "Immer Namen der Kamera anzeigen",
"desc": "Kamerabezeichnung immer im einem Chip im Live-View-Dashboard r mehrere Kameras anzeigen."
"desc": "Zeige immer die Kameranamen in einem Chip im Dashboard der Mehrkamera-Live-Ansicht an."
},
"liveFallbackTimeout": {
"label": "Live Player Ausfallzeitlimit",
@@ -276,6 +276,11 @@
},
"error": {
"mustBeFinished": "Polygonzeichnung muss vor dem Speichern abgeschlossen sein."
},
"type": {
"zone": "Zone",
"motion_mask": "Bewegungsmaske",
"object_mask": "Objektmaske"
}
},
"speed": {
@@ -544,7 +549,7 @@
"placeholder": "Passwort eingeben",
"requirements": {
"title": "Passwort Anforderungen:",
"length": "Mindestens 8 Zeichen",
"length": "Mindestens 12 Zeichen",
"uppercase": "Mindestens ein Großbuchstabe",
"digit": "Mindestens eine Ziffer",
"special": "Mindestens ein Sonderzeichen (!@#$%^&*(),.?\":{}|<>)"
@@ -1210,7 +1215,7 @@
"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.",
"reolink-http": "Für Reolink-HTTP-Streams sollten sie FFmpeg verwenden, um eine bessere Kompatibilität zu gewährleisten. Aktivieren Sie für diesen Stream die Option „Stream-Kompatibilitätsmodus verwenden“."
"reolink-http": "Reolink-HTTP-Streams sollten für eine bessere Kompatibilität FFmpeg verwenden. Aktivieren Sie für diesen Stream die Option „Stream-Kompatibilitätsmodus verwenden“."
},
"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."

View File

@@ -1,6 +1,7 @@
{
"restart": {
"title": "Are you sure you want to restart Frigate?",
"description": "This will briefly stop Frigate while it restarts.",
"button": "Restart",
"restarting": {
"title": "Frigate is Restarting",

View File

@@ -153,7 +153,8 @@
"bg": "Български (Búlgaro)",
"gl": "Galego (Gallego)",
"id": "Bahasa Indonesia (Indonesio)",
"ur": "اردو (Urdu)"
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Croata)"
},
"appearance": "Apariencia",
"darkMode": {

View File

@@ -6,7 +6,8 @@
"content": "Esta página se recargará en {{countdown}} segundos."
},
"title": "¿Estás seguro de que quieres reiniciar Frigate?",
"button": "Reiniciar"
"button": "Reiniciar",
"description": "Esto detendrá brevemente Frigate mientras se reinicia."
},
"explore": {
"plus": {

View File

@@ -129,13 +129,13 @@
"classes": {
"label": "Clases",
"all": {
"title": "Todas las Clases"
"title": "Todas las clases"
},
"count_one": "{{count}} Clase",
"count_other": "{{count}} Clases"
},
"attributes": {
"label": "Atributos de Clasificación",
"label": "Atributos de clasificación",
"all": "Todos los Atributos"
}
}

View File

@@ -2,7 +2,8 @@
"description": {
"addFace": "Agregar una nueva colección a la Biblioteca de Rostros subiendo tu primera imagen.",
"placeholder": "Introduce un nombre para esta colección",
"invalidName": "Nombre incorrecto. Los nombres solo pueden incluir letras, números, espacios, apóstrofes, guiones bajos, y guiones."
"invalidName": "Nombre incorrecto. Los nombres solo pueden incluir letras, números, espacios, apóstrofes, guiones bajos, y guiones.",
"nameCannotContainHash": "El nombre no puede contener #."
},
"details": {
"person": "Persona",

View File

@@ -276,7 +276,12 @@
"reset": {
"label": "Borrar todos los puntos"
},
"removeLastPoint": "Eliminar el último punto"
"removeLastPoint": "Eliminar el último punto",
"type": {
"zone": "zona",
"motion_mask": "máscara de movimiento",
"object_mask": "máscara de objeto"
}
},
"speed": {
"error": {
@@ -548,7 +553,7 @@
"hide": "Ocultar contraseña",
"requirements": {
"title": "Requisitos de contraseña:",
"length": "Al menos 8 caracteres",
"length": "Al menos 12 caracteres",
"uppercase": "Al menos una mayúscula",
"digit": "Al menos un número",
"special": "Al menos un caracter especial (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -192,7 +192,7 @@
"classification_speed": "Velocidad de clasificación de {{name}}",
"classification_events_per_second": "Clasificacion de eventos por segundo de {{name}}"
},
"title": "Enriquicimientos",
"title": "Enriquecimientos",
"averageInf": "Tiempo promedio de inferencia"
},
"stats": {

View File

@@ -139,7 +139,8 @@
"bg": "Български (bulgaaria keel)",
"gl": "Galego (galeegi keel)",
"id": "Bahasa Indonesia (indoneesia keel)",
"ur": "اردو (urdu keel)"
"ur": "اردو (urdu keel)",
"hr": "Hrvatski (horvaadi keel)"
},
"system": "Süsteem",
"systemMetrics": "Süsteemi meetrika",

View File

@@ -6,7 +6,8 @@
"title": "Frigate käivitub uuesti",
"content": "See leht laaditakse uuesti {{countdown}} sekundi pärast.",
"button": "Laadi uuesti kohe"
}
},
"description": "Järgnevaga Frigate uuesti käivitamise ajaks lõpetab korraks töö."
},
"search": {
"saveSearch": {

View File

@@ -30,11 +30,21 @@
"stationary": "{{label}} jäi paigale",
"active": "{{label}} muutus aktiivseks",
"entered_zone": "{{label}} sisenes tsooni {{zones}}",
"visible": "{{label}} on tuvastatud"
"visible": "{{label}} on tuvastatud",
"header": {
"zones": "Tsoonid",
"ratio": "Suhtarv",
"area": "Ala",
"score": "Punktiskoor"
}
},
"title": "Jälgimise üksikasjad",
"noImageFound": "Selle ajatempli kohta ei leidu pilti.",
"createObjectMask": "Loo objektimask"
"createObjectMask": "Loo objektimask",
"carousel": {
"previous": "Eelmine slaid",
"next": "Järgmine slaid"
}
},
"documentTitle": "Avasta - Frigate",
"generativeAI": "Generatiivne tehisaru",
@@ -63,12 +73,15 @@
"tips": {
"mismatch_one": "Tuvastasin {{count}} võõra objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud.",
"mismatch_other": "Tuvastasin {{count}} võõrast objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud."
}
},
"title": "Vaata objekti üksikasju",
"desc": "Vaata objekti üksikasju"
},
"snapshotScore": {
"label": "Hetkvõttete punktiskoor"
},
"regenerateFromSnapshot": "Loo uuesti hetkvõttest",
"timestamp": "Ajatampel"
}
},
"trackedObjectDetails": "Jälgitava objekti üksikasjad"
}

View File

@@ -4,10 +4,23 @@
"password": "Salasõna",
"passwordPlaceholder": "Valikuline",
"customUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
"connectionSettings": "Ühenduse seadistused"
"connectionSettings": "Ühenduse seadistused",
"port": "Port",
"username": "Kasutajanimi",
"usernamePlaceholder": "Valikuline"
},
"step3": {
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht"
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
"url": "Võrguaadress",
"resolution": "Resolutsioon",
"quality": "Kvaliteet",
"roles": "Rollid",
"roleLabels": {
"record": "Salvestamine",
"audio": "Heliriba"
},
"connected": "Ühendatud",
"featuresTitle": "Funktsionaalsused"
},
"steps": {
"probeOrSnapshot": "Võta proov või tee hetkvõte"
@@ -15,7 +28,34 @@
"step2": {
"testing": {
"fetchingSnapshot": "Laadin kaamera hetkvõtet alla..."
}
},
"retry": "Proovi uuesti",
"manufacturer": "Tootja",
"model": "Mudel",
"firmware": "Püsivara",
"profiles": "Profiilid",
"presets": "Eelseadistused",
"useCandidate": "Kasuta",
"uriCopy": "Kopeeri",
"connected": "Ühendatud"
},
"testResultLabels": {
"resolution": "Resolutsioon",
"video": "Video",
"audio": "Heliriba",
"fps": "Kaadrisagedus"
},
"step4": {
"reload": "Laadi uuesti",
"connecting": "Ühendan…",
"valid": "Kehtiv",
"failed": "Ebaõnnestunud",
"connectStream": "Ühenda",
"connectingStream": "Ühendan",
"disconnectStream": "Katkesta ühendus",
"roles": "Rollid",
"none": "Määramata",
"error": "Viga"
}
},
"users": {
@@ -29,7 +69,10 @@
}
},
"table": {
"password": "Lähtesta salasõna"
"password": "Lähtesta salasõna",
"username": "Kasutajanimi",
"actions": "Tegevused",
"role": "Roll"
},
"dialog": {
"form": {
@@ -53,7 +96,7 @@
"hide": "Peida salasõna",
"requirements": {
"title": "Salasõna reeglid:",
"length": "Vähemalt 8 tähemärki",
"length": "Vähemalt 12 tähemärki",
"uppercase": "Vähemalt üks suurtäht",
"digit": "Vähemalt üks number",
"special": "Vähemalt üks erimärk (!@#$%^&*(),.?\":{}|<>)"
@@ -70,6 +113,9 @@
"currentPassword": {
"title": "Senine salasõna",
"placeholder": "Sisesta oma senine salasõna"
},
"user": {
"title": "Kasutajanimi"
}
},
"createUser": {
@@ -84,12 +130,42 @@
"currentPasswordRequired": "Senine salasõna on vajalik",
"incorrectCurrentPassword": "Senine salasõna pole õige",
"passwordVerificationFailed": "Salasõna kontrollimine ei õnnestunud"
},
"changeRole": {
"roleInfo": {
"admin": "Peakasutaja",
"viewer": "Vaataja"
}
}
}
},
"title": "Kasutajad"
},
"debug": {
"boundingBoxes": {
"desc": "Näita jälgitavate objektide ümber märgiskaste"
},
"title": "Silumine ja veaotsing",
"debugging": "Veaotsing ja silumine",
"audio": {
"title": "Heliriba",
"score": "punktiskoor"
},
"timestamp": {
"title": "Ajatempel"
},
"zones": {
"title": "Tsoonid"
},
"regions": {
"title": "Alad"
},
"paths": {
"title": "Asukohad"
},
"objectShapeFilterDrawing": {
"score": "Punktiskoor",
"ratio": "Suhtarv",
"area": "Ala"
}
},
"documentTitle": {
@@ -113,10 +189,31 @@
"automaticLiveView": {
"label": "Automaatne otseülekande vaade"
}
},
"calendar": {
"title": "Kalender",
"firstWeekday": {
"sunday": "Pühapäev",
"monday": "Esmaspäev",
"label": "Esimene nädalapäev"
}
},
"storedLayouts": {
"title": "Salvestatud paigutused"
},
"recordingsViewer": {
"title": "Salvestuste vaataja"
}
},
"cameraManagement": {
"backToSettings": "Tagasi kaameraseadistuste juurde"
"backToSettings": "Tagasi kaameraseadistuste juurde",
"cameraConfig": {
"enabled": "Kasutusel",
"ffmpeg": {
"pathPlaceholder": "rtsp://...",
"roles": "Rollid"
}
}
},
"notification": {
"notificationSettings": {
@@ -130,6 +227,16 @@
"success": {
"settingSaved": "Teavituste seadistused on salvestatud."
}
},
"title": "Teavitused",
"email": {
"title": "E-post"
},
"cameras": {
"title": "Kaamerad"
},
"suspendTime": {
"suspend": "Peata arvuti töö"
}
},
"frigatePlus": {
@@ -145,20 +252,48 @@
"cleanCopySnapshots": "<code>clean_copy</code> Hetkvõtted",
"camera": "Kaamera"
}
},
"modelInfo": {
"plusModelType": {
"userModel": "Peenhäälestatud"
},
"cameras": "Kaamerad"
}
},
"masksAndZones": {
"zones": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti"
"point_other": "{{count}} punkti",
"label": "Tsoonid",
"desc": {
"documentation": "Dokumentatsioon"
},
"name": {
"title": "Nimi"
},
"inertia": {
"title": "Inerts"
},
"objects": {
"title": "Objektid"
}
},
"motionMasks": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti"
"point_other": "{{count}} punkti",
"desc": {
"documentation": "Dokumentatsioon"
}
},
"objectMasks": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti"
"point_other": "{{count}} punkti",
"desc": {
"documentation": "Dokumentatsioon"
},
"objects": {
"title": "Objektid"
}
}
},
"roles": {
@@ -167,6 +302,21 @@
"userRolesUpdated_one": "{{count}} selle rolliga kasutaja on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele.",
"userRolesUpdated_other": "{{count}} selle rolliga kasutajat on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele."
}
},
"table": {
"role": "Roll",
"cameras": "Kaamerad",
"actions": "Tegevused"
},
"dialog": {
"deleteRole": {
"deleting": "Kustutan..."
},
"form": {
"cameras": {
"title": "Kaamerad"
}
}
}
},
"menu": {
@@ -178,7 +328,8 @@
"users": "Kasutajad",
"roles": "Rollid",
"notifications": "Teavitused",
"frigateplus": "Frigate+"
"frigateplus": "Frigate+",
"cameraReview": "Ülevaatamine"
},
"dialog": {
"unsavedChanges": {
@@ -189,5 +340,84 @@
"cameraSetting": {
"camera": "Kaamera",
"noCamera": "Kaamerat pole"
},
"enrichments": {
"semanticSearch": {
"reindexNow": {
"confirmButton": "Indekseeri uuesti",
"label": "Indekseeri uuesti kohe"
},
"modelSize": {
"small": {
"title": "väike"
},
"large": {
"title": "suur"
}
},
"title": "Semantiline otsing"
},
"faceRecognition": {
"modelSize": {
"small": {
"title": "väike"
},
"large": {
"title": "suur"
}
}
},
"birdClassification": {
"title": "Lindude klassifikatsioon"
}
},
"cameraReview": {
"review": {
"title": "Ülevaatamine",
"alerts": "Hoiatused ",
"detections": "Tuvastamise tulemused "
}
},
"motionDetectionTuner": {
"Threshold": {
"title": "Lävi"
}
},
"triggers": {
"documentTitle": "Päästikud",
"management": {
"title": "Päästikud"
},
"table": {
"name": "Nimi",
"type": "Tüüp",
"content": "Sisu",
"threshold": "Lävi",
"actions": "Tegevused",
"edit": "Muuda"
},
"type": {
"thumbnail": "Pisipilt",
"description": "Kirjeldus"
},
"dialog": {
"form": {
"name": {
"title": "Nimi"
},
"type": {
"title": "Tüüp"
},
"content": {
"title": "Sisu"
},
"threshold": {
"title": "Lävi"
},
"actions": {
"title": "Tegevused"
}
}
}
}
}

View File

@@ -175,7 +175,8 @@
"bg": "Български (Bulgare)",
"gl": "Galego (Galicien)",
"id": "Bahasa Indonesia (Indonésien)",
"ur": "اردو (Ourdou)"
"ur": "اردو (Ourdou)",
"hr": "Hrvatski (Croate)"
},
"appearance": "Apparence",
"darkMode": {

View File

@@ -6,7 +6,8 @@
"content": "Cette page sera rechargée dans {{countdown}} secondes.",
"button": "Forcer l'actualisation maintenant"
},
"button": "Redémarrer"
"button": "Redémarrer",
"description": "Frigate s'arrêtera momentanément pour redémarrer."
},
"explore": {
"plus": {

View File

@@ -2,7 +2,8 @@
"description": {
"addFace": "Ajoutez une nouvelle collection à la bibliothèque de visages en téléversant votre première image.",
"placeholder": "Saisissez un nom pour cette collection.",
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets.",
"nameCannotContainHash": "Le nom ne peut pas contenir le caractère #."
},
"details": {
"person": "Personne",

View File

@@ -366,6 +366,11 @@
"snapPoints": {
"true": "Points d'accrochage",
"false": "Ne pas réunir les points"
},
"type": {
"zone": "zone",
"motion_mask": "masque de mouvement",
"object_mask": "masque d'objet"
}
},
"loiteringTime": {
@@ -649,7 +654,7 @@
"hide": "Masquer le mot de passe",
"requirements": {
"title": "Critères du mot de passe :",
"length": "Au moins 8 caractères",
"length": "Au moins 12 caractères",
"uppercase": "Au moins une lettre majuscule",
"digit": "Au moins un chiffre",
"special": "Au moins un caractère spécial (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -75,7 +75,8 @@
"formattedTimestampMonthDay": "MMM d",
"inProgress": "Folyamatban",
"invalidStartTime": "Érvénytelen kezdeti idő",
"never": "Soha"
"never": "Soha",
"invalidEndTime": "Érvénytelen befejezési idő"
},
"menu": {
"darkMode": {
@@ -106,7 +107,7 @@
"logout": "Kijelentkezés",
"title": "Felhasználó",
"account": "Fiók",
"current": "Jelenlegi Felhazsnáló: {{user}}",
"current": "Jelenlegi Felhasználó: {{user}}",
"anonymous": "anoním",
"setPassword": "Jelszó Beállítása"
},
@@ -153,7 +154,8 @@
"bg": "Български (Bolgár)",
"gl": "Galego (Galíciai)",
"id": "Bahasa Indonesia (Indonéz)",
"ur": "اردو (Urdu)"
"ur": "اردو (Urdu)",
"hr": "Horvát"
},
"uiPlayground": "UI játszótér",
"faceLibrary": "Arc Könyvtár",
@@ -175,7 +177,8 @@
"system": "Rendszer",
"configuration": "Konfiguráció",
"systemLogs": "Rendszer naplók",
"settings": "Beállítások"
"settings": "Beállítások",
"classification": "Osztályozás"
},
"role": {
"viewer": "Néző",
@@ -215,7 +218,7 @@
}
}
},
"selectItem": "KIválasztani {{item}}-et",
"selectItem": "Kiválasztani {{item}}-et",
"unit": {
"speed": {
"mph": "mph",
@@ -269,14 +272,29 @@
"unselect": "Kijelölés megszüntetése",
"export": "Exportálás",
"deleteNow": "Törlés Most",
"next": "Következő"
"next": "Következő",
"continue": "Tovább"
},
"label": {
"back": "Vissza",
"all": "Mind"
"all": "Mind",
"hide": "Elrejt {{item}}",
"show": "Mutat {{item}}",
"ID": "ID",
"none": "Nincs",
"other": "Egyéb"
},
"readTheDocumentation": "Olvassa el a dokumentációt",
"information": {
"pixels": "{{area}}px"
},
"list": {
"two": "{{0}} és {{1}}",
"many": "{{items}}, és {{last}}",
"separatorWithSpace": ", "
},
"field": {
"optional": "Opcionális",
"internalID": "A belső ID, amelyet a Frigate használ a konfigurációban és az adatbázisban"
}
}

View File

@@ -6,7 +6,8 @@
"title": "A Frigate újraindul",
"content": "Az oldal újratölt {{countdown}} másodperc múlva.",
"button": "Erőltetett újraindítás azonnal"
}
},
"description": "Ez rövid időre leállítja a Frigate programot, amíg újraindul."
},
"explore": {
"plus": {
@@ -57,7 +58,8 @@
"failed": "Nem sikerült elkezdeni az exportálást: {{error}}",
"endTimeMustAfterStartTime": "A végső időpontnak a kezdeti időpont után kell következnie",
"noVaildTimeSelected": "Nincs érvényes idő intervallum kiválasztva"
}
},
"view": "Megtekint"
},
"fromTimeline": {
"saveExport": "Exportálás mentése",

View File

@@ -13,8 +13,8 @@
"toast": {
"success": {
"deletedImage": "Törölt képek",
"deletedModel_one": "Sikeresen törölt {{count}} modellt",
"deletedModel_other": "",
"deletedModel_one": "Sikeresen törölve {{count}} modell",
"deletedModel_other": "Sikeresen törölve {{count}} modell",
"categorizedImage": "A kép sikeresen osztályozva",
"deletedCategory": "Osztály törlése",
"trainedModel": "Sikeresen betanított modell.",
@@ -24,7 +24,13 @@
},
"error": {
"deleteImageFailed": "Törlés sikertelen: {{errorMessage}}",
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}"
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}",
"deleteModelFailed": "Modell törlése nem sikerült: {{errorMessage}}",
"categorizeFailed": "A kép kategorizálása sikertelen: {{errorMessage}}",
"trainingFailed": "A modell képzése sikertelen volt. A részletek a Frigate naplóiban találhatók.",
"trainingFailedToStart": "A modell képzésének elindítása sikertelen: {{errorMessage}}",
"updateModelFailed": "A modell frissítése sikertelen: {{errorMessage}}",
"renameCategoryFailed": "Az osztály átnevezése sikertelen: {{errorMessage}}"
}
},
"details": {
@@ -54,5 +60,16 @@
},
"train": {
"titleShort": "Friss"
},
"deleteCategory": {
"title": "Osztály törlése",
"desc": "Biztosan törölni szeretné a {{name}} osztályt? Ezzel véglegesen törli az összes kapcsolódó képet, és a modell újratanítására lesz szükség.",
"minClassesTitle": "Osztály törlése nem lehetséges"
},
"deleteModel": {
"title": "Osztályozási modell törlése",
"single": "Biztosan törölni szeretné a(z) {{name}}-t? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
"desc_one": "Biztosan törölni szeretné a(z) {{count}} modellt? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
"desc_other": "Biztosan törölni szeretné a(z) {{count}} modelleket? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan."
}
}

View File

@@ -54,5 +54,12 @@
"alwaysExpandActive": {
"title": "Mindig kibontja az aktív részt"
}
}
},
"objectTrack": {
"trackedPoint": "Nyomon követett pont",
"clickToSeek": "Kattintson, az időponthoz ugráshoz"
},
"select_all": "Összes",
"needsReview": "Felülvizsgálatra szorul",
"securityConcern": "Biztonsági aggályok"
}

View File

@@ -235,10 +235,19 @@
"header": {
"zones": "Zónák",
"ratio": "Arány",
"area": "Terület"
}
"area": "Terület",
"score": "Pontszám"
},
"visible": "{{label}} észlelve",
"entered_zone": "{{label}} belépett {{zones}}",
"gone": "{{label}} maradt"
},
"title": "Követési adatok",
"noImageFound": "Nem található kép ehhez az időbélyeghez."
"noImageFound": "Nem található kép ehhez az időbélyeghez.",
"createObjectMask": "Objektum maszk létrehozása",
"scrollViewTips": "Kattintson ide, hogy megtekintse az objektum életciklusának fontosabb pillanatait.",
"autoTrackingTips": "Az automatikus követésű kamerák esetében a keret pozíciói pontatlanok lesznek.",
"count": "{{first}} a {{second}} közül",
"trackedPoint": "Nyomon követett pont"
}
}

View File

@@ -47,7 +47,8 @@
"description": {
"placeholder": "Adj nevet ennek a gyűjteménynek",
"invalidName": "Nem megfelelő név. A nevek csak betűket, számokat, szóközöket, aposztrófokat, alulhúzásokat és kötőjeleket tartalmazhatnak.",
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével."
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével.",
"nameCannotContainHash": "A név nem tartalmazhat # karaktert."
},
"selectFace": "Arc kiválasztása",
"deleteFaceLibrary": {
@@ -71,7 +72,7 @@
"deletedName_one": "{{count}} arc sikeresen törölve.",
"deletedName_other": "{{count}} arc sikeresen törölve.",
"renamedFace": "Arc sikeresen átnvezezve {{name}}-ra/-re",
"updatedFaceScore": "Arc pontszáma sikeresen frissítve.",
"updatedFaceScore": "Arc pontszáma sikeresen frissítve a következőhöz {{name}} ({{score}}).",
"trainedFace": "Arc sikeresen betanítva.",
"deletedFace_one": "{{count}} arc sikeresen törölve.",
"deletedFace_other": "{{count}} arc sikeresen törölve."

View File

@@ -50,6 +50,12 @@
"playAlertVideos": {
"label": "Riasztási Videók Lejátszása",
"desc": "Alapértelmezetten az Élő irányítópulton a legutóbbi riasztások kis, ismétlődő videóként jelennek meg. Kapcsolja ki ezt az opciót, ha csak állóképet szeretne megjeleníteni a legutóbbi riasztásokról ezen az eszközön/böngészőben."
},
"displayCameraNames": {
"label": "Mindig mutatja a kamera nevét"
},
"liveFallbackTimeout": {
"desc": "Ha a kamera kiváló minőségű élő közvetítése nem elérhető, ennyi másodperc elteltével váltson alacsony sávszélességű módra. Alapértelmezett: 3."
}
},
"title": "Alapbeállítások",
@@ -806,7 +812,7 @@
"updateCameras": "Kamerák frissítve a szerepkörhöz: {{role}}",
"deleteRole": "Szerepkör sikeresen törölve: {{role}}",
"userRolesUpdated_one": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához.",
"userRolesUpdated_other": ""
"userRolesUpdated_other": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához."
},
"error": {
"createRoleFailed": "Nem sikerült létrehozni a szerepkört: {{errorMessage}}",

View File

@@ -66,7 +66,7 @@
"type": {
"label": "Típus",
"timestamp": "Időbélyeg",
"tag": "Cédula",
"tag": "Címke",
"message": "Üzenet"
},
"toast": {

View File

@@ -6,7 +6,8 @@
"title": "Sedang Merestart Frigate",
"content": "Halaman ini akan memulai ulang dalam {{countdown}} detik.",
"button": "Muat Ulang Sekarang"
}
},
"description": "Layanan Frigate akan terhenti sejenak saat proses restart."
},
"explore": {
"plus": {

View File

@@ -1,12 +1,14 @@
{
"documentTitle": "Klasifikasi Model - Frigate",
"details": {
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini."
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini.",
"none": "Tidak ada",
"unknown": "Tidak diketahui"
},
"button": {
"deleteClassificationAttempts": "Hapus Gambar Klasifikasi",
"renameCategory": "Ubah Nama Kelas",
"deleteCategory": "Hapus Kelas",
"renameCategory": "Ganti Nama Class",
"deleteCategory": "Hapus Class",
"deleteImages": "Hapus Gambar",
"trainModel": "Latih Model",
"addClassification": "Tambah Klasifikasi",
@@ -14,14 +16,14 @@
"editModel": "Ubah Model"
},
"tooltip": {
"trainingInProgress": "Model dalam training",
"noNewImages": "Tidak ada gambar untuk dilatih. Klasifikasikan gambar terlebih dahulu di dataset.",
"trainingInProgress": "Model sedang training",
"noNewImages": "Tidak ada gambar baru untuk training. Klasifikasi lebih banyak gambar di dataset terlebih dahulu.",
"noChanges": "Tidak ada perubahan dataset sejak latihan terakhir.",
"modelNotReady": "Model tidak siap untuk dilatih"
},
"toast": {
"success": {
"deletedCategory": "Kelas dihapus",
"deletedCategory": "Class Dihapus",
"deletedImage": "Image dihapus",
"deletedModel_other": "Berhasil menghapus {{count}} model",
"categorizedImage": "Berhasil Mengklasifikasikan Gambar",
@@ -31,17 +33,61 @@
"renamedCategory": "Berhasil mengganti nama class ke {{name}}"
},
"error": {
"updateModelFailed": "Gagal melakukan perubahan pada model: {{errorMessage}}",
"updateModelFailed": "Gagal update model: {{errorMessage}}",
"renameCategoryFailed": "Gagal merubah penamaan kelas: {{errorMessage}}",
"deleteImageFailed": "Gagal menghapus: {{errorMessage}}",
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}"
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}",
"deleteModelFailed": "Gagal menghapus model: {{errorMessage}}",
"categorizeFailed": "Gagal mengkategorikan gambar: {{errorMessage}}",
"trainingFailed": "Gagal melakukan training model. Cek log Frigate untuk rinciannya.",
"trainingFailedToStart": "Gagal memulai training model: {{errorMessage}}"
}
},
"deleteCategory": {
"title": "Kelas dihapus",
"minClassesTitle": "Dilarang menghapus Kelas"
"minClassesTitle": "Dilarang menghapus Kelas",
"desc": "Apakah Anda yakin ingin menghapus class {{name}}? Ini akan menghapus semua gambar terkait secara permanen dan memerlukan re-training model.",
"minClassesDesc": "Model klasifikasi harus memiliki setidaknya 2 class. Tambahkan class lain sebelum menghapus yang ini."
},
"train": {
"titleShort": "Terkini"
},
"wizard": {
"title": "Buat Klasifikasi Baru",
"steps": {
"nameAndDefine": "Nama & Definisi",
"stateArea": "Pilih Area",
"chooseExamples": "Pilih Contoh"
},
"step1": {
"description": "State model memantau area kamera yang tetap untuk setiap perubahan (contoh: pintu terbuka/tertutup). Object model menambahkan klasifikasi pada objek yang terdeteksi (contoh: hewan tertentu, kurir, dll.).",
"name": "Nama",
"namePlaceholder": "Masukkan nama model...",
"type": "Tipe",
"typeState": "Status",
"typeObject": "Objek",
"objectLabel": "Label Objek",
"objectLabelPlaceholder": "Pilih tipe objek...",
"classificationType": "Pilih Klasifikasi",
"classificationTypeTip": "Pelajari tentang tipe klasifikasi",
"classificationTypeDesc": "Sub Label menambahkan teks tambahan pada label objek (contoh: 'Orang: UPS'). Atribut adalah metadata yang dapat dicari dan disimpan secara terpisah di dalam metadata objek.",
"classificationSubLabel": "Sub Label",
"classificationAttribute": "Atribut",
"classes": "Class",
"classesTip": "Pelajari tentang class",
"classesStateDesc": "Tentukan berbagai status (state) pada area kamera Anda. Contoh: 'terbuka' dan 'tertutup' untuk pintu garasi.",
"classesObjectDesc": "Tentukan kategori berbeda untuk mengklasifikasikan objek yang terdeteksi. Contoh: 'kurir', 'penghuni', 'orang_asing' untuk klasifikasi orang.",
"classPlaceholder": "Masukkan nama class...",
"errors": {
"nameRequired": "Nama model wajib diisi",
"nameLength": "Nama model maksimal 64 karakter",
"nameOnlyNumbers": "Nama model tidak boleh hanya berisi angka",
"classRequired": "Setidaknya harus ada 1 class yang diisi",
"classesUnique": "Nama class harus unik",
"stateRequiresTwoClasses": "State model memerlukan minimal 2 class",
"objectLabelRequired": "Silakan pilih label objek",
"objectTypeRequired": "Silakan pilih tipe klasifikasi"
}
}
}
}

View File

@@ -208,7 +208,8 @@
"bg": "Български (Bulgaro)",
"gl": "Galego (Galiziano)",
"id": "Bahasa Indonesia (Indonesiano)",
"ur": "اردو (Urdu)"
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Croato)"
},
"darkMode": {
"label": "Modalità scura",

View File

@@ -6,7 +6,8 @@
"title": "Frigate si sta riavviando",
"content": "Questa pagina si ricaricherà in {{countdown}} secondi.",
"button": "Forza ricarica ora"
}
},
"description": "Questo fermerà brevemente Frigate mentre si riavvia."
},
"explore": {
"plus": {
@@ -84,7 +85,7 @@
"label": "Mostra statistiche di trasmissione",
"desc": "Abilita questa opzione per visualizzare le statistiche della trasmissione come sovrapposizione sul flusso della telecamera."
},
"debugView": "Visualizzazione debug",
"debugView": "Vista correzioni",
"restreaming": {
"disabled": "La ritrasmissione non è abilitata per questa telecamera.",
"desc": {

View File

@@ -3,7 +3,8 @@
"description": {
"addFace": "Aggiungi una nuova raccolta alla Libreria dei Volti caricando la tua prima immagine.",
"placeholder": "Inserisci un nome per questa raccolta",
"invalidName": "Nome non valido. I nomi possono contenere solo lettere, numeri, spazi, apostrofi, caratteri di sottolineatura e trattini."
"invalidName": "Nome non valido. I nomi possono contenere solo lettere, numeri, spazi, apostrofi, caratteri di sottolineatura e trattini.",
"nameCannotContainHash": "Il nome non può contenere #."
},
"details": {
"confidence": "Fiducia",

View File

@@ -10,7 +10,7 @@
"general": "Impostazioni interfaccia - Frigate",
"frigatePlus": "Impostazioni Frigate+ - Frigate",
"notifications": "Impostazioni di notifiche - Frigate",
"enrichments": "Impostazioni Componenti Aggiuntivi - Frigate",
"enrichments": "Impostazioni di miglioramento - Frigate",
"cameraManagement": "Gestisci telecamere - Frigate",
"cameraReview": "Impostazioni revisione telecamera - Frigate"
},
@@ -87,9 +87,9 @@
"desc": "Mostra un riquadro della regione di interesse inviata al rilevatore di oggetti"
},
"noObjects": "Nessun oggetto",
"title": "Debug",
"desc": "La vista di debug mostra in tempo reale gli oggetti tracciati e le relative statistiche. L'elenco degli oggetti mostra un riepilogo in differita degli oggetti rilevati.",
"debugging": "Debugging",
"title": "Correzioni",
"desc": "La vista di correzione mostra una vista in tempo reale degli oggetti tracciati e delle relative statistiche. L'elenco degli oggetti mostra un riepilogo ritardato degli oggetti rilevati.",
"debugging": "Correzioni",
"objectList": "Elenco degli oggetti",
"mask": {
"desc": "Mostra i poligoni della maschera di movimento",
@@ -181,6 +181,11 @@
},
"error": {
"mustBeFinished": "Prima di salvare, è necessario terminare il disegno del poligono."
},
"type": {
"zone": "zona",
"motion_mask": "maschera di movimento",
"object_mask": "maschera di oggetto"
}
},
"inertia": {
@@ -377,14 +382,14 @@
"classification": "Classificazione",
"cameras": "Impostazioni telecamera",
"masksAndZones": "Maschere / Zone",
"debug": "Debug",
"debug": "Correzioni",
"users": "Utenti",
"frigateplus": "Frigate+",
"enrichments": "Componenti Aggiuntivi",
"enrichments": "Miglioramenti",
"triggers": "Inneschi",
"roles": "Ruoli",
"cameraManagement": "Gestione",
"cameraReview": "Revisione"
"cameraReview": "Rivedi"
},
"users": {
"dialog": {
@@ -432,7 +437,7 @@
"hide": "Nascondi password",
"requirements": {
"title": "Requisiti password:",
"length": "Almeno 8 caratteri",
"length": "Almeno 12 caratteri",
"uppercase": "Almeno una lettera maiuscola",
"digit": "Almeno una cifra",
"special": "Almeno un carattere speciale (!@#$%^&*(),.?\":{}|<>)"
@@ -510,7 +515,7 @@
},
"playAlertVideos": {
"label": "Riproduci video di avvisi",
"desc": "Per impostazione predefinita, gli avvisi recenti nella dashboard Live vengono riprodotti come piccoli video in loop. Disabilita questa opzione per mostrare solo un'immagine statica degli avvisi recenti su questo dispositivo/browser."
"desc": "Per impostazione predefinita, gli avvisi recenti nella schermata dal vivo vengono riprodotti come brevi video in ciclo. Disattiva questa opzione per visualizzare solo un'immagine statica degli avvisi recenti su questo dispositivo/browser."
},
"title": "Schermata dal vivo",
"displayCameraNames": {
@@ -534,7 +539,7 @@
"clearAll": "Cancella tutte le impostazioni di trasmissione"
},
"recordingsViewer": {
"title": "Visualizzatore di registrazioni",
"title": "Visualizzatore registrazioni",
"defaultPlaybackRate": {
"label": "Velocità di riproduzione predefinita",
"desc": "Velocità di riproduzione predefinita per la riproduzione delle registrazioni."
@@ -640,7 +645,7 @@
"title": "Regolatore di rilevamento del movimento",
"contourArea": {
"title": "Area di contorno",
"desc": "Il valore dell'area di contorno viene utilizzato per decidere quali gruppi di pixel modificati possono essere considerati movimento. <em>Predefinito: 10</em>"
"desc": "Il valore dell'area del contorno viene utilizzato per decidere quali gruppi di pixel modificati sono considerati movimento. <em>Predefinito: 10</em>"
},
"Threshold": {
"title": "Soglia",
@@ -708,10 +713,10 @@
},
"enrichments": {
"toast": {
"success": "Le impostazioni dei componenti aggiuntivi sono state salvate. Riavvia Frigate per applicare le modifiche.",
"success": "Le impostazioni di miglioramento sono state salvate. Riavvia Frigate per applicare le modifiche.",
"error": "Impossibile salvare le modifiche alla configurazione: {{errorMessage}}"
},
"title": "Impostazioni Componenti Aggiuntivi",
"title": "Impostazioni di miglioramento",
"semanticSearch": {
"reindexNow": {
"desc": "La reindicizzazione rigenererà gli incorporamenti per tutti gli oggetti tracciati. Questo processo viene eseguito in sottofondo e potrebbe impegnare al massimo la CPU e richiedere un tempo considerevole, a seconda del numero di oggetti tracciati.",
@@ -765,8 +770,8 @@
"title": "Riconoscimento targhe",
"readTheDocumentation": "Leggi la documentazione"
},
"unsavedChanges": "Modifiche alle impostazioni dei Componenti aggiuntivi non salvate",
"restart_required": "Riavvio richiesto (impostazioni dei componenti aggiuntivi modificate)"
"unsavedChanges": "Modifiche alle impostazioni di miglioramento non salvate",
"restart_required": "Riavvio richiesto (impostazioni di miglioramento modificate)"
},
"triggers": {
"documentTitle": "Inneschi",
@@ -1278,7 +1283,7 @@
"backToSettings": "Torna alle impostazioni della telecamera",
"streams": {
"title": "Abilita/Disabilita telecamere",
"desc": "Disattiva temporaneamente una telecamera fino al riavvio di Frigate. La disattivazione completa di una telecamera interrompe l'elaborazione dei flussi di questa telecamera da parte di Frigate. Rilevamento, registrazione e debug non saranno disponibili.<br /> <em>Nota: questa operazione non disattiva le ritrasmissioni di go2rtc.</em>"
"desc": "Disattiva temporaneamente una telecamera fino al riavvio di Frigate. La disattivazione completa di una telecamera interrompe l'elaborazione dei flussi di questa telecamera da parte di Frigate. Rilevamento, registrazione e correzioni non saranno disponibili.<br /> <em>Nota: questa operazione non disattiva le ritrasmissioni di go2rtc.</em>"
},
"cameraConfig": {
"add": "Aggiungi telecamera",

View File

@@ -1,7 +1,7 @@
{
"documentTitle": {
"cameras": "Statistiche telecamere - Frigate",
"enrichments": "Statistiche Componenti Aggiuntivi - Frigate",
"enrichments": "Statistiche di miglioramento - Frigate",
"storage": "Statistiche archiviazione - Frigate",
"general": "Statistiche generali - Frigate",
"logs": {
@@ -117,7 +117,7 @@
"classification_speed": "Velocità di classificazione {{name}}",
"classification_events_per_second": "Eventi di classificazione {{name}} al secondo"
},
"title": "Componenti Aggiuntivi",
"title": "Miglioramenti",
"infPerSecond": "Inferenze al secondo",
"averageInf": "Tempo medio di inferenza"
},

View File

@@ -69,7 +69,8 @@
},
"inProgress": "処理中",
"invalidStartTime": "開始時刻が無効です",
"invalidEndTime": "終了時刻が無効です"
"invalidEndTime": "終了時刻が無効です",
"never": "なし"
},
"readTheDocumentation": "ドキュメントを見る",
"unit": {
@@ -96,7 +97,8 @@
"show": "{{item}} を表示",
"ID": "ID",
"none": "なし",
"all": "すべて"
"all": "すべて",
"other": "その他"
},
"button": {
"apply": "適用",
@@ -232,7 +234,8 @@
"ur": "اردو (ウルドゥー語)",
"withSystem": {
"label": "システム設定に従う"
}
},
"hr": "Hrvatski (クロアチア語)"
},
"classification": "分類"
},

View File

@@ -6,7 +6,8 @@
"content": "このページは {{countdown}} 秒後に再読み込みされます。",
"button": "今すぐ強制再読み込み"
},
"button": "再起動"
"button": "再起動",
"description": "再起動の間、Frigateが一時的に停止します。"
},
"explore": {
"plus": {

View File

@@ -2,7 +2,8 @@
"description": {
"placeholder": "このコレクションの名前を入力",
"addFace": "最初の画像をアップロードして、フェイスライブラリに新しいコレクションを追加してください。",
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。"
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。",
"nameCannotContainHash": "名前に # は使用できません。"
},
"details": {
"person": "人物",

View File

@@ -176,6 +176,16 @@
"restricted": {
"title": "利用可能なカメラがありません",
"description": "このグループ内のカメラを表示する権限がありません。"
},
"default": {
"title": "設定済みのカメラがありません",
"description": "Frigate にカメラを接続して開始しましょう。",
"buttonText": "カメラを追加"
},
"group": {
"title": "このグループにカメラがありません",
"description": "このカメラグループには、割り当て済みまたは有効なカメラがありません。",
"buttonText": "グループを管理"
}
},
"snapshot": {

View File

@@ -288,6 +288,11 @@
},
"error": {
"mustBeFinished": "保存する前に多角形の作図を完了してください。"
},
"type": {
"zone": "ゾーン",
"motion_mask": "モーションマスク",
"object_mask": "オブジェクトマスク"
}
}
},
@@ -532,7 +537,7 @@
"hide": "パスワードを非表示",
"requirements": {
"title": "パスワード要件:",
"length": "8 文字以上",
"length": "12文字以上",
"uppercase": "大文字を 1 文字以上含める",
"digit": "数字を 1 文字以上含める",
"special": "少なくとも 1 つの特殊文字(!@#$%^&*(),.?”:{}|<>)が必要です"
@@ -1185,11 +1190,11 @@
"title": "カメラレビュー設定",
"object_descriptions": {
"title": "生成AIによるオブジェクト説明",
"desc": "このカメラに対する生成AIのオブジェクト説明を一時的に有効無効にします。無効にすると、このカメラ追跡オブジェクトについてAI生成の説明は要求されません。"
"desc": "Frigateが再起動するまで、このカメラの生成AIによる物体説明を一時的に有効/無効にします。無効にすると、このカメラ追跡された物体に対してAI生成の説明は生成されません。"
},
"review_descriptions": {
"title": "生成AIによるレビュー説明",
"desc": "このカメラに対する生成AIレビュー説明を一時的に有効無効にします。無効にすると、このカメラのレビュー項目についてAI生成の説明は要求されません。"
"desc": "Frigateが再起動するまで、このカメラ生成AIによるレビュー説明を一時的に有効/無効にします。無効にすると、このカメラのレビュー項目に対してAI生成の説明は生成されません。"
},
"review": {
"title": "レビュー",

View File

@@ -86,7 +86,14 @@
"otherProcesses": {
"title": "その他のプロセス",
"processCpuUsage": "プロセスの CPU 使用率",
"processMemoryUsage": "プロセスのメモリ使用量"
"processMemoryUsage": "プロセスのメモリ使用量",
"series": {
"recording": "録画",
"review_segment": "レビューセグメント",
"audio_detector": "音声検知",
"go2rtc": "go2rtc",
"embeddings": "ベクトル埋め込み"
}
}
},
"storage": {

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -81,7 +81,8 @@
"untilForRestart": "Līdz Frigate pārstartējas.",
"untilRestart": "Līdz pārstartēšanai",
"ago": "{{timeAgo}} pirms",
"justNow": "Nupat"
"justNow": "Nupat",
"never": "Nekad"
},
"unit": {
"speed": {
@@ -107,7 +108,8 @@
"show": "Rādīt {{item}}",
"ID": "ID",
"none": "Nav",
"all": "Viss"
"all": "Viss",
"other": "Cits"
},
"list": {
"two": "{{0}} un {{1}}",

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