mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-08 06:25:27 +03:00
* hide camera overrides badge from system sections * show empty card on camera metrics page when no cameras are defined * fix enabled camera state switch after adding via wizard Cameras added mid-session have no WS state until the dispatcher publishes camera_activity (which only happens on a fresh onConnect). Fall back to the config's enabled value so the switch reflects reality immediately after the wizard closes. * guard camera enabled access console would throw errors after adding via camera wizard * fix useOptimisticState dropping debounced setState under StrictMode * use openvino on cpu as default model - faster than tflite on cpu - add to default generated config * use an enum for model_size the frontend will then render this as a select dropdown because of the changes in the json schema * i18n * sync object filter entries with tracked labels in camera config form Filter sub-collapsibles in the camera Objects section are driven by `filters` dict keys, but profile merges and live track-switch edits don't add matching entries, so newly tracked labels (like from a profile override) had no collapsible. Synthesize default filter entries from `track` in the form data so every tracked label renders a collapsible; baseline data also gets the synthesized entries, so save payloads are unchanged. * revalidate raw paths cache after config save so CameraPathWidget shows fresh credentials * fix test * restore masked ffmpeg credentials when persisting camera config * formatting * rebuild ffmpeg commands when enabling recording for the first time Toggling record.enabled from the config UI updated the in-memory config but left ffmpeg running with its original command, so the record output args were never wired in and nothing landed in the cache for the maintainer to move. The record config update now rebuilds ffmpeg_cmds when enabled_in_config transitions, and the camera watchdog restarts ffmpeg on a false to true transition so the record output gets wired in. MQTT toggles, which only flip record.enabled at runtime, are unaffected and continue to work via the maintainer's drop/keep gate. * keep record toggle switch in single camera view disabled until enabled in config * fix override detection for sections unset in the global config Override badges and the blue dot now compare against schema defaults for sections like motion that the API serializes as null when omitted from the global YAML, instead of treating any populated camera config as an override * add support for config-aware patterns in section hiddenFields Section configs can now declare dynamic hidden-field entries as functions of the loaded config; objects.ts uses this to hide auto-populated attribute filters (DHL, face, license_plate, etc.) from the form, save flow, and override popover when those labels aren't user-settable * siimplify object filters handling live updating was getting very messy. users will just need to save once they enable a new object in order to see filters for that object * tweaks * update docs for new detector default * make genai provider required and add special case for UI prevent validation errors from appearing on initial creation of genai provider by setting the first option in the select dropdown as default
201 lines
5.8 KiB
JSON
201 lines
5.8 KiB
JSON
{
|
|
"documentTitle": {
|
|
"default": "Live - Frigate",
|
|
"withCamera": "{{camera}} - Live - Frigate"
|
|
},
|
|
"lowBandwidthMode": "Low-bandwidth Mode",
|
|
"twoWayTalk": {
|
|
"enable": "Enable Two Way Talk",
|
|
"disable": "Disable Two Way Talk"
|
|
},
|
|
"cameraAudio": {
|
|
"enable": "Enable Camera Audio",
|
|
"disable": "Disable Camera Audio"
|
|
},
|
|
"ptz": {
|
|
"move": {
|
|
"clickMove": {
|
|
"label": "Click in the frame to center the camera",
|
|
"enable": "Enable click to move",
|
|
"enableWithZoom": "Enable click to move / drag to zoom",
|
|
"disable": "Disable click to move"
|
|
},
|
|
"left": {
|
|
"label": "Move PTZ camera to the left"
|
|
},
|
|
"up": {
|
|
"label": "Move PTZ camera up"
|
|
},
|
|
"down": {
|
|
"label": "Move PTZ camera down"
|
|
},
|
|
"right": {
|
|
"label": "Move PTZ camera to the right"
|
|
}
|
|
},
|
|
"zoom": {
|
|
"in": {
|
|
"label": "Zoom PTZ camera in"
|
|
},
|
|
"out": {
|
|
"label": "Zoom PTZ camera out"
|
|
}
|
|
},
|
|
"focus": {
|
|
"in": {
|
|
"label": "Focus PTZ camera in"
|
|
},
|
|
"out": {
|
|
"label": "Focus PTZ camera out"
|
|
}
|
|
},
|
|
"frame": {
|
|
"center": {
|
|
"label": "Click in the frame to center the PTZ camera"
|
|
}
|
|
},
|
|
"presets": "PTZ camera presets"
|
|
},
|
|
"camera": {
|
|
"enable": "Enable Camera",
|
|
"disable": "Disable Camera"
|
|
},
|
|
"muteCameras": {
|
|
"enable": "Mute All Cameras",
|
|
"disable": "Unmute All Cameras"
|
|
},
|
|
"detect": {
|
|
"enable": "Enable Detect",
|
|
"disable": "Disable Detect"
|
|
},
|
|
"recording": {
|
|
"enable": "Enable Recording",
|
|
"disable": "Disable Recording",
|
|
"disabledInConfig": "Recording must first be enabled in Settings for this camera."
|
|
},
|
|
"snapshots": {
|
|
"enable": "Enable Snapshots",
|
|
"disable": "Disable Snapshots"
|
|
},
|
|
"snapshot": {
|
|
"takeSnapshot": "Download instant snapshot",
|
|
"noVideoSource": "No video source available for snapshot.",
|
|
"captureFailed": "Failed to capture snapshot.",
|
|
"downloadStarted": "Snapshot download started."
|
|
},
|
|
"audioDetect": {
|
|
"enable": "Enable Audio Detect",
|
|
"disable": "Disable Audio Detect"
|
|
},
|
|
"transcription": {
|
|
"enable": "Enable Live Audio Transcription",
|
|
"disable": "Disable Live Audio Transcription"
|
|
},
|
|
"autotracking": {
|
|
"enable": "Enable Autotracking",
|
|
"disable": "Disable Autotracking"
|
|
},
|
|
"streamStats": {
|
|
"enable": "Show Stream Stats",
|
|
"disable": "Hide Stream Stats"
|
|
},
|
|
"manualRecording": {
|
|
"title": "On-Demand",
|
|
"tips": "Download an instant snapshot or start a manual event based on this camera's recording retention settings.",
|
|
"playInBackground": {
|
|
"label": "Play in background",
|
|
"desc": "Enable this option to continue streaming when the player is hidden."
|
|
},
|
|
"showStats": {
|
|
"label": "Show Stats",
|
|
"desc": "Enable this option to show stream statistics as an overlay on the camera feed."
|
|
},
|
|
"debugView": "Debug View",
|
|
"start": "Start on-demand recording",
|
|
"started": "Started manual on-demand recording.",
|
|
"failedToStart": "Failed to start manual on-demand recording.",
|
|
"recordDisabledTips": "Since recording is disabled or restricted in the config for this camera, only a snapshot will be saved.",
|
|
"end": "End on-demand recording",
|
|
"ended": "Ended manual on-demand recording.",
|
|
"failedToEnd": "Failed to end manual on-demand recording."
|
|
},
|
|
"streamingSettings": "Streaming Settings",
|
|
"notifications": "Notifications",
|
|
"audio": "Audio",
|
|
"suspend": {
|
|
"forTime": "Suspend for: "
|
|
},
|
|
"stream": {
|
|
"title": "Stream",
|
|
"audio": {
|
|
"tips": {
|
|
"title": "Audio must be output from your camera and configured in go2rtc for this stream."
|
|
},
|
|
"available": "Audio is available for this stream",
|
|
"unavailable": "Audio is not available for this stream"
|
|
},
|
|
"debug": {
|
|
"picker": "Stream selection unavailable in debug mode. Debug view always uses the stream assigned the detect role."
|
|
},
|
|
"twoWayTalk": {
|
|
"tips": "Your device must support the feature and WebRTC must be configured for two-way talk.",
|
|
"available": "Two-way talk is available for this stream",
|
|
"unavailable": "Two-way talk is unavailable for this stream"
|
|
},
|
|
"lowBandwidth": {
|
|
"tips": "Live view is in low-bandwidth mode due to buffering or stream errors.",
|
|
"resetStream": "Reset stream"
|
|
},
|
|
"playInBackground": {
|
|
"label": "Play in background",
|
|
"tips": "Enable this option to continue streaming when the player is hidden."
|
|
}
|
|
},
|
|
"cameraSettings": {
|
|
"title": "{{camera}} Settings",
|
|
"cameraEnabled": "Camera Enabled",
|
|
"objectDetection": "Object Detection",
|
|
"recording": "Recording",
|
|
"snapshots": "Snapshots",
|
|
"audioDetection": "Audio Detection",
|
|
"transcription": "Audio Transcription",
|
|
"autotracking": "Autotracking"
|
|
},
|
|
"history": {
|
|
"label": "Show historical footage"
|
|
},
|
|
"effectiveRetainMode": {
|
|
"modes": {
|
|
"all": "All",
|
|
"motion": "Motion",
|
|
"active_objects": "Active Objects"
|
|
}
|
|
},
|
|
"editLayout": {
|
|
"label": "Edit Layout",
|
|
"group": {
|
|
"label": "Edit Camera Group"
|
|
},
|
|
"exitEdit": "Exit Editing"
|
|
},
|
|
"noCameras": {
|
|
"title": "No Cameras Configured",
|
|
"description": "Get started by connecting a camera to Frigate.",
|
|
"buttonText": "Add Camera",
|
|
"restricted": {
|
|
"title": "No Cameras Available",
|
|
"description": "You don't have permission to view any cameras in this group."
|
|
},
|
|
"default": {
|
|
"title": "No Cameras Configured",
|
|
"description": "Get started by connecting a camera to Frigate.",
|
|
"buttonText": "Add Camera"
|
|
},
|
|
"group": {
|
|
"title": "No Cameras in Group",
|
|
"description": "This camera group has no assigned or enabled cameras.",
|
|
"buttonText": "Manage Groups"
|
|
}
|
|
}
|
|
}
|