* add CameraProfileConfig model for named config overrides
* add profiles field to CameraConfig
* add active_profile field to FrigateConfig
Runtime-only field excluded from YAML serialization, tracks which
profile is currently active.
* add ProfileManager for profile activation and persistence
Handles snapshotting base configs, applying profile overrides via
deep_merge + apply_section_update, publishing ZMQ updates, and
persisting active profile to /config/.active_profile.
* add profile API endpoints (GET /profiles, GET/PUT /profile)
* add MQTT and dispatcher integration for profiles
- Subscribe to frigate/profile/set MQTT topic
- Publish profile/state and profiles/available on connect
- Add _on_profile_command handler to dispatcher
- Broadcast active profile state on WebSocket connect
* wire ProfileManager into app startup and FastAPI
- Create ProfileManager after dispatcher init
- Restore persisted profile on startup
- Pass dispatcher and profile_manager to FastAPI app
* add tests for invalid profile values and keys
Tests that Pydantic rejects: invalid field values (fps: "not_a_number"),
unknown section keys (ffmpeg in profile), invalid nested values, and
invalid profiles in full config parsing.
* formatting
* fix CameraLiveConfig JSON serialization error on profile activation
refactor _publish_updates to only publish ZMQ updates for
sections that actually changed, not all sections on affected cameras.
* consolidate
* add enabled field to camera profiles for enabling/disabling cameras
* add zones support to camera profiles
* add frontend profile types, color utility, and config save support
* add profile state management and save preview support
* add profileName prop to BaseSection for profile-aware config editing
* add profile section dropdown and wire into camera settings pages
* add per-profile camera enable/disable to Camera Management view
* add profiles summary page with card-based layout and fix backend zone comparison bug
* add active profile badge to settings toolbar
* i18n
* add red dot for any pending changes including profiles
* profile support for mask and zone editor
* fix hidden field validation errors caused by lodash wildcard and schema gaps
lodash unset does not support wildcard (*) segments, so hidden fields like
filters.*.mask were never stripped from form data, leaving null raw_coordinates
that fail RJSF anyOf validation. Add unsetWithWildcard helper and also strip
hidden fields from the JSON schema itself as defense-in-depth.
* add face_recognition and lpr to profile-eligible sections
* move profile dropdown from section panes to settings header
* add profiles enable toggle and improve empty state
* formatting
* tweaks
* tweak colors and switch
* fix profile save diff, masksAndZones delete, and config sync
* ui tweaks
* ensure profile manager gets updated config
* rename profile settings to ui settings
* refactor profilesview and add dots/border colors when overridden
* implement an update_config method for profile manager
* fix mask deletion
* more unique colors
* add top-level profiles config section with friendly names
* implement profile friendly names and improve profile UI
- Add ProfileDefinitionConfig type and profiles field to FrigateConfig
- Use ProfilesApiResponse type with friendly_name support throughout
- Replace Record<string, unknown> with proper JsonObject/JsonValue types
- Add profile creation form matching zone pattern (Zod + NameAndIdFields)
- Add pencil icon for renaming profile friendly names in ProfilesView
- Move Profiles menu item to first under Camera Configuration
- Add activity indicators on save/rename/delete buttons
- Display friendly names in CameraManagementView profile selector
- Fix duplicate colored dots in management profile dropdown
- Fix i18n namespace for overridden base config tooltips
- Move profile override deletion from dropdown trash icon to footer
button with confirmation dialog, matching Reset to Global pattern
- Remove Add Profile from section header dropdown to prevent saving
camera overrides before top-level profile definition exists
- Clean up newProfiles state after API profile deletion
- Refresh profiles SWR cache after saving profile definitions
* remove profile badge in settings and add profiles to main menu
* use icon only on mobile
* change color order
* docs
* show activity indicator on trash icon while deleting a profile
* tweak language
* immediately create profiles on backend instead of deferring to Save All
* hide restart-required fields when editing a profile section
fields that require a restart cannot take effect via profile switching,
so they are merged into hiddenFields when profileName is set
* show active profile indicator in desktop status bar
* fix profile config inheritance bug where Pydantic defaults override base values
The /config API was dumping profile overrides with model_dump() which included
all Pydantic defaults. When the frontend merged these over
the camera's base config, explicitly-set base values were
lost. Now profile overrides are re-dumped with exclude_unset=True so only
user-specified fields are returned.
Also fixes the Save All path generating spurious deletion markers for
restart-required fields that are hidden during profile
editing but not excluded from the raw data sanitization in
prepareSectionSavePayload.
* docs tweaks
* docs tweak
* formatting
* formatting
* fix typing
* fix test pollution
test_maintainer was injecting MagicMock() into sys.modules["frigate.config.camera.updater"] at module load time and never restoring it. When the profile tests later imported CameraConfigUpdateEnum and CameraConfigUpdateTopic from that module, they got mock objects instead of the real dataclass/enum, so equality comparisons always failed
* remove
* fix settings showing profile-merged values when editing base config
When a profile is active, the in-memory config contains effective
(profile-merged) values. The settings UI was displaying these merged
values even when the "Base Config" view was selected.
Backend: snapshot pre-profile base configs in ProfileManager and expose
them via a `base_config` key in the /api/config camera response when a
profile is active. The top-level sections continue to reflect the
effective running config.
Frontend: read from `base_config` when available in BaseSection,
useConfigOverride, useAllCameraOverrides, and prepareSectionSavePayload.
Include formData labels in Object/Audio switches widgets so that labels
added only by a profile override remain visible when editing that profile.
* use rasterized_mask as field
makes it easier to exclude from the schema with exclude=True
prevents leaking of the field when using model_dump for profiles
* fix zones
- Fix zone colors not matching across profiles by falling back to base zone color when profile zone data lacks a color field
- Use base_config for base-layer values in masks/zones view so profile-merged values don't pollute the base config editing view
- Handle zones separately in profile manager snapshot/restore since ZoneConfig requires special serialization (color as private attr, contour generation)
- Inherit base zone color and generate contours for profile zone overrides in profile manager
* formatting
* don't require restart for camera enabled change for profiles
* publish camera state when changing profiles
* formatting
* remove available profiles from mqtt
* improve typing
Currently translated at 100.0% (138 of 138 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (915 of 915 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (467 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (58 of 58 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1084 of 1084 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.9% (462 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 82.8% (758 of 915 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (171 of 171 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.9% (462 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (230 of 230 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (23 of 23 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1084 of 1084 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 71.4% (654 of 915 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1084 of 1084 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (22 of 22 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 73.9% (17 of 23 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 82.8% (387 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 20.5% (96 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 8.6% (94 of 1084 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 7.2% (34 of 467 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 65.2% (15 of 23 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 3.1% (34 of 1084 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 71.3% (653 of 915 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 82.8% (140 of 169 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 54.5% (12 of 22 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 52.0% (13 of 25 strings)
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: veberj.mark2c82ae088dda4760 <veberj.mark@gmail.com>
Co-authored-by: 郁闷的太子 <taiziccf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/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-exports/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/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 27.2% (6 of 22 strings)
Translated using Weblate (Hungarian)
Currently translated at 4.2% (20 of 467 strings)
Translated using Weblate (Hungarian)
Currently translated at 24.0% (6 of 25 strings)
Translated using Weblate (Hungarian)
Currently translated at 1.8% (20 of 1084 strings)
Translated using Weblate (Hungarian)
Currently translated at 65.2% (15 of 23 strings)
Translated using Weblate (Hungarian)
Currently translated at 16.0% (4 of 25 strings)
Translated using Weblate (Hungarian)
Currently translated at 18.1% (4 of 22 strings)
Translated using Weblate (Hungarian)
Currently translated at 80.4% (111 of 138 strings)
Translated using Weblate (Hungarian)
Currently translated at 1.4% (16 of 1084 strings)
Translated using Weblate (Hungarian)
Currently translated at 3.8% (18 of 467 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ZsiGiT <zsigit@gmail.com>
Co-authored-by: veberj.mark2c82ae088dda4760 <veberj.mark@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/hu/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/hu/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Currently translated at 100.0% (230 of 230 strings)
Translated using Weblate (German)
Currently translated at 56.9% (617 of 1084 strings)
Translated using Weblate (German)
Currently translated at 100.0% (98 of 98 strings)
Translated using Weblate (German)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (German)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (German)
Currently translated at 99.4% (170 of 171 strings)
Translated using Weblate (German)
Currently translated at 71.7% (335 of 467 strings)
Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (German)
Currently translated at 100.0% (23 of 23 strings)
Translated using Weblate (German)
Currently translated at 100.0% (54 of 54 strings)
Translated using Weblate (German)
Currently translated at 79.8% (731 of 915 strings)
Translated using Weblate (German)
Currently translated at 79.8% (731 of 915 strings)
Translated using Weblate (German)
Currently translated at 31.4% (341 of 1084 strings)
Translated using Weblate (German)
Currently translated at 99.4% (168 of 169 strings)
Translated using Weblate (German)
Currently translated at 100.0% (138 of 138 strings)
Translated using Weblate (German)
Currently translated at 40.4% (189 of 467 strings)
Translated using Weblate (German)
Currently translated at 18.4% (200 of 1084 strings)
Translated using Weblate (German)
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (German)
Currently translated at 93.4% (158 of 169 strings)
Translated using Weblate (German)
Currently translated at 78.9% (722 of 915 strings)
Translated using Weblate (German)
Currently translated at 24.8% (116 of 467 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sebastian Sie <sebastian.neuplanitz@googlemail.com>
Co-authored-by: zobe123 <manuel.zobl@gmx.at>
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-filter/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/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/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
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-settings
Translation: Frigate NVR/views-system
setVolumeStates was replacing the entire state object instead of
merging, so changing one camera's volume reset all others to default.
Uses the functional update pattern to preserve existing state, matching
how toggleAudio already works.
The connect() function creates a WebSocket but never stores the
reference. The useEffect cleanup only closes the RTCPeerConnection
via pcRef, leaving the WebSocket open.
Each time the component re-renders with changed deps (camera switch,
playback toggle, microphone toggle), a new WebSocket is created
without closing the previous one. This leaks connections until the
browser garbage-collects them or the server times out.
Store the WebSocket in a ref and close it in the cleanup function.
When an existing tracked object's label or stationary status changes
(e.g. sub_label assignment from face recognition), the update handler
declares a new const newObjects that shadows the outer let newObjects.
The label and stationary mutations apply to the inner copy, but
handleSetObjects on line 148 reads the outer variable which was never
mutated. The update is silently discarded.
Remove the inner declaration so mutations apply to the outer variable
that gets passed to handleSetObjects.
* fix double scrollbar in debug replay
* always hide ffmpeg cpu warnings for replay cameras
* add slovenian
* fix motion previews on safari and ios
match the logic used in ScrubbablePreview for manually stepping currentTime at the correct rate
* prevent motion recalibration when opening motion tuner
* add shm frame lifetime calculation and update UI for shared memory metrics
* consistent sizing on activity indicator in save buttons
* fix offline overlay overflowing on mobile when in grid mode
* refactor websockets to remove react-tracked
react 19 removed useReducer eager bailout, which broke react-tracked.
react-tracked works by wrapping state in a JavaScript Proxy. When a component reads state.someField, the proxy records that access. On the next state update, it compares only the fields each component actually touched and skips re-renders if those fields are unchanged. Under the hood, this relies on useReducer — and in React 18, useReducer had an "eager bail-out" that short-circuited rendering when the new state was === to the old state. React 19 removed that optimization, so every dispatch now schedules a render regardless, and the proxy comparison runs too late to prevent it.
useSyncExternalStore is a React primitive (added in 18, stable in 19) designed for exactly this pattern: subscribing to an external store:
useSyncExternalStore(
subscribe, // (listener) => unsubscribe — called when the store changes
getSnapshot // () => value — returns the current value for this subscriber
)
React calls getSnapshot during render and compares the result with Object.is. If the value is the same reference, the component bails out — no re-render. The key difference from react-tracked is that this bail-out is built into React's reconciler, not bolted on via proxy tricks and useReducer.
The per-topic subscription model makes this efficient. Instead of one global store where every subscriber has to check if their fields changed, each useWs("some/topic", ...) call subscribes only to that topic's listener set. When a message arrives for front_door/detect/state, only components subscribed to that exact topic get their listener fired → React calls their getSnapshot → Object.is compares the value → bail-out if unchanged. Components watching back_yard/detect/state are never even notified.
* remove react-tracked and react-use-websocket
* refactor usePolygonStates to use ws topic subscription
* fix TimeAgo refresh interval always returning 1s due to unit mismatch (seconds vs milliseconds)
older events now correctly refresh every minute/hour instead of every second
* simplify
* clean up
* don't resend onconnect
* clean up
* remove patch
Currently translated at 24.7% (268 of 1084 strings)
Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 63.5% (297 of 467 strings)
Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (58 of 58 strings)
Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (230 of 230 strings)
Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 86.9% (147 of 169 strings)
Added translation using Weblate (Cantonese (Traditional Han script))
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Cantonese (Traditional Han script))
Added translation using Weblate (Cantonese (Traditional Han script))
Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 0.2% (1 of 464 strings)
Added translation using Weblate (Cantonese (Traditional Han script))
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: beginner2047 <leoywng44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-system
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Korean)
Added translation using Weblate (Korean)
Added translation using Weblate (Korean)
Translated using Weblate (Korean)
Currently translated at 86.2% (50 of 58 strings)
Translated using Weblate (Korean)
Currently translated at 99.5% (227 of 228 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John <john@akfn.net>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ko/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ko/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Persian)
Added translation using Weblate (Persian)
Added translation using Weblate (Persian)
Translated using Weblate (Persian)
Currently translated at 99.0% (215 of 217 strings)
Co-authored-by: Amir reza Irani ali poor <amir1376irani@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fa/
Translation: Frigate NVR/common
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Swedish)
Added translation using Weblate (Swedish)
Added translation using Weblate (Swedish)
Translated using Weblate (Swedish)
Currently translated at 96.5% (56 of 58 strings)
Translated using Weblate (Swedish)
Currently translated at 92.5% (136 of 147 strings)
Translated using Weblate (Swedish)
Currently translated at 95.1% (217 of 228 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: ThomasW <thomas.wursig@remote24.se>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-system
Currently translated at 0.1% (1 of 1082 strings)
Translated using Weblate (French)
Currently translated at 4.0% (1 of 25 strings)
Translated using Weblate (French)
Currently translated at 4.5% (1 of 22 strings)
Added translation using Weblate (French)
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (French)
Added translation using Weblate (French)
Translated using Weblate (French)
Currently translated at 80.4% (720 of 895 strings)
Translated using Weblate (French)
Currently translated at 99.5% (227 of 228 strings)
Translated using Weblate (French)
Currently translated at 33.1% (154 of 464 strings)
Translated using Weblate (French)
Currently translated at 100.0% (147 of 147 strings)
Added translation using Weblate (French)
Translated using Weblate (French)
Currently translated at 100.0% (58 of 58 strings)
Translated using Weblate (French)
Currently translated at 100.0% (23 of 23 strings)
Translated using Weblate (French)
Currently translated at 93.8% (138 of 147 strings)
Translated using Weblate (French)
Currently translated at 96.4% (220 of 228 strings)
Translated using Weblate (French)
Currently translated at 81.0% (716 of 883 strings)
Co-authored-by: Apocoloquintose <bertrand.moreux@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: eepy-furry <eepy-furry@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/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/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 2.9% (14 of 467 strings)
Translated using Weblate (Spanish)
Currently translated at 73.9% (17 of 23 strings)
Translated using Weblate (Spanish)
Currently translated at 72.1% (660 of 915 strings)
Translated using Weblate (Spanish)
Currently translated at 83.4% (141 of 169 strings)
Translated using Weblate (Spanish)
Currently translated at 56.0% (14 of 25 strings)
Translated using Weblate (Spanish)
Currently translated at 69.5% (16 of 23 strings)
Translated using Weblate (Spanish)
Currently translated at 73.1% (655 of 896 strings)
Translated using Weblate (Spanish)
Currently translated at 2.8% (13 of 464 strings)
Translated using Weblate (Spanish)
Currently translated at 1.7% (19 of 1082 strings)
Translated using Weblate (Spanish)
Currently translated at 63.6% (14 of 22 strings)
Translated using Weblate (Spanish)
Currently translated at 0.8% (9 of 1082 strings)
Translated using Weblate (Spanish)
Currently translated at 65.2% (15 of 23 strings)
Translated using Weblate (Spanish)
Currently translated at 81.0% (137 of 169 strings)
Translated using Weblate (Spanish)
Currently translated at 28.0% (7 of 25 strings)
Translated using Weblate (Spanish)
Currently translated at 1.0% (5 of 464 strings)
Translated using Weblate (Spanish)
Currently translated at 31.8% (7 of 22 strings)
Added translation using Weblate (Spanish)
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Spanish)
Added translation using Weblate (Spanish)
Added translation using Weblate (Spanish)
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jorge Sandi <jorensanbar+weblate@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/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/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/common
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 13.7% (64 of 464 strings)
Translated using Weblate (Dutch)
Currently translated at 13.5% (63 of 464 strings)
Translated using Weblate (Dutch)
Currently translated at 4.7% (51 of 1082 strings)
Added translation using Weblate (Dutch)
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Dutch)
Added translation using Weblate (Dutch)
Added translation using Weblate (Dutch)
Translated using Weblate (Dutch)
Currently translated at 100.0% (58 of 58 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (23 of 23 strings)
Translated using Weblate (Dutch)
Currently translated at 74.9% (671 of 895 strings)
Translated using Weblate (Dutch)
Currently translated at 93.1% (137 of 147 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com>
Co-authored-by: Paul Bröerken <broerken@me.com>
Co-authored-by: marcel vanrooden <marcelvanrooden@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/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/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Added translation using Weblate (Italian)
Added translation using Weblate (Italian)
Added translation using Weblate (Italian)
Translated using Weblate (Italian)
Currently translated at 100.0% (228 of 228 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (58 of 58 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (23 of 23 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (147 of 147 strings)
Co-authored-by: Gringo <ita.translations@tiscali.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/it/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-system