Compare commits

...
Author SHA1 Message Date
f141b585bc Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (182 of 182 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/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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-configeditor/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-facelibrary/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/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
9de7f80727 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (7 of 7 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (50 of 50 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/components-camera/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nb_NO/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
2101b1f91d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (182 of 182 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/components-camera/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
2b5a30e23b Translated using Weblate (Urdu)
Currently translated at 6.1% (7 of 114 strings)

Translated using Weblate (Urdu)

Currently translated at 1.9% (7 of 352 strings)

Translated using Weblate (Urdu)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Urdu)

Currently translated at 8.7% (7 of 80 strings)

Translated using Weblate (Urdu)

Currently translated at 11.2% (7 of 62 strings)

Translated using Weblate (Urdu)

Currently translated at 6.0% (7 of 115 strings)

Translated using Weblate (Urdu)

Currently translated at 28.0% (7 of 25 strings)

Translated using Weblate (Urdu)

Currently translated at 15.2% (7 of 46 strings)

Translated using Weblate (Urdu)

Currently translated at 5.9% (7 of 118 strings)

Translated using Weblate (Urdu)

Currently translated at 77.7% (7 of 9 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Urdu)

Currently translated at 33.3% (8 of 24 strings)

Translated using Weblate (Urdu)

Currently translated at 77.7% (7 of 9 strings)

Translated using Weblate (Urdu)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Urdu)

Currently translated at 12.1% (8 of 66 strings)

Translated using Weblate (Urdu)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Urdu)

Currently translated at 16.4% (30 of 182 strings)

Translated using Weblate (Urdu)

Currently translated at 16.4% (30 of 182 strings)

Translated using Weblate (Urdu)

Currently translated at 8.4% (36 of 427 strings)

Translated using Weblate (Urdu)

Currently translated at 8.4% (36 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ryan Alvi <ryanalvi2010@gmail.com>
Co-authored-by: Uzair Ali <uzairali001@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ur/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ur/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
dd6114586c Translated using Weblate (Slovenian)
Currently translated at 2.5% (9 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 16.1% (10 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 18.0% (9 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.2% (15 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 5.2% (6 of 114 strings)

Translated using Weblate (Slovenian)

Currently translated at 1.7% (6 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 14.5% (7 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.7% (7 of 80 strings)

Translated using Weblate (Slovenian)

Currently translated at 9.6% (6 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Slovenian)

Currently translated at 13.6% (9 of 66 strings)

Translated using Weblate (Slovenian)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Slovenian)

Currently translated at 4.3% (8 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 2.6% (3 of 114 strings)

Translated using Weblate (Slovenian)

Currently translated at 0.8% (3 of 352 strings)

Translated using Weblate (Slovenian)

Currently translated at 8.3% (4 of 48 strings)

Translated using Weblate (Slovenian)

Currently translated at 66.6% (4 of 6 strings)

Translated using Weblate (Slovenian)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Slovenian)

Currently translated at 6.4% (4 of 62 strings)

Translated using Weblate (Slovenian)

Currently translated at 44.4% (4 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 3.4% (4 of 115 strings)

Translated using Weblate (Slovenian)

Currently translated at 20.0% (5 of 25 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Slovenian)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Slovenian)

Currently translated at 7.5% (5 of 66 strings)

Translated using Weblate (Slovenian)

Currently translated at 10.0% (5 of 50 strings)

Translated using Weblate (Slovenian)

Currently translated at 10.8% (5 of 46 strings)

Translated using Weblate (Slovenian)

Currently translated at 55.5% (5 of 9 strings)

Translated using Weblate (Slovenian)

Currently translated at 2.7% (5 of 182 strings)

Translated using Weblate (Slovenian)

Currently translated at 12.8% (55 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nik Grebovšek <nikigre@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sl/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
d508a8b5fe Translated using Weblate (Finnish)
Currently translated at 3.5% (4 of 114 strings)

Translated using Weblate (Finnish)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Finnish)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Finnish)

Currently translated at 22.2% (2 of 9 strings)

Translated using Weblate (Finnish)

Currently translated at 0.8% (1 of 115 strings)

Translated using Weblate (Finnish)

Currently translated at 4.1% (1 of 24 strings)

Translated using Weblate (Finnish)

Currently translated at 12.5% (1 of 8 strings)

Translated using Weblate (Finnish)

Currently translated at 12.0% (3 of 25 strings)

Translated using Weblate (Finnish)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Finnish)

Currently translated at 50.0% (1 of 2 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sampo Koskenohi <sampo.koskenohi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fi/
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
feb40e9d05 Translated using Weblate (Persian)
Currently translated at 3.5% (15 of 427 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: kayvan Azarbarzin <kayvan.azarbarzin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fa/
Translation: Frigate NVR/audio
2025-05-30 21:34:51 -06:00
2548af13b9 Translated using Weblate (Swedish)
Currently translated at 12.7% (45 of 352 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 29.0% (18 of 62 strings)

Translated using Weblate (Swedish)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 27.4% (17 of 62 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 37.4% (160 of 427 strings)

Translated using Weblate (Swedish)

Currently translated at 4.4% (5 of 113 strings)

Translated using Weblate (Swedish)

Currently translated at 1.7% (6 of 340 strings)

Translated using Weblate (Swedish)

Currently translated at 28.7% (23 of 80 strings)

Translated using Weblate (Swedish)

Currently translated at 43.9% (29 of 66 strings)

Translated using Weblate (Swedish)

Currently translated at 13.9% (6 of 43 strings)

Translated using Weblate (Swedish)

Currently translated at 34.1% (146 of 427 strings)

Co-authored-by: Fredrik B <fredrik@brannvall.nu>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tobias Hasson <tobbe@hansson.me>
Co-authored-by: TubalQ <TubalQayinn@protonmail.com>
Co-authored-by: jsm198 <jsm.persson@gmail.com>
Co-authored-by: pierrebengtsson <pierre.bengtsson@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
547c61f54c Translated using Weblate (French)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (French)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (French)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (French)

Currently translated at 98.8% (348 of 352 strings)

Translated using Weblate (French)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (French)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (French)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (French)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (French)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (French)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (French)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (French)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (French)

Currently translated at 100.0% (66 of 66 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/components-camera/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
34e92ef4ae Translated using Weblate (Spanish)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (66 of 66 strings)

Co-authored-by: Eduard Frigola <eduardfrigola@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Santiago Burgues <santibur06@gmail.com>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/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-configeditor/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/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-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
dbf440b0c7 Translated using Weblate (Dutch)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (179 of 179 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-camera/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/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/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
321fd136c0 Translated using Weblate (Arabic)
Currently translated at 13.5% (58 of 427 strings)

Co-authored-by: Hex <130850854+Hexer-7@users.noreply.github.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ar/
Translation: Frigate NVR/audio
2025-05-30 21:34:51 -06:00
c9708102a9 Translated using Weblate (Italian)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/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-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
85d8d7b136 Translated using Weblate (Polish)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (111 of 111 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Damian Radecki <damianradecki97@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mateusz Kulis <kulis.matis@gmail.com>
Co-authored-by: Mateusz Paś <piciuok@gmail.com>
Co-authored-by: Patryk Smoliński <smolinski.patryk@mensa.org.pl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pl/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
b0e6a64bd0 Translated using Weblate (Hebrew)
Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Hebrew)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.0% (1 of 50 strings)

Translated using Weblate (Hebrew)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.1% (1 of 46 strings)

Translated using Weblate (Hebrew)

Currently translated at 2.0% (1 of 48 strings)

Translated using Weblate (Hebrew)

Currently translated at 11.1% (1 of 9 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Hebrew)

Currently translated at 4.0% (1 of 25 strings)

Translated using Weblate (Hebrew)

Currently translated at 12.5% (1 of 8 strings)

Translated using Weblate (Hebrew)

Currently translated at 1.5% (1 of 66 strings)

Translated using Weblate (Hebrew)

Currently translated at 0.8% (1 of 115 strings)

Translated using Weblate (Hebrew)

Currently translated at 0.8% (1 of 118 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.0% (1 of 2 strings)

Translated using Weblate (Hebrew)

Currently translated at 4.1% (1 of 24 strings)

Translated using Weblate (Hebrew)

Currently translated at 7.7% (33 of 427 strings)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hebrew)

Co-authored-by: Dennis Zheleznyak <Dennis.zheleznyak@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Yechiel Ben David <yy.bendavid@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/he/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
2025-05-30 21:34:51 -06:00
2af1d22643 Translated using Weblate (Portuguese)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 55.6% (196 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.0% (295 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 65.6% (231 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.6% (289 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (213 of 352 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.4% (181 of 182 strings)

Translated using Weblate (Portuguese)

Currently translated at 53.1% (227 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 91.9% (57 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 97.3% (112 of 115 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Portuguese)

Currently translated at 46.6% (199 of 427 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Portuguese)

Currently translated at 46.3% (198 of 427 strings)

Co-authored-by: Daniel Barradas <daniel.barradas@gmail.com>
Co-authored-by: Filipe Ferreira <filipeferreira1705@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: P1LH4 <joao.calby@gmail.com>
Co-authored-by: danielsaul@msn.com <danielsaul@msn.com>
Co-authored-by: lbiscuola <lbiscuola@gmail.com>
Co-authored-by: piscinas <nuno.piscinas@me.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
c026060ff3 Translated using Weblate (Czech)
Currently translated at 100.0% (340 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 74.7% (254 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 58.8% (200 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 49.4% (168 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 32.3% (110 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 34.5% (39 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 1.1% (4 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 5.0% (4 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Czech)

Currently translated at 4.4% (5 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 6.0% (4 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 8.0% (4 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 96.0% (410 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Czech)

Currently translated at 95.7% (409 of 427 strings)

Translated using Weblate (Czech)

Currently translated at 31.8% (36 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 0.2% (1 of 340 strings)

Translated using Weblate (Czech)

Currently translated at 29.1% (14 of 48 strings)

Translated using Weblate (Czech)

Currently translated at 1.2% (1 of 80 strings)

Translated using Weblate (Czech)

Currently translated at 59.0% (36 of 61 strings)

Translated using Weblate (Czech)

Currently translated at 1.7% (2 of 113 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Czech)

Currently translated at 3.0% (2 of 66 strings)

Translated using Weblate (Czech)

Currently translated at 4.0% (2 of 50 strings)

Translated using Weblate (Czech)

Currently translated at 58.1% (25 of 43 strings)

Translated using Weblate (Czech)

Currently translated at 35.1% (63 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jakub <kincl.kuba@seznam.cz>
Co-authored-by: Martin Brož <code@martin-broz.cz>
Co-authored-by: Michal Basler <minecz.michal.basler@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/cs/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
8a117de87e Translated using Weblate (Catalan)
Currently translated at 78.2% (334 of 427 strings)

Translated using Weblate (Catalan)

Currently translated at 22.8% (26 of 114 strings)

Translated using Weblate (Catalan)

Currently translated at 7.1% (25 of 352 strings)

Translated using Weblate (Catalan)

Currently translated at 56.2% (27 of 48 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Catalan)

Currently translated at 33.7% (27 of 80 strings)

Translated using Weblate (Catalan)

Currently translated at 43.5% (27 of 62 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Catalan)

Currently translated at 24.3% (28 of 115 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Catalan)

Currently translated at 97.8% (45 of 46 strings)

Translated using Weblate (Catalan)

Currently translated at 18.5% (79 of 427 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Catalan)

Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Catalan)

Currently translated at 40.9% (27 of 66 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Catalan)

Currently translated at 78.0% (39 of 50 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Catalan)

Currently translated at 1.6% (1 of 62 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Catalan)

Currently translated at 84.7% (100 of 118 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (179 of 179 strings)

Translated using Weblate (Catalan)

Currently translated at 11.7% (50 of 427 strings)

Co-authored-by: Eduard Frigola <eduardfrigola@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
a43f87c477 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (66 of 66 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Максим Горпиніч <maksimgorpinic4@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/uk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/uk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
15c7a4074b Translated using Weblate (Romanian)
Currently translated at 26.5% (30 of 113 strings)

Translated using Weblate (Romanian)

Currently translated at 1.4% (5 of 340 strings)

Translated using Weblate (Romanian)

Currently translated at 10.4% (5 of 48 strings)

Translated using Weblate (Romanian)

Currently translated at 6.2% (5 of 80 strings)

Translated using Weblate (Romanian)

Currently translated at 87.5% (21 of 24 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Romanian)

Currently translated at 2.7% (5 of 179 strings)

Translated using Weblate (Romanian)

Currently translated at 69.3% (296 of 427 strings)

Co-authored-by: Bogdan Turlea <bogdan.a.turlea@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
ca650a29a1 Translated using Weblate (Russian)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Russian)

Currently translated at 90.0% (317 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
0896df6500 Translated using Weblate (German)
Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (80 of 80 strings)

Translated using Weblate (German)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (German)

Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (German)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (German)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (German)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (German)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (German)

Currently translated at 100.0% (342 of 342 strings)

Translated using Weblate (German)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (German)

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (German)

Currently translated at 100.0% (113 of 113 strings)

Translated using Weblate (German)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (German)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Thiemo <Firewolf.3.7.1987@gmail.com>
Co-authored-by: Viktor Stier <viktor-stier@gmx.de>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/de/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
01998dfb70 Translated using Weblate (Thai)
Currently translated at 28.6% (101 of 352 strings)

Translated using Weblate (Thai)

Currently translated at 79.1% (38 of 48 strings)

Translated using Weblate (Thai)

Currently translated at 6.9% (8 of 115 strings)

Translated using Weblate (Thai)

Currently translated at 66.6% (44 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Thai)

Currently translated at 98.3% (116 of 118 strings)

Translated using Weblate (Thai)

Currently translated at 9.6% (11 of 114 strings)

Translated using Weblate (Thai)

Currently translated at 25.8% (91 of 352 strings)

Translated using Weblate (Thai)

Currently translated at 6.2% (3 of 48 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (6 of 6 strings)

Translated using Weblate (Thai)

Currently translated at 15.0% (12 of 80 strings)

Translated using Weblate (Thai)

Currently translated at 32.2% (20 of 62 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (24 of 24 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Thai)

Currently translated at 1.5% (1 of 66 strings)

Translated using Weblate (Thai)

Currently translated at 10.0% (5 of 50 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (9 of 9 strings)

Translated using Weblate (Thai)

Currently translated at 89.8% (106 of 118 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (181 of 181 strings)

Translated using Weblate (Thai)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Thai)

Currently translated at 68.5% (124 of 181 strings)

Translated using Weblate (Thai)

Currently translated at 0.7% (3 of 427 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 15.4% (28 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 14.3% (26 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 13.8% (25 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 13.2% (24 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 12.7% (23 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 12.1% (22 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 11.6% (21 of 181 strings)

Added translation using Weblate (Thai)

Update translation files

Updated by "Squash Git commits" add-on in Weblate.

Translated using Weblate (Thai)

Currently translated at 11.0% (20 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 8.2% (15 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 7.7% (14 of 181 strings)

Added translation using Weblate (Thai)

Translated using Weblate (Thai)

Currently translated at 6.6% (12 of 181 strings)

Added translation using Weblate (Thai)

Added translation using Weblate (Thai)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Phongsakorn Wisetthon <boy1556@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/th/
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/components-icons/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/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/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-icons
Translation: Frigate NVR/components-input
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-recording
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
cb1cdcc814 Translated using Weblate (Turkish)
Currently translated at 100.0% (114 of 114 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (352 of 352 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (115 of 115 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (Turkish)

Currently translated at 91.8% (56 of 61 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (66 of 66 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (427 of 427 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kadir ALTIN <kadir.altin@outlook.com.tr>
Co-authored-by: pcislocked <git@pcislocked.net>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/tr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/tr/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2025-05-30 21:34:51 -06:00
Josh HawkinsandGitHub 63473b0b82 Fixes (#18485) 2025-05-30 21:32:22 -06:00
maksz42andGitHub 2ada0d22cb Add Periscope to third party extensions (#18480) 2025-05-30 05:32:38 -06:00
Felipe SantosandGitHub 81f5f362a9 Fix healthcheck on stopping (#18476) 2025-05-29 20:58:31 -06:00
Nicolas MowenandGitHub 27914fc3b8 Don't run bird classification if model is not downloaded yet (#18474) 2025-05-29 16:15:25 -05:00
Josh HawkinsandGitHub c11ca42fb5 Logging bugfix (#18465)
* use mp Manager to handle logging queues

A Python bug (https://github.com/python/cpython/issues/91555) was preventing logs from the embeddings maintainer process from printing. The bug is fixed in Python 3.14, but a viable workaround is to use the multiprocessing Manager, which better manages mp queues and causes the logging to work correctly.

* consolidate

* fix typing
2025-05-29 09:02:17 -06:00
GuoQing LiuandGitHub 9b7d4d0a8f feat: document locale url (#18409)
* feat: document locale url

* fix: remove debug code

* fix readme_cn line

* feat: add menu document locale url
2025-05-28 06:10:45 -06:00
cbdac9ece5 Fixes (#18379)
* Don't return weighted name if it has the same number of results

* Remove link to incorrect format yolov9 models

* Fix command list from appearing when other inputs are focused

the description box in the tracked object details pane was causing the command input list to show when focused.

* clarify face docs

* Add note about python yolov9 export

* Check if hailort thread is still alive when timeout error is run into

* Reduce inference timeout

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-27 10:25:34 -05:00
Thomas A.andGitHub 63f9689b0e Improve documentation for YOLO-NAS notebook (#18381)
* Add readme file for notebooks
It took me quite some time to find out this workbook opens in Google Colab, so i though it may help someone else to have this visible in the folder aswell.

* Add explicit link to Google Colab for YOLO-NAS
2025-05-24 09:42:32 -06:00
Nicolas MowenandGitHub 6969a7fd47 Cleanup builds (#18372)
* Cleanup builds

* Uninstall onnxurntime not openvino
2025-05-23 21:02:24 -05:00
Nicolas MowenandGitHub 8274b733da Fix Jetson ONNXRuntime (#18370)
* Correctly save jetson wheel

* Temp docker build
2025-05-23 15:27:37 -05:00
858c1241db Fixes (#18354)
* Rename classification to enrichments

* Clean up config updating checks

* Add Portugese

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-22 18:16:35 -06:00
c16e536b46 Fixes (#18338)
* improve spacing of face selection in mobile drawer

* fix spacing

* sort face names alphabetically

* Improve face selection dialog

* Use a state to track when face image loads

The naturalWidth and naturalHeight will always be 0 until the image loads. So we use onLoad and a state to track loading and then calculate the area after it has loaded

* Verify that a camera only tracks objects that are possible to track

* Fix test

* genai docs tweak

* Disable openvino model cache

* Clenaup

* Sanitize floats for estimated speed and angle

Users can configure speed zones in such a way that velocity estimates from Norfair cause a value of inf to be stored as an estimated speed. FastAPI doesn't serialize inf as a float, so trying to return this value would result in an API error. Sanitizing the value before storing should correct this.

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-22 09:38:14 -06:00
Josh HawkinsandGitHub 49c6073de6 Add ability to specify separator used in proxy headers (#18336) 2025-05-21 06:02:13 -06:00
Luca PaoliniandGitHub 2a8b62acb1 Disable autoCorrect, autoCapitalize and spellCheck on username input. (#18333) 2025-05-21 06:10:13 -05:00
37d40558b7 Fixes (#18319)
* Add Thai (still need to merge weblate)

* Apply attribute logic to all label types

* Fix area check

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-20 16:47:05 -06:00
Josh HawkinsandGitHub afe513336c fix missing i18n keys (#18309) 2025-05-19 16:45:02 -05:00
8a143b4284 Fixes (#18304)
* fix recordings check

* Only calculate inpoint offset for beginning of hour segment

* Cleanup

* Fix seeking

* add Czech

* explore i18n fix

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-19 14:43:22 -06:00
Nicolas MowenandGitHub 717517aeb5 Misc fixes (#18289)
* Fix key not moved

* Account for HLS start offset when seeking and calculating update time
2025-05-18 18:23:01 -05:00
Felipe SantosandGitHub f4d5ebf4db Update s6-overlay from 3.1.5.0 to 3.2.1.0 (#18276) 2025-05-18 07:21:26 -05:00
Nicolas MowenandGitHub b18572a3b6 Min face configuration option (#18284)
* Add option to specify minimum face attempts for an object

* Set upper bound
2025-05-18 07:20:59 -05:00
Sean KellyandGitHub b10615aef1 Fix dead link (#18279) 2025-05-17 18:16:24 -06:00
Josh HawkinsandGitHub 5d13925d2b Fixes (#18275) 2025-05-17 16:11:19 -06:00
ebae6cb1ed Fixes (#18262)
* Don't use timezone in export dialog timestamps

Revert an unnecessary change made in https://github.com/blakeblackshear/frigate/pull/18257

* Ensure notifications register button is only disabled when both all cameras and every individual camera is disabled

* Send test notification if any cameras are enabled

* clarify docs about disabling cameras

* fix crash in autotracking zoom

* clean up

* masks and zones i18n fixes

* Check if camera is enabled in config

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-16 16:37:25 -06:00
Josh HawkinsandGitHub 2f9b373c1a Improve timezone handling (#18257)
* Ensure review activity calendar uses correct timezone

react-day-picker 9.x adds a timeZone prop and a TZDate() handler to show the calendar based on a timezone and better handle dates passed to it in timezones

* Ensure calendar range uses correct timezone

* clean up

* ensure range is timezone aware

* ensure export dates are timezone aware
2025-05-15 17:13:32 -05:00
f48356cbee Fixes (#18245)
* Only check if an object is stationary to avoid mqtt snapshot

* docs heading tweak

* Add more API descriptions

* Add missing lib for new rocm onnxruntime whl

* Update inference times to reflect better rocm performance

* Cleanup resetting tracked object activity

* remove print

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-15 17:13:18 -05:00
Josh HawkinsandGitHub 3538a1df3d Update react-day-picker to 9.x (#18247)
* update react-day-picker to 9.x

* fix shadcn calendar component

* update review activity custom component for rdp

* fix colors
2025-05-15 10:10:14 -06:00
Josh HawkinsandGitHub c15fbee537 Fixes (#18235)
* fix face library i18n

* Docs updates
2025-05-14 20:54:15 -06:00
jrhelbertandGitHub 7612c3ece0 Remove hardcoded usage of /dev/dri/card0 in call to intel_gpu_top (#18236)
Not everyone is using /dev/dri/card0. I recommend switching to these more generic parameters for intel_gpu_top_command (line 307 in the 0.16.0-beta2 version of services.py):
intel_gpu_top_command += ["-d", "sriov"]
2025-05-14 20:54:06 -06:00
d3d05fa397 Fixes (#18220)
* Add option to not trim clip

* Improve API

* Update snapshot for new best objects

* Fix missing strings

* Convert to separate key

* Always include bounding box on snapshots

* improve autotracking relative zooming time calculation

* update proxy docs to note the need for comma separated header roles

* Add count translation

* tracked object lifecycle i18n fix

* update speed estimation docs

* clarity

* Re-initialize onvif information when toggling camera on live view

* Move time ago to card info and add face area

* Clarify face recognition docs

* Increase minimum face recognition area

* use clipFrom to in vod module endpoint to start at the correct time

* Cleanup media api

* Don't change duration

* Use search detail dialog for face library

* Move to segment based

* Cleanup

* Add back duration modification

* clean up docs

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-05-14 16:44:06 -06:00
378 changed files with 10627 additions and 1167 deletions
+2
View File
@@ -109,6 +109,7 @@ imdecode
imencode
imread
imwrite
inpoint
interp
iostat
iotop
@@ -264,6 +265,7 @@ tensorrt
tflite
thresholded
timelapse
titlecase
tmpfs
tobytes
toggleable
+1
View File
@@ -61,4 +61,5 @@
## 非官方中文讨论社区
欢迎加入中文讨论QQ群:1043861059
Bilibilihttps://space.bilibili.com/3546894915602564
+1 -1
View File
@@ -2,7 +2,7 @@
set -euxo pipefail
s6_version="3.1.5.0"
s6_version="3.2.1.0"
if [[ "${TARGETARCH}" == "amd64" ]]; then
s6_arch="x86_64"
+1
View File
@@ -31,6 +31,7 @@ norfair == 2.2.*
setproctitle == 1.3.*
ws4py == 0.5.*
unidecode == 1.3.*
titlecase == 2.4.*
# Image Manipulation
numpy == 1.26.*
opencv-python-headless == 4.11.0.*
@@ -25,7 +25,4 @@ elif [[ "${exit_code_service}" -ne 0 ]]; then
fi
fi
# used by the docker healthcheck
touch /dev/shm/.frigate-is-stopping
exec /run/s6/basedir/bin/halt
+1 -1
View File
@@ -22,7 +22,7 @@ RUN apt update && \
RUN mkdir -p /opt/rocm-dist/opt/rocm-$ROCM/lib
RUN cd /opt/rocm-$ROCM/lib && \
cp -dpr libMIOpen*.so* libamd*.so* libhip*.so* libhsa*.so* libmigraphx*.so* librocm*.so* librocblas*.so* libroctracer*.so* librocfft*.so* librocprofiler*.so* libroctx*.so* /opt/rocm-dist/opt/rocm-$ROCM/lib/ && \
cp -dpr libMIOpen*.so* libamd*.so* libhip*.so* libhsa*.so* libmigraphx*.so* librocm*.so* librocblas*.so* libroctracer*.so* librocsolver*.so* librocfft*.so* librocprofiler*.so* libroctx*.so* /opt/rocm-dist/opt/rocm-$ROCM/lib/ && \
mkdir -p /opt/rocm-dist/opt/rocm-$ROCM/lib/migraphx/lib && \
cp -dpr migraphx/lib/* /opt/rocm-dist/opt/rocm-$ROCM/lib/migraphx/lib
RUN cd /opt/rocm-dist/opt/ && ln -s rocm-$ROCM rocm
+6 -6
View File
@@ -47,12 +47,11 @@ RUN --mount=type=bind,source=docker/tensorrt/detector/build_python_tensorrt.sh,t
&& TENSORRT_VER=$(cat /etc/TENSORRT_VER) /deps/build_python_tensorrt.sh
COPY docker/tensorrt/requirements-arm64.txt /requirements-tensorrt.txt
# See https://elinux.org/Jetson_Zoo#ONNX_Runtime
ADD https://nvidia.box.com/shared/static/9yvw05k6u343qfnkhdv2x6xhygze0aq1.whl /tmp/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
RUN pip3 uninstall -y onnxruntime-openvino \
&& pip3 wheel --wheel-dir=/trt-wheels -r /requirements-tensorrt.txt \
&& pip3 install --no-deps /tmp/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
RUN pip3 wheel --wheel-dir=/trt-wheels -r /requirements-tensorrt.txt
# See https://elinux.org/Jetson_Zoo#ONNX_Runtime
ADD https://nvidia.box.com/shared/static/9yvw05k6u343qfnkhdv2x6xhygze0aq1.whl /trt-wheels/onnxruntime_gpu-1.19.0-cp311-cp311-linux_aarch64.whl
FROM build-wheels AS trt-model-wheels
ARG DEBIAN_FRONTEND
@@ -93,7 +92,8 @@ RUN mkdir -p /etc/ld.so.conf.d && echo /usr/lib/ffmpeg/jetson/lib/ > /etc/ld.so.
COPY --from=trt-wheels /etc/TENSORRT_VER /etc/TENSORRT_VER
RUN --mount=type=bind,from=trt-wheels,source=/trt-wheels,target=/deps/trt-wheels \
--mount=type=bind,from=trt-model-wheels,source=/trt-model-wheels,target=/deps/trt-model-wheels \
pip3 install -U /deps/trt-wheels/*.whl /deps/trt-model-wheels/*.whl \
pip3 uninstall -y onnxruntime \
&& pip3 install -U /deps/trt-wheels/*.whl /deps/trt-model-wheels/*.whl \
&& ldconfig
WORKDIR /opt/frigate/
+2 -1
View File
@@ -97,11 +97,12 @@ python3 -c 'import secrets; print(secrets.token_hex(64))'
### Header mapping
If you have disabled Frigate's authentication and your proxy supports passing a header with authenticated usernames and/or roles, you can use the `header_map` config to specify the header name so it is passed to Frigate. For example, the following will map the `X-Forwarded-User` and `X-Forwarded-Role` values. Header names are not case sensitive.
If you have disabled Frigate's authentication and your proxy supports passing a header with authenticated usernames and/or roles, you can use the `header_map` config to specify the header name so it is passed to Frigate. For example, the following will map the `X-Forwarded-User` and `X-Forwarded-Role` values. Header names are not case sensitive. Multiple values can be included in the role header. Frigate expects that the character separating the roles is a comma, but this can be specified using the `separator` config entry.
```yaml
proxy:
...
separator: "|" # This value defaults to a comma, but Authentik uses a pipe, for example.
header_map:
user: x-forwarded-user
role: x-forwarded-role
+21 -7
View File
@@ -65,6 +65,8 @@ Fine-tune face recognition with these optional parameters at the global level of
- Default: `0.8`.
- `recognition_threshold`: Recognition confidence score required to add the face to the object as a sub label.
- Default: `0.9`.
- `min_faces`: Min face attempts for the sub label to be applied to the person object.
- Default: `1`
- `save_attempts`: Number of images of recognized faces to save for training.
- Default: `100`.
- `blur_confidence_filter`: Enables a filter that calculates how blurry the face is and adjusts the confidence based on this.
@@ -72,8 +74,10 @@ Fine-tune face recognition with these optional parameters at the global level of
## Usage
Follow these steps to begin:
1. **Enable face recognition** in your configuration file and restart Frigate.
2. **Upload your face** using the **Add Face** button's wizard in the Face Library section of the Frigate UI.
2. **Upload one face** using the **Add Face** button's wizard in the Face Library section of the Frigate UI. Read below for the best practices on expanding your training set.
3. When Frigate detects and attempts to recognize a face, it will appear in the **Train** tab of the Face Library, along with its associated recognition confidence.
4. From the **Train** tab, you can **assign the face** to a new or existing person to improve recognition accuracy for the future.
@@ -105,22 +109,32 @@ When choosing images to include in the face training set it is recommended to al
:::
### Understanding the Train Tab
The Train tab in the face library displays recent face recognition attempts. Detected face images are grouped according to the person they were identified as potentially matching.
Each face image is labeled with a name (or `Unknown`) along with the confidence score of the recognition attempt. While each image can be used to train the system for a specific person, not all images are suitable for training.
Refer to the guidelines below for best practices on selecting images for training.
### Step 1 - Building a Strong Foundation
When first enabling face recognition it is important to build a foundation of strong images. It is recommended to start by uploading 1-5 photos containing just this person's face. It is important that the person's face in the photo is front-facing and not turned, this will ensure a good starting point.
Then it is recommended to use the `Face Library` tab in Frigate to select and train images for each person as they are detected. When building a strong foundation it is strongly recommended to only train on images that are front-facing. Ignore images from cameras that recognize faces from an angle.
Then it is recommended to use the `Face Library` tab in Frigate to select and train images for each person as they are detected. When building a strong foundation it is strongly recommended to only train on images that are front-facing. Ignore images from cameras that recognize faces from an angle. Aim to strike a balance between the quality of images while also having a range of conditions (day / night, different weather conditions, different times of day, etc.) in order to have diversity in the images used for each person and not have over-fitting.
Aim to strike a balance between the quality of images while also having a range of conditions (day / night, different weather conditions, different times of day, etc.) in order to have diversity in the images used for each person and not have over-fitting.
Once a person starts to be consistently recognized correctly on images that are front-facing, it is time to move on to the next step.
You do not want to train images that are 90%+ as these are already being confidently recognized. In this step the goal is to train on clear, lower scoring front-facing images until the majority of front-facing images for a given person are consistently recognized correctly. Then it is time to move on to step 2.
### Step 2 - Expanding The Dataset
Once front-facing images are performing well, start choosing slightly off-angle images to include for training. It is important to still choose images where enough face detail is visible to recognize someone.
Once front-facing images are performing well, start choosing slightly off-angle images to include for training. It is important to still choose images where enough face detail is visible to recognize someone, and you still only want to train on images that score lower.
## FAQ
### Detection does not work well with blurry images?
Accuracy is definitely a going to be improved with higher quality cameras / streams. It is important to look at the DORI (Detection Observation Recognition Identification) range of your camera, if that specification is posted. This specification explains the distance from the camera that a person can be detected, observed, recognized, and identified. The identification range is the most relevant here, and the distance listed by the camera is the furthest that face recognition will realistically work.
### Why can't I bulk upload photos?
It is important to methodically add photos to the library, bulk importing photos (especially from a general photo library) will lead to over-fitting in that particular scenario and hurt recognition performance.
@@ -166,6 +180,6 @@ Face recognition does not run on the recording stream, this would be suboptimal
By default iOS devices will use HEIC (High Efficiency Image Container) for images, but this format is not supported for uploads. Choosing `large` as the format instead of `original` will use JPG which will work correctly.
## How can I delete the face database and start over?
### How can I delete the face database and start over?
Frigate does not store anything in its database related to face recognition. You can simply delete all of your faces through the Frigate UI or remove the contents of the `/media/frigate/clips/faces` directory.
+1 -1
View File
@@ -167,7 +167,7 @@ Analyze the sequence of images containing the {label}. Focus on the likely inten
:::tip
Prompts can use variable replacements like `{label}`, `{sub_label}`, and `{camera}` to substitute information from the tracked object as part of the prompt.
Prompts can use variable replacements `{label}`, `{sub_label}`, and `{camera}` to substitute information from the tracked object as part of the prompt.
:::
@@ -164,11 +164,17 @@ Dedicated LPR cameras are single-purpose cameras with powerful optical zoom to c
To mark a camera as a dedicated LPR camera, add `type: "lpr"` the camera configuration.
:::note
Frigate's dedicated LPR mode is optimized for cameras with a narrow field of view, specifically positioned and zoomed to capture license plates exclusively. If your camera provides a general overview of a scene rather than a tightly focused view, this mode is not recommended.
:::
Users can configure Frigate's dedicated LPR mode in two different ways depending on whether a Frigate+ (or native `license_plate` detecting) model is used:
### Using a Frigate+ (or Native `license_plate` Detecting) Model
Users running a Frigate+ model (or any model that natively detects `license_plate`) can take advantage of `license_plate` detection. This allows license plates to be treated as standard objects in dedicated LPR mode, meaning that alerts, detections, snapshots, zones, and other Frigate features work as usual, and plates are detected efficiently through your configured object detector.
Users running a Frigate+ model (or any model that natively detects `license_plate`) can take advantage of `license_plate` detection. This allows license plates to be treated as standard objects in dedicated LPR mode, meaning that alerts, detections, snapshots, and other Frigate features work as usual, and plates are detected efficiently through your configured object detector.
An example configuration for a dedicated LPR camera using a `license_plate`-detecting model:
@@ -213,7 +219,7 @@ cameras:
With this setup:
- License plates are treated as normal objects in Frigate.
- Scores, alerts, detections, snapshots, zones, and object masks work as expected.
- Scores, alerts, detections, and snapshots work as expected.
- Snapshots will have license plate bounding boxes on them.
- The `frigate/events` MQTT topic will publish tracked object updates.
- Debug view will display `license_plate` bounding boxes.
@@ -279,7 +285,6 @@ With this setup:
| License Plate Detection | Uses `license_plate` as a tracked object | Runs a dedicated LPR pipeline |
| FPS Setting | 5 (increase for fast-moving cars) | 5 (increase for fast-moving cars, but it may use much more CPU) |
| Object Detection | Standard Frigate+ detection applies | Bypasses standard object detection |
| Zones & Object Masks | Supported | Not supported |
| Debug View | May show `license_plate` bounding boxes | May **not** show `license_plate` bounding boxes |
| MQTT `frigate/events` | Publishes tracked object updates | Publishes limited updates |
| Explore | Recognized plates available in More Filters | Recognized plates available in More Filters |
@@ -335,19 +340,37 @@ Use `match_distance` to allow small character mismatches. Alternatively, define
### How do I debug LPR issues?
- View MQTT messages for `frigate/events` to verify detected plates.
- If you are using a Frigate+ model or a model that detects license plates, watch the debug view (Settings --> Debug) to ensure that `license_plate` is being detected with a `car` or `motorcycle`.
- Watch the debug view to see plates recognized in real-time. For non-dedicated LPR cameras, the `car` or `motorcycle` label will change to the recognized plate when LPR is enabled and working.
- Adjust `detection_threshold` and `recognition_threshold` settings per the suggestions [above](#advanced-configuration).
- Enable `debug_save_plates` to save images of detected text on plates to the clips directory (`/media/frigate/clips/lpr`). Ensure these images are readable and the text is clear.
- Enable debug logs for LPR by adding `frigate.data_processing.common.license_plate: debug` to your `logger` configuration. These logs are _very_ verbose, so only enable this when necessary.
Start with ["Why isn't my license plate being detected and recognized?"](#why-isnt-my-license-plate-being-detected-and-recognized). If you are still having issues, work through these steps.
```yaml
logger:
default: info
logs:
frigate.data_processing.common.license_plate: debug
```
1. Enable debug logs to see exactly what Frigate is doing.
- Enable debug logs for LPR by adding `frigate.data_processing.common.license_plate: debug` to your `logger` configuration. These logs are _very_ verbose, so only keep this enabled when necessary.
```yaml
logger:
default: info
logs:
frigate.data_processing.common.license_plate: debug
```
2. Ensure your plates are being _detected_.
If you are using a Frigate+ or `license_plate` detecting model:
- Watch the debug view (Settings --> Debug) to ensure that `license_plate` is being detected.
- View MQTT messages for `frigate/events` to verify detected plates.
- You may need to adjust your `min_score` and/or `threshold` for the `license_plate` object if your plates are not being detected.
If you are **not** using a Frigate+ or `license_plate` detecting model:
- Watch the debug logs for messages from the YOLOv9 plate detector.
- You may need to adjust your `detection_threshold` if your plates are not being detected.
3. Ensure the characters on detected plates are being _recognized_.
- Enable `debug_save_plates` to save images of detected text on plates to the clips directory (`/media/frigate/clips/lpr`). Ensure these images are readable and the text is clear.
- Watch the debug view to see plates recognized in real-time. For non-dedicated LPR cameras, the `car` or `motorcycle` label will change to the recognized plate when LPR is enabled and working.
- Adjust `recognition_threshold` settings per the suggestions [above](#advanced-configuration).
### Will LPR slow down my system?
+6
View File
@@ -197,6 +197,12 @@ The default dashboard ("All Cameras") will always use Smart Streaming and the fi
Cameras can be temporarily disabled through the Frigate UI and through [MQTT](/integrations/mqtt#frigatecamera_nameenabledset) to conserve system resources. When disabled, Frigate's ffmpeg processes are terminated — recording stops, object detection is paused, and the Live dashboard displays a blank image with a disabled message. Review items, tracked objects, and historical footage for disabled cameras can still be accessed via the UI.
:::note
Disabling a camera via the Frigate UI or MQTT is temporary and does not persist through restarts of Frigate.
:::
For restreamed cameras, go2rtc remains active but does not use system resources for decoding or processing unless there are active external consumers (such as the Advanced Camera Card in Home Assistant using a go2rtc source).
Note that disabling a camera through the config file (`enabled: False`) removes all related UI elements, including historical footage access. To retain access while disabling the camera, keep it enabled in the config and use the UI or MQTT to disable it temporarily.
+3 -2
View File
@@ -1024,7 +1024,7 @@ x.export()
### Downloading YOLO-NAS Model
You can build and download a compatible model with pre-trained weights using [this notebook](https://github.com/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb).
You can build and download a compatible model with pre-trained weights using [this notebook](https://github.com/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb) which can be run directly in [Google Colab](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb).
:::warning
@@ -1053,13 +1053,14 @@ python3 yolo_to_onnx.py -m yolov7-320
#### YOLOv9
YOLOv9 models can be exported using the below code or they [can be downloaded from hugging face](https://huggingface.co/Xenova/yolov9-onnx/tree/main)
YOLOv9 models can be exported using the below code
```sh
git clone https://github.com/WongKinYiu/yolov9
cd yolov9
# setup the virtual environment so installation doesn't affect main system
# NOTE: Virtual environment must be using Python 3.11 or older.
python3 -m venv ./
bin/pip install -r requirements.txt
bin/pip install onnx onnxruntime onnx-simplifier>=0.4.1
+4
View File
@@ -91,6 +91,8 @@ proxy:
auth_secret: None
# Optional: The default role to use for proxy auth. Must be "admin" or "viewer"
default_role: viewer
# Optional: The character used to separate multiple values in the proxy headers. (default: shown below)
separator: ","
# Optional: Authentication configuration
auth:
@@ -559,6 +561,8 @@ face_recognition:
recognition_threshold: 0.9
# Optional: Min area of detected face box to consider running face recognition (default: shown below)
min_area: 500
# Optional: Min face attempts for the sub label to be applied to the person object (default: shown below)
min_faces: 1
# Optional: Number of images of recognized faces to save for training (default: shown below)
save_attempts: 100
# Optional: Apply a blur quality filter to adjust confidence based on the blur level of the image (default: shown below)
+2 -2
View File
@@ -19,7 +19,7 @@ For best performance, 16GB or more of RAM and a dedicated GPU are recommended.
## Configuration
Semantic Search is disabled by default, and must be enabled in your config file or in the UI's Classification Settings page before it can be used. Semantic Search is a global configuration setting.
Semantic Search is disabled by default, and must be enabled in your config file or in the UI's Enrichments Settings page before it can be used. Semantic Search is a global configuration setting.
```yaml
semantic_search:
@@ -29,7 +29,7 @@ semantic_search:
:::tip
The embeddings database can be re-indexed from the existing tracked objects in your database by pressing the "Reindex" button in the Classification Settings in the UI or by adding `reindex: True` to your `semantic_search` configuration and restarting Frigate. Depending on the number of tracked objects you have, it can take a long while to complete and may max out your CPU while indexing.
The embeddings database can be re-indexed from the existing tracked objects in your database by pressing the "Reindex" button in the Enrichments Settings in the UI or by adding `reindex: True` to your `semantic_search` configuration and restarting Frigate. Depending on the number of tracked objects you have, it can take a long while to complete and may max out your CPU while indexing.
If you are enabling Semantic Search for the first time, be advised that Frigate does not automatically index older tracked objects. You will need to reindex as described above.
+4 -3
View File
@@ -136,7 +136,7 @@ Your zone must be defined with exactly 4 points and should be aligned to the gro
![Ground plane 4-point zone](/img/ground-plane.jpg)
Speed estimation requires a minimum number of frames for your object to be tracked before a valid estimate can be calculated, so create your zone away from places where objects enter and exit for the best results. _Your zone should not take up the full frame._ An object's speed is tracked while it is in the zone and then saved to Frigate's database.
Speed estimation requires a minimum number of frames for your object to be tracked before a valid estimate can be calculated, so create your zone away from places where objects enter and exit for the best results. The object's bounding box must be stable and remain a constant size as it enters and exits the zone. _Your zone should not take up the full frame, and the zone does **not** need to be the same size or larger than the objects passing through it._ An object's speed is tracked while it passes through the zone and then saved to Frigate's database.
Accurate real-world distance measurements are required to estimate speeds. These distances can be specified in your zone config through the `distances` field.
@@ -165,8 +165,9 @@ These speed values are output as a number in miles per hour (mph) or kilometers
#### Best practices and caveats
- Speed estimation works best with a straight road or path when your object travels in a straight line across that path. Avoid creating your zone near intersections or anywhere that objects would make a turn. If the bounding box changes shape (either because the object made a turn or became partially obscured, for example), speed estimation will not be accurate.
- Create a zone where the bottom center of your object's bounding box travels directly through it and does not become obscured at any time. See the photo example above.
- Speed estimation works best with a straight road or path when your object travels in a straight line across that path. Avoid creating your zone near intersections or anywhere that objects would make a turn.
- Create a zone where the bottom center of your object's bounding box travels directly through it and does not become obscured at any time.
- A large zone can be used (as in the photo example above), but it may cause inaccurate estimation if the object's bounding box changes shape (such as when it turns or becomes partially hidden). Generally it's best to make your zone large enough to capture a few frames, but small enough so that the bounding box doesn't change size as it enters, travels through, and exits the zone.
- Depending on the size and location of your zone, you may want to decrease the zone's `inertia` value from the default of 3.
- The more accurate your real-world dimensions can be measured, the more accurate speed estimation will be. However, due to the way Frigate's tracking algorithm works, you may need to tweak the real-world distance values so that estimated speeds better match real-world speeds.
- Once an object leaves the zone, speed accuracy will likely decrease due to perspective distortion and misalignment with the calibrated area. Therefore, speed values will show as a zero through MQTT and will not be visible on the debug view when an object is outside of a speed tracking zone.
+1 -1
View File
@@ -145,7 +145,7 @@ With the [rocm](../configuration/object_detectors.md#amdrocm-gpu-detector) detec
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time |
| --------- | --------------------- | ------------------------- |
| AMD 780M | ~ 14 ms | 320: ~ 30 ms 640: ~ 60 ms |
| AMD 780M | ~ 14 ms | 320: ~ 25 ms 640: ~ 50 ms |
| AMD 8700G | | 320: ~ 20 ms 640: ~ 40 ms |
## Community Supported Detectors
@@ -26,3 +26,7 @@ This is a fork (with fixed errors and new features) of [original Double Take](ht
## [Frigate telegram](https://github.com/OldTyT/frigate-telegram)
[Frigate telegram](https://github.com/OldTyT/frigate-telegram) makes it possible to send events from Frigate to Telegram. Events are sent as a message with a text description, video, and thumbnail.
## [Periscope](https://github.com/maksz42/periscope)
[Periscope](https://github.com/maksz42/periscope) is a lightweight Android app that turns old devices into live viewers for Frigate. It works on Android 2.2 and above, including Android TV. It supports authentication and HTTPS.
+9 -2
View File
@@ -202,9 +202,15 @@ async def get_current_user(request: Request):
def require_role(required_roles: List[str]):
async def role_checker(request: Request):
proxy_config: ProxyConfig = request.app.frigate_config.proxy
# Get role from header (could be comma-separated)
role_header = request.headers.get("remote-role")
roles = [r.strip() for r in role_header.split(",")] if role_header else []
roles = (
[r.strip() for r in role_header.split(proxy_config.separator)]
if role_header
else []
)
# Check if we have any roles
if not roles:
@@ -269,7 +275,8 @@ def auth(request: Request):
# if comma-separated with "admin", use "admin", else use default role
success_response.headers["remote-role"] = (
"admin"
if role and "admin" in [r.strip() for r in role.split(",")]
if role
and "admin" in [r.strip() for r in role.split(proxy_config.separator)]
else proxy_config.default_role
)
+35 -11
View File
@@ -593,10 +593,12 @@ def recording_clip(
clip: Recordings
for clip in recordings:
file.write(f"file '{clip.path}'\n")
# if this is the starting clip, add an inpoint
if clip.start_time < start_ts:
file.write(f"inpoint {int(start_ts - clip.start_time)}\n")
# if this is the ending clip, add an outpoint
# if this is the ending clip and end trim is enabled, add an outpoint
if clip.end_time > end_ts:
file.write(f"outpoint {int(end_ts - clip.start_time)}\n")
@@ -638,10 +640,18 @@ def recording_clip(
)
@router.get("/vod/{camera_name}/start/{start_ts}/end/{end_ts}")
@router.get(
"/vod/{camera_name}/start/{start_ts}/end/{end_ts}",
description="Returns an HLS playlist for the specified timestamp-range on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_ts(camera_name: str, start_ts: float, end_ts: float):
recordings = (
Recordings.select(Recordings.path, Recordings.duration, Recordings.end_time)
Recordings.select(
Recordings.path,
Recordings.duration,
Recordings.end_time,
Recordings.start_time,
)
.where(
Recordings.start_time.between(start_ts, end_ts)
| Recordings.end_time.between(start_ts, end_ts)
@@ -661,14 +671,19 @@ def vod_ts(camera_name: str, start_ts: float, end_ts: float):
clip = {"type": "source", "path": recording.path}
duration = int(recording.duration * 1000)
# Determine if we need to end the last clip early
# adjust start offset if start_ts is after recording.start_time
if start_ts > recording.start_time:
inpoint = int((start_ts - recording.start_time) * 1000)
clip["clipFrom"] = inpoint
duration -= inpoint
# adjust end if recording.end_time is after end_ts
if recording.end_time > end_ts:
duration -= int((recording.end_time - end_ts) * 1000)
if duration == 0:
# this means the segment starts right at the end of the requested time range
# and it does not need to be included
continue
if duration <= 0:
# skip if the clip has no valid duration
continue
if 0 < duration < max_duration_ms:
clip["keyFrameDurations"] = [duration]
@@ -702,7 +717,10 @@ def vod_ts(camera_name: str, start_ts: float, end_ts: float):
)
@router.get("/vod/{year_month}/{day}/{hour}/{camera_name}")
@router.get(
"/vod/{year_month}/{day}/{hour}/{camera_name}",
description="Returns an HLS playlist for the specified date-time on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_hour_no_timezone(year_month: str, day: int, hour: int, camera_name: str):
"""VOD for specific hour. Uses the default timezone (UTC)."""
return vod_hour(
@@ -710,7 +728,10 @@ def vod_hour_no_timezone(year_month: str, day: int, hour: int, camera_name: str)
)
@router.get("/vod/{year_month}/{day}/{hour}/{camera_name}/{tz_name}")
@router.get(
"/vod/{year_month}/{day}/{hour}/{camera_name}/{tz_name}",
description="Returns an HLS playlist for the specified date-time (with timezone) on the specified camera. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_hour(year_month: str, day: int, hour: int, camera_name: str, tz_name: str):
parts = year_month.split("-")
start_date = (
@@ -724,7 +745,10 @@ def vod_hour(year_month: str, day: int, hour: int, camera_name: str, tz_name: st
return vod_ts(camera_name, start_ts, end_ts)
@router.get("/vod/event/{event_id}")
@router.get(
"/vod/event/{event_id}",
description="Returns an HLS playlist for the specified object. Append /master.m3u8 or /index.m3u8 for HLS playback.",
)
def vod_event(event_id: str):
try:
event: Event = Event.get(Event.id == event_id)
+10 -2
View File
@@ -6,6 +6,7 @@ import secrets
import shutil
from multiprocessing import Queue
from multiprocessing.synchronize import Event as MpEvent
from pathlib import Path
from typing import Optional
import psutil
@@ -44,6 +45,7 @@ from frigate.embeddings import EmbeddingsContext, manage_embeddings
from frigate.events.audio import AudioProcessor
from frigate.events.cleanup import EventCleanup
from frigate.events.maintainer import EventProcessor
from frigate.log import _stop_logging
from frigate.models import (
Event,
Export,
@@ -438,7 +440,7 @@ class FrigateApp:
def start_camera_processors(self) -> None:
for name, config in self.config.cameras.items():
if not self.config.cameras[name].enabled:
if not self.config.cameras[name].enabled_in_config:
logger.info(f"Camera processor not started for disabled camera {name}")
continue
@@ -467,7 +469,7 @@ class FrigateApp:
shm_frame_count = self.shm_frame_count()
for name, config in self.config.cameras.items():
if not self.config.cameras[name].enabled:
if not self.config.cameras[name].enabled_in_config:
logger.info(f"Capture process not started for disabled camera {name}")
continue
@@ -684,6 +686,9 @@ class FrigateApp:
def stop(self) -> None:
logger.info("Stopping...")
# used by the docker healthcheck
Path("/dev/shm/.frigate-is-stopping").touch()
self.stop_event.set()
# set an end_time on entries without an end_time before exiting
@@ -771,4 +776,7 @@ class FrigateApp:
shm.close()
shm.unlink()
# exit the mp Manager process
_stop_logging()
os._exit(os.EX_OK)
+7 -2
View File
@@ -172,6 +172,7 @@ class CameraState:
# draw any attributes
for attribute in obj["current_attributes"]:
box = attribute["box"]
box_area = int((box[2] - box[0]) * (box[3] - box[1]))
draw_box_with_label(
frame_copy,
box[0],
@@ -179,7 +180,7 @@ class CameraState:
box[2],
box[3],
attribute["label"],
f"{attribute['score']:.0%}",
f"{attribute['score']:.0%} {str(box_area)}",
thickness=thickness,
color=color,
)
@@ -282,9 +283,13 @@ class CameraState:
}
new_obj.thumbnail_data = thumbnail_data
tracked_objects[id].thumbnail_data = thumbnail_data
self.best_objects[new_obj.obj_data["label"]] = new_obj
object_type = new_obj.obj_data["label"]
self.best_objects[object_type] = new_obj
# call event handlers
for c in self.callbacks["snapshot"]:
c(self.name, self.best_objects[object_type], frame_name)
for c in self.callbacks["start"]:
c(self.name, new_obj, frame_name)
+9 -3
View File
@@ -12,6 +12,7 @@ from typing import Any, Callable
from py_vapid import Vapid01
from pywebpush import WebPusher
from titlecase import titlecase
from frigate.comms.base_communicator import Communicator
from frigate.comms.config_updater import ConfigSubscriber
@@ -173,7 +174,12 @@ class WebPushClient(Communicator): # type: ignore[misc]
return
self.send_alert(decoded)
elif topic == "notification_test":
if not self.config.notifications.enabled:
if not self.config.notifications.enabled and not any(
cam.notifications.enabled for cam in self.config.cameras.values()
):
logger.debug(
"No cameras have notifications enabled, test notification not sent"
)
return
self.send_notification_test()
@@ -320,8 +326,8 @@ class WebPushClient(Communicator): # type: ignore[misc]
sorted_objects.update(payload["after"]["data"]["sub_labels"])
title = f"{', '.join(sorted_objects).replace('_', ' ').title()}{' was' if state == 'end' else ''} detected in {', '.join(payload['after']['data']['zones']).replace('_', ' ').title()}"
message = f"Detected on {camera.replace('_', ' ').title()}"
title = f"{titlecase(', '.join(sorted_objects).replace('_', ' '))}{' was' if state == 'end' else ''} detected in {titlecase(', '.join(payload['after']['data']['zones']).replace('_', ' '))}"
message = f"Detected on {titlecase(camera.replace('_', ' '))}"
image = f"{payload['after']['thumb_path'].replace('/media/frigate', '')}"
# if event is ongoing open to live view otherwise open to recordings view
+8 -2
View File
@@ -78,7 +78,13 @@ class FaceRecognitionConfig(FrigateBaseModel):
le=1.0,
)
min_area: int = Field(
default=500, title="Min area of face box to consider running face recognition."
default=750, title="Min area of face box to consider running face recognition."
)
min_faces: int = Field(
default=1,
gt=0,
le=6,
title="Min face attempts for the sub label to be applied to the person object.",
)
save_attempts: int = Field(
default=100, ge=0, title="Number of face attempts to save in the train tab."
@@ -91,7 +97,7 @@ class FaceRecognitionConfig(FrigateBaseModel):
class CameraFaceRecognitionConfig(FrigateBaseModel):
enabled: bool = Field(default=False, title="Enable face recognition.")
min_area: int = Field(
default=500, title="Min area of face box to consider running face recognition."
default=750, title="Min area of face box to consider running face recognition."
)
model_config = ConfigDict(extra="forbid", protected_namespaces=())
+48 -30
View File
@@ -299,6 +299,22 @@ def verify_motion_and_detect(camera_config: CameraConfig) -> ValueError | None:
)
def verify_objects_track(
camera_config: CameraConfig, enabled_objects: list[str]
) -> None:
"""Verify that a user has not specified an object to track that is not in the labelmap."""
valid_objects = [
obj for obj in camera_config.objects.track if obj in enabled_objects
]
if len(valid_objects) != len(camera_config.objects.track):
invalid_objects = set(camera_config.objects.track) - set(valid_objects)
logger.warning(
f"{camera_config.name} is configured to track {list(invalid_objects)} objects, which are not supported by the current model."
)
camera_config.objects.track = valid_objects
def verify_lpr_and_face(
frigate_config: FrigateConfig, camera_config: CameraConfig
) -> ValueError | None:
@@ -471,6 +487,37 @@ class FrigateConfig(FrigateBaseModel):
exclude_unset=True,
)
for key, detector in self.detectors.items():
adapter = TypeAdapter(DetectorConfig)
model_dict = (
detector
if isinstance(detector, dict)
else detector.model_dump(warnings="none")
)
detector_config: BaseDetectorConfig = adapter.validate_python(model_dict)
# users should not set model themselves
if detector_config.model:
detector_config.model = None
model_config = self.model.model_dump(exclude_unset=True, warnings="none")
if detector_config.model_path:
model_config["path"] = detector_config.model_path
if "path" not in model_config:
if detector_config.type == "cpu":
model_config["path"] = "/cpu_model.tflite"
elif detector_config.type == "edgetpu":
model_config["path"] = "/edgetpu_model.tflite"
model = ModelConfig.model_validate(model_config)
model.check_and_load_plus_model(self.plus_api, detector_config.type)
model.compute_model_hash()
labelmap_objects = model.merged_labelmap.values()
detector_config.model = model
self.detectors[key] = detector_config
for name, camera in self.cameras.items():
modified_global_config = global_config.copy()
@@ -644,6 +691,7 @@ class FrigateConfig(FrigateBaseModel):
verify_required_zones_exist(camera_config)
verify_autotrack_zones(camera_config)
verify_motion_and_detect(camera_config)
verify_objects_track(camera_config, labelmap_objects)
verify_lpr_and_face(self, camera_config)
self.objects.parse_all_objects(self.cameras)
@@ -655,36 +703,6 @@ class FrigateConfig(FrigateBaseModel):
"Frigate+ is configured but clean snapshots are not enabled, submissions to Frigate+ will not be possible./"
)
for key, detector in self.detectors.items():
adapter = TypeAdapter(DetectorConfig)
model_dict = (
detector
if isinstance(detector, dict)
else detector.model_dump(warnings="none")
)
detector_config: BaseDetectorConfig = adapter.validate_python(model_dict)
# users should not set model themselves
if detector_config.model:
detector_config.model = None
model_config = self.model.model_dump(exclude_unset=True, warnings="none")
if detector_config.model_path:
model_config["path"] = detector_config.model_path
if "path" not in model_config:
if detector_config.type == "cpu":
model_config["path"] = "/cpu_model.tflite"
elif detector_config.type == "edgetpu":
model_config["path"] = "/edgetpu_model.tflite"
model = ModelConfig.model_validate(model_config)
model.check_and_load_plus_model(self.plus_api, detector_config.type)
model.compute_model_hash()
detector_config.model = model
self.detectors[key] = detector_config
return self
@field_validator("cameras")
+12 -1
View File
@@ -1,6 +1,6 @@
from typing import Optional
from pydantic import Field
from pydantic import Field, field_validator
from .base import FrigateBaseModel
from .env import EnvString
@@ -33,3 +33,14 @@ class ProxyConfig(FrigateBaseModel):
default_role: Optional[str] = Field(
default="viewer", title="Default role for proxy users."
)
separator: Optional[str] = Field(
default=",",
title="The character used to separate values in a mapped header.",
)
@field_validator("separator", mode="before")
@classmethod
def validate_separator_length(cls, v):
if v is not None and len(v) != 1:
raise ValueError("Separator must be exactly one character")
return v
@@ -1570,10 +1570,26 @@ class LicensePlateProcessingMixin:
def handle_request(self, topic, request_data) -> dict[str, Any] | None:
return
def expire_object(self, object_id: str, camera: str):
def lpr_expire(self, object_id: str, camera: str):
if object_id in self.detected_license_plates:
self.detected_license_plates.pop(object_id)
if object_id in self.camera_current_cars.get(camera, []):
self.camera_current_cars[camera].remove(object_id)
if len(self.camera_current_cars[camera]) == 0:
self.requestor.send_data(
"tracked_object_update",
json.dumps(
{
"type": TrackedObjectUpdateTypesEnum.lpr,
"name": None,
"plate": None,
"camera": camera,
}
),
)
class CTCDecoder:
"""
@@ -97,6 +97,9 @@ class BirdRealTimeProcessor(RealTimeProcessorApi):
line = f.readline()
def process_frame(self, obj_data, frame):
if not self.interpreter:
return
if obj_data["label"] != "bird":
return
+18 -3
View File
@@ -293,14 +293,18 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
if camera not in self.camera_current_people:
self.camera_current_people[camera] = []
self.camera_current_people[camera].append(id)
self.person_face_history[id].append(
(sub_label, score, face_frame.shape[0] * face_frame.shape[1])
)
self.camera_current_people[camera].append(id)
(weighted_sub_label, weighted_score) = self.weighted_average(
self.person_face_history[id]
)
if len(self.person_face_history[id]) < self.face_config.min_faces:
weighted_sub_label = "unknown"
self.requestor.send_data(
"tracked_object_update",
json.dumps(
@@ -467,17 +471,22 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
if not results_list:
return None, 0.0
weighted_scores = {}
total_weights = {}
counts: dict[str, int] = {}
weighted_scores: dict[str, int] = {}
total_weights: dict[str, int] = {}
for name, score, face_area in results_list:
if name == "unknown":
continue
if name not in weighted_scores:
counts[name] = 0
weighted_scores[name] = 0.0
total_weights[name] = 0.0
# increase count
counts[name] += 1
# Capped weight based on face area
weight = min(face_area, max_weight)
@@ -490,6 +499,12 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
return None, 0.0
best_name = max(weighted_scores, key=weighted_scores.get)
# If the best name has the same number of results as another name, we are not confident it is a correct result
for name, count in counts.items():
if name != best_name and counts[best_name] == count:
return None, 0.0
weighted_average = weighted_scores[best_name] / total_weights[best_name]
return best_name, weighted_average
@@ -1,6 +1,5 @@
"""Handle processing images for face detection and recognition."""
import json
import logging
from typing import Any
@@ -15,7 +14,6 @@ from frigate.data_processing.common.license_plate.mixin import (
from frigate.data_processing.common.license_plate.model import (
LicensePlateModelRunner,
)
from frigate.types import TrackedObjectUpdateTypesEnum
from ..types import DataProcessorMetrics
from .api import RealTimeProcessorApi
@@ -55,21 +53,5 @@ class LicensePlateRealTimeProcessor(LicensePlateProcessingMixin, RealTimeProcess
return
def expire_object(self, object_id: str, camera: str):
if object_id in self.detected_license_plates:
self.detected_license_plates.pop(object_id)
if object_id in self.camera_current_cars.get(camera, []):
self.camera_current_cars[camera].remove(object_id)
if len(self.camera_current_cars[camera]) == 0:
self.requestor.send_data(
"tracked_object_update",
json.dumps(
{
"type": TrackedObjectUpdateTypesEnum.lpr,
"name": None,
"plate": None,
"camera": camera,
}
),
)
"""Expire lpr objects."""
self.lpr_expire(object_id, camera)
+7 -1
View File
@@ -345,11 +345,17 @@ class HailoDetector(DetectionApi):
request_id = self.input_store.put(tensor_input)
try:
_, infer_results = self.response_store.get(request_id, timeout=10.0)
_, infer_results = self.response_store.get(request_id, timeout=1.0)
except TimeoutError:
logger.error(
f"Timeout waiting for inference results for request {request_id}"
)
if not self.inference_thread.is_alive():
raise RuntimeError(
"HailoRT inference thread has stopped, restart required."
)
return np.zeros((20, 6), dtype=np.float32)
if isinstance(infer_results, list) and len(infer_results) == 1:
-6
View File
@@ -3,11 +3,9 @@ import os
import numpy as np
import openvino as ov
import openvino.properties as props
from pydantic import Field
from typing_extensions import Literal
from frigate.const import MODEL_CACHE_DIR
from frigate.detectors.detection_api import DetectionApi
from frigate.detectors.detector_config import BaseDetectorConfig, ModelTypeEnum
from frigate.util.model import (
@@ -49,10 +47,6 @@ class OvDetector(DetectionApi):
logger.error(f"OpenVino model file {detector_config.model.path} not found.")
raise FileNotFoundError
os.makedirs(os.path.join(MODEL_CACHE_DIR, "openvino"), exist_ok=True)
self.ov_core.set_property(
{props.cache_dir: os.path.join(MODEL_CACHE_DIR, "openvino")}
)
self.interpreter = self.ov_core.compile_model(
model=detector_config.model.path, device_name=detector_config.device
)
+4 -4
View File
@@ -5,12 +5,12 @@ import json
import logging
import multiprocessing as mp
import os
import re
import signal
import threading
from types import FrameType
from typing import Any, Optional, Union
import regex
from pathvalidate import ValidationError, sanitize_filename
from setproctitle import setproctitle
@@ -243,7 +243,7 @@ class EmbeddingsContext:
)
def rename_face(self, old_name: str, new_name: str) -> None:
valid_name_pattern = r"^[a-zA-Z0-9\s_-]{1,50}$"
valid_name_pattern = r"^[\p{L}\p{N}\s'_-]{1,50}$"
try:
sanitized_old_name = sanitize_filename(old_name, replacement_text="_")
@@ -251,9 +251,9 @@ class EmbeddingsContext:
except ValidationError as e:
raise ValueError(f"Invalid face name: {str(e)}")
if not re.match(valid_name_pattern, old_name):
if not regex.match(valid_name_pattern, old_name):
raise ValueError(f"Invalid old face name: {old_name}")
if not re.match(valid_name_pattern, new_name):
if not regex.match(valid_name_pattern, new_name):
raise ValueError(f"Invalid new face name: {new_name}")
if sanitized_old_name != old_name:
raise ValueError(f"Old face name contains invalid characters: {old_name}")
+11 -5
View File
@@ -1,3 +1,4 @@
# In log.py
import atexit
import logging
import multiprocessing as mp
@@ -6,6 +7,7 @@ import sys
import threading
from collections import deque
from logging.handlers import QueueHandler, QueueListener
from queue import Queue
from typing import Deque, Optional
from frigate.util.builtin import clean_camera_user_pass
@@ -32,12 +34,14 @@ LOG_HANDLER.addFilter(
)
log_listener: Optional[QueueListener] = None
log_queue: Optional[Queue] = None
manager = None
def setup_logging() -> None:
global log_listener
log_queue: mp.Queue = mp.Queue()
global log_listener, log_queue, manager
manager = mp.Manager()
log_queue = manager.Queue()
log_listener = QueueListener(log_queue, LOG_HANDLER, respect_handler_level=True)
atexit.register(_stop_logging)
@@ -53,11 +57,13 @@ def setup_logging() -> None:
def _stop_logging() -> None:
global log_listener
global log_listener, manager
if log_listener is not None:
log_listener.stop()
log_listener = None
if manager is not None:
manager.shutdown()
manager = None
# When a multiprocessing.Process exits, python tries to flush stdout and stderr. However, if the
+1 -1
View File
@@ -111,7 +111,7 @@ def output_frames(
move_preview_frames("cache")
for camera, cam_config in config.cameras.items():
if not cam_config.enabled:
if not cam_config.enabled_in_config:
continue
jsmpeg_cameras[camera] = JsmpegCamera(cam_config, stop_event, websocket_server)
+1
View File
@@ -403,6 +403,7 @@ class PreviewRecorder:
self.reset_frame_cache(frame_time)
def stop(self) -> None:
self.config_subscriber.stop()
self.requestor.stop()
+16 -2
View File
@@ -1109,6 +1109,7 @@ class PtzAutoTracker:
camera_height = camera_config.frame_shape[0]
camera_fps = camera_config.detect.fps
predicted_movement_time = 0
zoom_distance = 0
average_velocity = np.zeros((4,))
predicted_box = obj.obj_data["box"]
@@ -1171,7 +1172,20 @@ class PtzAutoTracker:
zoom_predicted_movement_time = 0
if np.any(average_velocity):
zoom_predicted_movement_time = abs(zoom) * self.zoom_time[camera]
# Calculate the intended change in zoom level
zoom_change = (1 - abs(zoom)) * (1 if zoom >= 0 else -1)
# Calculate new zoom level and clamp to [0, 1]
new_zoom = max(
0, min(1, self.ptz_metrics[camera].zoom_level.value + zoom_change)
)
# Calculate the actual zoom distance
zoom_distance = abs(
new_zoom - self.ptz_metrics[camera].zoom_level.value
)
zoom_predicted_movement_time = zoom_distance * self.zoom_time[camera]
zoom_predicted_box = (
predicted_box
@@ -1188,7 +1202,7 @@ class PtzAutoTracker:
tilt = (0.5 - (centroid_y / camera_height)) * 2
logger.debug(
f"{camera}: Zoom amount: {zoom}, zoom predicted time: {zoom_predicted_movement_time}, zoom predicted box: {tuple(zoom_predicted_box)}"
f"{camera}: Zoom amount: {zoom}, zoom distance: {zoom_distance}, zoom predicted time: {zoom_predicted_movement_time}, zoom predicted box: {tuple(zoom_predicted_box)}"
)
self._enqueue_move(camera, obj.obj_data["frame_time"], pan, tilt, zoom)
+1 -1
View File
@@ -39,7 +39,7 @@ class TestConfig(unittest.TestCase):
"description": "Fine tuned model",
"trainDate": "2023-04-28T23:22:01.262Z",
"type": "ssd",
"supportedDetectors": ["edgetpu"],
"supportedDetectors": ["cpu", "edgetpu"],
"width": 320,
"height": 320,
"inputShape": "nhwc",
+1 -1
View File
@@ -249,7 +249,7 @@ class TrackedObjectProcessor(threading.Thread):
def should_mqtt_snapshot(self, camera, obj: TrackedObject):
# object never changed position
if obj.obj_data["position_changes"] == 0:
if obj.is_stationary():
return False
# if there are required zones and there is no overlap
+16 -8
View File
@@ -18,6 +18,7 @@ from frigate.config import (
)
from frigate.const import CLIPS_DIR, THUMB_DIR
from frigate.review.types import SeverityEnum
from frigate.util.builtin import sanitize_float
from frigate.util.image import (
area,
calculate_region,
@@ -202,6 +203,11 @@ class TrackedObject:
)
)
# users can configure speed zones incorrectly, so sanitize speed_magnitude
# and velocity_angle in case the values come back as inf or NaN
speed_magnitude = sanitize_float(speed_magnitude)
self.velocity_angle = sanitize_float(self.velocity_angle)
if self.ui_config.unit_system == "metric":
self.current_estimated_speed = (
speed_magnitude * 3.6
@@ -384,16 +390,16 @@ class TrackedObject:
return event
def is_active(self):
def is_active(self) -> bool:
return not self.is_stationary()
def is_stationary(self):
def is_stationary(self) -> bool:
return (
self.obj_data["motionless_count"]
> self.camera_config.detect.stationary.threshold
)
def get_thumbnail(self, ext: str):
def get_thumbnail(self, ext: str) -> bytes | None:
img_bytes = self.get_img_bytes(
ext, timestamp=False, bounding_box=False, crop=True, height=175
)
@@ -404,7 +410,7 @@ class TrackedObject:
_, img = cv2.imencode(f".{ext}", np.zeros((175, 175, 3), np.uint8))
return img.tobytes()
def get_clean_png(self):
def get_clean_png(self) -> bytes | None:
if self.thumbnail_data is None:
return None
@@ -433,7 +439,7 @@ class TrackedObject:
crop=False,
height: int | None = None,
quality: int | None = None,
):
) -> bytes | None:
if self.thumbnail_data is None:
return None
@@ -474,6 +480,7 @@ class TrackedObject:
# draw any attributes
for attribute in self.thumbnail_data["attributes"]:
box = attribute["box"]
box_area = int((box[2] - box[0]) * (box[3] - box[1]))
draw_box_with_label(
best_frame,
box[0],
@@ -481,7 +488,7 @@ class TrackedObject:
box[2],
box[3],
attribute["label"],
f"{attribute['score']:.0%}",
f"{attribute['score']:.0%} {str(box_area)}",
thickness=thickness,
color=color,
)
@@ -649,8 +656,9 @@ class TrackedObjectAttribute:
best_object_id = obj["id"]
best_object_label = obj["label"]
else:
if best_object_label == "car" and obj["label"] == "car":
# if multiple cars are overlapping with the same label then the label will not be assigned
if best_object_label == obj["label"]:
# if multiple objects of the same type are overlapping
# then the attribute will not be assigned
return None
elif object_area < best_object_area:
# if a car and person are overlapping then assign the label to the smaller object (which should be the person)
+8
View File
@@ -4,6 +4,7 @@ import ast
import copy
import datetime
import logging
import math
import multiprocessing as mp
import queue
import re
@@ -399,3 +400,10 @@ def serialize(
def deserialize(bytes_data: bytes) -> list[float]:
"""Deserializes a compact "raw bytes" format into a list of floats"""
return list(struct.unpack("%sf" % (len(bytes_data) // 4), bytes_data))
def sanitize_float(value):
"""Replace NaN or inf with 0.0."""
if isinstance(value, (int, float)) and not math.isfinite(value):
return 0.0
return value
+1 -1
View File
@@ -304,7 +304,7 @@ def get_intel_gpu_stats(sriov: bool) -> Optional[dict[str, str]]:
]
if sriov:
intel_gpu_top_command += ["-d", "drm:/dev/dri/card0"]
intel_gpu_top_command += ["-d", "sriov"]
p = sp.run(
intel_gpu_top_command,
+10
View File
@@ -0,0 +1,10 @@
# Notebooks
## YOLO-NAS Pretrained
You can build and download a compatible model with pre-trained weights using [Google Colab](https://colab.research.google.com/github/blakeblackshear/frigate/blob/dev/notebooks/YOLO_NAS_Pretrained_Export.ipynb).
> [!WARNING]
> The pre-trained YOLO-NAS weights from DeciAI are subject to their license and can't be used commercially. For more information, see: https://docs.deci.ai/super-gradients/latest/LICENSE.YOLONAS.html
The input image size in this notebook is set to 320x320. This results in lower CPU usage and faster inference times without impacting performance in most cases due to the way Frigate crops video frames to areas of interest before running detection. The notebook and config can be updated to 640x640 if desired. By default, YOLO_NAS_S is built with YOLO_NAS_M and YOLO_NAS_L sizes also being available for export.
+201 -11
View File
@@ -25,7 +25,7 @@
"@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.2",
"@radix-ui/react-slider": "^1.2.3",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-slot": "^1.2.2",
"@radix-ui/react-switch": "^1.1.3",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-toggle": "^1.1.2",
@@ -54,7 +54,7 @@
"nosleep.js": "^0.12.0",
"react": "^18.3.1",
"react-apexcharts": "^1.4.1",
"react-day-picker": "^8.10.1",
"react-day-picker": "^9.7.0",
"react-device-detect": "^2.2.3",
"react-dom": "^18.3.1",
"react-dropzone": "^14.3.8",
@@ -268,6 +268,12 @@
"integrity": "sha512-U9DBDe5fxHmbwQww9rFxMLNI2Wlg7DhPzI7AVFpq8GehiUP7+NwuMPXpP4zAd52sgkxtOqOeMjgE5g0ZLnQZ0w==",
"license": "MIT"
},
"node_modules/@date-fns/tz": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.2.0.tgz",
"integrity": "sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==",
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
@@ -1244,6 +1250,24 @@
}
}
},
"node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-arrow": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz",
@@ -1346,6 +1370,24 @@
}
}
},
"node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-compose-refs": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
@@ -1440,6 +1482,24 @@
}
}
},
"node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-direction": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz",
@@ -1663,6 +1723,24 @@
}
}
},
"node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-popover": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz",
@@ -1700,6 +1778,24 @@
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-popper": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz",
@@ -1803,6 +1899,24 @@
}
}
},
"node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-radio-group": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.2.3.tgz",
@@ -1940,6 +2054,24 @@
}
}
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-separator": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz",
@@ -1997,12 +2129,12 @@
}
},
"node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.2.tgz",
"integrity": "sha512-y7TBO4xN4Y94FvcWIOIh18fM4R1A8S4q1jhoz4PNzOoHsFcN8pogcFmZrTYAm4F9VRUrWP/Mw7xSKybIeRI+CQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
"@radix-ui/react-compose-refs": "1.1.2"
},
"peerDependencies": {
"@types/react": "*",
@@ -2014,6 +2146,21 @@
}
}
},
"node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz",
"integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==",
"license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-switch": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz",
@@ -2161,6 +2308,24 @@
}
}
},
"node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
"integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-use-callback-ref": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz",
@@ -4395,11 +4560,18 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
"integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/kossnocorp"
}
},
"node_modules/date-fns-jalali": {
"version": "4.1.0-0",
"resolved": "https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz",
"integrity": "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==",
"license": "MIT"
},
"node_modules/date-fns-tz": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz",
@@ -7196,16 +7368,34 @@
}
},
"node_modules/react-day-picker": {
"version": "8.10.1",
"resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz",
"integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==",
"version": "9.7.0",
"resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.7.0.tgz",
"integrity": "sha512-urlK4C9XJZVpQ81tmVgd2O7lZ0VQldZeHzNejbwLWZSkzHH498KnArT0EHNfKBOWwKc935iMLGZdxXPRISzUxQ==",
"license": "MIT",
"dependencies": {
"@date-fns/tz": "1.2.0",
"date-fns": "4.1.0",
"date-fns-jalali": "4.1.0-0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "individual",
"url": "https://github.com/sponsors/gpbl"
},
"peerDependencies": {
"date-fns": "^2.28.0 || ^3.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
"react": ">=16.8.0"
}
},
"node_modules/react-day-picker/node_modules/date-fns": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/kossnocorp"
}
},
"node_modules/react-device-detect": {
+2 -2
View File
@@ -31,7 +31,7 @@
"@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.2",
"@radix-ui/react-slider": "^1.2.3",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-slot": "^1.2.2",
"@radix-ui/react-switch": "^1.1.3",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-toggle": "^1.1.2",
@@ -60,7 +60,7 @@
"nosleep.js": "^0.12.0",
"react": "^18.3.1",
"react-apexcharts": "^1.4.1",
"react-day-picker": "^8.10.1",
"react-day-picker": "^9.7.0",
"react-device-detect": "^2.2.3",
"react-dom": "^18.3.1",
"react-dropzone": "^14.3.8",
+13 -13
View File
@@ -3,25 +3,25 @@
"snort": "نَفْخَة",
"heartbeat": "نَبْض القَلْب",
"pets": "حَيَوَانَات أَلِيفَة",
"whoop": "هُتَاف",
"whoop": "هتاف",
"humming": "هَمْهَمَة",
"chewing": "مَضْغ",
"yodeling": "تَزَلْغُط",
"yodeling": "غناء متقلب",
"howl": "عُوَاء",
"speech": َلَام",
"speech": لام",
"hiccup": "فُوَاق",
"dog": "كَلْب",
"yip": "نُبَيْحَة",
"babbling": َرْثَرَة",
"yell": ُرَاخ",
"bellow": "خُوَار",
"whispering": "هَمْس",
"laughter": َحِك",
"snicker": "تَضَاحُك",
"crying": ُكَاء",
"sigh": َنَهُّد",
"singing": ِنَاء",
"choir": "جَوْقَة",
"babbling": رثرة",
"yell": راخ",
"bellow": "زمجرة",
"whispering": "همس",
"laughter": حك",
"snicker": "ضحكة خفيفه",
"crying": كاء",
"sigh": نهد",
"singing": ناء",
"choir": "فرقة غناء",
"chant": "تَرْنِيم",
"mantra": "تَرْنِيمَة",
"child_singing": "غِنَاء طِفْل",
+336 -1
View File
@@ -1 +1,336 @@
{}
{
"speech": "Parla",
"babbling": "Balbuceig",
"yell": "Crit",
"whispering": "Xiuxiuejant",
"laughter": "Riure",
"snicker": "Rialleta",
"crying": "Plor",
"bellow": "Bram",
"sigh": "Suspir",
"singing": "Cant",
"choir": "Cor",
"yodeling": "Cant Tirolès",
"chant": "Càntic",
"mantra": "Mantra",
"child_singing": "Cant Infantil",
"synthetic_singing": "Cant Sintètic",
"rapping": "Rap",
"humming": "Taral·leig",
"groan": "Gemec",
"grunt": "Grunyo",
"whistling": "Xiulet",
"wheeze": "Sibilància",
"snoring": "Ronc",
"gasp": "Jadeig",
"cat": "Gat",
"dog": "Gos",
"animal": "Animal",
"bark": "Escorça",
"horse": "Cavall",
"sheep": "Ovella",
"goat": "Cabra",
"bird": "Ocell",
"mouse": "Ratolí",
"keyboard": "Teclat",
"vehicle": "Vehicle",
"boat": "Vaixell",
"car": "Cotxe",
"motorcycle": "Motocicleta",
"bus": "Autobús",
"bicycle": "Bicicleta",
"train": "Tren",
"skateboard": "Monopatí",
"door": "Porta",
"hair_dryer": "Assecador de cabell",
"sink": "Aigüera",
"blender": "Batedora",
"toothbrush": "Raspall de dents",
"scissors": "Tisores",
"clock": "Rellotge",
"breathing": "Respiració",
"fart": "Pet",
"stomach_rumble": "Barbolló d'estómac",
"hands": "Mans",
"burping": "Eructe",
"hiccup": "Singlot",
"whoop": "Crit d'alegria",
"pant": "Esbufec",
"snort": "Esbufec nasal",
"cough": "Tos",
"throat_clearing": "Carraspeig",
"sneeze": "Esternut",
"sniff": "Fregit nasal",
"run": "Córrer",
"shuffle": "Passos arrossegats",
"footsteps": "Passos",
"chewing": "Masticació",
"biting": "Mossegada",
"gargling": "Gàrgares",
"finger_snapping": "Claqueig de dits",
"heartbeat": "Batec del cor",
"heart_murmur": "Sospit cardíac",
"cheering": "Ovacions",
"applause": "Aplaudiments",
"clapping": "Cop de mans",
"chatter": "Xerrameca",
"crowd": "Multitud",
"children_playing": "Nens jugant",
"pets": "Animals de companyia",
"camera": "Càmera",
"wild_animals": "Animals salvatges",
"heavy_engine": "Motor pesat",
"wedding_music": "Música de casament",
"yip": "Crit agut",
"howl": "Udol",
"bow_wow": "Lladruc",
"growling": "Grunyit",
"whimper_dog": "Gemec de gos",
"purr": "Ronroneig",
"meow": "Miol",
"hiss": "Siseig",
"caterwaul": "Udol estrident",
"livestock": "Bestiar",
"clip_clop": "Clip-clop",
"neigh": "Relinxo",
"cattle": "Bestiar boví",
"moo": "Mugir",
"cowbell": "Esquellot",
"pig": "Porc",
"oink": "Oink",
"bleat": "Brama",
"fowl": "Au de corral",
"chicken": "Pollastre",
"cluck": "Cloqueig",
"cock_a_doodle_doo": "Quiquiriquí",
"turkey": "Gall dindi",
"gobble": "Gorgoriteig",
"duck": "Ànec",
"quack": "Quac",
"goose": "Oca",
"honk": "Cluc-cluc",
"roaring_cats": "Gats que rugen",
"roar": "Rugit",
"chirp": "Piulet",
"squawk": "Xerric",
"pigeon": "Colom",
"coo": "Arruix",
"crow": "Corb",
"caw": "Cric",
"owl": "Mussol",
"hoot": "Ulul",
"flapping_wings": "Batuda dales",
"dogs": "Gossos",
"rats": "Rates",
"patter": "Repic",
"insect": "Insecte",
"cricket": "Grill",
"mosquito": "Mosquit",
"fly": "Mosca",
"buzz": "Brunzit",
"frog": "Granota",
"croak": "Grall",
"snake": "Serp",
"rattle": "Cascavell",
"whale_vocalization": "Vocalització de balena",
"music": "Música",
"musical_instrument": "Instrument musical",
"plucked_string_instrument": "Instrument de corda pinçada",
"guitar": "Guitarra",
"electric_guitar": "Guitarra elèctrica",
"bass_guitar": "Baix",
"acoustic_guitar": "Guitarra acústica",
"steel_guitar": "Guitarra steel",
"tapping": "Tapping",
"strum": "Rasgueig",
"banjo": "Banjo",
"sitar": "Sitar",
"mandolin": "Mandolina",
"zither": "Cítara",
"ukulele": "Ukulele",
"piano": "Piano",
"electric_piano": "Piano elèctric",
"organ": "Orgue",
"electronic_organ": "Orgue electrònic",
"hammond_organ": "Orgue Hammond",
"synthesizer": "Sintetitzador",
"sampler": "Sampler",
"harpsichord": "Clavicèmbal",
"percussion": "Percussió",
"drum_kit": "Bateria",
"drum_machine": "Caixa de ritmes",
"drum": "Tambor",
"snare_drum": "Caixa",
"rimshot": "Rimshot",
"drum_roll": "Rul·lat de tambor",
"bass_drum": "Bombo",
"timpani": "Timpani",
"tabla": "Tabla",
"cymbal": "Plat",
"hi_hat": "Charles",
"wood_block": "Bloc de fusta",
"tambourine": "Pandereta",
"maraca": "Maraca",
"gong": "Gong",
"tubular_bells": "Campanes tubulars",
"mallet_percussion": "Percussió amb baquetes",
"marimba": "Marimba",
"glockenspiel": "Carilló",
"vibraphone": "Vibràfon",
"steelpan": "Steelpan",
"orchestra": "Orquestra",
"brass_instrument": "Instrument de metall",
"french_horn": "Corn francès",
"trumpet": "Trompeta",
"trombone": "Trombó",
"bowed_string_instrument": "Instrument de corda fregada",
"string_section": "Secció de corda",
"violin": "Violí",
"pizzicato": "Pizzicato",
"cello": "Violoncel",
"double_bass": "Contrabaix",
"wind_instrument": "Instrument de vent",
"flute": "Flauta",
"saxophone": "Saxòfon",
"clarinet": "Clarinet",
"harp": "Arpa",
"bell": "Campana",
"church_bell": "Campana d'església",
"jingle_bell": "Campaneta",
"bicycle_bell": "Timbre de bicicleta",
"tuning_fork": "Diapasó",
"chime": "Timbre",
"wind_chime": "Campanes de vent",
"harmonica": "Harmònica",
"accordion": "Acordió",
"bagpipes": "Gaites",
"didgeridoo": "Didgeridoo",
"theremin": "Theremin",
"singing_bowl": "Bol tibetà",
"scratching": "Esgarrapar",
"pop_music": "Música pop",
"hip_hop_music": "Música Hip-Hop",
"beatboxing": "Beatboxing",
"rock_music": "Música rock",
"heavy_metal": "Heavy Metal",
"punk_rock": "Punk Rock",
"grunge": "Grunge",
"progressive_rock": "Rock progressiu",
"rock_and_roll": "Rock and Roll",
"psychedelic_rock": "Rock psicodèlic",
"rhythm_and_blues": "Rhythm and blues",
"soul_music": "Música soul",
"reggae": "Reggae",
"country": "Country",
"swing_music": "Música swing",
"bluegrass": "Bluegrass",
"funk": "Funk",
"folk_music": "Música folk",
"middle_eastern_music": "Música d'Orient Mitjà",
"jazz": "Jazz",
"disco": "Disco",
"classical_music": "Música clàssica",
"opera": "Òpera",
"electronic_music": "Música electrònica",
"house_music": "Música house",
"techno": "Techno",
"dubstep": "Dubstep",
"drum_and_bass": "Drum and Bass",
"electronica": "Electrònica",
"electronic_dance_music": "Música electrònica de ball",
"ambient_music": "Música ambient",
"trance_music": "Música trance",
"music_of_latin_america": "Música d'Amèrica Llatina",
"salsa_music": "Música salsa",
"flamenco": "Flamenc",
"blues": "Blues",
"music_for_children": "Música per a nens",
"new-age_music": "Música new age",
"vocal_music": "Música vocal",
"a_capella": "A capella",
"music_of_africa": "Música d'Àfrica",
"afrobeat": "Afrobeat",
"christian_music": "Música cristiana",
"gospel_music": "Música gospel",
"music_of_asia": "Música d'Àsia",
"carnatic_music": "Música carnàtica",
"music_of_bollywood": "Música de bollywood",
"ska": "Ska",
"traditional_music": "Música tradicional",
"independent_music": "Música independent",
"song": "Cançó",
"background_music": "Música de fons",
"theme_music": "Música temàtica",
"jingle": "Jingle",
"soundtrack_music": "Música de banda sonora",
"lullaby": "Lullaby",
"video_game_music": "Música de videojocs",
"christmas_music": "Música nadalenca",
"dance_music": "Música dance",
"happy_music": "Música alegre",
"sad_music": "Música trista",
"tender_music": "Música tendra",
"exciting_music": "Música emocionant",
"angry_music": "Música enfadada",
"scary_music": "Música de por",
"wind": "Vent",
"wind_noise": "Soroll del vent",
"thunderstorm": "Tempesta",
"thunder": "Tro",
"water": "Aigua",
"rain": "Pluja",
"raindrop": "Gota de pluja",
"rain_on_surface": "Pluja en superfície",
"stream": "Rierol",
"waterfall": "Cascada",
"ocean": "Oceà",
"waves": "Ones",
"steam": "Vapor",
"fire": "Foc",
"sailboat": "Veler",
"rowboat": "Barca de rems",
"ship": "Vaixell",
"motor_vehicle": "Vehicle de motor",
"car_alarm": "Alarma del cotxe",
"car_passing_by": "Cotxe passant",
"race_car": "Cotxe de curses",
"truck": "Camió",
"air_brake": "Fre d'aire",
"air_horn": "Bocina d'aire",
"ice_cream_truck": "Camió de gelats",
"emergency_vehicle": "Vehicle d'emergència",
"police_car": "Cotxe de policia",
"ambulance": "Ambulància",
"fire_engine": "Camió de bombers",
"traffic_noise": "Soroll de trànsit",
"rail_transport": "Transport ferroviari",
"train_whistle": "Xiulet de tren",
"train_horn": "Bocina de tren",
"railroad_car": "Vagó de tren",
"subway": "Metro",
"aircraft": "Aeronau",
"aircraft_engine": "Motor d'aeronau",
"propeller": "Hèlix",
"helicopter": "Helicòpter",
"fixed-wing_aircraft": "Aeronau d'Ala Fixa",
"engine": "Motor",
"light_engine": "Motor lleuger",
"dental_drill's_drill": "Trepant dental",
"lawn_mower": "Talla-gespa",
"chainsaw": "Motoserra",
"medium_engine": "Motor mitjà",
"engine_starting": "Arranc del motor",
"idling": "Ralentí",
"accelerating": "Accelerant",
"doorbell": "Timbre",
"ding-dong": "Ding-dong",
"sliding_door": "Porta corredissa",
"slam": "Cop de porta",
"knock": "Toc",
"tap": "Toc suau",
"squeak": "Grinyol",
"cupboard_open_or_close": "Obertura o tancament d'armari",
"drawer_open_or_close": "Obertura o tancament de calaix",
"dishes": "Plats",
"cutlery": "Coberteria"
}
+259 -1
View File
@@ -1 +1,259 @@
{}
{
"role": {
"title": "Rol",
"viewer": "Visualitzador",
"admin": "Administrador",
"desc": "Els administradors tenen accés complet a totes les característiques de la interfície d'usuari de Frigate. Els visualitzadors es limiten a visualitzar càmeres, articles de revisió i imatges històriques a la interfície d'usuari."
},
"menu": {
"language": {
"yue": "粵語 (Cantonès)",
"zhCN": "简体中文 (Xinès simplificat)",
"hi": "हिन्दी (Hindi)",
"fr": "Français (Francès)",
"ar": "العربية (Àrab)",
"de": "Deutsch (Alemany)",
"sv": "Svenska (Suec)",
"cs": "Čeština (Txec)",
"nb": "Norsk Bokmål (Noruec Bokmål)",
"ko": "한국어 (Coreà)",
"vi": "Tiếng Việt (Vietnamita)",
"fa": "فارسی (Persa)",
"hu": "Magyar (Hongarès)",
"fi": "Suomi (Finlandès)",
"en": "English (Anglès)",
"pt": "Português (Portuguès)",
"ja": "日本語 (Japonès)",
"es": "Español (Espanyol)",
"withSystem": {
"label": "Utilitzeu la configuració del sistema per a l'idioma"
},
"tr": "Türkçe (Turc)",
"it": "Italiano (Italià)",
"he": "עברית (Hebreu)",
"el": "Ελληνικά (Grec)",
"ro": "Română (Romanès)",
"nl": "Nederlands (Holandès)",
"pl": "Polski (Polonès)",
"uk": "Українська (Ucraïnès)",
"da": "Dansk (Danès)",
"sk": "Slovenčina (Eslovac)",
"ru": "Русский (Rus)"
},
"system": "Sistema",
"systemMetrics": "Mètriques del sistema",
"configuration": "Configuració",
"systemLogs": "Registres del sistema",
"configurationEditor": "Editor de configuració",
"languages": "Idiomes",
"settings": "Opcions",
"darkMode": {
"light": "Clar",
"dark": "Fosc",
"withSystem": {
"label": "Utilitzeu la configuració del sistema per al mode clar o fosc"
},
"label": "Mode fosc"
},
"withSystem": "Sistema",
"appearance": "Aspecte",
"theme": {
"blue": "Blau",
"green": "Verd",
"nord": "Nord",
"red": "Vermell",
"default": "Per defecte",
"highcontrast": "Contrast Alt",
"label": "Tema"
},
"help": "Ajuda",
"documentation": {
"title": "Documentació",
"label": "Documentació de Frigate"
},
"restart": "Reinicia Frigate",
"live": {
"title": "Directe",
"allCameras": "Totes les càmeres",
"cameras": {
"title": "Càmeres",
"count_one": "{{count}} Càmera",
"count_many": "{{count}} Càmeres",
"count_other": "{{count}} Càmeres"
}
},
"review": "Revisió",
"explore": "Explora",
"export": "Exportar",
"uiPlayground": "Zona de proves de la interfície d'usuari",
"faceLibrary": "Biblioteca de cares",
"user": {
"title": "Usuari",
"setPassword": "Estableix Contrasenya",
"account": "Compte",
"anonymous": "Anònim",
"logout": "Tanca la sessió",
"current": "Usuari actual: {{user}}"
}
},
"pagination": {
"previous": {
"label": "Ves a pàgina anterior",
"title": "Anterior"
},
"next": {
"label": "Ves a pàgina següent",
"title": "Següent"
},
"more": "Més pàgines",
"label": "paginació"
},
"time": {
"untilForTime": "Fins les {{time}}",
"untilForRestart": "Fins que Frigate es reiniciï.",
"untilRestart": "Fins que es reiniciï",
"ago": "Fa {{timeAgo}}",
"justNow": "Ara mateix",
"today": "Avui",
"yesterday": "Ahir",
"last7": "Últims 7 dies",
"last14": "Últims 14 dies",
"last30": "Últims 30 dies",
"thisWeek": "Aquesta setmana",
"lastWeek": "La setmana passada",
"thisMonth": "Aquest mes",
"lastMonth": "El mes passat",
"5minutes": "5 minuts",
"10minutes": "10 minuts",
"30minutes": "30 minuts",
"1hour": "1 hora",
"12hours": "12 hores",
"24hours": "24 hores",
"pm": "pm",
"am": "am",
"yr": "{{time}}any",
"year_one": "{{time}} any",
"year_many": "{{time}} anys",
"year_other": "{{time}} anys",
"mo": "{{time}}mes",
"month_one": "{{time}} mes",
"month_many": "{{time}} mesos",
"month_other": "{{time}} mesos",
"h": "{{time}}h",
"d": "{{time}}d",
"day_one": "{{time}} dia",
"day_many": "{{time}} dies",
"day_other": "{{time}} dies",
"hour_one": "{{time}} hora",
"hour_many": "{{time}} hores",
"hour_other": "{{time}} hores",
"m": "{{time}} m",
"minute_one": "{{time}} minut",
"minute_many": "{{time}} minuts",
"minute_other": "{{time}} minuts",
"s": "{{time}}s",
"second_one": "{{time}} segon",
"second_many": "{{time}} segons",
"second_other": "{{time}} segons",
"formattedTimestamp": {
"12hour": "MMM d, h::mm::ss aaa",
"24hour": "MMM d, HH:mm:ss"
},
"formattedTimestampMonthDayYear": {
"24hour": "MMM d, yyyy",
"12hour": "MMM d, yyyy"
},
"formattedTimestampMonthDay": "MMM d",
"formattedTimestampFilename": {
"12hour": "MM-dd-yy-h-mm-ss-a",
"24hour": "MM-dd-yy-HH-mm-ss"
},
"formattedTimestamp2": {
"12hour": "MM/dd h:mm:ssa",
"24hour": "d MMM HH:mm:ss"
},
"formattedTimestampHourMinute": {
"12hour": "h:mm aaa",
"24hour": "HH:mm"
},
"formattedTimestampHourMinuteSecond": {
"24hour": "HH:mm:ss",
"12hour": "h:mm:ss aaa"
},
"formattedTimestampMonthDayHourMinute": {
"12hour": "MMM d, h:mm aaa",
"24hour": "MMM d, HH:mm"
},
"formattedTimestampMonthDayYearHourMinute": {
"12hour": "MMM d yyyy, h:mm aaa",
"24hour": "MMM d yyyy, HH:mm"
}
},
"unit": {
"speed": {
"mph": "mph",
"kph": "km/h"
}
},
"label": {
"back": "Torna enrere"
},
"button": {
"apply": "Aplicar",
"reset": "Restablir",
"done": "Fet",
"disabled": "Deshabilitat",
"disable": "Deshabilitar",
"save": "Guardar",
"copy": "Copiar",
"back": "Enrere",
"pictureInPicture": "Imatge en Imatge",
"twoWayTalk": "Xerrada bidireccional",
"cameraAudio": "Àudio de la càmera",
"no": "No",
"yes": "Sí",
"download": "Descarregar",
"info": "Informació",
"suspended": "Suspès",
"export": "Exportar",
"deleteNow": "Eliminar ara",
"next": "Següent",
"saving": "Guardant…",
"cancel": "Cancelar",
"edit": "Editar",
"copyCoordinates": "Copiar coordenades",
"delete": "Elimina",
"unsuspended": "Reactivar",
"play": "Reproduir",
"close": "Tancar",
"history": "Historial",
"fullscreen": "Pantalla completa",
"exitFullscreen": "Sortir de pantalla completa",
"on": "ENCÈS",
"off": "APAGAT",
"unselect": "Desseleccionar",
"enable": "Habilitar",
"enabled": "Habilitat"
},
"toast": {
"copyUrlToClipboard": "URL copiada al porta-retalls.",
"save": {
"title": "Guardar",
"error": {
"title": "No s'han pogut guardar els canvis de configuració: {{errorMessage}}",
"noMessage": "No s'han pogut guardar els canvis de configuració"
}
}
},
"accessDenied": {
"desc": "No teniu permís per veure aquesta pàgina.",
"documentTitle": "Accés Denegat - Frigate",
"title": "Accés Denegat"
},
"notFound": {
"documentTitle": "No s'ha trobat - Frigate",
"title": "404",
"desc": "Pàgina no trobada"
},
"selectItem": "Selecciona {{item}}"
}
+15 -1
View File
@@ -1 +1,15 @@
{}
{
"form": {
"user": "Nom d'usuari",
"password": "Contrasenya",
"login": "Iniciar sessió",
"errors": {
"usernameRequired": "El nom d'usuari és obligatori",
"passwordRequired": "La contrasenya és obligatoria",
"rateLimit": "S'ha superat el límit d'intents. Torna-ho a provar més tard.",
"loginFailed": "Error en l'inici de sessió",
"unknownError": "Error desconegut. Comproveu els registres.",
"webUnknownError": "Error desconegut. Comproveu els registres de la consola."
}
}
}
+85 -1
View File
@@ -1 +1,85 @@
{}
{
"group": {
"add": "Afegir grup de càmeres",
"edit": "Editar grup de càmeres",
"delete": {
"label": "Eliminar grup de càmeres",
"confirm": {
"title": "Confirmar eliminació",
"desc": "Estàs segur que vols eliminar el grup de càmeres <em>{{name}}</em>?"
}
},
"name": {
"placeholder": "Introduïu un nom…",
"errorMessage": {
"mustLeastCharacters": "El nom del grup de càmeres ha de ser de com a mínim 2 caràcters.",
"exists": "El nom del grup de càmeres ja existeix.",
"nameMustNotPeriod": "El nom del grup de càmeres no pot contenir un punt.",
"invalid": "Nom del grup de càmeres no vàlid."
},
"label": "Nom"
},
"cameras": {
"label": "Càmeres",
"desc": "Seleccioneu càmeres per a aquest grup."
},
"camera": {
"setting": {
"label": "Paràmetres de transmissió de la càmera",
"title": "Paràmetres de transmissió de {{cameraName}}",
"audioIsAvailable": "L'àudio està disponible per a aquesta transmissió",
"audioIsUnavailable": "L'audio no està disponible per a aquesta transmissió",
"audio": {
"tips": {
"document": "Llegir la documentació · ",
"title": "L'audio ha de venir de la càmera i estar configurat a go2rtc per a aquesta transmissió."
}
},
"streamMethod": {
"label": "Mètode de transmissió",
"method": {
"noStreaming": {
"label": "Sense transmissió",
"desc": "Les imatges de la càmera només s'actualitzaran una vegada per minut i no hi haurà transmissió en viu."
},
"smartStreaming": {
"label": "Transmissió intel·ligent (recomanat)",
"desc": "La transmissió intel·ligent actualitzarà la imatge de la teva càmera una vegada per minut quan no es detecti activitat per a conservar amplada de banda i recursos. Quan es detecti activitat, la imatge canviarà automàticament a una transmissió en directe."
},
"continuousStreaming": {
"label": "Transmissió contínua",
"desc": {
"title": "La imatge de la càmera sempre serà una transmissió en directe quan estigui visible al panell de control, tot i que no hi hagi cap activitat detectada.",
"warning": "La transmissió contínua pot provocar problemes d'ús elevat d'amplada de banda i rendiment. Feu servir amb precaució."
}
}
}
},
"compatibilityMode": {
"label": "Mode de compatibilitat",
"desc": "Activeu aquesta opció només si la transmissió en directe de la càmera mostra artefactes de color i té una línia diagonal a la part dreta de la imatge."
},
"desc": "Cambia les opcions de transmissió en viu del panell de control d'aquest grup de càmeres. <em>Aquest paràmetres son específics del dispositiu/navegador.</em>",
"stream": "Transmissió",
"placeholder": "Seleccionar una transmissió"
}
},
"success": "El grup de càmeres ({{name}}) ha estat guardat.",
"icon": "Icona",
"label": "Grups de càmeres"
},
"debug": {
"options": {
"title": "Opcions",
"showOptions": "Mostra opcions",
"hideOptions": "Amaga opcions",
"label": "Paràmetres"
},
"boundingBox": "Caixa delimitadora",
"timestamp": "Marca temporal",
"zones": "Zones",
"mask": "Màscara",
"motion": "Moviment",
"regions": "Regions"
}
}
+114 -1
View File
@@ -1 +1,114 @@
{}
{
"restart": {
"title": "Estàs segur que vols reiniciar Frigate?",
"button": "Reiniciar",
"restarting": {
"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"
}
},
"explore": {
"plus": {
"submitToPlus": {
"label": "Enviar a Frigate+",
"desc": "Els objectes a les ubicacions que voleu evitar no són falsos positius. Enviar-los com a falsos positius confondrà el model."
},
"review": {
"question": {
"label": "Confirmar aquesta etiqueta per a Frigate Plus",
"ask_a": "Aquest objecte és un <code>{{label}}</code>?",
"ask_an": "Aquest objecte és un <code>{{label}}</code>?",
"ask_full": "Aquest objecte és un <code>{{untranslatedLabel}}</code> ({{translatedLabel}})?"
},
"state": {
"submitted": "Enviat"
}
}
},
"video": {
"viewInHistory": "Veure a l'historial"
}
},
"export": {
"time": {
"custom": "Personalitzat",
"fromTimeline": "Seleccionar a la línia de temps",
"lastHour_one": "L'última hora",
"lastHour_many": "Les últimes {{count}} hores",
"lastHour_other": "Les últimes {{count}} hores",
"start": {
"title": "Hora d'inci",
"label": "Seleccionar una hora d'inici"
},
"end": {
"title": "Hora de finalització",
"label": "Seleccionar una hora de finalització"
}
},
"name": {
"placeholder": "Nom de l'exportació"
},
"select": "Seleccionar",
"export": "Exportar",
"selectOrExport": "Seleccionar o exportar",
"toast": {
"success": "Exportació inciada amb èxit. Pots veure l'arxiu a la carpeta /exports.",
"error": {
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
"failed": "No s'ha pogut inciar l'exportació: {{error}}"
}
},
"fromTimeline": {
"saveExport": "Guardar exportació",
"previewExport": "Previsualitzar exportació"
}
},
"streaming": {
"label": "Transmissió",
"restreaming": {
"disabled": "La retransmissió no està habilitada per a aquesta càmera.",
"desc": {
"title": "Configurar go2rtc per a àudio i opcions addicionals de visualització en directe per a aquesta càmera.",
"readTheDocumentation": "Llegir la documentació"
}
},
"showStats": {
"label": "Mostrar les estadístiques de la transmissió",
"desc": "Activa aquesta opció per a mostrar les estadístiques de la transmissió superposades a la imatge de la càmera."
},
"debugView": "Vista de depuració"
},
"search": {
"saveSearch": {
"label": "Desar la cerca",
"desc": "Propocioneu un nom per a aquesta cerca desada.",
"placeholder": "Introduïu un nom per a la vostra cerca",
"success": "La cerca {{searchName}} ha sigut desada.",
"overwrite": "{{searchName}} ja existeix. Si deseu, es sobreescriurà el valor existent.",
"button": {
"save": {
"label": "Desar aquesta cerca"
}
}
}
},
"recording": {
"button": {
"deleteNow": "Suprimir ara",
"export": "Exportar",
"markAsReviewed": "Marcar com a revisat"
},
"confirmDelete": {
"title": "Confirmar la supressió",
"desc": {
"selected": "Esteu segurs que voleu suprimir tots els vídeos enregistrats associats a aquest element de revisió?<br /><br />Manteniu premuda la tecla <em>Maj</em> per ometre aquest diàleg en el futur."
},
"toast": {
"success": "Els enregistraments de vídeo associats als elements de revisió seleccionats shan suprimit correctament.",
"error": "No s'ha pogut suprimir: {{error}}"
}
}
}
}
+126 -1
View File
@@ -1 +1,126 @@
{}
{
"labels": {
"all": {
"short": "Etiquetes",
"title": "Totes les etiquetes"
},
"label": "Etiquetes",
"count_one": "{{count}} Etiqueta",
"count_other": "{{count}} Etiquetes"
},
"filter": "Filtre",
"zones": {
"label": "Zones",
"all": {
"title": "Totes les zones",
"short": "Zones"
}
},
"dates": {
"all": {
"title": "Totes les dates",
"short": "Dates"
},
"selectPreset": "Selecciona un preajust…"
},
"more": "Més filtres",
"reset": {
"label": "Restablir filtres als valors predeterminats"
},
"timeRange": "Rang de temps",
"subLabels": {
"label": "Subetiquetes",
"all": "Totes les subetiquetes"
},
"score": "Puntuació",
"estimatedSpeed": "Velocitat estimada ({{unit}})",
"features": {
"label": "Característiques",
"hasSnapshot": "Té una instantània",
"hasVideoClip": "Té un clip de vídeo",
"submittedToFrigatePlus": {
"label": "Enviat a Frigate+",
"tips": "Primer heu de filtrar els objectes de seguiment que tenen una instantània.<br /><br />Els objectes de seguiment sense una instantània no es poden enviar a Frigate+."
}
},
"sort": {
"label": "Ordenar",
"dateAsc": "Data (Ascendent)",
"dateDesc": "Data (Descendent)",
"scoreAsc": "Puntuació de l'objecte (Ascendent)",
"scoreDesc": "Puntuació de l'objecte (Descendent)",
"speedAsc": "Velocitat estimada (Ascendent)",
"speedDesc": "Velocitat estimada (descendent)",
"relevance": "Rellevància"
},
"explore": {
"settings": {
"defaultView": {
"summary": "Resum",
"unfilteredGrid": "Quadrícula sense filtrar",
"title": "Vista per defecte",
"desc": "Quan no s'ha seleccionat cap filtre, mostreu un resum dels objectes de seguiment més recents per etiqueta, o visualitzeu una quadrícula sense filtrar."
},
"gridColumns": {
"title": "Columnes de la quadrícula",
"desc": "Seleccionar el nombre de columnes a la vista de quadrícula."
},
"searchSource": {
"label": "Font de cerca",
"options": {
"description": "Descripció",
"thumbnailImage": "Imatge en miniatura"
},
"desc": "Trieu si voleu cercar les miniatures o les descripcions dels objectes de seguiment."
},
"title": "Configuració"
},
"date": {
"selectDateBy": {
"label": "Seleccionr a una data per filtrar"
}
}
},
"logSettings": {
"disableLogStreaming": "Deshabilitar la transmissió de registres",
"allLogs": "Tots els registres",
"loading": {
"desc": "Quan el panell de registre es desplaça cap a la part inferior, els registres nous apareixen automàticament a mesura que s'afegeixen.",
"title": "Carregant"
},
"label": "Filtrar nivell de registre",
"filterBySeverity": "Filtrar registre per gravetat"
},
"trackedObjectDelete": {
"title": "Confirmar la supressió",
"desc": "En suprimir aquests {{objectLength}} objectes de seguiment, s'elimina la instatània, les incrustacions desades, i els registres de temps de vida. Les imatges gravades d'aquests objectes <em>NO</em> es suprimiran de l'historial. <br/><br/>Està segur que vol continuar?<br/><br/>Manteniu la tecla <em>Shift</em> per ometre aquest diàleg en el futur.",
"toast": {
"success": "Els objected amb seguiment s'han suprimit correctament.",
"error": "No s'han pogut suprimir els objectes de seguiment: {{errorMessage}}"
}
},
"zoneMask": {
"filterBy": "Filtrar per màscara de zona"
},
"recognizedLicensePlates": {
"title": "Matrícules reconegudes",
"loadFailed": "No s'han pogut carregar les matrícules reconegudes.",
"loading": "Carregant les matrícules reconegudes…",
"placeholder": "Escriu per a buscar matrícules…",
"noLicensePlatesFound": "No s'han trobat matrícules.",
"selectPlatesFromList": "Seleccioni una o més matrícules de la llista."
},
"cameras": {
"label": "Filtre de càmeres",
"all": {
"title": "Totes les càmeres",
"short": "Càmeres"
}
},
"review": {
"showReviewed": "Mostrar els revisats"
},
"motion": {
"showMotionOnly": "Mostar només el moviment"
}
}
+8 -1
View File
@@ -1 +1,8 @@
{}
{
"iconPicker": {
"selectIcon": "Selecciona una icona",
"search": {
"placeholder": "Buscar icona…"
}
}
}
+10 -1
View File
@@ -1 +1,10 @@
{}
{
"button": {
"downloadVideo": {
"label": "Descarregar vídeo",
"toast": {
"success": "Sha començat a descarregar el vídeo de lelement de revisió."
}
}
}
}
+51 -1
View File
@@ -1 +1,51 @@
{}
{
"stats": {
"latency": {
"short": {
"title": "Latència",
"value": "{{seconds}} s"
},
"title": "Latència:",
"value": "{{seconds}} segons"
},
"streamType": {
"title": "Tipus de transmissió:",
"short": "Tipus"
},
"bandwidth": {
"title": "Ample de banda:",
"short": "Ample de banda"
},
"totalFrames": "Fotogrames totals:",
"droppedFrames": {
"title": "Fotogrames perduts:",
"short": {
"title": "Perduts",
"value": "{{droppedFrames}} fotogrames"
}
},
"decodedFrames": "Fotogrames decodificats:",
"droppedFrameRate": "Taxa de fotogrames perduts:"
},
"noRecordingsFoundForThisTime": "No s'han trobat enregistraments en aquesta hora",
"noPreviewFound": "No s'ha trobat previsualització",
"noPreviewFoundFor": "No s'ha trobat cap previsualització per a {{cameraName}}",
"submitFrigatePlus": {
"title": "Enviar aquesta imatge a Frigate+?",
"submit": "Enviar"
},
"livePlayerRequiredIOSVersion": "Es requereix iOS 17.1 o superior per a aquest tipus de reproducció en directe.",
"streamOffline": {
"title": "Transmissió desconnectada",
"desc": "No shan rebut imatges a la transmissió <code>detect</code> de la càmera {{cameraName}}. Comprova els registres derrors"
},
"cameraDisabled": "La càmera està desactivada",
"toast": {
"success": {
"submittedFrigatePlus": "Fotograma enviat correctament a Frigate+"
},
"error": {
"submitFrigatePlusFailed": "Error al enviar fotograma a Frigate+"
}
}
}
+120 -1
View File
@@ -1 +1,120 @@
{}
{
"person": "Persona",
"bicycle": "Bicicleta",
"car": "Cotxe",
"motorcycle": "Motocicleta",
"airplane": "Avió",
"boat": "Vaixell",
"traffic_light": "Llum del trànsit",
"fire_hydrant": "Boca d'incendi",
"street_sign": "Senyal de trànsit",
"stop_sign": "Senyal de stop",
"parking_meter": "Parquímetre",
"bench": "Banc",
"bird": "Ocell",
"cat": "Gat",
"dog": "Gos",
"horse": "Cavall",
"sheep": "Ovella",
"cow": "Vaca",
"elephant": "Elefant",
"bear": "Ós",
"zebra": "Zebra",
"giraffe": "Girafa",
"hat": "Barret",
"backpack": "Motxilla",
"umbrella": "Paraigües",
"shoe": "Sabata",
"eye_glasses": "Ulleres",
"tie": "Corbata",
"suitcase": "Maleta",
"frisbee": "Frisbee",
"skis": "Esquís",
"snowboard": "Snowboard",
"sports_ball": "Pilota d'esports",
"kite": "Estel",
"baseball_bat": "Bat de beisbol",
"baseball_glove": "Guant de beisbol",
"skateboard": "Monopatí",
"surfboard": "Taula de surf",
"tennis_racket": "Raqueta de tenis",
"bottle": "Ampolla",
"plate": "Placa",
"wine_glass": "Got de vi",
"cup": "Copa",
"fork": "Forquilla",
"knife": "Ganivet",
"spoon": "Cullera",
"bowl": "Bol",
"apple": "Poma",
"sandwich": "Sandvitx",
"orange": "Taronja",
"broccoli": "Bròquil",
"carrot": "Pastanaga",
"hot_dog": "Frankfurt",
"pizza": "Pizza",
"donut": "Dònut",
"cake": "Pastís",
"chair": "Cadira",
"couch": "Sofà",
"potted_plant": "Planta en test",
"bed": "Llit",
"mirror": "Mirall",
"dining_table": "Taula de menjador",
"window": "Finestra",
"desk": "Escriptori",
"toilet": "Bany",
"door": "Porta",
"tv": "TV",
"mouse": "Ratolí",
"remote": "Comandament",
"keyboard": "Teclat",
"cell_phone": "Telèfon mòbil",
"microwave": "Microones",
"oven": "Forn",
"toaster": "Torradora",
"sink": "Aigüera",
"refrigerator": "Nevera",
"blender": "Batedora",
"book": "Llibre",
"clock": "Rellotge",
"vase": "Gerro",
"scissors": "Tisores",
"teddy_bear": "Ós de peluix",
"hair_dryer": "Assecador de cabell",
"toothbrush": "Raspall de dents",
"hair_brush": "Raspall de cabell",
"vehicle": "Vehicle",
"squirrel": "Esquirol",
"deer": "Cérvol",
"animal": "Animal",
"bark": "Escorça",
"fox": "Guineu",
"goat": "Cabra",
"rabbit": "Conill",
"raccoon": "Ós rentador",
"robot_lawnmower": "Robot tallagespa",
"handbag": "Bossa de mà",
"banana": "Plàtan",
"train": "Tren",
"bus": "Autobús",
"laptop": "Portàtil",
"waste_bin": "Paperera",
"face": "Cara",
"on_demand": "Sota demanda",
"license_plate": "Matrícula",
"package": "Paquet",
"bbq_grill": "Barbacoa",
"amazon": "Amazon",
"usps": "USPS",
"ups": "UPS",
"fedex": "FedEx",
"dhl": "DHL",
"an_post": "An Post",
"purolator": "Purolator",
"postnl": "PostNL",
"nzpost": "NZPost",
"postnord": "PostNord",
"dpd": "DPD",
"gls": "GLS"
}
+16 -1
View File
@@ -1 +1,16 @@
{}
{
"documentTitle": "Editor de Configuració - Frigate",
"configEditor": "Editor de configuració",
"copyConfig": "Copiar configuració",
"saveAndRestart": "Desa i reinicia",
"saveOnly": "Només desar",
"toast": {
"success": {
"copyToClipboard": "Configuració copiada al porta-retalls."
},
"error": {
"savingError": "Error al desar la configuració"
}
},
"confirm": "Sortir sense desar?"
}
+38 -1
View File
@@ -1 +1,38 @@
{}
{
"detected": "detectat",
"alerts": "Alertes",
"detections": "Deteccions",
"motion": {
"label": "Moviment",
"only": "Només moviment"
},
"allCameras": "Totes les càmeres",
"empty": {
"alert": "Hi ha cap alerta per revisar",
"detection": "Hi ha cap detecció per revisar",
"motion": "No s'haan trobat dades de moviment"
},
"timeline": "Línia de temps",
"timeline.aria": "Seleccionar línia de temps",
"events": {
"label": "Esdeveniments",
"aria": "Seleccionar esdeveniments",
"noFoundForTimePeriod": "No s'han trobat esdeveniments per aquest període de temps."
},
"documentTitle": "Revisió - Frigate",
"recordings": {
"documentTitle": "Enregistraments - Frigate"
},
"calendarFilter": {
"last24Hours": "Últimes 24 hores"
},
"markAsReviewed": "Marcar com a revisat",
"markTheseItemsAsReviewed": "Marca aquests elements com a revisats",
"newReviewItems": {
"label": "Veure nous elements de revisió",
"button": "Nous elements per revisar"
},
"camera": "Càmera",
"selected_one": "{{count}} seleccionats",
"selected_other": "{{count}} seleccionats"
}
+48 -1
View File
@@ -1 +1,48 @@
{}
{
"exploreIsUnavailable": {
"downloadingModels": {
"tips": {
"context": "Potser voldreu reindexar les incrustacions dels objectes seguits un cop s'hagin descarregat els models.",
"documentation": "Llegir la documentació"
},
"context": "Frigate està descarregant els models d'embeddings necessaris per a donar suport a la funció de cerca semàntica. Això pot trigar diversos minuts, depenent de la velocitat de la teva connexió de xarxa.",
"setup": {
"visionModel": "Model de visió",
"visionModelFeatureExtractor": "Extractor de característiques del model de visió",
"textModel": "Model de text",
"textTokenizer": "Tokenitzador de text"
},
"error": "S'ha produït un error. Comproveu els registres de Frigate."
},
"embeddingsReindexing": {
"context": "Explorar pot ser utilitzat després dhaver completat la reindexació dobjectes rastrejats.",
"startingUp": "Iniciant…",
"finishingShortly": "Finalitzant en breus",
"step": {
"thumbnailsEmbedded": "Miniatures integrades: ",
"descriptionsEmbedded": "Descripcions integrades: ",
"trackedObjectsProcessed": "Objectes processats: "
},
"estimatedTime": "Temps restant estimat:"
},
"title": "Explorar no està disponible"
},
"documentTitle": "Explora - Frigate",
"generativeAI": "IA Generativa",
"objectLifecycle": {
"createObjectMask": "Crear màscara per a l'objecte",
"title": "Cicle de vida de l'objecte",
"noImageFound": "No s'ha trobat cap imatge per a aquesta marca temporal."
},
"exploreMore": "Explora més {{label}} objectes",
"trackedObjectDetails": "Detalls de l'objecte rastrejat",
"type": {
"details": "detalls",
"snapshot": "instantània",
"video": "vídeo",
"object_lifecycle": "cicle de vida de l'objecte"
},
"details": {
"timestamp": "Marca temporal"
}
}
+17 -1
View File
@@ -1 +1,17 @@
{}
{
"documentTitle": "Exportar - Frigate",
"search": "Buscar",
"noExports": "No s'han trobat exportacions",
"deleteExport": "Suprimeix l'exportació",
"deleteExport.desc": "Estàs segur que vols eliminar {{exportName}}?",
"editExport": {
"title": "Renombrar exportació",
"desc": "Introdueix un nou nom per a aquesta exportació.",
"saveExport": "Desar exportació"
},
"toast": {
"error": {
"renameExportFailed": "Error al canviar el nom de lexportació: {{errorMessage}}"
}
}
}
+43 -1
View File
@@ -1 +1,43 @@
{}
{
"selectItem": "Selecciona {{item}}",
"details": {
"subLabelScore": "Puntuació de la subetiqueta",
"scoreInfo": "La puntuació de la subetiqueta és la puntuació ponderada de totes la confidència dels rostres reconeguts, de manera que pot ser diferent de la puntuació que es mostra a la instantània.",
"unknown": "Desconegut",
"person": "Persona",
"faceDesc": "Detalls de l'objecte que ha generat aquest rostre",
"timestamp": "Marca temporal",
"face": "Detalls del rostre"
},
"collections": "Col·leccions",
"train": {
"empty": "No hi ha intents recents de reconeixement de rostres",
"title": "Entrenar",
"aria": "Seleccionar entrenament"
},
"description": {
"addFace": "Guia per a agregar una nova colecció a la biblioteca de rostres.",
"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 guionets."
},
"documentTitle": "Biblioteca de rostres - Frigate",
"uploadFaceImage": {
"title": "Puja una imatge del rostre",
"desc": "Carregar una imatge per escanejar els rostres i incloure per a {{pageToggle}}"
},
"createFaceLibrary": {
"title": "Crear Col·lecció",
"desc": "Crear una nova col·lecció",
"new": "Crear un nou rostre",
"nextSteps": "Per establir una base sòlida:<li>Utilitza la pestanya Entrenament per seleccionar i entrenar imatges de cada persona detectada.</li><li>Centrat en imatges frontals per obtenir millors resultats; evita imatges dentrenament amb rostres en angle.</li></ul>"
},
"steps": {
"faceName": "Introduir el nom del rostre",
"uploadFace": "Puja una imatge del rostre",
"nextSteps": "Següents passos",
"description": {
"uploadFace": "Puja una imatge de {{name}} que mostri el seu rostre de cares. No cal que la imatge estigui retallada només al rostre."
}
},
"selectFace": "Seleccionar rostre"
}
+67 -1
View File
@@ -1 +1,67 @@
{}
{
"ptz": {
"zoom": {
"in": {
"label": "Apropar la càmera PTZ"
},
"out": {
"label": "Allunyar la càmera PTZ"
}
},
"move": {
"clickMove": {
"label": "Fes clic a la imatge per centrar la càmera",
"enable": "Habilita clic per moure",
"disable": "Deshabilita clic per moure"
},
"left": {
"label": "Moure la càmera PTZ a l'esquerra"
},
"up": {
"label": "Moure la càmera PTZ cap amunt"
},
"down": {
"label": "Moure la càmera PTZ cap avall"
},
"right": {
"label": "Moure la càmera PTZ a la dreta"
}
},
"frame": {
"center": {
"label": "Fer clic a la imatge per centrar la càmera PTZ"
}
},
"presets": "Predefinits de la càmera PTZ"
},
"documentTitle": "Directe - Frigate",
"documentTitle.withCamera": "{{camera}} - Directe - Frigate",
"lowBandwidthMode": "Mode de baix ample de banda",
"twoWayTalk": {
"enable": "Activa la comunicació bidireccional",
"disable": "Desactiva la comunicació bidireccional"
},
"cameraAudio": {
"enable": "Habilitar l'àudio de la càmera",
"disable": "Deshabilita l'àudio de la càmera"
},
"camera": {
"enable": "Habilitar la càmera",
"disable": "Deshabilita la càmera"
},
"muteCameras": {
"enable": "Silencia totes les càmeres",
"disable": "Activar el so de totes les càmeres"
},
"detect": {
"enable": "Habilita la detecció",
"disable": "Deshabilitar detecció"
},
"recording": {
"enable": "Habilitar gravació",
"disable": "Deshabilita l'enregistrament"
},
"snapshots": {
"enable": "Habilita captura d'instantània"
}
}
+12 -1
View File
@@ -1 +1,12 @@
{}
{
"filter": "Filtre",
"toast": {
"error": {
"noValidTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici"
}
},
"export": "Exportar",
"calendar": "Calendari",
"filters": "Filtres"
}
+41 -1
View File
@@ -1 +1,41 @@
{}
{
"filter": {
"label": {
"time_range": "Rang de temps",
"cameras": "Càmeres",
"search_type": "Tipus de cerca",
"labels": "Etiquetes",
"zones": "Zones",
"sub_labels": "Subetiquetes",
"before": "Abans",
"after": "Després",
"min_score": "Puntuació mínima",
"max_score": "Puntuació màxima",
"min_speed": "Velocitat mínima",
"max_speed": "Velocitat màxima",
"recognized_license_plate": "Matrícula reconeguda",
"has_clip": "Té Clip",
"has_snapshot": "Té instantània"
},
"searchType": {
"thumbnail": "Miniatura",
"description": "Descripció"
},
"toast": {
"error": {
"beforeDateBeLaterAfter": "La data 'abans' ha de ser posterior a la data 'després'."
}
}
},
"search": "Buscar",
"savedSearches": "Cerques desades",
"searchFor": "Buscar {{inputValue}}",
"button": {
"clear": "Netejar cerca",
"save": "Desar la cerca",
"delete": "Suprimeix la recerca desada",
"filterInformation": "Informació de filtre",
"filterActive": "Filtres actius"
},
"trackedObjectId": "ID d'objecte rastrejat"
}
+44 -1
View File
@@ -1 +1,44 @@
{}
{
"documentTitle": {
"enrichments": "Parmàmetres complementaris - Frigate",
"motionTuner": "Ajust de moviment - Frigate",
"object": "Depurar - Frigate",
"default": "Paràmetres - Frigate",
"authentication": "Configuració d'autenticació - Frigate",
"camera": "Paràmetres de càmera - Frigate",
"masksAndZones": "Editor de màscares i zones - Frigate",
"general": "Paràmetres Generals - Frigate",
"frigatePlus": "Paràmetres de Frigate+ - Frigate",
"notifications": "Paràmetres de notificació - Frigate"
},
"menu": {
"ui": "Interfície d'usuari",
"cameras": "Paràmetres de la càmera",
"masksAndZones": "Màscares / Zones",
"motionTuner": "Ajust de detecció de moviment",
"users": "Usuaris",
"notifications": "Notificacions",
"debug": "Depuració",
"frigateplus": "Frigate+",
"enrichments": "Enriquiments"
},
"dialog": {
"unsavedChanges": {
"title": "Hi ha canvis no guardats.",
"desc": "Desar els canvis abans de continuar?"
}
},
"cameraSetting": {
"camera": "Càmera",
"noCamera": "Cap càmera"
},
"general": {
"title": "Paràmetres generals",
"liveDashboard": {
"title": "Panell en directe",
"automaticLiveView": {
"label": "Vista en directe automàtica"
}
}
}
}
+48 -1
View File
@@ -1 +1,48 @@
{}
{
"documentTitle": {
"cameras": "Estadístiques de càmera - Frigate",
"storage": "Estadístiques d'emmagatzematge - Frigate",
"general": "Estadístiques generals - Frigate",
"logs": {
"frigate": "Registres de Frigate - Frigate",
"go2rtc": "Registres de Go2RTC - Frigate",
"nginx": "Registres de Nginix - Frigate"
},
"enrichments": "Estadístiques complementàries - Frigate"
},
"title": "Sistema",
"metrics": "Mètriques del sistema",
"logs": {
"download": {
"label": "Descarregar registres"
},
"copy": {
"label": "Copiar al porta-retalls",
"success": "Registres copiats al porta-retalls",
"error": "No s'han pogut copiar els registres al porta-retalls"
},
"type": {
"label": "Tipus",
"timestamp": "Marca temporal",
"tag": "Etiqueta",
"message": "Missatge"
},
"tips": "Els registres s'estàn transmetent des del servidor",
"toast": {
"error": {
"fetchingLogsFailed": "Error al obtenir els registres: {{errorMessage}}",
"whileStreamingLogs": "Error en la transmissió dels registres: {{errorMessage}}"
}
}
},
"general": {
"detector": {
"memoryUsage": "Ús de memòria del detector",
"title": "Detectors",
"inferenceSpeed": "Velocitat d'inferència del detector",
"cpuUsage": "Ús de CPU del detector",
"temperature": "Temperatura del detector"
},
"title": "General"
}
}
+120 -6
View File
@@ -92,7 +92,7 @@
"steel_guitar": "Ocelová kytara",
"tapping": "Ťukání",
"banjo": "Banjo",
"sitar": "Sitar",
"sitar": "Sitár",
"mandolin": "Mandolína",
"zither": "Citera",
"ukulele": "Ukulele",
@@ -174,7 +174,7 @@
"dog": "Pes",
"run": "Běh",
"cricket": "Cvrček",
"glockenspiel": "Zvonkohra",
"glockenspiel": "Paličková zvonkohra",
"cello": "Cello",
"pets": "Domácí mazlíčci",
"opera": "Opera",
@@ -247,7 +247,7 @@
"coin": "Mince",
"scissors": "Nůžky",
"electric_shaver": "Elektrický holící strojek",
"typing": "",
"typing": "Psaní na stroji nebo klávesnici",
"typewriter": "Psací stroj",
"computer_keyboard": "Počítačová klávesnice",
"writing": "Psaní",
@@ -272,11 +272,11 @@
"camera": "Kamera",
"tools": "Nářadí",
"hammer": "Kladivo",
"jackhammer": "Zbíječka",
"jackhammer": "Sbíječka",
"sawing": "Řezání",
"power_tool": "Elektrické nářadí",
"drill": "Vrtačka",
"explosion": "Výbuch",
"explosion": "Exploze",
"gunshot": "Výstřel",
"fireworks": "Ohňostroj",
"firecracker": "Petarda",
@@ -311,5 +311,119 @@
"chant": "Skandování",
"rapping": "Rapování",
"gasp": "Zalapání po dechu",
"heart_murmur": "Srdeční šelest"
"heart_murmur": "Srdeční šelest",
"mantra": "Mantra (pozitivní vibrace)",
"grunt": "Zabručení",
"pant": "Oddechávání",
"shuffle": "Míchání (karet)",
"yip": "Jo",
"bow_wow": "Hlasitý protest",
"caterwaul": "Vřeštět",
"clip_clop": "Klapání kopyt",
"patter": "Plácání",
"plucked_string_instrument": "Drnkací strunný nástroj",
"mallet_percussion": "Palička perkuse",
"bowed_string_instrument": "Smyčcový nástroj",
"string_section": "Smyčcová sekce",
"pizzicato": "Pizzicato",
"double_bass": "Kontrabas",
"wind_instrument": "Dechový nástroj",
"jingle_bell": "Rolnička",
"wind_chime": "Zvonkohra",
"singing_bowl": "Singing Bowl",
"beatboxing": "Beatboxing",
"punk_rock": "Punk Rock",
"grunge": "Grunge",
"progressive_rock": "Progressive Rock",
"rock_and_roll": "Rock & Roll",
"psychedelic_rock": "Psychadelický Rock",
"rhythm_and_blues": "Rythm & Blues",
"soul_music": "Soulová hudba",
"reggae": "Reggae",
"country": "Country",
"swing_music": "Swingová hudba",
"bluegrass": "Bluegrass",
"funk": "Funk",
"folk_music": "Folková hudba",
"middle_eastern_music": "Středo-východní hudba",
"disco": "Disco",
"classical_music": "Klasická hudba",
"house_music": "House hudba",
"dubstep": "Dubstep",
"drum_and_bass": "Drum & Bass",
"electronica": "Elektronická hudba",
"electronic_dance_music": "Elektronická taneční hudba",
"ambient_music": "Ambientní hudba",
"trance_music": "Trance hudba",
"music_of_latin_america": "Latinsko-americká hudba",
"flamenco": "Flamengo",
"blues": "Blues",
"new-age_music": "Novodobá hudba",
"vocal_music": "Vokální hudba",
"a_capella": "A Capella",
"music_of_africa": "Africká hudba",
"afrobeat": "Afrobeat",
"christian_music": "Křesťanská hudba",
"gospel_music": "Gospelová hudba",
"music_of_asia": "Asijská hudba",
"carnatic_music": "Karnatická hudba",
"music_of_bollywood": "Hudba z Bollywoodu",
"ska": "SKA",
"traditional_music": "Tradiční hudba",
"independent_music": "Nezávislá hudba",
"background_music": "Hudba na pozadí",
"theme_music": "Tématická hudba",
"jingle": "Jingle",
"soundtrack_music": "Soundtracková hudba",
"lullaby": "Ukolébavka",
"video_game_music": "Herní hudba",
"christmas_music": "Vánoční hudba",
"dance_music": "Taneční hudba",
"wedding_music": "Svatební hudba",
"happy_music": "Veselá hudba",
"sad_music": "Smutná hudba",
"tender_music": "Něžná hudba",
"exciting_music": "Vzrušující hudba",
"angry_music": "Naštvaná hudba",
"scary_music": "Děsivá hudba",
"rain_on_surface": "Déšť na povrch",
"gurgling": "Klokotání",
"toot": "Troubení",
"reversing_beeps": "Parkovací pípání",
"ice_cream_truck": "Auto se zmrzlinou",
"emergency_vehicle": "Záchranářské vozidlo",
"traffic_noise": "Zvuk provozu",
"train_wheels_squealing": "Skřípání kol vlaku",
"fixed-wing_aircraft": "Letadlo s pevnými křídly",
"light_engine": "Lehký motor",
"medium_engine": "Střední motor",
"heavy_engine": "Těžký motor",
"tap": "Poklepání",
"squeak": "Skřípání",
"cupboard_open_or_close": "Otvírání nebo zavírání skříně",
"drawer_open_or_close": "Otvírání nebo zavírání šuplíku",
"shuffling_cards": "Míchání karet",
"ringtone": "Vyzváněcí melodie",
"dial_tone": "Vytáčecí tón",
"busy_signal": "Tón obsazené linky",
"civil_defense_siren": "Siréna civilní obrany",
"salsa_music": "Salsa hudba",
"buzzer": "Bzučák",
"steam_whistle": "Parní píšťala",
"ratchet": "Ráčna",
"gears": "Ozubená kola",
"pulleys": "Kladky",
"mechanical_fan": "Mechanický větrák",
"single-lens_reflex_camera": "Jednooká zrcadlovka",
"filing": "Plnění",
"sanding": "Pískování",
"machine_gun": "Kulomet",
"fusillade": "Salva",
"artillery_fire": "Dělostřelecká palba",
"cap_gun": "Kapslíková pistole",
"burst": "Výbuch",
"chop": "Sekání",
"crack": "Prasknutí",
"chink": "Cinknutí",
"field_recording": "Nahrávka z terénu"
}
+177 -4
View File
@@ -38,7 +38,47 @@
"minute_other": "{{time}} minut",
"second_one": "{{time}} sekunda",
"second_few": "{{time}} sekundy",
"second_other": "{{time}} sekund"
"second_other": "{{time}} sekund",
"formattedTimestampMonthDayYear": {
"12hour": "d MMM yyyy",
"24hour": "d MMM yyyy"
},
"ago": "před {{timeAgo}}",
"yr": "{{time}}r",
"d": "{{time}}d",
"h": "{{time}}h",
"mo": "{{time}}měs",
"formattedTimestampHourMinute": {
"24hour": "HH:mm",
"12hour": "h:mm aaa"
},
"formattedTimestampMonthDayHourMinute": {
"12hour": "d MMM, h:mm aaa",
"24hour": "d MMM, HH:mm"
},
"formattedTimestamp": {
"12hour": "d MMM, h:mm:ss aaa",
"24hour": "d MMM, HH:mm:ss"
},
"formattedTimestampHourMinuteSecond": {
"12hour": "h:mm:ss aaa",
"24hour": "HH:mm:ss"
},
"formattedTimestampMonthDay": "d MMM",
"s": "{{time}}sec",
"m": "{{time}}min",
"formattedTimestamp2": {
"12hour": "dd/MM h:mm:ssa",
"24hour": "d MMM HH:mm:ss"
},
"formattedTimestampMonthDayYearHourMinute": {
"24hour": "d MMM yyyy, HH:mm",
"12hour": "d MMM yyyy, h:mm aaa"
},
"formattedTimestampFilename": {
"24hour": "dd-MM-yy-HH-mm-ss",
"12hour": "dd-MM.yy-h-mm-ss-a"
}
},
"button": {
"twoWayTalk": "Obousměrná komunikace",
@@ -64,7 +104,7 @@
"exitFullscreen": "Opustit režim celé obrazovky",
"pictureInPicture": "Obraz v obraze",
"copyCoordinates": "Zkopíruj souřadnice",
"delete": "Odstraň",
"delete": "Odstranit",
"yes": "Ano",
"no": "Ne",
"download": "Stáhnout",
@@ -72,15 +112,148 @@
"suspended": "Pozastaveno",
"unsuspended": "Zrušit pozastavení",
"play": "Hrát",
"unselect": "Zrušit výběr"
"unselect": "Zrušit výběr",
"deleteNow": "Smazat hned",
"next": "Další",
"export": "Exportovat"
},
"label": {
"back": "Jdi zpět"
},
"unit": {
"speed": {
"kph": "KM/h",
"kph": "Km/h",
"mph": "míle/h"
}
},
"selectItem": "Vyberte {{item}}",
"menu": {
"documentation": {
"label": "Dokumentace Frigate",
"title": "Dokumentace"
},
"live": {
"allCameras": "Všechny kamery",
"title": "Živě",
"cameras": {
"count_one": "{{count}} kamera",
"count_few": "{{count}} kamery",
"count_other": "{{count}} kamer",
"title": "Kamery"
}
},
"review": "Revize",
"explore": "Prozkoumat",
"system": "Systém",
"systemMetrics": "Systémové metriky",
"configuration": "Konfigurace",
"language": {
"yue": "粵語 (kantonština)",
"en": "English (Angličtina)",
"da": "Dansk (Dánština)",
"fi": "Suomi (Finština)",
"sk": "Slovenčina (Slovenština)",
"withSystem": {
"label": "Použít systémové nastavení pro jazyk"
},
"zhCN": "简体中文 (Zjednodušená čínština)",
"es": "Español (Španělština)",
"hi": "हिन्दी (Hindština)",
"fr": "Français (Francouzština)",
"ar": "العربية (Arabština)",
"pt": "Português (Portugalština)",
"ru": "Русский (Ruština)",
"de": "Deutsch (Němčina)",
"it": "Italiano (Italština)",
"ja": "日本語 (Japonština)",
"tr": "Türkçe (Turečtina)",
"nl": "Nederlands (Holandština)",
"sv": "Svenska (Švédština)",
"cs": "Čeština",
"nb": "Norsk Bokmål (norský Bokmål)",
"uk": "Українська (Ukrainština)",
"ko": "한국어 (Korejština)",
"vi": "Tiếng Việt (Vietnamština)",
"he": "עברית (Hebrejština)",
"el": "Ελληνικά (Řečtina)",
"fa": "فارسی (Perština)",
"ro": "Română (Rumunština)",
"hu": "Magyar (Maďarština)",
"pl": "Polski (Polština)"
},
"theme": {
"highcontrast": "Vysoký kontrast",
"default": "Výchozí",
"label": "Téma",
"blue": "Modrá",
"green": "Zelená",
"nord": "Polární",
"red": "Červená"
},
"help": "Nápověda",
"restart": "Restartovat Frigate",
"user": {
"logout": "Odhlásit",
"setPassword": "Nastavit heslo",
"current": "Aktuální uživatel: {{user}}",
"title": "Uživatel",
"account": "Účet",
"anonymous": "anonymní"
},
"systemLogs": "Systémový záznam",
"settings": "Nastavení",
"languages": "Jazyky",
"appearance": "Vzhled",
"darkMode": {
"label": "Tmavý režim",
"light": "Světlý",
"dark": "Tmavý",
"withSystem": {
"label": "Použít systémové nastavení pro světlý a tmavý režim"
}
},
"export": "Exportovat",
"uiPlayground": "UI hřiště",
"faceLibrary": "Knihovna Obličejů",
"configurationEditor": "Editor Konfigurace",
"withSystem": "Systém"
},
"pagination": {
"previous": {
"label": "Jít na předchozí stranu",
"title": "Předchozí"
},
"label": "stránkování",
"next": {
"label": "Jít na další stranu",
"title": "Další"
},
"more": "Více stran"
},
"accessDenied": {
"documentTitle": "Přístup odepřen - Frigate",
"title": "Přístup odepřen",
"desc": "Nemáte oprávnění zobrazit tuto stránku."
},
"notFound": {
"desc": "Stránka nenalezena",
"documentTitle": "Nenalezeno - Frigate",
"title": "404"
},
"toast": {
"copyUrlToClipboard": "Adresa URL byla zkopírována do schránky.",
"save": {
"title": "Uložit",
"error": {
"title": "Chyba při ukládání změn konfigurace: {{errorMessage}}",
"noMessage": "Chyba při ukládání změn konfigurace"
}
}
},
"role": {
"title": "Role",
"admin": "Správce",
"viewer": "Divák",
"desc": "Správci mají plný přístup ke všem funkcím v uživatelském rozhraní Frigate. Diváci jsou omezeni na sledování kamer, položek přehledu a historických záznamů v UI."
}
}
+79 -1
View File
@@ -1,5 +1,83 @@
{
"group": {
"label": "Skupiny kamer"
"label": "Skupiny kamer",
"camera": {
"setting": {
"streamMethod": {
"method": {
"noStreaming": {
"label": "Žádný stream",
"desc": "Obrázky z kamery se aktualizují pouze jednou za minutu a neproběhne žádné živé vysílání."
},
"smartStreaming": {
"label": "Smart Streaming (doporučeno)",
"desc": "Inteligentní streamování aktualizuje obraz vaší kamery jednou za minutu, když nedochází k žádné detekovatelné aktivitě, aby se šetřila šířka pásma a zdroje. Když je detekována aktivita, obraz se plynule přepne na živý přenos."
},
"continuousStreaming": {
"label": "Kontinuální streamování",
"desc": {
"title": "Obraz z kamery bude vždy živým přenosem, když je viditelný na dashboardu, i když není detekována žádná aktivita.",
"warning": "Nepřetržité streamování může způsobit velké využití šířky pásma a problémy s výkonem. Používejte opatrně."
}
}
},
"label": "Metoda streamování"
},
"label": "Nastavení streamování kamery",
"audioIsAvailable": "Audio je k dispozici pro tento stream",
"audioIsUnavailable": "Audio není k dispozici pro tento stream",
"audio": {
"tips": {
"document": "Přečtěte si dokumentaci ",
"title": "Pro tento stream musí být výstup zvuku z vaší kamery a nakonfigurován v go2rtc."
}
},
"compatibilityMode": {
"label": "Režim kompatibility",
"desc": "Tuto možnost povolte pouze v případě, že živý přenos vaší kamery zobrazuje barevné artefakty a má na pravé straně obrazu diagonální čáru."
},
"title": "Nastavení streamování {{cameraName}}",
"desc": "Změní možnosti živého vysílání pro dashboard této skupiny kamer. <em>Tato nastavení jsou specifická pro zařízení/prohlížeč.</em>"
}
},
"delete": {
"confirm": {
"title": "Potvrdit odstranění",
"desc": "Skutečně si přejete odstranit skupinu kamer <em>{{name}}</em>?"
},
"label": "Odstranit skupinu kamer"
},
"add": "Přidat skupinu kamer",
"name": {
"label": "Jméno",
"placeholder": "Zadejte jméno…",
"errorMessage": {
"exists": "Tento název skupiny kamer již existuje.",
"mustLeastCharacters": "Název skupiny kamer musí mít minimálně 2 znaky.",
"nameMustNotPeriod": "Název skupiny kamer nesmí obsahovat tečku.",
"invalid": "Špatný název skupiny kamer."
}
},
"edit": "Upravit skupinu kamer",
"cameras": {
"label": "Kamery",
"desc": "Vyberte kamery pro tuto skupinu."
},
"icon": "Ikona",
"success": "Skupina kamer {{name}} byla uložena."
},
"debug": {
"options": {
"label": "Nastavení",
"title": "Možnosti",
"showOptions": "Zobrazit možnosti",
"hideOptions": "Skrýt možnosti"
},
"zones": "Zóny",
"motion": "Pohyb",
"regions": "Kraje",
"timestamp": "Časové razítko",
"boundingBox": "Ohraničení",
"mask": "Maska"
}
}
+114 -1
View File
@@ -1 +1,114 @@
{}
{
"restart": {
"title": "Jste si jistí, že chcete restartovat Frigate?",
"button": "Restartovat",
"restarting": {
"title": "Frigate restartuje",
"content": "Tato stránka bude obnovena za {{countdown}} sekund.",
"button": "Vynutit opětovné načtení"
}
},
"explore": {
"plus": {
"review": {
"question": {
"label": "Potvrďte tento štítek pro Frigate Plus",
"ask_a": "Je tento objekt <code>{{label}}</code>?",
"ask_an": "Tento objekt je <code>{{label}}</code>?",
"ask_full": "Je tento objekt <code>{{untranslatedLabel}}</code> ({{translatedLabel}})?"
},
"state": {
"submitted": "Odesláno"
}
},
"submitToPlus": {
"label": "Odeslat do Frigate+",
"desc": "Objekty na místech, kterým se chcete vyhnout, nejsou falešné poplachy. Označení takových objektů jako falešných pozitiv může model zmást."
}
},
"video": {
"viewInHistory": "Zobrazit historii"
}
},
"recording": {
"confirmDelete": {
"toast": {
"success": "Videozáznam spojený s vybranými položkami přehledu byl úspěšně smazán.",
"error": "Chyba mazání: {{error}}"
},
"title": "Potvrdit odstranění",
"desc": {
"selected": "Opravdu chcete smazat všechna nahraná videa spojená s touto položkou přehledu?<br /><br />Chcete-li tento dialog v budoucnu obejít, podržte klávesu <em>Shift</em>."
}
},
"button": {
"markAsReviewed": "Označit jako zkontrolované",
"deleteNow": "Smazat hned",
"export": "Exportovat"
}
},
"export": {
"time": {
"fromTimeline": "Vybrat z Časové osy",
"custom": "Vlastní",
"lastHour_one": "Minulou hodinu",
"lastHour_few": "Minulé {{count}} hodiny",
"lastHour_other": "Minulých {{count}} hodin",
"start": {
"title": "Čas začátku",
"label": "Vybrat čas začátku"
},
"end": {
"title": "Čas konce",
"label": "Vybrat čas konce"
}
},
"select": "Vybrat",
"export": "Exportovat",
"selectOrExport": "Vybrat pro Export",
"toast": {
"success": "Export úspěšně spuštěn. Soubor najdete v adresáři /exports.",
"error": {
"failed": "Chyba spuštění exportu: {{error}}",
"endTimeMustAfterStartTime": "Čas konce musí být po čase začátku",
"noVaildTimeSelected": "Není vybráno žádné platné časové období"
}
},
"fromTimeline": {
"saveExport": "Uložit export",
"previewExport": "Prohlížet export"
},
"name": {
"placeholder": "Jméno exportu"
}
},
"streaming": {
"label": "Stream",
"restreaming": {
"disabled": "Restreaming pro tuto kameru není povolen.",
"desc": {
"title": "Nastavte go2rtc pro rozšiřující živé zobrazení a pro zvuk pro tuto kameru.",
"readTheDocumentation": "Přečtěte si dokumentaci"
}
},
"showStats": {
"label": "Ukázat statistiky streamu",
"desc": "Povolte tuto možnost pro zobrazení překryvných statistik v obraze streamu."
},
"debugView": "Náhled ladění"
},
"search": {
"saveSearch": {
"desc": "Zadejte název tohoto uloženého vyhledávání.",
"placeholder": "Zadejte název pro vaše vyhledávání",
"success": "Hledání {{searchName}} bylo uloženo.",
"button": {
"save": {
"label": "Uložit toto hledání"
}
},
"label": "Uložit vyhledávání",
"overwrite": "{{searchName}} už existuje. Uložení přepíše existující hodnotu."
}
}
}
+124 -1
View File
@@ -1,3 +1,126 @@
{
"filter": "Filtrovat"
"filter": "Filtrovat",
"labels": {
"label": "Štítky",
"all": {
"title": "Všechny popisky",
"short": "Popisky"
},
"count_one": "{{count}} Štítek",
"count_other": "{{count}} Štítků"
},
"dates": {
"selectPreset": "Vyberte předvolbu…",
"all": {
"title": "Všechny datumy",
"short": "Datumy"
}
},
"more": "Víc filtrů",
"reset": {
"label": "Resetovat filtry do výchozích hodnot"
},
"timeRange": "Časový rozsah",
"score": "Skóre",
"subLabels": {
"all": "Všechny podružné štítky",
"label": "Podružné Štítky"
},
"features": {
"label": "Funkce",
"hasSnapshot": "Má snímek",
"hasVideoClip": "Má videoklip",
"submittedToFrigatePlus": {
"label": "Odesláno do Frigate+",
"tips": "Nejprve musíte filtrovat sledované objekty, které mají snímek.<br /><br />Sledované objekty bez snímku nelze odeslat do Frigate+."
}
},
"sort": {
"label": "Seřadit",
"relevance": "Závažnost",
"dateAsc": "Datum (Vzestupně)",
"dateDesc": "Datum (Sestupně)",
"scoreAsc": "Skóre objektu (Vzestupně)",
"scoreDesc": "Skóre objektu (Sestupně)",
"speedAsc": "Odhadovaná rychlost (Vzestupně)",
"speedDesc": "Odhadovaná rychlost (Sestupně)"
},
"motion": {
"showMotionOnly": "Pouze zpomalené záběry"
},
"explore": {
"settings": {
"title": "Nastavení",
"searchSource": {
"label": "Hledat zdroj",
"options": {
"thumbnailImage": "Obrázek náhledu",
"description": "Popis"
},
"desc": "Zvolte, zda chcete prohledávat miniatury nebo popisy sledovaných objektů."
},
"gridColumns": {
"desc": "Zvolte počet sloupců mřížky náhledu.",
"title": "Sloupce mřížky"
},
"defaultView": {
"title": "Základní pohled",
"desc": "Pokud nejsou vybrány žádné filtry, zobrazí se přehled nejnovějších sledovaných objektů podle štítků, nebo se zobrazí nefiltrovaná mřížka.",
"summary": "Souhrn",
"unfilteredGrid": "Nefiltrovaná mřížka"
}
},
"date": {
"selectDateBy": {
"label": "Vyberte datum k filtrování"
}
}
},
"logSettings": {
"label": "Filtrovat úroveň protokolu",
"filterBySeverity": "Filtrovat logy podle závažnosti",
"loading": {
"title": "Načítání",
"desc": "Když se podokno protokolu posune dolů, nové protokoly se automaticky zobrazují, jakmile jsou přidány."
},
"disableLogStreaming": "Zakázat živé zobrazování logu",
"allLogs": "Všechny protokoly"
},
"recognizedLicensePlates": {
"title": "Rozeznané SPZ",
"loadFailed": "Chyba načítání rozeznaných SPZ.",
"loading": "Načítám rozeznané SPZ…",
"placeholder": "Zadejte text pro hledání SPZ…",
"selectPlatesFromList": "Vyberte jednu, nebo více SPZ ze seznamu.",
"noLicensePlatesFound": "Žádné SPZ nebyly nalezeny."
},
"zones": {
"all": {
"title": "Všechny zóny",
"short": "Zóny"
},
"label": "Zóny"
},
"trackedObjectDelete": {
"toast": {
"success": "Sledované objekty úspěšně vymazány.",
"error": "Chyba při mazání sledovaných objektů: {{errorMessage}}"
},
"title": "Potvrdit odstranění",
"desc": "Smazáním těchto {{objectLength}} sledovaných objektů dojde k odstranění snímku, všech uložených vektorových reprezentací (embeddingů) a souvisejících záznamů o životním cyklu objektu. Záznamy z kamery v náhledu historie <em>NEBUDOU</em> smazány.<br/><br/>Přejete si to skutečně udělat?<br/><br/>Podržte <em>Shift</em> pro přeskočení tohoto dialogu v budoucnosti."
},
"zoneMask": {
"filterBy": "Filtrovat podle masky zóny"
},
"estimatedSpeed": "Odhadovaná rychlost ({{unit}})",
"cameras": {
"label": "Filtr kamer",
"all": {
"title": "Všechny kamery",
"short": "Kamery"
}
},
"review": {
"showReviewed": "Zobrazit zkontrolované"
}
}
+93 -1
View File
@@ -24,5 +24,97 @@
"clock": "Hodiny",
"toothbrush": "Zubní kartáček",
"hair_dryer": "Fén",
"skateboard": "Skateboard"
"skateboard": "Skateboard",
"airplane": "Letadlo",
"traffic_light": "Semafor",
"fire_hydrant": "Požární hydrant",
"street_sign": "Uliční cedule",
"stop_sign": "Stopka",
"parking_meter": "Parkovací hodiny",
"bench": "Lavička",
"cow": "Kráva",
"elephant": "Slon",
"bear": "Medvěd",
"zebra": "Zebra",
"giraffe": "Žirafa",
"hat": "Čepice",
"backpack": "Batoh",
"umbrella": "Deštník",
"shoe": "Bota",
"eye_glasses": "Brýle",
"handbag": "Kabelka",
"tie": "Kravata",
"suitcase": "Oblečení",
"frisbee": "Frisbee",
"skis": "Lyže",
"snowboard": "Snowboard",
"sports_ball": "Sportovní míč",
"kite": "Drak",
"baseball_bat": "Baseballová pálka",
"baseball_glove": "Baseballová rukavice",
"surfboard": "Surfovací prkno",
"tennis_racket": "Tenisová raketa",
"bottle": "Lahev",
"plate": "Talíř",
"wine_glass": "Sklenice na víno",
"cup": "Šálek",
"fork": "Vidlička",
"knife": "Nůž",
"spoon": "Lžíce",
"bowl": "Mísa",
"banana": "Banán",
"apple": "Jablko",
"sandwich": "Sendvič",
"orange": "Pomeranč",
"broccoli": "Brokolice",
"carrot": "Mrkev",
"hot_dog": "Párek v rohlíku",
"pizza": "Pizza",
"donut": "Donut",
"cake": "Koláč",
"chair": "Židle",
"couch": "Gauč",
"potted_plant": "Hrnková rostlina",
"bed": "Postel",
"mirror": "Zrcadlo",
"dining_table": "Jídelní stůl",
"window": "Okno",
"desk": "Stůl",
"toilet": "Toaleta",
"tv": "TV",
"laptop": "Laptop",
"remote": "Dálkový ovladač",
"cell_phone": "Mobilní telefon",
"microwave": "Mikrovlnná trouba",
"oven": "Trouba",
"toaster": "Toustovač",
"refrigerator": "Lednice",
"book": "Kniha",
"vase": "Váza",
"teddy_bear": "Medvídek",
"hair_brush": "Hřeben",
"squirrel": "Veverka",
"deer": "Jelen",
"fox": "Liška",
"rabbit": "Králík",
"raccoon": "Mýval",
"robot_lawnmower": "Robotická sekačka na trávu",
"waste_bin": "Odpadkový koš",
"on_demand": "Na požádání",
"face": "Obličej",
"license_plate": "SPZ",
"package": "Balík",
"bbq_grill": "Gril",
"amazon": "Amazon",
"usps": "USPS",
"ups": "UPS",
"fedex": "FedEx",
"dhl": "DHL",
"an_post": "An Post",
"purolator": "Purolator",
"postnl": "PostNL",
"nzpost": "NZPost",
"postnord": "PostNord",
"gls": "GLS",
"dpd": "DPD"
}
+5 -2
View File
@@ -18,7 +18,7 @@
"aria": "Zvolit události",
"noFoundForTimePeriod": "Pro toto období nebyly nalezeny žádné události."
},
"documentTitle": "Kontrola - Frigate",
"documentTitle": "Revize - Frigate",
"camera": "Kamera",
"calendarFilter": {
"last24Hours": "Posledních 24 hodin"
@@ -31,5 +31,8 @@
},
"recordings": {
"documentTitle": "Záznamy - Frigate"
}
},
"detected": "Detekováno",
"selected_one": "{{count}} vybráno",
"selected_other": "{{count}} vybráno"
}
+205 -1
View File
@@ -1 +1,205 @@
{}
{
"generativeAI": "Generativní AI",
"documentTitle": "Prozkoumat Frigate",
"details": {
"timestamp": "Časové razítko",
"snapshotScore": {
"label": "Skóre snímku"
},
"item": {
"title": "Zkontrolovat detaily položky",
"desc": "Zkontrolovat detaily položky",
"button": {
"share": "Sdílet tuto položku kontroly",
"viewInExplore": "Zobrazit v Průzkumu"
},
"tips": {
"hasMissingObjects": "Upravte svou konfiguraci, pokud chcete, aby Frigate ukládal sledované objekty pro následující štítky: <em>{{objects}}</em>",
"mismatch_one": "{{count}} nedostupný objekt byl detekován a vložen do této položky kontroly. Tento objekt se buď nekvalifikoval jako výstraha nebo detekce, nebo již byl vyčištěn/smazán.",
"mismatch_few": "{{count}} nedostupné objekty byly detekovány a vloženy do této položky kontroly. Tyto objekty se buď nekvalifikovaly jako výstraha nebo detekce, nebo již byly vyčištěny/smazány.",
"mismatch_other": "{{count}} nedostupných objektů bylo detekováno a vloženo do této položky kontroly. Tyto objekty se buď nekvalifikovaly jako výstraha nebo detekce, nebo již byly vyčištěny/smazány."
},
"toast": {
"success": {
"regenerate": "Od {{provider}} byl vyžádán nový popis. V závislosti na rychlosti vašeho poskytovatele může obnovení nového popisu nějakou dobu trvat.",
"updatedSublabel": "Úspěšně aktualizovaný podružný štítek.",
"updatedLPR": "Úspěšně aktualizovaná SPZ."
},
"error": {
"regenerate": "Chyba volání {{provider}} pro nový popis: {{errorMessage}}",
"updatedSublabelFailed": "Chyba obnovení podružného štítku: {{errorMessage}}",
"updatedLPRFailed": "Chyba obnovení SPZ: {{errorMessage}}"
}
}
},
"editSubLabel": {
"descNoLabel": "Vložit nový podružný štítek pro tento sledovaný objekt",
"desc": "Vložit nový podružný štítek pro tento {{label}}",
"title": "Upravit podružný štítek"
},
"editLPR": {
"title": "Upravit SPZ",
"descNoLabel": "Vložit novou SPZ pro tento sledovaný objekt",
"desc": "Vložit novou SPZ pro tento {{label}}"
},
"estimatedSpeed": "Odhadovaná rychlost",
"objects": "Objekty",
"camera": "Kamera",
"zones": "Zóny",
"button": {
"regenerate": {
"label": "Regenerovat popis sledovaného objektu",
"title": "Regenerovat"
},
"findSimilar": "Najít podobné"
},
"description": {
"label": "Popis",
"placeholder": "Popis sledovaného objektu",
"aiTips": "Frigate nebude vyžadovat popis od vašeho poskytovatele generativní AI, dokud neskončí životní cyklus sledovaného objektu."
},
"expandRegenerationMenu": "Rozbalte nabídku regenerace",
"regenerateFromSnapshot": "Regenerovat ze snímku",
"regenerateFromThumbnails": "Regenerovat z náhledu",
"tips": {
"descriptionSaved": "Popis úspěšně uložen",
"saveDescriptionFailed": "Aktualizace popisu se nezdařila: {{errorMessage}}"
},
"topScore": {
"info": "Nejvyšší skóre je nejvyšší střední skóre pro sledovaný objekt, takže se může lišit od skóre zobrazeného na miniatuře výsledku vyhledávání.",
"label": "Nejvyšší skóre"
},
"label": "Štítek",
"recognizedLicensePlate": "Rozpoznaná SPZ"
},
"exploreIsUnavailable": {
"title": "Prozkoumat je nedostupné",
"embeddingsReindexing": {
"context": "Prozkoumat může být použito až vložené sledované objekty dokončí přeindexování.",
"startingUp": "Spouštění…",
"estimatedTime": "Odhadovaný zbývající čas:",
"finishingShortly": "Brzy bude dokončeno",
"step": {
"thumbnailsEmbedded": "Vložené náhledy: ",
"descriptionsEmbedded": "Vložené popisy: ",
"trackedObjectsProcessed": "Zpracované sledované objekty: "
}
},
"downloadingModels": {
"context": "Frigate stahuje potřebné modely vložení pro podporu funkce sémantického vyhledávání. To může trvat několik minut v závislosti na rychlosti vašeho síťového připojení.",
"setup": {
"visionModelFeatureExtractor": "Extraktor funkcí Vision modelu",
"visionModel": "Vision model",
"textModel": "Textový model",
"textTokenizer": "Textový tokenizér"
},
"tips": {
"documentation": "Přečtěte si dokumentaci",
"context": "Můžete reindexovat vložení vašich sledovaných oběktů hned jak budou modely staženy."
},
"error": "Nastala chyba. Zkontrolujte protokoly Frigate."
}
},
"trackedObjectsCount_one": "{{count}} sledovaný objekt ",
"trackedObjectsCount_few": "{{count}} sledované objekty ",
"trackedObjectsCount_other": "{{count}} sledovaných objektů ",
"searchResult": {
"tooltip": "Shoda s {{type}} na {{confidence}} %",
"deleteTrackedObject": {
"toast": {
"error": "Sledovaný objekt se nepodařilo smazat: {{errorMessage}}",
"success": "Sledovaný objekt úspěšně smazán."
}
}
},
"objectLifecycle": {
"count": "{{first}} z {{second}}",
"trackedPoint": "Sledovaný bod",
"lifecycleItemDesc": {
"external": "{{label}} detekován",
"header": {
"zones": "Zóny",
"ratio": "Poměr",
"area": "Oblast"
},
"entered_zone": "{{label}} vstoupil do {{zones}}",
"active": "{{label}} začal být aktivní",
"stationary": "{{label}} se stal statickým",
"visible": "{{label}} detekován",
"attribute": {
"faceOrLicense_plate": "{{attribute}} detekován pro {{label}}",
"other": "{{label}} rozpoznán jako {{attribute}}"
},
"heard": "{{label}} slyšen",
"gone": "{{label}} opuštěn"
},
"annotationSettings": {
"showAllZones": {
"title": "Zobrazit všechny zóny",
"desc": "Vždy zobrazit zóny na snímcích, kde objekty vstoupily do zóny."
},
"offset": {
"label": "Odsazení popisku",
"documentation": "Přečtěte si dokumentaci ",
"millisecondsToOffset": "Milisekundy pro posun zobrazení popisku detekce. <em>Výchozí: 0</em>",
"desc": "Tato data pocházejí z detekčního zdroje vaší kamery, ale jsou překryta na snímcích ze záznamu. Je nepravděpodobné, že by tyto dva proudy byly dokonale synchronizované. Výsledkem je, že ohraničující rámeček a stopáž nebudou dokonale zarovnány. K nastavení však lze použít pole <code>annotation_offset</code>.",
"tips": "TIP: Představte si, že existuje klip události s osobou, která jde zleva doprava. Pokud je ohraničovací rámeček na časové ose události konzistentně vlevo od osoby, měla by být hodnota snížena. Podobně, pokud osoba chodí zleva doprava a ohraničující rámeček je trvale před osobou, měla by být hodnota zvýšena."
},
"title": "Nastavení popisků"
},
"carousel": {
"previous": "Předchozí snímek",
"next": "Následující snímek"
},
"title": "Životní cyklus Objektu",
"noImageFound": "Žádný obrázek pro toto časové razítko.",
"createObjectMask": "Vytvořit masku objektu",
"adjustAnnotationSettings": "Upravit nastavení poznámek",
"scrollViewTips": "Posouváním zobrazíte významné okamžiky životního cyklu tohoto objektu.",
"autoTrackingTips": "Pozice ohraničení bude nepřesná pro kamery s automatickým sledováním."
},
"itemMenu": {
"downloadSnapshot": {
"label": "Stáhnout snímek",
"aria": "Stáhnout snímek"
},
"viewInHistory": {
"aria": "Zobrazit v historii",
"label": "Zobrazit historii"
},
"deleteTrackedObject": {
"label": "Smazat tento sledovaný objekt"
},
"downloadVideo": {
"label": "Stáhnout video",
"aria": "Stáhnout video"
},
"findSimilar": {
"aria": "Najít podobný sledovaný objekt",
"label": "Najít podobné"
},
"submitToPlus": {
"aria": "Odeslat do Frigate Plus",
"label": "Odeslat do Frigate+"
},
"viewObjectLifecycle": {
"label": "Zobrazit životní cyklus objektu",
"aria": "Ukázat životní cyklus objektu"
}
},
"dialog": {
"confirmDelete": {
"title": "Potvrdit smazání",
"desc": "Odstraněním tohoto sledovaného objektu se odstraní snímek, všechna uložená vložení a všechny související položky životního cyklu objektu. Zaznamenaný záznam tohoto sledovaného objektu v zobrazení Historie <em>NEBUDE</em> smazán.<br /><br />Opravdu chcete pokračovat?"
}
},
"trackedObjectDetails": "Detaily sledovaných objektů",
"type": {
"details": "detaily",
"snapshot": "snímek",
"video": "video",
"object_lifecycle": "životní cyklus objektu"
},
"noTrackedObjects": "Žádné sledované objekty nebyly nalezeny",
"fetchingTrackedObjectsFailed": "Chyba při načítání sledovaných objektů: {{errorMessage}}"
}
+102 -1
View File
@@ -1 +1,102 @@
{}
{
"imageEntry": {
"dropInstructions": "Přetáhněte obrázek zde, nebo klikněte na výběr",
"maxSize": "Maximální velikost: {{size}}MB",
"dropActive": "Přetáhněte obrázek zde…",
"validation": {
"selectImage": "Prosím vyberte soubor obrázků."
}
},
"createFaceLibrary": {
"new": "Vytvořit nový obličej",
"desc": "Vytvořit novou kolekci",
"nextSteps": "Chcete-li vybudovat pevný základ:<li>Použijte kartu Trénování k výběru a trénování na snímcích pro každou detekovanou osobu.</li><li>Pro nejlepší výsledky se zaměřte na přímé snímky; vyhněte se trénování snímků, které zachycují obličeje pod úhlem.</li></ul>",
"title": "Vytvořit kolekci"
},
"details": {
"unknown": "Neznámý",
"person": "Osoba",
"face": "Detaily tváře",
"subLabelScore": "Skóre dílčího popisku",
"scoreInfo": "Skóre dílčího popisku je vážené skóre všech jistot rozpoznání obličejů, ale to může být odlišné od skóre zobrazeného na snímku.",
"faceDesc": "Podrobnosti o sledovaném objektu, který vygeneroval tuto tvář",
"timestamp": "Časové razítko"
},
"selectFace": "Vyberte tvář",
"deleteFaceAttempts": {
"title": "Odstranit obličeje",
"desc_one": "Skutečně chcete vymazat {{count}} obličej? Tato akce je nevratná.",
"desc_few": "Skutečně chcete vymazat {{count}} obličeje? Tato akce je nevratná.",
"desc_other": "Skutečně chcete vymazat {{count}} obličejů? Tato akce je nevratná."
},
"nofaces": "Žádné tváře",
"pixels": "{{area}}px",
"deleteFaceLibrary": {
"title": "Odstranit jméno",
"desc": "Skutečně chcete vymazat kolekci {{name}}? Toto trvale vymaže všechny přiřazené obličeje."
},
"train": {
"title": "Trénovat",
"empty": "Nejsou zde žádné předchozí pokusy o rozpoznání obličeje",
"aria": "Vybrat trénink"
},
"description": {
"addFace": "Průvodce přidáním nové kolekce do Knihovny obličejů.",
"placeholder": "Zadejte název pro tuto kolekci",
"invalidName": "Neplatný název. Názvy mohou obsahovat pouze písmena, čísla, mezery, apostrofy, podtržítka a pomlčky."
},
"documentTitle": "Knihovna obličejů - Frigate",
"uploadFaceImage": {
"title": "Nahrát obrázek obličeje",
"desc": "Nahrajte obrázek pro skenování tváří a zahrňte jej pro {{pageToggle}}"
},
"button": {
"deleteFaceAttempts": "Odstranění obličeje",
"addFace": "Přidat obličej",
"renameFace": "Přejmenovat obličej",
"deleteFace": "Odstranit obličej",
"uploadImage": "Nahrát obrázek",
"reprocessFace": "Přepracovat Obličej"
},
"trainFace": "Trénovat obličej",
"selectItem": "Vyberte {{item}}",
"renameFace": {
"title": "Přejmenovat obličej",
"desc": "Zadejte nový název pro {{name}}"
},
"readTheDocs": "Přečtěte si dokumentaci",
"toast": {
"success": {
"renamedFace": "Úspěšně přejmenovaný obličej na {{name}}",
"trainedFace": "Úspěšně vytrénovaný obličej.",
"uploadedImage": "Úspěšně nahraný obrázek.",
"deletedFace_one": "Úspěšně odstraněna {{count}} tvář.",
"deletedFace_few": "Úspěšně odstraněny {{count}} tváře.",
"deletedFace_other": "Úspěšně odstraněny {{count}} tváře.",
"deletedName_one": "{{count}} obličej byl úspěšně odstraněn.",
"deletedName_few": "{{count}} tváře byly úspěšně odstraněny.",
"deletedName_other": "{{count}} tváře byly úspěšně odstraněny.",
"updatedFaceScore": "Úspěšně aktualizováno skóre obličeje.",
"addFaceLibrary": "{{name}} byl(a) úspěšně přidán(a) do Knihovny obličejů!"
},
"error": {
"renameFaceFailed": "Chyba při přejmenování obličeje: {{errorMessage}}",
"trainFailed": "Chyba trénování: {{errorMessage}}",
"updateFaceScoreFailed": "Chyba aktualizace skóre obličeje: {{errorMessage}}",
"deleteFaceFailed": "Chyba při mazání: {{errorMessage}}",
"uploadingImageFailed": "Chyba při nahrávání obrázku: {{errorMessage}}",
"addFaceLibraryFailed": "Nepodařilo se nastavit jméno obličeje: {{errorMessage}}",
"deleteNameFailed": "Chyba při mazání jména: {{errorMessage}}"
}
},
"steps": {
"nextSteps": "Další kroky",
"faceName": "Zadejte název obličeje",
"uploadFace": "Nahrát obrázek obličeje",
"description": {
"uploadFace": "Pro {{name}} nahrajte obrázek, který zobrazuje jeho obličej zepředu. Obrázek nemusí být oříznut pouze na jeho obličej."
}
},
"collections": "Kolekce",
"trainFaceAs": "Trénovat Obličej jako:"
}
+158 -1
View File
@@ -1 +1,158 @@
{}
{
"documentTitle": "Živě - Frigate",
"documentTitle.withCamera": "{{camera}}-Živě-Frigate",
"lowBandwidthMode": "Režim nízké šířky pásma",
"twoWayTalk": {
"enable": "Povolit obousměrný hovor",
"disable": "Zakázat obousměrný hovor"
},
"cameraAudio": {
"enable": "Povolit zvuk kamery",
"disable": "Zakázat zvuk kamery"
},
"ptz": {
"move": {
"clickMove": {
"label": "Klikněte do snímku pro vycentrování kamery",
"enable": "Povolit pohyb kliknutím",
"disable": "Zakázat pohyb kliknutím"
},
"left": {
"label": "Posunot PTZ kameru do leva"
},
"up": {
"label": "Posunot PTZ kameru nahoru"
},
"down": {
"label": "Posunot PTZ kameru dolů"
},
"right": {
"label": "Posunot PTZ kameru do prava"
}
},
"zoom": {
"in": {
"label": "Přiblížit PTZ kameru"
},
"out": {
"label": "Oddálit PTZ kameru"
}
},
"frame": {
"center": {
"label": "Klikněte do snímku pro vycentrování PTZ kamery"
}
},
"presets": "Předvolby PTZ kamery"
},
"camera": {
"enable": "Povolit kameru",
"disable": "Zakázat kameru"
},
"muteCameras": {
"enable": "Ztlumit všechny kamery",
"disable": "Zrušit ztlumení u všech kamer"
},
"detect": {
"enable": "Povolit detekci",
"disable": "Zakázat detekci"
},
"recording": {
"enable": "Povolit nahrávání",
"disable": "Zakázat nahrávání"
},
"snapshots": {
"enable": "Povolit vytváření snímků",
"disable": "Zakázat vytváření snímků"
},
"audioDetect": {
"enable": "Povolit detekci zvuků",
"disable": "Zakázat detekci zvuků"
},
"autotracking": {
"enable": "Povolit automatické sledování",
"disable": "Zakázat automatické sledování"
},
"streamStats": {
"disable": "Skrýt statistiky streamu",
"enable": "Ukázat statistiky streamu"
},
"manualRecording": {
"title": "Nahrávání na vyžádání",
"playInBackground": {
"label": "Přehrát na pozadí",
"desc": "Povolte tuto volbu pro pokračování streamování i když je přehrávač skrytý."
},
"showStats": {
"label": "Ukázat statistiky",
"desc": "Povolte tuto možnost pro zobrazení překryvných statistik v obraze streamu."
},
"debugView": "Náhled ladění",
"start": "Spustit nahrávání na vyžádání",
"failedToStart": "Chyba manuálního spuštění nahrávání na požádání.",
"end": "Konec nahrávání na vyžádání",
"failedToEnd": "Chyba ukončení manuálního nahrávání na vyžádání.",
"started": "Manuálně spuštěno nahrávání na požádání.",
"ended": "Ukončeno manuální nahrávání na vyžádání.",
"recordDisabledTips": "Protože je v konfiguraci této kamery nahrávání zakázáno nebo omezeno, bude uložen pouze snímek.",
"tips": "Spustit ruční událost na základě nastavení uchovávání záznamů této kamery."
},
"streamingSettings": "Nastavení Streamování",
"audio": "Zvuk",
"suspend": {
"forTime": "Pozastavení na: "
},
"stream": {
"title": "Stream",
"audio": {
"tips": {
"title": "Zvuk musí být kamerou vysílán a nakonfigurován v go2rtc pro tento stream.",
"documentation": "Přečtěte si dokumentaci "
},
"available": "Zvuk je dostupný pro tento stream",
"unavailable": "Zvuk není dostupný pro tento stream"
},
"twoWayTalk": {
"tips.documentation": "Přečtěte si dokumentaci ",
"available": "Obousměrný hovor je dostupný pro tento stream",
"unavailable": "Obousměrný hovor není dostupný pro tento stream",
"tips": "Vaše zařízení musí tuto funkci podporovat a WebRTC musí být nakonfigurováno pro obousměrnou komunikaci."
},
"lowBandwidth": {
"resetStream": "Resetovat stream",
"tips": "Živý náhled je v režimu nízké přenosové rychlosti kvůli vyrovnávací paměti nebo chybám ve streamu."
},
"playInBackground": {
"label": "Přehrát na pozadí",
"tips": "Povolte tuto volbu pro pokračování streamování i když je přehrávač skrytý."
}
},
"cameraSettings": {
"title": "{{camera}} Nastavení",
"cameraEnabled": "Kamera Povolena",
"objectDetection": "Detekce Objektu",
"snapshots": "Snímky",
"audioDetection": "Detekce Zvuku",
"autotracking": "Automatické sledování",
"recording": "Nahrávání"
},
"history": {
"label": "Zobrazit historické záznamy"
},
"effectiveRetainMode": {
"modes": {
"all": "Vše",
"motion": "Pohyb",
"active_objects": "Aktivní Objekty"
},
"notAllTips": "Vaše nastavení uchovávání záznamů pro zdroj {{source}} je nastaveno na <code>režim: {{effectiveRetainMode}}</code>, takže tento záznam na vyžádání bude uchovávat pouze segmenty s režimem {{effectiveRetainModeName}}."
},
"editLayout": {
"exitEdit": "Ukončit Úpravu",
"label": "Upravit Rozložení",
"group": {
"label": "Upravit Skupinu Kamer"
}
},
"notifications": "Notifikace"
}
+70 -1
View File
@@ -1,3 +1,72 @@
{
"search": "Hledat"
"search": "Hledat",
"savedSearches": "Uložená vyhledávání",
"searchFor": "Hledat {{inputValue}}",
"button": {
"clear": "Vymazat vyhledávaní",
"save": "Uložit vyhledávání",
"delete": "Vymazat uložená vyhledávání",
"filterInformation": "Filtrovat informace",
"filterActive": "Aktivní filtry"
},
"trackedObjectId": "ID sledovaného objektu",
"filter": {
"label": {
"cameras": "Kamery",
"labels": "Štítky",
"zones": "Zóny",
"sub_labels": "Podružné Štítky",
"max_speed": "Max rychlost",
"min_speed": "Min rychlost",
"search_type": "Typ Hledání",
"time_range": "Časový Rozsah",
"before": "Před",
"after": "Po",
"max_score": "Maximální Skóre",
"min_score": "Minimální Skóre",
"recognized_license_plate": "Rozpoznaná SPZ",
"has_clip": "Má Klip",
"has_snapshot": "Má Snímek"
},
"tips": {
"desc": {
"step1": "Zadejte název filtru následovaný dvojtečkou (např. „kamery:“).",
"step2": "Vyberte hodnotu z nabízených možností nebo zadejte vlastní.",
"step3": "Použijte více filtrů tak, že je přidáte jeden po druhém s mezerou mezi nimi.",
"step4": "Datumové filtry (before: a after:) používají formát {{DateFormat}}.",
"step6": "Odstraňte filtr kliknutím na 'x' vedle něj.",
"exampleLabel": "Příklad:",
"text": "Filtry vám pomohou zúžit výsledky hledání. Zde je návod, jak je používat ve vstupním poli:",
"step5": "Pro časový rozsah použijte formát {{exampleTime}}."
},
"title": "Jak používat textové filtry"
},
"searchType": {
"thumbnail": "Náhled",
"description": "Popis"
},
"toast": {
"error": {
"beforeDateBeLaterAfter": "Datum 'před' musí být pozdější než datum 'po'.",
"afterDatebeEarlierBefore": "Datum 'po' musí být dřívější než datum 'před'.",
"minScoreMustBeLessOrEqualMaxScore": "'min_score' musí být menší nebo rovno 'max_score'.",
"maxScoreMustBeGreaterOrEqualMinScore": "'max_score' musí být větší nebo rovno 'min_score'.",
"minSpeedMustBeLessOrEqualMaxSpeed": "'min_speed' musí být menší nebo rovno 'max_speed'.",
"maxSpeedMustBeGreaterOrEqualMinSpeed": "'max_speed' musí být větší nebo rovno 'min_speed'."
}
},
"header": {
"currentFilterType": "Hodnoty Filtru",
"noFilters": "Filtry",
"activeFilters": "Aktivní Filtry"
}
},
"similaritySearch": {
"title": "Hledání Podle Podobnosti",
"active": "Hledání podobností aktivní",
"clear": "Vymazat hledání podobností"
},
"placeholder": {
"search": "Hledat…"
}
}
+606 -1
View File
@@ -1 +1,606 @@
{}
{
"documentTitle": {
"default": "Nastavení - Frigate",
"authentication": "Nastavení ověřování - Frigate",
"camera": "Nastavení kamery - Frigate",
"classification": "Nastavení klasifikace - Frigate",
"notifications": "Nastavení notifikací - Frigate",
"masksAndZones": "Editor masky a zón - Frigate",
"motionTuner": "Ladič detekce pohybu - Frigate",
"object": "Ladění - Frigate",
"general": "Obecné nastavení - Frigate",
"frigatePlus": "Frigate+ nastavení - Frigate"
},
"frigatePlus": {
"toast": {
"error": "Chyba při ukládání změn konfigurace: {{errorMessage}}",
"success": "Nastavení Frigate+ byla uložena. Restartujte Frigate+ pro aplikování změn."
},
"modelInfo": {
"cameras": "Kamery",
"modelSelect": "Zde můžete vybrat dostupné modely ze služby Frigate+. Upozorňujeme, že lze zvolit pouze modely kompatibilní s aktuální konfigurací detektoru.",
"loadingAvailableModels": "Načítám dostupné modely…",
"plusModelType": {
"baseModel": "Základní Model",
"userModel": "Doladěno"
},
"loading": "Načítám informace o modelu…",
"error": "Chyba načítání informací o modelu",
"availableModels": "Dostupné Moduly",
"supportedDetectors": "Podporované Detektory",
"title": "Informace o Modelu",
"modelType": "Typ Modelu",
"trainDate": "Datum Tréninku",
"baseModel": "Základní Model"
},
"snapshotConfig": {
"documentation": "Přečtěte si dokumentaci",
"desc": "Odesílání do Frigate+ vyžaduje, aby byly ve vaší konfiguraci povoleny jak běžné snímky, tak snímky typu <code>clean_copy</code>.",
"title": "Nastavení Snímku",
"table": {
"cleanCopySnapshots": "<code>clean_copy</code> Snímky",
"snapshots": "Snímky",
"camera": "Kamera"
},
"cleanCopyWarning": "Některé kamery mají povolené snímky, ale volba <code>clean_copy</code> je zakázaná. Pro možnost odesílání snímků z těchto kamer do služby Frigate+ je nutné tuto volbu povolit v konfiguraci snímků."
},
"apiKey": {
"notValidated": "API klíč Frigate+ nebyl rozpoznán nebo nebyl ověřen",
"plusLink": "Přečtěte si více o Frigate+",
"validated": "API klíč Frigate+ byl rozpoznán a ověřen",
"desc": "API klíč Frigate+ umožňuje integraci se službou Frigate+.",
"title": "Frigate+ API Klíč"
},
"unsavedChanges": "Neuložené změny nastavení Frigate+",
"title": "Nastavení Frigate+",
"restart_required": "Vyžadován restart (model Frigate+ změněn)"
},
"classification": {
"unsavedChanges": "Neuložené změny nastavení klasifikací",
"semanticSearch": {
"readTheDocumentation": "Přečtěte si dokumentaci",
"reindexNow": {
"alreadyInProgress": "Reindexování je už spuštěno.",
"label": "Reindexovat Teď",
"confirmTitle": "Potvrdit Reindexaci",
"error": "Chyba spouštění reindexování: {{errorMessage}}",
"desc": "Přeindexování znovu vygeneruje vektorové reprezentace (embeddingy) pro všechny sledované objekty. Tento proces probíhá na pozadí, může plně zatížit váš procesor a v závislosti na počtu sledovaných objektů může trvat delší dobu.",
"confirmDesc": "Opravdu chcete přeindexovat embeddingy všech sledovaných objektů? Tento proces poběží na pozadí, ale může plně vytížit procesor a trvat delší dobu. Průběh můžete sledovat na stránce Prozkoumat.",
"confirmButton": "Reindexovat",
"success": "Reindexování úspěšně spuštěno."
},
"title": "Sémantické Hledání",
"desc": "Sémantické vyhledávání ve Frigate umožňuje najít sledované objekty ve vašich záznamech pomocí samotného obrázku, uživatelem zadaného textového popisu nebo automaticky generovaného popisu.",
"modelSize": {
"small": {
"title": "malý",
"desc": "Použití <em>malý</em> znamená využití kvantizované verze modelu, která spotřebovává méně paměti RAM a běží rychleji na procesoru, přičemž rozdíl v kvalitě embeddingů je zanedbatelný."
},
"large": {
"title": "velký",
"desc": "Volba <em>velký</em> využívá plný model Jina a automaticky se provádí na GPU, pokud je k dispozici."
},
"label": "Velikost Modelu",
"desc": "Velikost modelu pro sémantické vyhledávání pomocí embeddingů."
}
},
"title": "Nastavení Klasifikací",
"birdClassification": {
"title": "Klasifikace Ptáka",
"desc": "Klasifikace ptáků rozpoznává známé druhy pomocí kvantizovaného modelu TensorFlow. Když je rozpoznán známý pták, jeho běžný název bude přidán jako podružný štítek (sub_label). Tato informace se zobrazí v uživatelském rozhraní, je dostupná ve filtrech a zahrnuta i v notifikacích."
},
"toast": {
"error": "Chyba při ukládání změn konfigurace: {{errorMessage}}",
"success": "Nastavení klasifikací uloženo. Restartujte Frigate pro aplikování změn."
},
"restart_required": "Vyžadován restart (Nastavení klasifikací se změnilo)",
"licensePlateRecognition": {
"title": "Rozpoznávání SPZ",
"desc": "Frigate dokáže rozpoznávat SPZ na vozidlech a automaticky přidávat rozpoznané znaky do pole recognized_license_plate nebo známý název jako podružný štítek k objektům typu auto. Běžným případem použití je čtení SPZ aut vjíždějících na příjezdovou cestu nebo projíždějících kolem na ulici.",
"readTheDocumentation": "Přečtěte si dokumentaci"
},
"faceRecognition": {
"title": "Rozpoznávání obličeje",
"readTheDocumentation": "Přečtěte si dokumentaci",
"desc": "Rozpoznávání obličeje umožňuje přiřadit lidem jména, a když je jejich obličej rozpoznán, Frigate přiřadí dané jméno jako podružný štítek (sub_label). Tato informace se zobrazuje v uživatelském rozhraní, je dostupná ve filtrech a je také součástí notifikací.",
"modelSize": {
"label": "Velikost Modelu",
"desc": "Velikost modelu použitého pro rozpoznávání obličeje.",
"small": {
"title": "malý",
"desc": "Použití <em>malý</em> znamená využití FaceNet modelu pro embedding obličejů, který běží efektivně na většině procesorů (CPU)."
},
"large": {
"title": "velký",
"desc": "Použití <em>velký</em> znamená využití modelu ArcFace pro embedding obličejů, který se v případě dostupnosti automaticky spustí na GPU."
}
}
}
},
"masksAndZones": {
"zones": {
"speedEstimation": {
"docs": "Přečtěte si dokumentaci",
"title": "Odhad rychlosti",
"desc": "Povolit odhad rychlosti pro objekty v této zóně. Zóna musí mít přesně 4 body."
},
"name": {
"inputPlaceHolder": "Zadejte jméno…",
"title": "Jméno",
"tips": "Název musí mít alespoň 2 znaky a nesmí být shodný s názvem kamery nebo jiné zóny."
},
"inertia": {
"title": "Setrvačnost",
"desc": "Určuje, po kolika snímcích strávených v zóně je objekt považován za přítomný v této zóně.<em>Výchozí hodnota: 3</em>"
},
"loiteringTime": {
"title": "Doba setrvání",
"desc": "Nastavuje minimální dobu v sekundách, po kterou musí být objekt v zóně, aby došlo k aktivaci.<em>Výchozí hodnota: 0</em>"
},
"objects": {
"title": "Objekty",
"desc": "Seznam objektů, na které se tato zóna vztahuje."
},
"allObjects": "Všechny Objekty",
"speedThreshold": {
"title": "Práh rychlosti ({{unit}})",
"desc": "Určuje minimální rychlost, při které jsou objekty v této zóně zohledněny.",
"toast": {
"error": {
"pointLengthError": "Odhad rychlosti byl pro tuto zónu deaktivován. Zóny s odhadem rychlosti musí mít přesně 4 body.",
"loiteringTimeError": "Pokud má zóna nastavenou dobu setrvání větší než 0, nedoporučuje se používat odhad rychlosti."
}
}
},
"toast": {
"success": "Zóna {{zoneName}} byla uložena. Restartujte Frigate pro aplikování změn."
},
"label": "Zóny",
"desc": {
"title": "Zóny umožňují definovat konkrétní oblast v záběru, díky čemuž lze určit, zda se objekt nachází v dané oblasti či nikoliv.",
"documentation": "Dokumentace"
},
"add": "Přidat Zónu",
"edit": "Upravit Zónu",
"documentTitle": "Upravit Zónu - Frigate",
"clickDrawPolygon": "Klikněte pro kreslení polygonu na obrázku.",
"point_one": "{{count}} bod",
"point_few": "{{count}} body",
"point_other": "{{count}} bodů"
},
"motionMasks": {
"context": {
"documentation": "Přečtěte si dokumentaci",
"title": "Masky detekce pohybu slouží kzabránění tomu, aby nežádoucí typy pohybu spouštěly detekci (například větve stromů nebo časové značky kamery). Masky detekce pohybu by se měly používat <em>velmi střídmě</em> příliš rozsáhlé maskování může ztížit sledování objektů."
},
"polygonAreaTooLarge": {
"documentation": "Přečtěte si dokumentaci",
"title": "Maska detekce pohybu pokrývá {{polygonArea}}% záběru kamery. Příliš velké masky detekce pohybu nejsou doporučovány.",
"tips": "Masky detekce pohybu nebrání detekci objektů. Místo toho byste měli použít požadovanou zónu."
},
"documentTitle": "Editovat Masku Detekce pohybu - Frigate",
"desc": {
"title": "Masky detekce pohybu slouží kzabránění nežádoucím typům pohybu ve spuštění detekce. Příliš rozsáhlé maskování však může ztížit sledování objektů.",
"documentation": "Dokumentace"
},
"label": "Maska Detekce pohybu",
"add": "Nová Maska Detekce pohybu",
"edit": "Upravit Masku Detekce pohybu",
"point_one": "{{count}} bod",
"point_few": "{{count}} body",
"point_other": "{{count}} bodů",
"clickDrawPolygon": "Kliknutím nakreslíte polygon do obrázku.",
"toast": {
"success": {
"title": "{{polygonName}} byl uložen. Restartujte Frigate pro aplikování změn.",
"noName": "Maska Detekce pohybu byla uložena. Restartujte Frigate pro aplikování změn."
}
}
},
"filter": {
"all": "Všechny Masky a Zóny"
},
"restart_required": "Vyžadován restart (masky/zóny byly změněny)",
"toast": {
"error": {
"copyCoordinatesFailed": "Nemohu zkopírovat souřadnice do schránky."
},
"success": {
"copyCoordinates": "Souřadnice pro {{polyName}} zkopírovány do schránky."
}
},
"form": {
"zoneName": {
"error": {
"hasIllegalCharacter": "Název zóny obsahuje zakázané znaky.",
"mustNotBeSameWithCamera": "Název Zóny nesmí být stejný jako název kamery.",
"mustNotContainPeriod": "Název zóny nesmí obsahovat tečky.",
"alreadyExists": "Zóna se stejným názvem u této kamery již existuje.",
"mustBeAtLeastTwoCharacters": "Název Zóny musí mít minimálně 2 znaky."
}
},
"inertia": {
"error": {
"mustBeAboveZero": "Setrvačnost musí být větší než 0."
}
},
"polygonDrawing": {
"snapPoints": {
"true": "Přichytávat body",
"false": "Nepřichytávat body"
},
"delete": {
"title": "Potvrdit Smazání",
"desc": "Opravdu chcete smazat {{type}}<em>{{name}}</em>?",
"success": "{{name}} bylo smazáno."
},
"error": {
"mustBeFinished": "Kreslení polygonu musí být před uložením dokončeno."
},
"reset": {
"label": "Vymazat všechny body"
},
"removeLastPoint": "Odebrat poslední bod"
},
"distance": {
"error": {
"mustBeFilled": "Pro použití odhadu rychlosti musí být vyplněna všechna pole pro vzdálenost.",
"text": "Vzdálenost musí být větší nebo rovna 0.1."
}
},
"loiteringTime": {
"error": {
"mustBeGreaterOrEqualZero": "Doba setrvání musí být větší nebo rovna nule."
}
}
},
"objectMasks": {
"label": "Masky Objektu",
"documentTitle": "Upravit Masku Objektu - Frigate",
"desc": {
"documentation": "Dokumentace",
"title": "Masky filtrování objektů slouží k odfiltrování falešných detekcí daného typu objektu na základě jeho umístění."
},
"add": "Přidat Masku Objektu",
"edit": "Upravit Masku Objektu",
"objects": {
"title": "Objekty",
"allObjectTypes": "Všechny typy objektů",
"desc": "Typ objektu, na který se tato maska objektu vztahuje."
},
"context": "Masky filtrování objektů slouží k odfiltrování falešných poplachů konkrétního typu objektu na základě jeho umístění.",
"clickDrawPolygon": "Kliknutím nakreslete polygon do obrázku.",
"toast": {
"success": {
"title": "{{polygonName}} byl uložen. Restartujte Frigate pro aplikování změn.",
"noName": "Maska Objektu byla uložena. Restartujte Frigate pro aplikování změn."
}
},
"point_one": "{{count}} bod",
"point_few": "{{count}} body",
"point_other": "{{count}} bodů"
}
},
"menu": {
"ui": "Uživatelské rozhraní",
"classification": "Klasifikace",
"cameras": "Nastavení kamery",
"masksAndZones": "Masky / Zóny",
"motionTuner": "Ladič detekce pohybu",
"debug": "Ladění",
"users": "Uživatelé",
"notifications": "Notifikace",
"frigateplus": "Frigate +"
},
"dialog": {
"unsavedChanges": {
"title": "Máte neuložené změny.",
"desc": "Přejete si uložit změny před pokračováním?"
}
},
"cameraSetting": {
"camera": "Kamera",
"noCamera": "Žádná Kamera"
},
"general": {
"title": "Hlavní nastavení",
"liveDashboard": {
"title": "Živý Dashboard",
"automaticLiveView": {
"desc": "Při detekci aktivity se automaticky přepne na živý náhled kamery. Vypnutí této možnosti způsobí, že se statické snímky z kamery na ovládacím panelu Live aktualizují pouze jednou za minutu.",
"label": "Automatický živý náhled"
},
"playAlertVideos": {
"label": "Přehrát videa s výstrahou",
"desc": "Ve výchozím nastavení se nedávná upozornění na ovládacím panelu Živě přehrávají jako malá opakující se videa. Vypněte tuto možnost, chcete-li na tomto zařízení/prohlížeči zobrazovat pouze statický obrázek nedávných výstrah."
}
},
"storedLayouts": {
"title": "Uložené rozložení",
"desc": "Rozložení kamer ve skupině kamer lze přetáhnout nebo jim změnit velikost. Pozice jsou uloženy v místním úložišti vašeho prohlížeče.",
"clearAll": "Smazat všechna rozložení"
},
"cameraGroupStreaming": {
"title": "Nastavení streamování skupiny kamer",
"desc": "Nastavení streamování pro každou kameru je uloženo v místním uložišti vašeho prohlížeče.",
"clearAll": "Vymazat všechna nastavení streamování"
},
"recordingsViewer": {
"title": "Prohlížeč Nahrávek",
"defaultPlaybackRate": {
"label": "Výchozí Rychlost Přehrávání",
"desc": "Výchozí rychlost přehrávání pro nahrávky."
}
},
"calendar": {
"title": "Kalendář",
"firstWeekday": {
"label": "První den týdne",
"desc": "Den, kterým bude začínat týden v kalendáři kontrol.",
"sunday": "Neděle",
"monday": "Pondělí"
}
},
"toast": {
"success": {
"clearStoredLayout": "Vymazáno uložené rozvržení pro kameru {{cameraName}}",
"clearStreamingSettings": "Vymazány nastavení streamování pro všechny skupiny kamer."
},
"error": {
"clearStoredLayoutFailed": "Chyba mazání uloženého rozvržení: {{errorMessage}}",
"clearStreamingSettingsFailed": "Chyba mazání nastavení streamování: {{errorMessage}}"
}
}
},
"debug": {
"timestamp": {
"title": "Časové razítko",
"desc": "Překrýt obrázek časovým razítkem"
},
"regions": {
"title": "Regiony",
"desc": "Zobrazit rámeček oblasti zájmu odesílané detektoru objektů",
"tips": "<p><strong>Boxy oblastí zájmu</strong></p><br><p>Jasně zelené boxy budou překryty na oblastech zájmu ve snímku, které jsou odesílány detektoru objektů.</p>"
},
"title": "Ladit",
"detectorDesc": "Frigate používá vaše detektory {{detectors}} k detekci objektů ve streamu vašich kamer.",
"objectList": "Seznam Objektů",
"boundingBoxes": {
"title": "Ohraničující rámečky",
"desc": "Zobrazit ohraničující rámečky okolo sledovaných objektů",
"colors": {
"label": "Barvy Ohraničujících Rámečků Objektů",
"info": "<li>Při spuštění bude každému objektovému štítku přiřazena jiná barva.</li><li>Tenká tmavě modrá čára označuje, že objekt není v daném okamžiku detekován.</li><li>Tenká šedá čára znamená, že objekt je detekován jako nehybný.</li><li>Silná čára označuje, že objekt je aktuálně sledován pomocí automatického sledování (pokud je aktivováno).</li>"
}
},
"zones": {
"title": "Zóny",
"desc": "Zobrazit obrys všech definovaných zón"
},
"mask": {
"title": "Masky detekce pohybu",
"desc": "Zobrazit polygony masek detekce pohybu"
},
"debugging": "Ledění",
"desc": "Ladicí zobrazení ukazuje sledované objekty a jejich statistiky v reálném čase. Seznam objektů zobrazuje časově zpožděný přehled detekovaných objektů.",
"motion": {
"title": "Rámečky detekce pohybu",
"desc": "Zobrazit rámečky okolo oblastí, kde byl detekován pohyb",
"tips": "<p><strong>Boxy pohybu</strong></p><br><p>Červené boxy budou překryty na místech snímku, kde je právě detekován pohyb.</p>"
},
"noObjects": "Žádné objekty",
"objectShapeFilterDrawing": {
"title": "Kreslení Filtru Tvaru Objektu",
"desc": "Nakreslete na obrázek obdélník pro zobrazení informací o ploše a poměru stran",
"tips": "Povolte tuto možnost pro nakreslení obdélníku na obraz kamery, který zobrazí jeho plochu a poměr stran. Tyto hodnoty pak můžete použít pro nastavení parametrů tvarového filtru objektu ve vaší konfiguraci.",
"document": "Přečtěte si dokumentaci ",
"score": "Skóre",
"ratio": "Poměr",
"area": "Oblast"
}
},
"camera": {
"streams": {
"title": "Streamy",
"desc": "Deaktivace kamery zcela zastaví zpracování jejích streamů ve Frigate. Detekce, nahrávání ani ladění nebudou dostupné.<br/><em>Poznámka: Tímto nedojde k deaktivaci restreamů v go2rtc.</em>"
},
"review": {
"desc": "Povolte nebo zakažte upozornění a detekce pro tuto kameru. Pokud jsou vypnuté, nebudou se vytvářet žádné nové položky k přezkoumání.",
"detections": "Detekce ",
"title": "Revize",
"alerts": "Výstrahy "
},
"reviewClassification": {
"readTheDocumentation": "Přečtěte si dokumentaci",
"desc": "Frigate rozděluje položky k přezkoumání na Upozornění a Detekce. Ve výchozím nastavení jsou všechny objekty typu <em>osoba</em> a <em>auto</em> považovány za Upozornění. Kategorizaci těchto položek můžete upřesnit nastavením požadovaných zón.",
"title": "Přehled klasifikace",
"objectAlertsTips": "Všechny {{alertsLabels}} objekty na {{cameraName}} budou zobrazeny ve Výstrahách.",
"objectDetectionsTips": "Všechny objekty typu {{detectionsLabels}}, které nejsou na kameře {{cameraName}} zařazeny do kategorie, budou zobrazeny jako Detekce bez ohledu na to, ve které zóně se nacházejí.",
"zoneObjectDetectionsTips": {
"notSelectDetections": "Všechny objekty typu {{detectionsLabels}} detekované v zóně {{zone}} na kameře {{cameraName}}, které nejsou zařazeny jako Upozornění, budou zobrazeny jako Detekce bez ohledu na to, ve které zóně se nacházejí.",
"text": "Všechny objekty typu {{detectionsLabels}}, které nejsou v zóně {{zone}} na kameře {{cameraName}} zařazeny do kategorie, budou zobrazeny jako Detekce.",
"regardlessOfZoneObjectDetectionsTips": "Všechny objekty {{detectionsLabels}}, které nejsou na kameře {{cameraName}} zařazeny do žádné kategorie, budou zobrazeny jako Detekce bez ohledu na zónu, ve které se nacházejí."
},
"noDefinedZones": "Nejsou nastaveny žádné zóny pro tuto kameru.",
"zoneObjectAlertsTips": "Všechny {{alertsLabels}} objekty detekované v {{zone}} na {{cameraName}} budou zobrazeny ve Výstrahách.",
"unsavedChanges": "Neuložené nastavení revize klasifikace pro {{camera}}",
"selectAlertsZones": "Vybrat zóny pro Výstrahy",
"selectDetectionsZones": "Vybrat zóny pro Detekce",
"toast": {
"success": "Konfigurace Revizí Klasifikací byla uložena. Restartujte Frigate pro aplikování změn."
},
"limitDetections": "Omezit detekce pro specifické zóny"
},
"title": "Nastavení Kamery"
},
"notification": {
"notificationSettings": {
"documentation": "Přečtěte si dokumentaci",
"title": "Nastavení notifikací",
"desc": "Frigate může nativně odesílat push notifikace do vašeho zařízení, pokud běží v prohlížeči nebo je nainstalován jako PWA (progresivní webová aplikace)."
},
"notificationUnavailable": {
"documentation": "Přečtěte si dokumentaci",
"title": "Notifikace Nedostupné",
"desc": "Webové push notifikace vyžadují zabezpečený kontext (<code>https://…</code>). Jedná se o omezení prohlížeče. Pro použití notifikací přistupujte k Frigate přes zabezpečené připojení."
},
"cameras": {
"title": "Kamery",
"desc": "Vyberte kamery, pro které chcete povolit notifikace.",
"noCameras": "Žádné dostupné kamery"
},
"title": "Notifikace",
"email": {
"placeholder": "např. example@email.com",
"title": "Email",
"desc": "Je vyžadována platná e-mailová adresa, která bude použita k upozornění v případě problémů se službou push notifikací."
},
"registerDevice": "Registrovat Toto Zařízení",
"deviceSpecific": "Nastavení Specifická pro Zařízení",
"unregisterDevice": "Odregistrovat Toto Zařízení",
"sendTestNotification": "Poslat testovací notifikaci",
"unsavedRegistrations": "Neuložené přihlášky k Notifikacím",
"unsavedChanges": "Neuložené změny Notifikací",
"globalSettings": {
"desc": "Dočasně pozastavit notifikace pro vybrané kamery na všech registrovaných zařízeních.",
"title": "Globální nastavení"
},
"active": "Notifikace Aktivní",
"suspendTime": {
"suspend": "Pozastavit",
"12hours": "Pozastavit na 12 hodin",
"24hours": "Pozastavit na 24 hodin",
"untilRestart": "Pozastavit do restartu",
"5minutes": "Pozastavit na 5 minut",
"10minutes": "Pozastavit na 10 minut",
"30minutes": "Pozastavit na 30 minut",
"1hour": "Pozastavit na 1 hodinu"
},
"toast": {
"error": {
"registerFailed": "Nepodařilo se uložit registraci notifikací."
},
"success": {
"registered": "Notifikace byly úspěšně zaregistrovány. Pro odesílání notifikací (včetně testovací) je nutné Frigate restartovat.",
"settingSaved": "Nastavení notifikací bylo uloženo."
}
},
"cancelSuspension": "Zrušit Pozastavení",
"suspended": "Notifikace pozastaveny {{time}}"
},
"users": {
"dialog": {
"form": {
"password": {
"strength": {
"weak": "Slabé",
"medium": "Střední",
"strong": "Silné",
"veryStrong": "Velmi Silné",
"title": "Síla hesla: "
},
"match": "Hesla souhlasí",
"notMatch": "Hesla nesouhlasí",
"title": "Heslo",
"placeholder": "Vložit heslo",
"confirm": {
"title": "Potvrdit heslo",
"placeholder": "Potvrdit heslo"
}
},
"newPassword": {
"placeholder": "Vložte nové heslo",
"title": "Nové Heslo",
"confirm": {
"placeholder": "Zopakujte nové heslo"
}
},
"usernameIsRequired": "Uživatelské jméno je nutné",
"user": {
"title": "Uživatelské jméno",
"desc": "Povolena jsou pouze písmena, čísla, tečky a podtržítka.",
"placeholder": "Vložte uživatelské jméno"
}
},
"createUser": {
"title": "Vytvořit nového uživatele",
"desc": "Přidejte nový uživatelský účet a zadejte roli pro určení přístupu k jednotlivým částem uživatelského rozhraní Frigate.",
"usernameOnlyInclude": "Uživatelské jméno smí obsahovat pouze písmena, čísla, . nebo _"
},
"deleteUser": {
"title": "Smazat Uživatele",
"desc": "Tuto akci nelze vrátit zpět. Uživatelský účet bude trvale smazán a veškerá s ním spojená data budou odstraněna.",
"warn": "Opravdu chcete smazat <strong>{{username}}</strong>?"
},
"changeRole": {
"roleInfo": {
"intro": "Vyberte odpovídající roli pro tohoto uživatele:",
"admin": "Správce",
"adminDesc": "Plný přístup ke všem funkcím.",
"viewer": "Divák",
"viewerDesc": "Omezení pouze na Živé dashboardy, Revize, Průzkumníka a Exporty."
},
"title": "Změnit Roli Uživatele",
"desc": "Aktualizovat oprávnění pro <strong>{{username}}</strong>"
},
"passwordSetting": {
"updatePassword": "Aktualizovat heslo pro uživatele {{username}}",
"setPassword": "Nastavit Heslo",
"desc": "Vytvořte silné heslo pro zabezpečení tohoto účtu."
}
},
"table": {
"username": "Uživatelské jméno",
"actions": "Akce",
"noUsers": "Žádní uživatelé nebyli nalezeni.",
"changeRole": "Změnit roli uživatele",
"password": "Heslo",
"deleteUser": "Smazat uživatele",
"role": "Role"
},
"updatePassword": "Aktualizovat heslo",
"toast": {
"success": {
"createUser": "Uživatel {{user}} úspěšně vytvořen",
"deleteUser": "Uživatel {{user}} úspěšně odebrán",
"updatePassword": "Heslo úspěšně aktualizováno.",
"roleUpdated": "Role pro {{user}} aktualizována"
},
"error": {
"setPasswordFailed": "Chyba uložení hesla: {{errorMessage}}",
"createUserFailed": "Chyba vytvoření uživatele: {{errorMessage}}",
"deleteUserFailed": "Chyba při mazání uživatele: {{errorMessage}}",
"roleUpdateFailed": "Chyba při aktualizaci role: {{errorMessage}}"
}
},
"management": {
"desc": "Spravujte uživatelské účty této instance Frigate.",
"title": "Správa Uživatelů"
},
"addUser": "Přidat uživatele",
"title": "Uživatelé"
},
"motionDetectionTuner": {
"unsavedChanges": "Neuložené změny Ladiče Detekce Pohybu {{camera}}",
"improveContrast": {
"title": "Zlepšit Kontrast",
"desc": "Zlepšit kontrast pro tmavé scény <em>Výchozí: ON</em>"
},
"toast": {
"success": "Nastavení detekce pohybu bylo uloženo."
},
"title": "Ladič Detekce Pohybu",
"desc": {
"documentation": "Přečtěte si příručku Ladiče Detekce Pohybu",
"title": "Frigate používá detekci pohybu jako první kontrolu k ověření, zda se ve snímku děje něco, co stojí za další analýzu pomocí detekce objektů."
},
"Threshold": {
"title": "Práh",
"desc": "Prahová hodnota určuje, jak velká změna jasu pixelu je nutná, aby byl považován za pohyb. <em>Výchozí: 30</em>"
},
"contourArea": {
"title": "Obrysová Oblast",
"desc": "Hodnota plochy obrysu se používá k rozhodnutí, které skupiny změněných pixelů se kvalifikují jako pohyb. <em>Výchozí: 10</em>"
}
}
}
+179 -1
View File
@@ -1 +1,179 @@
{}
{
"cameras": {
"info": {
"stream": "Stream {{idx}}",
"resolution": "Rozlišení:",
"error": "Chyba: {{error}}",
"unknown": "Neznámý",
"fps": "FPS:",
"audio": "Audio:",
"video": "Video:",
"fetching": "Získávám data o kameře",
"codec": "Kodek:",
"tips": {
"title": "Informace o sondování kamery"
},
"streamDataFromFFPROBE": "Data ze streamu jsou získávána pomocí <code>ffprobe</code>.",
"cameraProbeInfo": "{{camera}} Informace o sondování kamery"
},
"label": {
"camera": "kamera",
"ffmpeg": "FFmpeg",
"cameraFfmpeg": "{{camName}} FFmpeg",
"detect": "detekováno",
"skipped": "přeskočeno",
"capture": "zachyceno",
"overallFramesPerSecond": "celkový počet snímků za sekundu",
"overallDetectionsPerSecond": "celkový počet detekcí za sekundu",
"overallSkippedDetectionsPerSecond": "celkový počet přeskočených detekcí za sekundu",
"cameraCapture": "záznam {{camName}}",
"cameraDetect": "detekce {{camName}}",
"cameraFramesPerSecond": "{{camName}} snímků za sekundu",
"cameraDetectionsPerSecond": "{{camName}} detekcí za sekundu",
"cameraSkippedDetectionsPerSecond": "{{camName}} přeskočených detekcí za sekundu"
},
"title": "Kamery",
"overview": "Přehled",
"framesAndDetections": "Snímky / Detekce",
"toast": {
"success": {
"copyToClipboard": "Sondovaná data uložena do schránky."
},
"error": {
"unableToProbeCamera": "Nemohu sondovat kameru: {{errorMessage}}"
}
}
},
"stats": {
"cameraIsOffline": "{{camera}} je offline",
"healthy": "Systém je zdravý",
"reindexingEmbeddings": "Přeindexování vektorů ({{processed}} % dokončeno)",
"detectIsSlow": "{{detect}} je pomalé ({{speed}} ms)",
"detectIsVerySlow": "{{detect}} je velmi pomalé ({{speed}} ms)",
"detectHighCpuUsage": "{{camera}} má vysoké využití CPU detekcemi ({{detectAvg}} %)",
"ffmpegHighCpuUsage": "{{camera}} má vyské využití CPU FFmpegem ({{ffmpegAvg}}%)"
},
"enrichments": {
"embeddings": {
"face_recognition_speed": "Rychlost rozpoznávání obličeje",
"plate_recognition_speed": "Rychlost rozpoznávání SPZ",
"plate_recognition": "Rozpoznávání SPZ",
"face_recognition": "Rozpoznávání obličeje",
"image_embedding_speed": "Rychlost vkládání obrázku",
"text_embedding_speed": "Rychlost vkládání textu",
"text_embedding": "Vkládání textu",
"image_embedding": "Vkládání obrázku",
"face_embedding_speed": "Rychlost vkládání obličeje",
"yolov9_plate_detection_speed": "YOLOv9 rychlost detekce SPZ",
"yolov9_plate_detection": "YOLOv9 Detekce SPZ"
},
"infPerSecond": "Inferencí za sekundu",
"title": "Obohacení"
},
"general": {
"detector": {
"temperature": "Detekční teplota",
"title": "Detektory",
"inferenceSpeed": "Detekční rychlost",
"memoryUsage": "Detektor využití paměti",
"cpuUsage": "Detektor využití CPU"
},
"hardwareInfo": {
"title": "Informace o hardware",
"gpuInfo": {
"vainfoOutput": {
"processError": "Chyba procesu:",
"returnCode": "Návratový kód: {{code}}",
"processOutput": "Výstup procesu:",
"title": "Výstup Vainfo"
},
"nvidiaSMIOutput": {
"name": "Jméno: {{name}}",
"title": "Výstup Nvidia SMI",
"driver": "Ovladač: {{driver}}",
"cudaComputerCapability": "Výpočetní schopnost CUDA: {{cuda_compute}}",
"vbios": "Informace o VBios: {{vbios}}"
},
"copyInfo": {
"label": "Kopírovat informace o GPU"
},
"toast": {
"success": "Informace o GPU zkopírovány do schránky"
},
"closeInfo": {
"label": "Zavřít informace o GPU"
}
},
"npuUsage": "Využití NPU",
"npuMemory": "Paměť NPU",
"gpuUsage": "Využití CPU",
"gpuMemory": "Paměť GPU",
"gpuEncoder": "GPU kodér",
"gpuDecoder": "GPU Dekodér"
},
"otherProcesses": {
"title": "Ostatní procesy",
"processCpuUsage": "Využití CPU procesy",
"processMemoryUsage": "Využití paměti procesy"
},
"title": "Hlavní"
},
"storage": {
"cameraStorage": {
"storageUsed": "Úložiště",
"camera": "Kamera",
"title": "Úložiště kamery",
"unused": {
"title": "Nepoužité",
"tips": "Tato hodnota nemusí přesně reprezentovat volné místo dostupné pro Frigate, pokud máte na disku uloženy další soubory kromě nahrávek Frigate. Frigate nesleduje využití úložiště mimo své nahrávky."
},
"bandwidth": "Šířka pásma",
"unusedStorageInformation": "Informace o nepoužitém úložišti",
"percentageOfTotalUsed": "Procento celkem"
},
"recordings": {
"title": "Záznamy",
"earliestRecording": "Nejstarší dostupná nahrávka:",
"tips": "Tato hodnota uvádí celkové využití disku záznamy uloženými v databázi Frigate. Frigate nesleduje využití disku ostatními soubory na vašem disku."
},
"title": "Úložiště",
"overview": "Přehled"
},
"lastRefreshed": "Poslední aktualizace: ",
"documentTitle": {
"cameras": "Statistiky kamer Frigate",
"storage": "Statistiky uložiště - Frigate",
"general": "Obecné statistiky - Frigate",
"enrichments": "Statistiky obohacení - Frigate",
"logs": {
"frigate": "Protokoly Frigate - Frigate",
"go2rtc": "Protokoly Go2RTC - Frigate",
"nginx": "Protokoly Nginx - Frigate"
}
},
"title": "Systém",
"logs": {
"copy": {
"label": "Kopírovat do schránky",
"success": "Protokoly zkopírovány do schránky",
"error": "Protokoly se nepodařilo zkopírovat do schránky"
},
"type": {
"label": "Typ",
"message": "Zpráva",
"timestamp": "Časové razítko",
"tag": "Štítek (Tag)"
},
"download": {
"label": "Stáhnout záznamy"
},
"tips": "Protokoly jsou streamovány ze serveru",
"toast": {
"error": {
"fetchingLogsFailed": "Chyba při načítání protokolů: {{errorMessage}}",
"whileStreamingLogs": "Chyba při streamování protokolů: {{errorMessage}}"
}
}
},
"metrics": "Systémové metriky"
}
+1 -1
View File
@@ -254,7 +254,7 @@
"wind": "Wind",
"wind_noise": "Windrauschen",
"rain_on_surface": "Regen auf einer Oberfläche",
"stream": "Strahl",
"stream": "Stream",
"waterfall": "Wasserfall",
"steam": "Dampf",
"fire": "Feuer",
+10 -1
View File
@@ -77,6 +77,10 @@
"formattedTimestampFilename": {
"12hour": "MM-dd-yy-h-mm-ss-a",
"24hour": "MM-dd-yy-HH-mm-ss"
},
"formattedTimestampMonthDayYear": {
"12hour": "d. MMM yyyy",
"24hour": "d. MMM yyyy"
}
},
"button": {
@@ -154,7 +158,8 @@
"uk": "Ukrainisch",
"he": "Hebräisch",
"sk": "Slowakisch",
"yue": "粵語 (Kantonesisch)"
"yue": "粵語 (Kantonesisch)",
"th": "ไทย (Thailändisch)"
},
"appearance": "Erscheinung",
"theme": {
@@ -214,6 +219,10 @@
"speed": {
"mph": "mph",
"kph": "km/h"
},
"length": {
"feet": "Fuß",
"meters": "Meter"
}
},
"toast": {
+5 -2
View File
@@ -41,7 +41,8 @@
"warning": "Kontinuierliches Streaming kann zu hoher Bandbreitenausnutzung und zu Performanceproblemen führen. Bitte behutsam nutzen."
}
}
}
},
"placeholder": "Wähle eine streaming Methode"
},
"title": "{{cameraName}} Streaming Einstellungen",
"compatibilityMode": {
@@ -54,7 +55,9 @@
"document": "Lies die Dokumentation. "
}
},
"desc": "Ändere die Live Stream Optionen für das Dashboard dieser Kameragruppe. <em>Diese Einstellungen sind geräte-/browserspezifisch.</em>"
"desc": "Ändere die Live Stream Optionen für das Dashboard dieser Kameragruppe. <em>Diese Einstellungen sind geräte-/browserspezifisch.</em>",
"stream": "Stream",
"placeholder": "Wähle einen Stream"
}
},
"add": "Kameragruppe hinzufügen",
+2 -1
View File
@@ -20,7 +20,8 @@
"all": {
"title": "Alle Zeiträume",
"short": "Daten"
}
},
"selectPreset": "Wähle eine Voreinstellung aus…"
},
"reset": {
"label": "Filter auf Standardwerte zurücksetzen"
@@ -11,5 +11,6 @@
"copyToClipboard": "Konfiguration in Zwischenablage kopiert."
}
},
"documentTitle": "Konfigurationseditor Frigate"
"documentTitle": "Konfigurationseditor Frigate",
"confirm": "Verlassen ohne zu Speichern?"
}
+9 -3
View File
@@ -127,7 +127,10 @@
"label": "Anmerkungen Versatz",
"desc": "Diese Daten stammen aus dem Erkennungs-Feed der Kamera, werden aber mit Bildern aus dem Aufnahme-Feed überlagert. Es ist unwahrscheinlich, dass die beiden Streams perfekt synchronisiert sind. Daher stimmen die Bounding Box und das Filmmaterial nicht perfekt überein. Das Feld <code>annotation_offset</code> kann jedoch verwendet werden, um dies anzupassen.",
"millisecondsToOffset": "Millisekunden, um die Erkennungen verschoben werden soll. <em>Standard: 0</em>",
"tips": "TIPP: Stelle dir einen Ereignisclip vor, in dem eine Person von links nach rechts läuft. Wenn die Bounding Box der Ereigniszeitleiste durchgehend links von der Person liegt, sollte der Wert verringert werden. Ähnlich verhält es sich, wenn eine Person von links nach rechts geht und die Bounding Box durchgängig vor der Person liegt, dann sollte der Wert erhöht werden."
"tips": "TIPP: Stelle dir einen Ereignisclip vor, in dem eine Person von links nach rechts läuft. Wenn die Bounding Box der Ereigniszeitleiste durchgehend links von der Person liegt, sollte der Wert verringert werden. Ähnlich verhält es sich, wenn eine Person von links nach rechts geht und die Bounding Box durchgängig vor der Person liegt, dann sollte der Wert erhöht werden.",
"toast": {
"success": "Versatz für {{camera}} wurde in der Konfigurationsdatei gespeichert. Starten Sie Frigate neu, um Ihre Änderungen zu übernehmen."
}
},
"showAllZones": {
"title": "Zeige alle Zonen",
@@ -142,7 +145,9 @@
"previous": "Vorherige Anzeige"
},
"scrollViewTips": "Scrolle um die wichtigsten Momente dieses Objekts anzuzeigen.",
"autoTrackingTips": "Die Positionen der Bounding Box sind bei Kameras mit automatischer Verfolgung ungenau."
"autoTrackingTips": "Die Positionen der Bounding Box sind bei Kameras mit automatischer Verfolgung ungenau.",
"count": "{{first}} von {{second}}",
"trackedPoint": "Verfolgter Punkt"
},
"type": {
"details": "Details",
@@ -197,5 +202,6 @@
"noTrackedObjects": "Keine verfolgten Objekte gefunden",
"fetchingTrackedObjectsFailed": "Fehler beim Abrufen von verfolgten Objekten: {{errorMessage}}",
"trackedObjectsCount_one": "{{count}} verfolgtes Objekt ",
"trackedObjectsCount_other": "{{count}} verfolgte Objekte "
"trackedObjectsCount_other": "{{count}} verfolgte Objekte ",
"exploreMore": "Erkunde mehr {{label}} Objekte"
}
+5 -3
View File
@@ -1,7 +1,8 @@
{
"description": {
"placeholder": "Gib einen Name für diese Kollektion ein",
"addFace": "Anleitung für das Hinzufügen einer neuen Kollektion zur Gesichtsbibliothek."
"addFace": "Anleitung für das Hinzufügen einer neuen Kollektion zur Gesichtsbibliothek.",
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
},
"details": {
"person": "Person",
@@ -86,7 +87,7 @@
},
"renameFace": {
"title": "Gesicht umbenennen",
"desc": "Gib den neuen Namen für das Gesicht von {{name}} ein."
"desc": "Gib den neuen Namen für {{name}} ein"
},
"collections": "Sammlungen",
"deleteFaceAttempts": {
@@ -94,5 +95,6 @@
"desc_one": "Bist du sicher, dass du {{count}} Gesicht löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",
"desc_other": "Bist du sicher, dass du {{count}} Gesichter löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden."
},
"nofaces": "Keine Gesichter verfügbar"
"nofaces": "Keine Gesichter verfügbar",
"pixels": "{{area}}px"
}
+3 -3
View File
@@ -89,9 +89,9 @@
"notifications": "Benachrichtigungen",
"stream": {
"audio": {
"available": "Für diesen Stream ist Audio verfügbar",
"available": "Audio ist für diesen Stream verfügbar",
"tips": {
"title": "Der Ton muss von Ihrer Kamera ausgegeben und für diesen Stream in go2rtc konfiguriert werden.",
"title": "Audio muss von deiner Kamera ausgegeben und für diesen Stream in go2rtc konfiguriert werden.",
"documentation": "Dokumentation lesen "
},
"unavailable": "Für diesen Stream ist kein Audio verfügbar"
@@ -106,7 +106,7 @@
"tips": "Die Live-Ansicht befindet sich aufgrund von Puffer- oder Stream-Fehlern im Modus mit geringer Bandbreite.",
"resetStream": "Stream zurücksetzen"
},
"title": "Strom",
"title": "Stream",
"playInBackground": {
"tips": "Aktivieren Sie diese Option, um das Streaming fortzusetzen, wenn der Player ausgeblendet ist.",
"label": "Im Hintergrund abspielen"
+88 -8
View File
@@ -9,7 +9,8 @@
"frigatePlus": "Frigate+ Einstellungen Frigate",
"classification": "Klassifizierungseinstellungen Frigate",
"motionTuner": "Bewegungstuner Frigate",
"notifications": "Benachrichtigungs-Einstellungen"
"notifications": "Benachrichtigungs-Einstellungen",
"enrichments": "Erweiterte Statistiken - Frigate"
},
"menu": {
"ui": "Benutzeroberfläche",
@@ -20,7 +21,8 @@
"debug": "Debug",
"frigateplus": "Frigate+",
"users": "Benutzer",
"notifications": "Benachrichtigungen"
"notifications": "Benachrichtigungen",
"enrichments": "Verbesserungen"
},
"dialog": {
"unsavedChanges": {
@@ -222,6 +224,11 @@
"error": {
"mustBeFinished": "Polygonzeichnung muss vor dem Speichern abgeschlossen sein."
}
},
"speed": {
"error": {
"mustBeGreaterOrEqualTo": "Der Geschwindigkeitsschwellwert muss größer oder gleich 0,1 sein."
}
}
},
"toast": {
@@ -248,7 +255,11 @@
"speedEstimation": {
"title": "Geschwindigkeitsschätzung",
"desc": "Aktiviere die Geschwindigkeitsabschätzung für Objekte in diesem Bereich. Der Bereich muss genau 4 Punkte haben.",
"docs": "Bitte lies die Dokumentation"
"docs": "Bitte lies die Dokumentation",
"lineADistance": "Spur A Distanz ({{unit}})",
"lineDDistance": "Spur D Distanz ({{unit}})",
"lineBDistance": "Spur B Distanz ({{unit}})",
"lineCDistance": "Spur C Distanz ({{unit}})"
},
"label": "Zonen",
"documentTitle": "Zone bearbeiten - Frigate",
@@ -337,7 +348,9 @@
"desc": "Der Objekttyp, für den diese Objektmaske gilt.",
"allObjectTypes": "Alle Objekttypen"
}
}
},
"motionMaskLabel": "Bewegungsmaske {{number}}",
"objectMaskLabel": "Objektmaske {{number}} ({{label}})"
},
"debug": {
"objectShapeFilterDrawing": {
@@ -471,7 +484,8 @@
"placeholder": "Neues Passwort erneut eingeben"
}
},
"usernameIsRequired": "Benutzername ist erforderlich"
"usernameIsRequired": "Benutzername ist erforderlich",
"passwordIsRequired": "Passwort benötigt"
},
"changeRole": {
"desc": "Berechtigungen für <strong>{{username}}</strong> aktualisieren",
@@ -482,7 +496,8 @@
"viewer": "Betrachter",
"viewerDesc": "Nur auf Live-Dashboards, Überprüfung, Erkundung und Exporte beschränkt."
},
"title": "Benutzerrolle ändern"
"title": "Benutzerrolle ändern",
"select": "Wähle eine Rolle"
},
"deleteUser": {
"desc": "Diese Aktion kann nicht rückgängig gemacht werden. Dadurch wird das Benutzerkonto dauerhaft gelöscht und alle zugehörigen Daten werden entfernt.",
@@ -492,12 +507,15 @@
"createUser": {
"title": "Neuen Benutzer anlegen",
"desc": "Füge ein neues Benutzerkonto hinzu und lege eine Rolle für den Zugriff auf Bereiche der Frigate-Benutzeroberfläche fest.",
"usernameOnlyInclude": "Der Benutzername darf nur Buchstaben, Zahlen, . oder _ enthalten"
"usernameOnlyInclude": "Der Benutzername darf nur Buchstaben, Zahlen, . oder _ enthalten",
"confirmPassword": "Bitte bestätige dein Passwort"
},
"passwordSetting": {
"updatePassword": "Passwort für {{username}} aktualisieren",
"setPassword": "Passwort festlegen",
"desc": "Erstelle ein sicheres Passwort, um dieses Konto zu schützen."
"desc": "Erstelle ein sicheres Passwort, um dieses Konto zu schützen.",
"cannotBeEmpty": "Das Passwort darf nicht leer sein",
"doNotMatch": "Die Passwörter sind nicht identisch"
}
}
},
@@ -599,5 +617,67 @@
},
"restart_required": "Neustart erforderlich (Frigate+ Model geändert)",
"unsavedChanges": "Nicht gespeicherte Änderungen an den Frigate+-Einstellungen"
},
"enrichments": {
"birdClassification": {
"title": "Vogel Klassifizierung",
"desc": "Die Vogelklassifizierung identifiziert bekannte Vögel mithilfe eines quantisierten Tensorflow-Modells. Wenn ein bekannter Vogel erkannt wird, wird sein allgemeiner Name als sub_label hinzugefügt. Diese Informationen sind in der Benutzeroberfläche, in Filtern und in Benachrichtigungen enthalten."
},
"title": "Verbesserugsseinstellungen",
"unsavedChanges": "Ungesicherte geänderte Verbesserungseinstellungen",
"semanticSearch": {
"reindexNow": {
"confirmDesc": "Sind Sie sicher, dass Sie alle verfolgten Objekteinbettungen neu indizieren wollen? Dieser Prozess läuft im Hintergrund, kann aber Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen. Sie können den Fortschritt auf der Seite Explore verfolgen.",
"label": "Jetzt neu indizien",
"desc": "Bei der Neuindizierung werden die Einbettungen für alle verfolgten Objekte neu generiert. Dieser Prozess läuft im Hintergrund und kann je nach Anzahl der verfolgten Objekte Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen.",
"confirmTitle": "Neuinszenierung bestätigen",
"confirmButton": "Neuindizierung",
"success": "Die Neuindizierung wurde erfolgreich gestartet.",
"alreadyInProgress": "Die Neuindizierung ist bereits im Gange.",
"error": "Neuindizierung konnte nicht gestartet werden: {{errorMessage}}"
},
"modelSize": {
"small": {
"desc": "Bei der Verwendung von <em>klein</em> wird eine quantisierte Version des Modells verwendet, die weniger Arbeitsspeicher verbraucht und schneller auf der CPU läuft, wobei der Unterschied in der Einbettungsqualität sehr gering ist.",
"title": "klein"
},
"label": "Modell Größe",
"desc": "Die Größe des für die Einbettung der semantischen Suche verwendeten Modells.",
"large": {
"title": "groß",
"desc": "Bei der Verwendung von <em>groß</em> wird das gesamte Jina-Modell verwendet und automatisch auf der GPU ausgeführt, falls zutreffend."
}
},
"title": "Semantische Suche",
"desc": "Die semantische Suche in Frigate ermöglicht es Ihnen, verfolgte Objekte innerhalb Ihrer Überprüfungselemente zu finden, indem Sie entweder das Bild selbst, eine benutzerdefinierte Textbeschreibung oder eine automatisch generierte Beschreibung verwenden.",
"readTheDocumentation": "Lies die Dokumentation"
},
"faceRecognition": {
"title": "Gesichtserkennung",
"desc": "Die Gesichtserkennung ermöglicht es, Personen Namen zuzuweisen, und wenn ihr Gesicht erkannt wird, ordnet Frigate den Namen der Person als Untertitel zu. Diese Informationen sind in der Benutzeroberfläche, den Filtern und in den Benachrichtigungen enthalten.",
"readTheDocumentation": "Lies die Dokumentation",
"modelSize": {
"label": "Modell Größe",
"desc": "Die Größe des für die Gesichtserkennung verwendeten Modells.",
"small": {
"title": "klein",
"desc": "Mit <em>klein</em> wird ein FaceNet-Gesichtseinbettungsmodell verwendet, das auf den meisten CPUs effizient läuft."
},
"large": {
"title": "groß",
"desc": "Die Verwendung von <em>groß</em> verwendet ein ArcFace-Gesichtseinbettungsmodell und läuft automatisch auf der GPU, falls zutreffend."
}
}
},
"licensePlateRecognition": {
"title": "Kennzeichenerkennung",
"desc": "Frigate kann Kennzeichen an Fahrzeugen erkennen und die erkannten Zeichen automatisch in das Feld recognized_license_plate oder einen bekannten Namen als sub_label zu Objekten vom Typ car hinzufügen. Ein häufiger Anwendungsfall ist das Lesen der Kennzeichen von Autos, die in eine Einfahrt einfahren oder auf einer Straße vorbeifahren.",
"readTheDocumentation": "Lies die Dokumentation"
},
"restart_required": "Neustart erforderlich (Verbesserungseinstellungen geändert)",
"toast": {
"success": "Die Einstellungen für die Verbesserungen wurden gespeichert. Starten Sie Frigate neu, um Ihre Änderungen zu übernehmen.",
"error": "Konfigurationsänderungen konnten nicht gespeichert werden: {{errorMessage}}"
}
}
}
+2 -1
View File
@@ -119,7 +119,8 @@
"streamDataFromFFPROBE": "Stream-Daten werden mit <code>ffprobe</code> erhalten.",
"tips": {
"title": "Kamera-Untersuchsungsinfo"
}
},
"aspectRatio": "Seitenverhältnis"
},
"overview": "Übersicht",
"label": {
+5
View File
@@ -78,6 +78,10 @@
"speed": {
"mph": "mph",
"kph": "kph"
},
"length": {
"feet": "feet",
"meters": "meters"
}
},
"label": {
@@ -158,6 +162,7 @@
"da": "Dansk (Danish)",
"sk": "Slovenčina (Slovak)",
"yue": "粵語 (Cantonese)",
"th": "ไทย (Thai)",
"withSystem": {
"label": "Use the system settings for language"
}
@@ -39,8 +39,11 @@
"document": "Read the documentation "
}
},
"stream": "Stream",
"placeholder": "Choose a stream",
"streamMethod": {
"label": "Streaming Method",
"placeholder": "Choose a streaming method",
"method": {
"noStreaming": {
"label": "No Streaming",
@@ -17,6 +17,7 @@
}
},
"dates": {
"selectPreset": "Select a Preset…",
"all": {
"title": "All Dates",
"short": "Dates"
@@ -4,6 +4,7 @@
"copyConfig": "Copy Config",
"saveAndRestart": "Save & Restart",
"saveOnly": "Save Only",
"confirm": "Exit without saving?",
"toast": {
"success": {
"copyToClipboard": "Config copied to clipboard."
+7 -1
View File
@@ -1,6 +1,7 @@
{
"documentTitle": "Explore - Frigate",
"generativeAI": "Generative AI",
"exploreMore": "Explore more {{label}} objects",
"exploreIsUnavailable": {
"title": "Explore is Unavailable",
"embeddingsReindexing": {
@@ -43,6 +44,8 @@
"adjustAnnotationSettings": "Adjust annotation settings",
"scrollViewTips": "Scroll to view the significant moments of this object's lifecycle.",
"autoTrackingTips": "Bounding box positions will be inaccurate for autotracking cameras.",
"count": "{{first}} of {{second}}",
"trackedPoint": "Tracked Point",
"lifecycleItemDesc": {
"visible": "{{label}} detected",
"entered_zone": "{{label}} entered {{zones}}",
@@ -72,7 +75,10 @@
"desc": "This data comes from your camera's detect feed but is overlayed on images from the the record feed. It is unlikely that the two streams are perfectly in sync. As a result, the bounding box and the footage will not line up perfectly. However, the <code>annotation_offset</code> field can be used to adjust this.",
"documentation": "Read the documentation ",
"millisecondsToOffset": "Milliseconds to offset detect annotations by. <em>Default: 0</em>",
"tips": "TIP: Imagine there is an event clip with a person walking from left to right. If the event timeline bounding box is consistently to the left of the person then the value should be decreased. Similarly, if a person is walking from left to right and the bounding box is consistently ahead of the person then the value should be increased."
"tips": "TIP: Imagine there is an event clip with a person walking from left to right. If the event timeline bounding box is consistently to the left of the person then the value should be decreased. Similarly, if a person is walking from left to right and the bounding box is consistently ahead of the person then the value should be increased.",
"toast": {
"success": "Annotation offset for {{camera}} has been saved to the config file. Restart Frigate to apply your changes."
}
}
},
"carousel": {
+3 -1
View File
@@ -1,7 +1,8 @@
{
"description": {
"addFace": "Walk through adding a new collection to the Face Library.",
"placeholder": "Enter a name for this collection"
"placeholder": "Enter a name for this collection",
"invalidName": "Invalid name. Names can only include letters, numbers, spaces, apostrophes, underscores, and hyphens."
},
"details": {
"person": "Person",
@@ -69,6 +70,7 @@
"maxSize": "Max size: {{size}}MB"
},
"nofaces": "No faces available",
"pixels": "{{area}}px",
"readTheDocs": "Read the documentation",
"trainFaceAs": "Train Face as:",
"trainFace": "Train Face",
+26 -10
View File
@@ -3,7 +3,7 @@
"default": "Settings - Frigate",
"authentication": "Authentication Settings - Frigate",
"camera": "Camera Settings - Frigate",
"classification": "Classification Settings - Frigate",
"enrichments": "Enrichments Settings - Frigate",
"masksAndZones": "Mask and Zone Editor - Frigate",
"motionTuner": "Motion Tuner - Frigate",
"object": "Debug - Frigate",
@@ -13,7 +13,7 @@
},
"menu": {
"ui": "UI",
"classification": "Classification",
"enrichments": "Enrichments",
"cameras": "Camera Settings",
"masksAndZones": "Masks / Zones",
"motionTuner": "Motion Tuner",
@@ -82,9 +82,9 @@
}
}
},
"classification": {
"title": "Classification Settings",
"unsavedChanges": "Unsaved Classification settings changes",
"enrichments": {
"title": "Enrichments Settings",
"unsavedChanges": "Unsaved Enrichments settings changes",
"birdClassification": {
"title": "Bird Classification",
"desc": "Bird classification identifies known birds using a quantized Tensorflow model. When a known bird is recognized, its common name will be added as a sub_label. This information is included in the UI, filters, as well as in notifications."
@@ -138,9 +138,9 @@
"desc": "Frigate can recognize license plates on vehicles and automatically add the detected characters to the recognized_license_plate field or a known name as a sub_label to objects that are of type car. A common use case may be to read the license plates of cars pulling into a driveway or cars passing by on a street.",
"readTheDocumentation": "Read the Documentation"
},
"restart_required": "Restart required (Classification settings changed)",
"restart_required": "Restart required (Enrichments settings changed)",
"toast": {
"success": "Classification settings have been saved. Restart Frigate to apply your changes.",
"success": "Enrichments settings have been saved. Restart Frigate to apply your changes.",
"error": "Failed to save config changes: {{errorMessage}}"
}
},
@@ -191,6 +191,8 @@
"copyCoordinatesFailed": "Could not copy coordinates to clipboard."
}
},
"motionMaskLabel": "Motion Mask {{number}}",
"objectMaskLabel": "Object Mask {{number}} ({{label}})",
"form": {
"zoneName": {
"error": {
@@ -217,6 +219,11 @@
"mustBeGreaterOrEqualZero": "Loitering time must be greater than or equal to 0."
}
},
"speed": {
"error": {
"mustBeGreaterOrEqualTo": "Speed threshold must greater than or equal to 0.1."
}
},
"polygonDrawing": {
"removeLastPoint": "Remove last point",
"reset": {
@@ -269,7 +276,11 @@
"speedEstimation": {
"title": "Speed Estimation",
"desc": "Enable speed estimation for objects in this zone. The zone must have exactly 4 points.",
"docs": "Read the documentation"
"docs": "Read the documentation",
"lineADistance": "Line A distance ({{unit}})",
"lineBDistance": "Line B distance ({{unit}})",
"lineCDistance": "Line C distance ({{unit}})",
"lineDDistance": "Line D distance ({{unit}})"
},
"speedThreshold": {
"title": "Speed Threshold ({{unit}})",
@@ -471,12 +482,14 @@
"placeholder": "Re-enter new password"
}
},
"usernameIsRequired": "Username is required"
"usernameIsRequired": "Username is required",
"passwordIsRequired": "Password is required"
},
"createUser": {
"title": "Create New User",
"desc": "Add a new user account and specify an role for access to areas of the Frigate UI.",
"usernameOnlyInclude": "Username may only include letters, numbers, . or _"
"usernameOnlyInclude": "Username may only include letters, numbers, . or _",
"confirmPassword": "Please confirm your password"
},
"deleteUser": {
"title": "Delete User",
@@ -484,12 +497,15 @@
"warn": "Are you sure you want to delete <strong>{{username}}</strong>?"
},
"passwordSetting": {
"cannotBeEmpty": "Password cannot be empty",
"doNotMatch": "Passwords do not match",
"updatePassword": "Update Password for {{username}}",
"setPassword": "Set Password",
"desc": "Create a strong password to secure this account."
},
"changeRole": {
"title": "Change User Role",
"select": "Select a role",
"desc": "Update permissions for <strong>{{username}}</strong>",
"roleInfo": {
"intro": "Select the appropriate role for this user:",
+1
View File
@@ -108,6 +108,7 @@
"title": "Cameras",
"overview": "Overview",
"info": {
"aspectRatio": "aspect ratio",
"cameraProbeInfo": "{{camera}} Camera Probe Info",
"streamDataFromFFPROBE": "Stream data is obtained with <code>ffprobe</code>.",
"fetching": "Fetching Camera Data",
+6 -1
View File
@@ -139,7 +139,8 @@
"cs": "Čeština (Checo)",
"nl": "Nederlands (Neerlandés)",
"fr": "Français (Frances)",
"yue": "粵語 (Cantonés)"
"yue": "粵語 (Cantonés)",
"th": "ไทย (Tailandés)"
},
"appearance": "Apariencia",
"darkMode": {
@@ -185,6 +186,10 @@
"speed": {
"mph": "mph",
"kph": "kph"
},
"length": {
"meters": "Metros",
"feet": "Pies"
}
},
"button": {
+5 -2
View File
@@ -55,14 +55,17 @@
}
}
},
"label": "Método de transmisión"
"label": "Método de transmisión",
"placeholder": "Elige un método de transmisión"
},
"compatibilityMode": {
"label": "Modo de compatibilidad",
"desc": "Habilita esta opción solo si la transmisión en vivo de tu cámara muestra artefactos de color y tiene una línea diagonal en el lado derecho de la imagen."
},
"label": "Ajustes de transmisión de la cámara",
"desc": "Cambia las opciones de transmisión en vivo para el panel de control de este grupo de cámaras. <em>Estos ajustes son específicos del dispositivo/navegador.</em>"
"desc": "Cambia las opciones de transmisión en vivo para el panel de control de este grupo de cámaras. <em>Estos ajustes son específicos del dispositivo/navegador.</em>",
"placeholder": "Elige una transmisión",
"stream": "Transmitir"
}
}
},
+1 -1
View File
@@ -89,7 +89,7 @@
"label": "Transmisión",
"showStats": {
"label": "Mostrar estadísticas de transmisión",
"desc": "Habilita esta opción para mostrar estadísticas de transmisión como una superposición en la alimentación de la cámara."
"desc": "Habilita esta opción para mostrar las estadísticas de transmisión como una superposición en la imagen de la cámara."
}
},
"search": {

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