Compare commits

...
Author SHA1 Message Date
dependabot[bot]andGitHub cffef45730 Update numpy requirement from ==1.26.* to ==2.5.* in /docker/main
Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.26.0.dev0...v2.5.3)

---
updated-dependencies:
- dependency-name: numpy
  dependency-version: 2.5.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-16 11:33:07 +00:00
Josh HawkinsandGitHub 79ca18d439 fix build warnings from tailwind, fonts, and fast refresh (#24359)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
fix duplicated styles, move fonts to src/assets/fonts for vite to bundle (nginx already rewrites correctly), and fix fast refresh for PreviewController, auth context/provider, and statusbar context
2026-09-15 15:33:09 -06:00
Josh HawkinsandGitHub cabdffea20 Update more web deps and reformat with updated prettier (#24358)
* update date-fns, i18next, react-dropzone, react-markdown and @types/node

react-i18next 17 peers `i18next >= 26.2.0`, so the two move together. react-day-picker already depends on date-fns 4, so date-fns now dedupes to a single copy. react-dropzone 20 declares `node >=22` in `engines`, but npm only warns on Node 20 and nothing in the build needs Node 22.

* update js-yaml, @hookform/resolvers and prettier

js-yaml 5 has no default export, so `DictAsYamlField` imports `dump`, `load` and `YAMLException` by name. @hookform/resolvers 5 types `zodResolver` with the schema's input and output types separately, and fields with defaults are optional on input, so the zone and classification model forms pass both types to `useForm`. zod's range now starts at 3.25, which resolvers 5 requires.

* format with prettier 3.9
2026-09-15 15:18:49 -06:00
Josh HawkinsandGitHub ba41c90c07 Remove unused deps (#24355)
* remove unused web test deps

Nothing runs vitest. The CI step that called `npm run test` is commented out, `web/__test__/` was deleted in https://github.com/blakeblackshear/frigate/pull/8983 so `setupFiles` points at a missing file, and there are no unit tests, so `npx vitest run` only picks up the Playwright specs and fails. jsdom, `@testing-library/jest-dom`, msw and fake-indexeddb were only there for vitest.

* update contributing docs

* remove unused deps
2026-09-15 14:02:02 -06:00
Josh HawkinsandGitHub 0c52a3175d update radix, react, konva and other web dependencies (#24354)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
konva 10.5 removed the private `Node._lastPos`, so `PolygonCanvas` now reads the dragged point from `getAbsolutePosition()`, which returns the position konva just applied. monaco-yaml 5.5 takes formatter options instead of a boolean for `format`. The radix packages move together so every shared primitive stays a single copy under the `react-slot` and `compose-refs` overrides.
2026-09-15 12:39:31 -05:00
Josh HawkinsandGitHub 4c648f8147 bump copy-to-clipboard to 4.0.2 (#24353) 2026-09-15 12:03:20 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e0d4337a25 Update memray requirement from ==1.15.* to ==1.20.* in /docker/main (#24343)
Updates the requirements on [memray](https://github.com/bloomberg/memray) to permit the latest version.
- [Release notes](https://github.com/bloomberg/memray/releases)
- [Changelog](https://github.com/bloomberg/memray/blob/main/NEWS.rst)
- [Commits](https://github.com/bloomberg/memray/compare/v1.15.0...v1.20.0)

---
updated-dependencies:
- dependency-name: memray
  dependency-version: 1.20.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:16:45 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5e689f2d85 Update uvicorn requirement from ==0.46.* to ==0.52.* in /docker/main (#24341)
Updates the requirements on [uvicorn](https://github.com/Kludex/uvicorn) to permit the latest version.
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/uvicorn/compare/0.46.0...0.52.4)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-version: 0.52.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:16:40 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
57a2765d00 Update netaddr requirement from ==0.8.* to ==1.3.* in /docker/main (#24346)
Updates the requirements on [netaddr](https://github.com/netaddr/netaddr) to permit the latest version.
- [Release notes](https://github.com/netaddr/netaddr/releases)
- [Changelog](https://github.com/netaddr/netaddr/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/netaddr/netaddr/compare/0.8.0...1.3.0)

---
updated-dependencies:
- dependency-name: netaddr
  dependency-version: 1.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:16:33 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dd77bae4f7 Bump @radix-ui/react-progress from 1.1.8 to 1.1.16 in /web (#24342)
Bumps [@radix-ui/react-progress](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/progress) from 1.1.8 to 1.1.16.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/progress/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/progress)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-progress"
  dependency-version: 1.1.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:16:16 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8a98d7c9b1 Bump @radix-ui/react-radio-group from 1.3.8 to 1.4.7 in /web (#24339)
Bumps [@radix-ui/react-radio-group](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radio-group) from 1.3.8 to 1.4.7.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/radio-group/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radio-group)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-radio-group"
  dependency-version: 1.4.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:00:33 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8a8da663c0 Bump lucide-react from 0.577.0 to 1.45.0 in /web (#24337)
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.577.0 to 1.45.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.45.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 1.45.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:00:26 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
eddc9fccd1 Bump autoprefixer from 10.4.20 to 10.5.6 in /web (#24340)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.20 to 10.5.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.20...10.5.6)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-version: 10.5.6
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:00:19 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
84f981a77c Bump @radix-ui/react-toggle from 1.1.10 to 1.1.18 in /web (#24344)
Bumps [@radix-ui/react-toggle](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toggle) from 1.1.10 to 1.1.18.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/toggle/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/toggle)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-toggle"
  dependency-version: 1.1.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-15 10:00:12 -05:00
Josh HawkinsandGitHub 4100383738 Miscellaneous fixes (#24352)
* fix recordings unavailable endpoint when no params are provided

we already import the datetime class directly, so those attribute lookups raised AttributeError and the request returned 500

* reject JWTs whose role is no longer in the config

`/auth` trusted the role inside the JWT and re-signed it on refresh without checking the config, so a user whose restricted role was deleted kept a session carrying a role that isn't in `auth.roles`. The media, clip, recording, export and go2rtc checks treat a missing role the same as a role with no camera list, so that session could open every camera. `/auth` now returns 401 for a token whose role isn't configured, which sends the user back through login, and login already falls back to `viewer` for a role that's gone.

* delete the deleted camera group's layout, not the open one's

Deleting a camera group removed the layout of the group being viewed, because the dialog's delete was bound to `${activeGroup}-draggable-layout`. It also cleared the saved group, and both ran before the `config/set` request whether or not it succeeded, so deleting one group while viewing another lost the open group's layout and left the deleted group's layout behind. The deleted group's own layout is now removed after a successful save, and the saved group is only cleared when it was the open group.

* don't block API when querying PTZ info

camera_ptz_info is async but waited on the ONVIF controller's future with future.result(), blocking the API event loop for as long as a slow or unreachable ONVIF camera took to answer (including reconnect attempts), so every other async request stalled with it. Await the future with asyncio.wrap_future instead. The coroutine runs on the controller's own loop and thread, so this cannot deadlock.

* for custom exports, only allow admin users to add to existing cases

follows the existing convention where attaching an export to an existing case is admin-only on `POST /export/{camera}/...` and `POST /exports/batch`

* drop pending edits for a camera or profile that no longer exists

* match cached preview frames to their camera exactly

https://github.com/blakeblackshear/frigate/pull/22594 added a trailing `-` to the `preview_{camera}` prefix so `camera` stopped matching `camera2`'s frames, but camera names can contain `-`, so `front` still matched `front-door`'s. After a restart, `front`'s preview recorder deleted this hour's frames of a matching camera that sorted before it and added the timestamps of one that sorted after it, so ffmpeg was asked for files that don't exist and that hour's preview was lost. The offline fallback for `latest.jpg` could also return `front-door`'s frame for `front`, even to a user without access to `front-door`, and a short export could take its fallback thumbnail from the other camera. These now compare the full camera name taken from the file name.
2026-09-15 07:48:30 -05:00
Josh HawkinsandGitHub fa30a7e1ae Replace react-logviewer with virtua (#24334)
* bump react-logviewer to 6.5.5

* use virtua for UI logs
2026-09-15 05:44:04 -06:00
Josh HawkinsandGitHub eecc43ccef bump rjsf to 6.10.0 and add e2e test (#24332)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
2026-09-14 13:36:27 -05:00
Nicolas MowenandGitHub 7821ecbb43 Migrate Hailo detector key and support hailo device (#24327)
* Migrate Hailo detector key and support hailo device

* Fix missing check
2026-09-14 08:23:36 -06:00
Josh HawkinsandGitHub caa6edecac Migrate web to ESLint 10 flat config (#24326)
* migrate web to eslint 10 flat config

ESLint 10 dropped `.eslintrc` support, so `.eslintrc.cjs` is replaced with `eslint.config.js` and the lint scripts no longer pass `--ext` or `--ignore-path`. typescript-eslint moves to 8, react-hooks to 7, and react-refresh to 0.5, and the unused jest and vitest-globals plugins are removed. Lint behaves as it did before: catch variables aren't checked, unused disable directives aren't reported, and rules newly added to the recommended sets are off until the code passes them. typescript-eslint 8 flags constants used only in `typeof`, so those are now exported, or replaced with a union type where the export would trip react-refresh.

* fix lint findings from the eslint 10 recommended rules

Remove the rule overrides from the flat config migration and fix what they were hiding. Unused catch bindings are dropped, 20 disable directives that suppressed nothing are removed (react-hooks 5.2 and 7.1.1 report identical exhaustive-deps findings with inline config ignored), dead initial values are dropped, short-circuit calls become if statements or optional calls, rethrown errors pass `cause`, and the disabled "No recordings" tooltip in `ReviewTimeline` is removed along with its memo and the `getRecordingAvailability` prop. The 3 react-refresh warnings for files that export contexts or classes are left for a later refactor.
2026-09-14 07:53:45 -06:00
Josh HawkinsandGitHub acc740a976 Update deps (#24324)
* update docusaurus to 3.10.2

* bump @types/node to 25.9.6 and ES2022

target ES2022, which already includes ES2020 and ES2021.String, so the lib list was also trimmed

* bump vite to 8.3.0 and vitest to 4.1.11

Swap `@vitejs/plugin-react-swc` for `@vitejs/plugin-react` and add `esbuild` as a devDependency, since `vite-plugin-monaco-editor` requires it and Vite 8 no longer ships it. `keepNames` moves to `build.rolldownOptions.output` because Vite 8 ignores the `esbuild` block. Rolldown's minifier now writes the preload helper's base path as a template literal instead of a double-quoted string, so the nginx `sub_filter` for `return"/BASE_PATH/"` stopped matching and lazy-loaded chunks and their CSS were requested from a literal `/BASE_PATH/` under Home Assistant ingress. The rule now matches the backtick form.

* bump apexcharts to 7.3.0 and react-apexcharts to 2.1.1

Under Vite 8, a default import from a CommonJS package resolves to its whole `module.exports` when `package.json` has `"type": "module"`, so react-apexcharts 1.4.1 handed React an object and every chart crashed. 2.x ships an ESM build. apexcharts 7 no longer sets `window.ApexCharts`, so the chart components now import it for `ApexCharts.exec`, and `ApexAxisChartSeries` is derived in `types/graph.ts` because it's no longer a global type.

* remove unused immer dep

* remove unused cython pin from tensorrt requirements

The pin was added alongside tensorrt 8.5.3 and cuda-python 11.8, which needed Cython to build, and both have since been dropped from this file. Nothing imports Cython at runtime, and `pip3 wheel` runs with build isolation, so any source build gets its own build dependencies. The pin only installed an unused Cython wheel into the TensorRT image.

* require node 20.19 for docs
2026-09-14 07:16:31 -06:00
Josh HawkinsandGitHub 3931ab74a8 fix mypy errors from types-peewee 4.0 (#24323)
types-peewee 4.0 types model fields precisely, so 17 `type: ignore` comments and 2 `cast(str, ...)` calls are no longer needed. Its stubs type `.namedtuples()` and `.dicts()` queries as returning model instances, so the review cleanup reads namedtuple fields by name and the storage usage query casts its dict rows. `start_time` is declared `DateTimeField` but stores unix timestamps, so two reads cast it like `debug_replay.py` already does. `Export` gets an annotation for the `export_case_id` attribute peewee adds at runtime.
2026-09-14 07:52:23 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5be162a22c Update sherpa-onnx requirement from ==1.12.* to ==1.13.* in /docker/main (#24303)
Updates the requirements on [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) to permit the latest version.
- [Changelog](https://github.com/k2-fsa/sherpa-onnx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/k2-fsa/sherpa-onnx/compare/v1.12.0...v1.13.8)

---
updated-dependencies:
- dependency-name: sherpa-onnx
  dependency-version: 1.13.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:29:35 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e57eeb8288 Update unidecode requirement from ==1.3.* to ==1.4.* in /docker/main (#24320)
Updates the requirements on [unidecode](https://github.com/kmike/text-unidecode) to permit the latest version.
- [Release notes](https://github.com/kmike/text-unidecode/releases)
- [Commits](https://github.com/kmike/text-unidecode/commits)

---
updated-dependencies:
- dependency-name: unidecode
  dependency-version: 1.4.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:29:30 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cf03df8a98 Update prometheus-client requirement in /docker/main (#24313)
Updates the requirements on [prometheus-client](https://github.com/prometheus/client_python) to permit the latest version.
- [Release notes](https://github.com/prometheus/client_python/releases)
- [Commits](https://github.com/prometheus/client_python/compare/v0.21.0...v0.26.0)

---
updated-dependencies:
- dependency-name: prometheus-client
  dependency-version: 0.26.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:29:25 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fa36fa403b Update starlette-context requirement in /docker/main (#24305)
Updates the requirements on [starlette-context](https://github.com/tomwojcik/starlette-context) to permit the latest version.
- [Release notes](https://github.com/tomwojcik/starlette-context/releases)
- [Commits](https://github.com/tomwojcik/starlette-context/compare/v0.4.0...v0.5.1)

---
updated-dependencies:
- dependency-name: starlette-context
  dependency-version: 0.5.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:29:20 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
069315be33 Bump @radix-ui/react-aspect-ratio from 1.1.2 to 1.1.15 in /web (#24314)
Bumps [@radix-ui/react-aspect-ratio](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/aspect-ratio) from 1.1.2 to 1.1.15.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/aspect-ratio/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/aspect-ratio)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-aspect-ratio"
  dependency-version: 1.1.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:28:06 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c583e21b70 Bump framer-motion from 12.38.0 to 13.2.0 in /web (#24307)
Bumps [framer-motion](https://github.com/motiondivision/motion) from 12.38.0 to 13.2.0.
- [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/motiondivision/motion/compare/v12.38.0...v13.2.0)

---
updated-dependencies:
- dependency-name: framer-motion
  dependency-version: 13.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 07:28:01 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bb6c2e98eb Bump docker/login-action from 3.5.0 to 4.6.0 (#23872)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.5.0 to 4.6.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/184bdaa0721073962dff0199f1fb9940f07167d1...dbcb813823bdd20940b903addbd779551569679f)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 17:39:20 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0570a9c4eb Bump actions/checkout from 6 to 7 (#23510)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 17:36:45 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ced95a1a31 Bump actions/setup-python from 5.4.0 to 7.0.0 (#23768)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.4.0...v7.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 17:27:51 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1f340f389f Bump actions/setup-node from 6 to 7 (#23715)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 17:27:44 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
94422ff24f Update click requirement from ==8.1.* to ==8.5.* in /docker/main (#23067)
Updates the requirements on [click](https://github.com/pallets/click) to permit the latest version.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.md)
- [Commits](https://github.com/pallets/click/compare/8.1.0...8.5.0)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 17:13:38 -05:00
06ff2ced5d bump cryptography to 46 and pin py-vapid to 1.9.4 (#24292)
Co-authored-by: t <t@t>
2026-09-13 15:52:19 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
35b9c4978d Bump python-multipart from 0.0.26 to 0.0.31 in /docker/main (#23497)
Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.26 to 0.0.31.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.31)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.31
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:50 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2106d10e2e Update faster-whisper requirement in /docker/main (#23075)
Updates the requirements on [faster-whisper](https://github.com/SYSTRAN/faster-whisper) to permit the latest version.
- [Release notes](https://github.com/SYSTRAN/faster-whisper/releases)
- [Commits](https://github.com/SYSTRAN/faster-whisper/compare/v1.1.0...v1.2.1)

---
updated-dependencies:
- dependency-name: faster-whisper
  dependency-version: 1.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:45 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8b8c90ee1a Update aiofiles requirement from ==24.1.* to ==25.1.* in /docker/main (#23074)
Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Changelog](https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0)

---
updated-dependencies:
- dependency-name: aiofiles
  dependency-version: 25.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:41 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d462aeb068 Update uvicorn requirement from ==0.35.* to ==0.46.* in /docker/main (#23073)
Updates the requirements on [uvicorn](https://github.com/Kludex/uvicorn) to permit the latest version.
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/uvicorn/compare/0.35.0...0.46.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-version: 0.46.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:37 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
828ecdd0ea Update joserfc requirement from ==1.2.* to ==1.6.* in /docker/main (#23071)
Updates the requirements on [joserfc](https://github.com/authlib/joserfc) to permit the latest version.
- [Release notes](https://github.com/authlib/joserfc/releases)
- [Changelog](https://github.com/authlib/joserfc/blob/main/docs/changelog.rst)
- [Commits](https://github.com/authlib/joserfc/compare/1.2.0...1.6.4)

---
updated-dependencies:
- dependency-name: joserfc
  dependency-version: 1.6.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:33 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d5e3fed130 Update requests requirement from ==2.32.* to ==2.33.* in /docker/main (#23068)
Updates the requirements on [requests](https://github.com/psf/requests) to permit the latest version.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.0...v2.33.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:28 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3e7cb396e2 Update pyzmq requirement from ==26.2.* to ==27.1.* in /docker/main (#23064)
Updates the requirements on [pyzmq](https://github.com/zeromq/pyzmq) to permit the latest version.
- [Release notes](https://github.com/zeromq/pyzmq/releases)
- [Commits](https://github.com/zeromq/pyzmq/compare/v26.2.0...v27.1.0)

---
updated-dependencies:
- dependency-name: pyzmq
  dependency-version: 27.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:24 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d71d573edf Update pyclipper requirement from ==1.3.* to ==1.4.* in /docker/main (#23063)
Updates the requirements on [pyclipper](https://github.com/fonttools/pyclipper) to permit the latest version.
- [Release notes](https://github.com/fonttools/pyclipper/releases)
- [Commits](https://github.com/fonttools/pyclipper/compare/1.3.0...1.4.0)

---
updated-dependencies:
- dependency-name: pyclipper
  dependency-version: 1.4.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 16:16:20 -05:00
4b71cb76dd bump i18next-http-backend to 4.0.2 (#24290)
Co-authored-by: t <t@t>
2026-09-13 15:05:41 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cf59d9ad56 Bump browserslist from 4.23.3 to 4.28.9 in /web (#24287)
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.23.3 to 4.28.9.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.23.3...4.28.9)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:27:19 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
94b37ceb6e Bump nanoid from 3.3.11 to 3.3.19 in /web (#24286)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.11 to 3.3.19.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.11...3.3.19)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-version: 3.3.19
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:27:14 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ea84b1be82 Bump js-yaml from 4.1.1 to 4.3.2 in /web (#24273)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:27:09 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
105b7bb79d Bump micromatch from 4.0.5 to 4.0.8 in /web (#23840)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-version: 4.0.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:27:05 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c46b099e14 Bump braces from 3.0.2 to 3.0.3 in /web (#23839)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-version: 3.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:59 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
05ebab80b6 Bump form-data from 4.0.5 to 4.0.6 in /web (#23532)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:53 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6d2bf59aa6 Bump tmp from 0.2.5 to 0.2.7 in /web (#23334)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:48 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1dd5ec312b Bump eslint-plugin-vitest-globals from 1.5.0 to 1.6.1 in /web (#23058)
Bumps [eslint-plugin-vitest-globals](https://github.com/saqqdy/eslint-plugin-vitest-globals) from 1.5.0 to 1.6.1.
- [Release notes](https://github.com/saqqdy/eslint-plugin-vitest-globals/releases)
- [Changelog](https://github.com/saqqdy/eslint-plugin-vitest-globals/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saqqdy/eslint-plugin-vitest-globals/compare/1.5.0...1.6.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-vitest-globals
  dependency-version: 1.6.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:42 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cd8a159cc6 Bump postcss from 8.5.8 to 8.5.12 in /web (#23051)
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.12.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.12)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.12
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:37 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3da100af62 Bump react-icons from 5.5.0 to 5.6.0 in /web (#23072)
Bumps [react-icons](https://github.com/react-icons/react-icons) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/react-icons/react-icons/releases)
- [Commits](https://github.com/react-icons/react-icons/compare/v5.5.0...v5.6.0)

---
updated-dependencies:
- dependency-name: react-icons
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:32 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d25dbb69e1 Bump uuid and @rjsf/shadcn in /web (#23120)
Bumps [uuid](https://github.com/uuidjs/uuid) to 14.0.0 and updates ancestor dependency [@rjsf/shadcn](https://github.com/rjsf-team/react-jsonschema-form). These dependencies need to be updated together.


Updates `uuid` from 13.0.0 to 14.0.0
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0)

Updates `@rjsf/shadcn` from 6.4.1 to 6.5.2
- [Release notes](https://github.com/rjsf-team/react-jsonschema-form/releases)
- [Changelog](https://github.com/rjsf-team/react-jsonschema-form/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rjsf-team/react-jsonschema-form/compare/6.4.1...6.5.2)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.0
  dependency-type: indirect
- dependency-name: "@rjsf/shadcn"
  dependency-version: 6.5.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:27 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
049263eb42 Bump axios from 1.13.6 to 1.18.0 in /web (#23782)
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.18.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.18.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.18.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:22 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9182d07f12 Bump react-router-dom from 6.30.3 to 6.30.6 in /web (#24282)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.30.3 to 6.30.6.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@6.30.6/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.30.6/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-version: 6.30.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 15:26:18 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8d652ce6e4 Bump @ai-sdk/provider-utils, @ai-sdk/react and ai in /docs (#24284)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
Bumps [@ai-sdk/provider-utils](https://github.com/vercel/ai/tree/HEAD/packages/provider-utils), [@ai-sdk/react](https://github.com/vercel/ai/tree/HEAD/packages/react) and [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai). These dependencies needed to be updated together.

Updates `@ai-sdk/provider-utils` from 3.0.19 to 3.0.37
- [Release notes](https://github.com/vercel/ai/releases)
- [Changelog](https://github.com/vercel/ai/blob/@ai-sdk/provider-utils@3.0.37/packages/provider-utils/CHANGELOG.md)
- [Commits](https://github.com/vercel/ai/commits/@ai-sdk/provider-utils@3.0.37/packages/provider-utils)

Updates `@ai-sdk/react` from 2.0.113 to 2.0.260
- [Release notes](https://github.com/vercel/ai/releases)
- [Changelog](https://github.com/vercel/ai/blob/@ai-sdk/react@2.0.260/packages/react/CHANGELOG.md)
- [Commits](https://github.com/vercel/ai/commits/@ai-sdk/react@2.0.260/packages/react)

Updates `ai` from 5.0.111 to 5.0.257
- [Release notes](https://github.com/vercel/ai/releases)
- [Changelog](https://github.com/vercel/ai/blob/ai@5.0.257/packages/ai/CHANGELOG.md)
- [Commits](https://github.com/vercel/ai/commits/ai@5.0.257/packages/ai)

---
updated-dependencies:
- dependency-name: "@ai-sdk/provider-utils"
  dependency-version: 3.0.37
  dependency-type: indirect
- dependency-name: "@ai-sdk/react"
  dependency-version: 2.0.260
  dependency-type: indirect
- dependency-name: ai
  dependency-version: 5.0.257
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:58:35 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9056696ee5 Bump fast-uri from 3.1.2 to 3.1.7 in /web (#24283)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.7.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.7)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:57:45 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
94c9cdbe9b Bump colord from 2.9.3 to 2.10.0 in /docs (#24281)
Bumps [colord](https://github.com/omgovich/colord) from 2.9.3 to 2.10.0.
- [Release notes](https://github.com/omgovich/colord/releases)
- [Changelog](https://github.com/omgovich/colord/blob/master/CHANGELOG.md)
- [Commits](https://github.com/omgovich/colord/commits/v2.10)

---
updated-dependencies:
- dependency-name: colord
  dependency-version: 2.10.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:54:44 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
95bdc232d3 Bump fast-uri from 3.1.4 to 3.1.7 in /docs (#24280)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.7.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.7)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:48:41 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8d648756d2 Bump baseline-browser-mapping from 2.9.6 to 2.11.23 in /docs (#24276)
Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.9.6 to 2.11.23.
- [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases)
- [Commits](https://github.com/web-platform-dx/baseline-browser-mapping/compare/v2.9.6...v2.11.23)

---
updated-dependencies:
- dependency-name: baseline-browser-mapping
  dependency-version: 2.11.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:48:37 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
89cc76680c Bump joi from 17.13.3 to 17.13.8 in /docs (#24275)
Bumps [joi](https://github.com/hapijs/joi) from 17.13.3 to 17.13.8.
- [Commits](https://github.com/hapijs/joi/compare/v17.13.3...v17.13.8)

---
updated-dependencies:
- dependency-name: joi
  dependency-version: 17.13.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:48:33 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fc57dc3b36 Bump svgo from 3.3.2 to 3.3.5 in /docs (#24274)
Bumps [svgo](https://github.com/svg/svgo) from 3.3.2 to 3.3.5.
- [Release notes](https://github.com/svg/svgo/releases)
- [Commits](https://github.com/svg/svgo/compare/v3.3.2...v3.3.5)

---
updated-dependencies:
- dependency-name: svgo
  dependency-version: 3.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:48:29 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
97a2697587 Bump js-yaml from 4.1.1 to 4.3.2 in /docs (#24277)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:48:25 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
021c12d707 Bump ws in /docs (#23830)
Bumps  and [ws](https://github.com/websockets/ws). These dependencies needed to be updated together.

Updates `ws` from 7.5.10 to 7.5.13
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.10...7.5.13)

Updates `ws` from 8.18.3 to 8.21.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.10...7.5.13)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 7.5.13
  dependency-type: indirect
- dependency-name: ws
  dependency-version: 8.21.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:32:09 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4cdcb51571 Bump postcss from 8.5.6 to 8.5.23 in /docs (#23813)
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.23.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.23)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:32:05 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c2b9e1222f Bump body-parser from 1.20.4 to 1.20.6 in /docs (#23812)
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.4 to 1.20.6.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.4...1.20.6)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-version: 1.20.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:32:00 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
eaad3cdad7 Bump fast-uri from 3.1.2 to 3.1.4 in /docs (#23811)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:56 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cce23c1983 Bump immutable from 5.1.5 to 5.1.9 in /docs (#23797)
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 5.1.5 to 5.1.9.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.5...v5.1.9)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 5.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:50 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c5e9ff6f67 Bump websocket-driver from 0.7.4 to 0.7.5 in /docs (#23729)
Bumps [websocket-driver](https://github.com/faye/websocket-driver-node) from 0.7.4 to 0.7.5.
- [Changelog](https://github.com/faye/websocket-driver-node/blob/main/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-driver-node/compare/0.7.4...0.7.5)

---
updated-dependencies:
- dependency-name: websocket-driver
  dependency-version: 0.7.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:42 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
177e0b73c0 Bump @babel/plugin-transform-modules-systemjs in /docs (#23148)
Bumps [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs) from 7.28.5 to 7.29.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.4/packages/babel-plugin-transform-modules-systemjs)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-modules-systemjs"
  dependency-version: 7.29.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:38 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
54d2c99f6f Bump follow-redirects from 1.15.11 to 1.16.0 in /docs (#22892)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:35 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
54c63c485a Bump brace-expansion in /docs (#22682)
Bumps  and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together.

Updates `brace-expansion` from 1.1.12 to 1.1.13
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

Updates `brace-expansion` from 2.0.2 to 2.0.3
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
- dependency-name: brace-expansion
  dependency-version: 2.0.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:31:31 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7627008c11 Bump mermaid from 11.12.2 to 11.16.1 in /docs (#23935)
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.12.2 to 11.16.1.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.12.2...mermaid@11.16.1)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-version: 11.16.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:30:48 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0987024856 Bump webpack-dev-server from 5.2.2 to 5.2.6 in /docs (#23819)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 5.2.2 to 5.2.6.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v5.2.6/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.2...v5.2.6)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-version: 5.2.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-13 12:29:55 -05:00
Josh HawkinsandGitHub a9eb286db9 Tweaks (#24260)
CI / AMD64 Build (push) Canceled after 0s
CI / AMD64 Smoke Test (push) Canceled after 0s
CI / ARM Build (push) Canceled after 0s
CI / Jetson Jetpack 6 (push) Canceled after 0s
CI / AMD64 Extra Build (push) Canceled after 0s
CI / ARM Extra Build (push) Canceled after 0s
CI / Synaptics Build (push) Canceled after 0s
CI / Assemble and push default build (push) Canceled after 0s
* update versions in discussion templates

* make /run writable by the runtime user under docker's user
2026-09-12 17:07:02 -05:00
Hosted WeblateandJosh Hawkins 9af22e0c2f Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 9f50aae966 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 9b0c06afda Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 87d04687de Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 138eb65ac8 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins d418ba4a8d Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
11bbb2d45e Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (Slovak)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Slovak)

Currently translated at 73.1% (79 of 108 strings)

Translated using Weblate (Slovak)

Currently translated at 98.7% (237 of 240 strings)

Translated using Weblate (Slovak)

Currently translated at 99.8% (499 of 500 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Miroslav Kravec <kravec.miroslav@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins fd31941089 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/views-settings
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 292cc648a2 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 078b1e6bb3 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
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
2026-09-12 16:32:31 -05:00
d2e5de3863 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (Finnish)

Currently translated at 34.4% (172 of 500 strings)

Translated using Weblate (Finnish)

Currently translated at 29.7% (55 of 185 strings)

Translated using Weblate (Finnish)

Currently translated at 40.2% (27 of 67 strings)

Translated using Weblate (Finnish)

Currently translated at 36.1% (39 of 108 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tobbana <tobbana@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fi/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fi/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 4717db79a0 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 2cfdb6cb34 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
8846495e16 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (French)

Currently translated at 21.5% (172 of 800 strings)

Translated using Weblate (French)

Currently translated at 59.9% (284 of 474 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jl3r <jl3r@proton.me>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/fr/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins c639e58dad Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
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-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins aab79dc4cd Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translation: Frigate NVR/components-player
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 33f8caf31e Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 0f86a00afa Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 853d8b0c07 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins de5c18af38 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins acafd8712c Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
b5106863df Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (Hebrew)

Currently translated at 54.6% (59 of 108 strings)

Translated using Weblate (Hebrew)

Currently translated at 96.0% (48 of 50 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (240 of 240 strings)

Translated using Weblate (Hebrew)

Currently translated at 49.3% (639 of 1295 strings)

Translated using Weblate (Hebrew)

Currently translated at 98.7% (237 of 240 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nick Burdilov <nick.bordilov0405@gmail.com>
Co-authored-by: Nimrod Milo <nimrod@honeybook.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/he/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 7e69bc2dc2 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins eb5e166ee6 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 48fc9f2083 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins fa78baef94 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 0d3ece336f Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
5a9f1153c5 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (Czech)

Currently translated at 88.8% (96 of 108 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (240 of 240 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KZeliop <kzeliop@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/cs/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 2a1c087234 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins dfaf3ebe1b Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins bd0ab2a71c Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 7ff5ff717c Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 3d5f14e79e Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-live
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 6a0e8a851b Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins e31592ab2b Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 74fb3111dc Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 7108d24d8b Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 07c15079a3 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 5e8c70f24c Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 590b0c9d2d Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
f26f9c467a Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translated using Weblate (Portuguese (Brazil))

Currently translated at 50.0% (400 of 800 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (474 of 474 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (240 of 240 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (500 of 500 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marco Cordeiro <marcoecordeiro@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
b29fb3431b Translated using Weblate (Tamil)
Currently translated at 16.6% (1 of 6 strings)

Translated using Weblate (Tamil)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Tamil)

Currently translated at 0.2% (1 of 474 strings)

Translated using Weblate (Tamil)

Currently translated at 100.0% (74 of 74 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ta/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ta/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/ta/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ta/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-recording
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins c3750ffc80 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
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
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 75d22a436c Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/audio
Translation: Frigate NVR/components-camera
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins a466d46476 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-live
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins 6aacb47c34 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
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/components-player
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-09-12 16:32:31 -05:00
Hosted WeblateandJosh Hawkins c5093e6668 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
2026-09-12 16:32:31 -05:00
Josh HawkinsandGitHub 9cba1c2963 remove deepstack detector and all references to it (#24259)
the 0.18 release notes indicated this was being removed in 0.19
2026-09-12 16:20:50 -05:00
720 changed files with 7332 additions and 27963 deletions
-1
View File
@@ -55,7 +55,6 @@ Dahua
datasheet
debconf
deci
deepstack
defragment
devcontainer
DEVICEMAP
+2 -2
View File
@@ -26,8 +26,8 @@ body:
id: version
attributes:
label: Beta Version
description: Visible on the System Metrics page in the Web UI. Please include the full version including the build identifier (eg. 0.18.0-beta1, 0.18.0-8b72c7a, etc.)
placeholder: "0.18.0-beta1"
description: Visible on the System Metrics page in the Web UI. Please include the full version including the build identifier (eg. 0.19.0-beta1, 0.19.0-8b72c7a, etc.)
placeholder: "0.19.0-beta1"
validations:
required: true
- type: dropdown
+3 -1
View File
@@ -6,7 +6,9 @@ body:
value: |
Use this form to submit a reproducible bug in Frigate or Frigate's UI.
**⚠️ If you are running a beta version (0.18.0-beta or similar), please use the [Beta Support template](https://github.com/blakeblackshear/frigate/discussions/new?category=beta-support) instead.**
If you are running on Proxmox, please see the [Proxmox FAQ](https://github.com/blakeblackshear/frigate/discussions/23916) and reproduce the issue on a standard Docker install first (bare metal, or a VM running plain Debian/Ubuntu) before submitting here.
**⚠️ If you are running a beta version (0.19.0-beta or similar), please use the [Beta Support template](https://github.com/blakeblackshear/frigate/discussions/new?category=beta-support) instead.**
Before submitting your bug report, please ask the AI with the "Ask AI" button on the [official documentation site][ai] about your issue, [search the discussions][discussions], look at recent open and closed [pull requests][prs], read the [official Frigate documentation][docs], and read the [Frigate FAQ][faq] pinned at the Discussion page to see if your bug has already been fixed by the developers or reported by the community.
+10 -10
View File
@@ -23,7 +23,7 @@ jobs:
name: AMD64 Build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -49,7 +49,7 @@ jobs:
- amd64_build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -303,7 +303,7 @@ jobs:
# /run must allow exec: S6_READ_ONLY_ROOT has s6 copy its service
# scripts there and run them, and --tmpfs defaults to noexec
docker run -d --name frigate-ro --shm-size 256m \
--read-only --tmpfs /tmp:rw,size=1g --tmpfs /run:exec,nosuid,nodev,mode=0755 \
--read-only --tmpfs /tmp:rw,size=1g --tmpfs /run:exec,nosuid,nodev,mode=0755,uid=1000,gid=1000 \
--user 1000:1000 \
--security-opt no-new-privileges:true \
-v /tmp/frigate-config-ro:/config \
@@ -405,7 +405,7 @@ jobs:
# the config dir above now holds a go2rtc-owned go2rtc_homekit.yml,
# which user: keeps readable but not writable (no supplementary groups)
docker run -d --name frigate-rod-user --shm-size 256m \
--read-only --tmpfs /tmp:rw,size=1g --tmpfs /run:exec,nosuid,nodev,mode=0755 \
--read-only --tmpfs /tmp:rw,size=1g --tmpfs /run:exec,nosuid,nodev,mode=0755,uid=1000,gid=1000 \
--user 1000:1000 \
-v /tmp/frigate-config-rod:/config \
-v /tmp/frigate-media-rod:/media/frigate \
@@ -426,7 +426,7 @@ jobs:
name: ARM Build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -461,7 +461,7 @@ jobs:
name: Jetson Jetpack 6
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -492,7 +492,7 @@ jobs:
- amd64_build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -533,7 +533,7 @@ jobs:
- arm64_build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -558,7 +558,7 @@ jobs:
- arm64_build
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up QEMU and Buildx
@@ -590,7 +590,7 @@ jobs:
with:
string: ${{ github.repository }}
- name: Log in to the Container registry
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f
with:
registry: ghcr.io
username: ${{ github.actor }}
+10 -13
View File
@@ -16,10 +16,10 @@ jobs:
name: Web - Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v6
- uses: actions/setup-node@v7
with:
node-version: 20.x
- run: npm install
@@ -35,10 +35,10 @@ jobs:
name: Web - Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v6
- uses: actions/setup-node@v7
with:
node-version: 20.x
- run: npm install
@@ -46,18 +46,15 @@ jobs:
- name: Build web
run: npm run build
working-directory: ./web
# - name: Test
# run: npm run test
# working-directory: ./web
web_e2e:
name: Web - E2E Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v6
- uses: actions/setup-node@v7
with:
node-version: 20.x
- run: npm install
@@ -86,11 +83,11 @@ jobs:
name: Python Checks
steps:
- name: Check out the repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.4.0
uses: actions/setup-python@v7.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install requirements
@@ -109,10 +106,10 @@ jobs:
name: Python Tests
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v6
- uses: actions/setup-node@v7
with:
node-version: 20.x
- name: Install devcontainer cli
+2 -2
View File
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
persist-credentials: false
- id: lowercaseRepo
@@ -18,7 +18,7 @@ jobs:
with:
string: ${{ github.repository }}
- name: Log in to the Container registry
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f
with:
registry: ghcr.io
username: ${{ github.actor }}
+1 -1
View File
@@ -160,7 +160,7 @@ When reviewing code, do NOT comment on:
### Code Quality
- **Linting**: ESLint (see `web/.eslintrc.cjs`)
- **Linting**: ESLint (see `web/eslint.config.js`)
- **Formatting**: Prettier with Tailwind CSS plugin
- **Type Safety**: TypeScript strict mode enabled
+1 -1
View File
@@ -1,4 +1,4 @@
ruff == 0.15.20
# types
types-peewee == 3.17.*
types-peewee == 4.0.*
+18 -18
View File
@@ -1,17 +1,17 @@
aiofiles == 24.1.*
click == 8.1.*
aiofiles == 25.1.*
click == 8.5.*
# FastAPI
aiohttp == 3.12.*
starlette == 0.47.*
starlette-context == 0.4.*
starlette-context == 0.5.*
fastapi[standard-no-fastapi-cloud-cli] == 0.116.*
uvicorn == 0.35.*
uvicorn == 0.52.*
slowapi == 0.1.*
joserfc == 1.2.*
cryptography == 44.0.*
joserfc == 1.6.*
cryptography == 46.0.*
pathvalidate == 3.3.*
markupsafe == 3.0.*
python-multipart == 0.0.26
python-multipart == 0.0.31
# Classification Model Training
tensorflow == 2.19.* ; platform_machine == 'aarch64'
tensorflow-cpu == 2.19.* ; platform_machine == 'x86_64'
@@ -26,18 +26,18 @@ psutil == 7.1.*
pydantic == 2.10.*
git+https://github.com/fbcotter/py3nvml#egg=py3nvml
pytz == 2025.*
pyzmq == 26.2.*
pyzmq == 27.1.*
ruamel.yaml == 0.18.*
tzlocal == 5.2
requests == 2.32.*
requests == 2.33.*
types-requests == 2.32.*
norfair == 2.3.*
setproctitle == 1.3.*
ws4py == 0.5.*
unidecode == 1.3.*
unidecode == 1.4.*
titlecase == 2.4.*
# Image Manipulation
numpy == 1.26.*
numpy == 2.5.*
opencv-python-headless == 4.11.0.*
opencv-contrib-python == 4.11.0.*
scipy == 1.16.*
@@ -51,26 +51,26 @@ google-genai == 1.58.*
ollama == 0.6.*
openai == 1.65.*
# push notifications
py-vapid == 1.9.*
py-vapid == 1.9.4
pywebpush == 2.0.*
# alpr
pyclipper == 1.3.*
pyclipper == 1.4.*
shapely == 2.0.*
rapidfuzz==3.12.*
# HailoRT
argcomplete==2.0.*
contextlib2==0.6.*
future==0.18.*
netaddr==0.8.*
netaddr==1.3.*
netifaces==0.10.*
prometheus-client == 0.21.*
prometheus-client == 0.26.*
# TFLite
tflite_runtime @ https://github.com/frigate-nvr/TFlite-builds/releases/download/v2.17.1/tflite_runtime-2.17.1-cp311-cp311-linux_x86_64.whl; platform_machine == 'x86_64'
tflite_runtime @ https://github.com/feranick/TFlite-builds/releases/download/v2.17.1/tflite_runtime-2.17.1-cp311-cp311-linux_aarch64.whl; platform_machine == 'aarch64'
# audio transcription
sherpa-onnx==1.12.*
faster-whisper==1.1.*
sherpa-onnx==1.13.*
faster-whisper==1.2.*
librosa==0.11.*
soundfile==0.13.*
# Memory profiling
memray == 1.15.*
memray == 1.20.*
@@ -343,13 +343,6 @@ http {
add_header Cache-Control "public";
}
location /fonts/ {
access_log off;
expires 1y;
include security_headers.conf;
add_header Cache-Control "public";
}
location /locales/ {
access_log off;
include security_headers.conf;
@@ -376,7 +369,7 @@ http {
sub_filter '"/BASE_PATH/assets/' '"$http_x_ingress_path/assets/';
sub_filter '"/BASE_PATH/locales/' '"$http_x_ingress_path/locales/';
sub_filter '"/BASE_PATH/monacoeditorwork/' '"$http_x_ingress_path/assets/';
sub_filter 'return"/BASE_PATH/"' 'return window.baseUrl';
sub_filter 'return`/BASE_PATH/`' 'return window.baseUrl';
sub_filter '<body>' '<body><script>window.baseUrl="$http_x_ingress_path/";</script>';
sub_filter_types text/css application/javascript;
sub_filter_once off;
-1
View File
@@ -1,6 +1,5 @@
# Nvidia ONNX Runtime GPU Support
--extra-index-url 'https://pypi.nvidia.com'
cython==3.0.*; platform_machine == 'x86_64'
nvidia-cuda-cupti-cu12==12.8.90; platform_machine == 'x86_64'
nvidia-cublas-cu12==12.8.4.1; platform_machine == 'x86_64'
nvidia-cudnn-cu12==9.8.0.87; platform_machine == 'x86_64'
+5 -23
View File
@@ -36,13 +36,13 @@ edgeTPU:
height: 320 # <--- should match the imgsize of the model, typically 320
path: /config/model_cache/yolov9-s-relu6-best_320_int8_edgetpu.tflite
labelmap_path: /config/labels-coco17.txt
hailo8l:
title: Hailo-8/Hailo-8L
hailo:
title: Hailo
models:
- key: yolo
label: YOLO
recommended: true
download: If no custom model path or URL is provided, the Hailo detector automatically downloads the default model (YOLOv6n) from the Hailo Model Zoo on first startup based on the detected hardware. Once cached under `/config/model_cache/hailo`, the model works fully offline.
download: If no custom model path or URL is provided, the Hailo detector automatically downloads the default model (YOLOv6n) from the Hailo Model Zoo on first startup, choosing the build that matches the attached device. Once cached under `/config/model_cache`, the model works fully offline.
ui: |-
Navigate to **Settings > System > Detection models** and select **Hailo** from the **Hardware** dropdown. Then, on the same model, open the **Custom Model** tab and configure the model settings:
@@ -60,7 +60,7 @@ hailo8l:
yaml: |-
models:
- devices:
- hailo8l:PCIe
- hailo:PCIe
width: 320
height: 320
input_tensor: nhwc
@@ -101,7 +101,7 @@ hailo8l:
yaml: |-
models:
- devices:
- hailo8l:PCIe
- hailo:PCIe
width: 300
height: 300
input_tensor: nhwc
@@ -824,24 +824,6 @@ cpu:
models:
- devices:
- cpu:3
deepstack:
title: DeepStack / CodeProject.AI
models:
- key: yolo
label: YOLO
recommended: true
download: This detector runs object detection over the network against a CodeProject.AI or DeepStack server, so no model is downloaded into Frigate itself. Visit the [CodeProject.AI official website](https://www.codeproject.com/Articles/5322557/CodeProject-AI-Server-AI-the-easy-way) to download and install the AI server on your preferred device (e.g. Raspberry Pi, Nvidia Jetson, or other compatible hardware) before configuring the detector.
ui: |-
Navigate to **Settings > System > Detection models** and add a model. The CodeProject.AI server is not reported by the hardware probe, so set `devices` to `deepstack:http://<your_codeproject_ai_server_ip>:<port>/v1/vision/detection` in YAML.
| Field | Value |
| ------------- | ---------------------------------------------------------------------- |
| **API URL** | `http://<your_codeproject_ai_server_ip>:<port>/v1/vision/detection` |
| **API Timeout** | `0.1` (seconds) |
yaml: |-
models:
- devices:
- deepstack:http://<your_codeproject_ai_server_ip>:<port>/v1/vision/detection
memryx:
title: MemryX
models:
+8
View File
@@ -313,8 +313,16 @@ To remove root from the container entirely, add Docker's `user:`:
```yaml
user: "1000:1000" # NOT compatible with PUID/PGID, see the run modes table
tmpfs:
- /tmp:size=256m
- /tmp/cache:size=1000000000
- /run:exec,nosuid,nodev,mode=0755,uid=1000,gid=1000,size=16m # uid must match user:
```
`/run` has to be owned by that uid as well. s6 writes its runtime state there before anything else starts, and with no root in the container a root-owned `/run` stops it during init with `cannot create /run/test of writability`. Keep `uid` and `gid` in the tmpfs options matching `user:`, and don't carry that pair back into the default mode, where a root-owned `/run` is what keeps the unprivileged services out of s6's runtime state.
This only bites once root is genuinely gone. s6's init helper is setuid, so `user:` on its own still lets init regain root and correct `/run` itself. The `no-new-privileges:true` above is what blocks that, which is also what makes the `/run` ownership mandatory. Dropping it would hide the problem by handing init root again.
Two things change, and the first one will break a working install if you skip it. The startup device grants can't run, because there is no root left to run them, so every device you pass stops working until you grant that uid access yourself with `group_add:` or a udev rule; see [Manual setup](#manual-setup). Expect this to surface as a driver error rather than a permission error, like `No VA display found` from VAAPI. And every service then runs as that one uid, so go2rtc no longer gets its own restricted user. `/config` and `/media/frigate` have to be owned by that uid already, since Frigate never adjusts ownership in this mode. Switching an existing install over also leaves `/config/go2rtc_homekit.yml` owned by the go2rtc user, which this mode can't write; `chown` it to your uid or HomeKit pairing changes stop persisting. Frigate warns and starts either way.
This mode can also take `cap_drop: [ALL]`, which the default mode cannot: starting as root needs `CAP_CHOWN` for the ownership sweep, `CAP_SETUID` and `CAP_SETGID` to drop to the runtime user, and `CAP_FOWNER` for the device grants.
+6 -30
View File
@@ -22,7 +22,7 @@ Frigate supports multiple different detectors that work on different types of ha
**Most Hardware**
- [Coral EdgeTPU](#edge-tpu-detector): The Google Coral EdgeTPU is available in USB, Mini PCIe, and m.2 formats allowing for a wide range of compatibility with devices.
- [Hailo](#hailo-8): The Hailo8 and Hailo8L AI Acceleration module is available in m.2 format with a HAT for RPi devices, offering a wide range of compatibility with devices.
- [Hailo](#hailo): The Hailo-8, Hailo-8L and Hailo-8R AI Acceleration modules are available in m.2 format with a HAT for RPi devices, offering a wide range of compatibility with devices.
- <CommunityBadge /> [MemryX](#memryx-mx3): The MX3 Acceleration module is available in m.2 format, offering broad compatibility across various platforms.
**AMD**
@@ -285,9 +285,9 @@ models:
---
## Hailo-8
## Hailo
This detector is available for use with both Hailo-8 and Hailo-8L AI Acceleration Modules. The integration automatically detects your hardware architecture via the Hailo CLI and selects the appropriate default model if no custom model is specified.
This detector is available for use with the Hailo-8, Hailo-8L and Hailo-8R AI Acceleration Modules. The integration identifies which of them is attached and selects the matching default model if no custom model is specified.
See the [installation docs](../frigate/installation.md#hailo-8) for information on configuring the Hailo hardware.
@@ -308,11 +308,11 @@ The HailoRT runtime is not part of the Frigate image. It is downloaded and insta
When configuring the Hailo detector, you have two options to specify the model: a local **path** or a **URL**.
If both are provided, the detector will first check for the model at the given local path. If the file is not found, it will download the model from the specified URL. The model file is cached under `/config/model_cache/hailo`.
<ModelConfigDropdown detectorTitle="Hailo-8/Hailo-8L" models={objectDetectorsModels.hailo8l.models} />
<ModelConfigDropdown detectorTitle="Hailo" models={objectDetectorsModels.hailo.models} />
For additional ready-to-use models, please visit: https://github.com/hailo-ai/hailo_model_zoo
Hailo8 supports all models in the Hailo Model Zoo that include HailoRT post-processing. You're welcome to choose any of these pre-configured models for your implementation.
Hailo supports all models in the Hailo Model Zoo that include HailoRT post-processing. You're welcome to choose any of these pre-configured models for your implementation.
> **Note:**
> The config.path parameter can accept either a local file path or a URL ending with .hef. When provided, the detector will first check if the path is a local file path. If the file exists locally, it will use it directly. If the file is not found locally or if a URL was provided, it will attempt to download the model from the specified URL.
@@ -362,7 +362,7 @@ Intel NPUs cannot be used under Home Assistant OS, which does not include the NP
:::warning
The network-based detectors (Deepstack and the Apple Silicon client) are being reworked. Their extra options no longer have a place in the config, so only the endpoint carried in the device string is honored right now: Deepstack ignores `api_key` and `api_timeout`, and the Apple Silicon client ignores `request_timeout_ms` and `linger_ms`. Anything else is dropped when your config is migrated.
The Apple Silicon detector client is being reworked. Its extra options no longer have a place in the config, so only the endpoint carried in the device string is honored right now, and `request_timeout_ms` and `linger_ms` are ignored. Anything else is dropped when your config is migrated.
:::
@@ -540,30 +540,6 @@ A TensorFlow Lite model is provided in the container at `/cpu_model.tflite` and
When using CPU detectors, you can add one CPU detector per camera. Adding more detectors than the number of cameras should not improve performance.
## Deepstack / CodeProject.AI Server Detector
:::warning
The network-based detectors (Deepstack and the Apple Silicon client) are being reworked. Their extra options no longer have a place in the config, so only the endpoint carried in the device string is honored right now: Deepstack ignores `api_key` and `api_timeout`, and the Apple Silicon client ignores `request_timeout_ms` and `linger_ms`. Anything else is dropped when your config is migrated.
:::
The Deepstack / CodeProject.AI Server detector for Frigate allows you to integrate Deepstack and CodeProject.AI object detection capabilities into Frigate. CodeProject.AI and DeepStack are open-source AI platforms that can be run on various devices such as the Raspberry Pi, Nvidia Jetson, and other compatible hardware. It is important to note that the integration is performed over the network, so the inference times may not be as fast as native Frigate detectors, but it still provides an efficient and reliable solution for object detection and tracking.
### Setup {#setup-deepstack}
To get started with CodeProject.AI, visit their [official website](https://www.codeproject.com/Articles/5322557/CodeProject-AI-Server-AI-the-easy-way) to follow the instructions to download and install the AI server on your preferred device. Detailed setup instructions for CodeProject.AI are outside the scope of the Frigate documentation.
To integrate CodeProject.AI into Frigate, configure the detector as follows:
### Configuration {#configuration-deepstack}
<ModelConfigDropdown detectorTitle="DeepStack" models={objectDetectorsModels.deepstack.models} />
Replace `<your_codeproject_ai_server_ip>` and `<port>` with the IP address and port of your CodeProject.AI server.
To verify that the integration is working correctly, start Frigate and observe the logs for any error messages related to CodeProject.AI. Additionally, you can check the Frigate web interface to see if the objects detected by CodeProject.AI are being displayed and tracked properly.
# Community Supported Detectors
## MemryX MX3
+12 -3
View File
@@ -204,11 +204,20 @@ Light guidelines and advice:
npm run lint
```
- Add to unit tests and ensure they pass. As much as possible, you should strive to _increase_ test coverage whenever making changes. This will help ensure features do not accidentally become broken in the future.
- If you run into error messages like "TypeError: Cannot read properties of undefined (reading 'context')" when running tests, this may be due to these issues (https://github.com/vitest-dev/vitest/issues/1910, https://github.com/vitest-dev/vitest/issues/1652) in vitest, but I haven't been able to resolve them.
- Ensure the backend [unit tests](#unit-tests) pass. Your PR cannot be merged unless tests pass.
```shell
python3 -u -m unittest
```
- Ensure the end-to-end tests pass. They run in Playwright against a production build with mocked API data, so they don't need a running Frigate instance. Add or update tests in `web/e2e/specs/` when you change UI behavior.
```console
npm run test
# First-time setup
npx playwright install chromium
# Build the app and run all tests
npm run e2e:build && npm run e2e
```
- Test in different browsers. Firefox, Chrome, and Safari all have different quirks that make them unique targets to interact with.
+5 -4
View File
@@ -54,7 +54,7 @@ Frigate supports multiple different detectors that work on different types of ha
**Most Hardware**
- [Hailo](#hailo-8): The Hailo8 and Hailo8L AI Acceleration module is available in m.2 format with a HAT for RPi devices offering a wide range of compatibility with devices.
- [Hailo](#hailo-8): The Hailo-8, Hailo-8L and Hailo-8R AI Acceleration modules are available in m.2 format with a HAT for RPi devices offering a wide range of compatibility with devices.
- [Supports many model architectures](../../configuration/object_detectors#configuration-hailo)
- Runs best with tiny or small size models
@@ -111,12 +111,13 @@ Frigate supports multiple different detectors that work on different types of ha
### Hailo-8
Frigate supports both the Hailo-8 and Hailo-8L AI Acceleration Modules on compatible hardware platforms, including the Raspberry Pi 5 with the PCIe hat from the AI kit. The Hailo detector integration in Frigate automatically identifies your hardware type and selects the appropriate default model when a custom model isn’t provided.
Frigate supports the Hailo-8, Hailo-8L and Hailo-8R AI Acceleration Modules on compatible hardware platforms, including the Raspberry Pi 5 with the PCIe hat from the AI kit. The Hailo detector integration in Frigate identifies which of them is attached and selects the matching default model when a custom model isn’t provided.
**Default Model Configuration:**
- **Hailo-8L:** Default model is **YOLOv6n**.
- **Hailo-8:** Default model is **YOLOv6n**.
- **Hailo-8L:** Default model is **YOLOv6n**, compiled for the Hailo-8L.
- **Hailo-8:** Default model is **YOLOv6n**, compiled for the Hailo-8.
- **Hailo-8R:** Default model is the **Hailo-8** build of **YOLOv6n**, since the Hailo Model Zoo publishes no Hailo-8R build.
In real-world deployments, even with multiple cameras running concurrently, Frigate has demonstrated consistent performance. Testing on x86 platforms, with dual PCIe lanes, yields further improvements in FPS, throughput, and latency compared to the Raspberry Pi setup.
+2 -2
View File
@@ -122,7 +122,7 @@ Additionally, the USB Coral draws a considerable amount of power. If using any o
### Hailo-8
The Hailo-8 and Hailo-8L AI accelerators are available in both M.2 and HAT form factors for the Raspberry Pi. The M.2 version typically connects to a carrier board for PCIe, which then interfaces with the Raspberry Pi 5 as part of the AI Kit. The HAT version can be mounted directly onto compatible Raspberry Pi models. Both form factors have been successfully tested on x86 platforms as well, making them versatile options for various computing environments.
The Hailo-8, Hailo-8L and Hailo-8R AI accelerators are available in both M.2 and HAT form factors for the Raspberry Pi. The M.2 version typically connects to a carrier board for PCIe, which then interfaces with the Raspberry Pi 5 as part of the AI Kit. The HAT version can be mounted directly onto compatible Raspberry Pi models. Both form factors have been successfully tested on x86 platforms as well, making them versatile options for various computing environments.
The HailoRT runtime is not part of the Frigate image; Frigate downloads and installs it at first start once a Hailo detector is configured. Containers without internet access can provide the files themselves, see [Detector runtimes](/frigate/network_requirements#detector-runtimes).
@@ -300,7 +300,7 @@ If you are using `docker run`, add this option to your command `--device /dev/ha
#### Configuration
Finally, configure [hardware object detection](/configuration/object_detectors#hailo-8) to complete the setup.
Finally, configure [hardware object detection](/configuration/object_detectors#hailo) to complete the setup.
### MemryX MX3
+7 -11
View File
@@ -47,7 +47,7 @@ If you are using one of the following hardware detectors and have not provided y
| Detector | Model Downloaded | Source |
| ------------------------------------------------------------------ | -------------------- | ------------------------ |
| [Rockchip RKNN](/configuration/object_detectors#rockchip-platform) | RKNN detection model | GitHub |
| [Hailo 8 / 8L](/configuration/object_detectors#hailo-8) | YOLOv6n (.hef) | Hailo Model Zoo (AWS S3) |
| [Hailo 8 / 8L / 8R](/configuration/object_detectors#hailo) | YOLOv6n (.hef) | Hailo Model Zoo (AWS S3) |
| [AXERA AXEngine](/configuration/object_detectors) | Detection model | HuggingFace |
:::note
@@ -60,16 +60,16 @@ The default CPU, EdgeTPU, and OpenVINO object detection models are bundled into
The SDKs for a few hardware detectors are not shipped in the Frigate image. They are downloaded the first time that detector is configured, verified against checksums pinned in the Frigate release, and installed into the Frigate user's home directory (`/config/.local` by default). Once installed they are not downloaded again until a Frigate release pins a new version.
| Detector | Version | Files | Source |
| -------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [Hailo 8 / 8L](/configuration/object_detectors#hailo-8) | 4.21.0 | `hailort-debian12-amd64.tar.gz` and `hailort-4.21.0-cp311-cp311-linux_x86_64.whl` on x86, `hailort-debian12-arm64.tar.gz` and `hailort-4.21.0-cp311-cp311-linux_aarch64.whl` on arm64 | [GitHub release](https://github.com/frigate-nvr/hailort/releases/tag/v4.21.0) |
| [MemryX MX3](/configuration/object_detectors#memryx-mx3) | 2.1.0 | `mx_accl_frigate-2.1.0.zip` (the release source archive, renamed) | [GitHub archive](https://github.com/memryx/mx_accl_frigate/archive/refs/tags/v2.1.0.zip) |
| [AXERA AXEngine](/configuration/object_detectors#axera) | 0.1.3 | `axengine-0.1.3-py3-none-any.whl` | [GitHub release](https://github.com/AXERA-TECH/pyaxengine/releases/tag/0.1.3-frigate) |
| Detector | Version | Files | Source |
| ---------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [Hailo 8 / 8L / 8R](/configuration/object_detectors#hailo) | 4.21.0 | `hailort-debian12-amd64.tar.gz` and `hailort-4.21.0-cp311-cp311-linux_x86_64.whl` on x86, `hailort-debian12-arm64.tar.gz` and `hailort-4.21.0-cp311-cp311-linux_aarch64.whl` on arm64 | [GitHub release](https://github.com/frigate-nvr/hailort/releases/tag/v4.21.0) |
| [MemryX MX3](/configuration/object_detectors#memryx-mx3) | 2.1.0 | `mx_accl_frigate-2.1.0.zip` (the release source archive, renamed) | [GitHub archive](https://github.com/memryx/mx_accl_frigate/archive/refs/tags/v2.1.0.zip) |
| [AXERA AXEngine](/configuration/object_detectors#axera) | 0.1.3 | `axengine-0.1.3-py3-none-any.whl` | [GitHub release](https://github.com/AXERA-TECH/pyaxengine/releases/tag/0.1.3-frigate) |
If the container cannot reach GitHub, provide the files yourself:
1. Download the files for your architecture on a machine with internet access.
2. Place them, with exactly the file names listed above, in `/config/model_cache/runtimes/<detector>/`, where `<detector>` is the detector `type` from your config (`hailo8l`, `memryx`, or `axengine`).
2. Place them, with exactly the file names listed above, in `/config/model_cache/runtimes/<detector>/`, where `<detector>` is the detector named in your config's `devices` (`hailo`, `memryx`, or `axengine`).
3. Start Frigate. Files whose checksum matches are installed without any download; a file with the wrong checksum is discarded and downloaded again, so a failed startup log names the file to replace.
The `GITHUB_ENDPOINT` mirror variable below applies to these downloads as well.
@@ -142,10 +142,6 @@ When [notifications](/configuration/notifications) are enabled and users have re
If an [MQTT broker](/integrations/mqtt) is configured, Frigate maintains a connection to the broker's host and port. This is typically a local network connection, but will require internet if you use a cloud-hosted MQTT broker.
### DeepStack / CodeProject.AI
When using the [DeepStack detector plugin](/configuration/object_detectors), Frigate sends images to the configured API endpoint for inference. This is typically local but depends on where the service is hosted.
## WebRTC (STUN)
For [WebRTC live streaming](/configuration/live), Frigate uses STUN for NAT traversal:
+2 -2
View File
@@ -41,7 +41,7 @@ Rockchip models are automatically converted as of 0.17. For 0.16, YOLOv9 onnx mo
## Supported detector types
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), ONNX (`onnx`), Hailo (`hailo8l`), and Rockchip (`rknn`) detectors.
Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVino (`openvino`), ONNX (`onnx`), Hailo (`hailo`), and Rockchip (`rknn`) detectors.
| Hardware | Recommended Detector Type | Recommended Model Type |
| -------------------------------------------------------------------------------- | ------------------------- | ---------------------- |
@@ -50,7 +50,7 @@ Currently, Frigate+ models support CPU (`cpu`), Google Coral (`edgetpu`), OpenVi
| [Intel](/configuration/object_detectors.md#openvino-detector) | `openvino` | `yolov9` |
| [NVidia GPU](/configuration/object_detectors#onnx) | `onnx` | `yolov9` |
| [AMD ROCm GPU](/configuration/object_detectors#amdrocm-gpu-detector) | `onnx` | `yolov9` |
| [Hailo8/Hailo8L/Hailo8R](/configuration/object_detectors#hailo-8) | `hailo8l` | `yolov9` |
| [Hailo8/Hailo8L/Hailo8R](/configuration/object_detectors#hailo) | `hailo` | `yolov9` |
| [Rockchip NPU](/configuration/object_detectors#rockchip-platform) | `rknn` | `yolov9` |
## Improving your model
+2070 -3902
View File
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -18,17 +18,17 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/plugin-content-docs": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.7.0",
"@docusaurus/core": "^3.10.2",
"@docusaurus/plugin-content-docs": "^3.10.2",
"@docusaurus/preset-classic": "^3.10.2",
"@docusaurus/theme-mermaid": "^3.10.2",
"@inkeep/docusaurus": "^2.0.16",
"@mdx-js/react": "^3.1.0",
"@types/js-yaml": "^4.0.9",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.5.1",
"docusaurus-theme-openapi-docs": "^4.5.1",
"js-yaml": "^4.1.1",
"docusaurus-plugin-openapi-docs": "^5.2.0",
"docusaurus-theme-openapi-docs": "^5.2.0",
"js-yaml": "^4.3.2",
"marked": "^16.4.2",
"prism-react-renderer": "^2.4.1",
"raw-loader": "^4.0.2",
@@ -48,11 +48,11 @@
]
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"@docusaurus/module-type-aliases": "^3.10.2",
"@docusaurus/types": "^3.10.2",
"@types/react": "^18.3.27"
},
"engines": {
"node": ">=18.0"
"node": ">=20.19"
}
}
+2 -9
View File
@@ -2,7 +2,6 @@
import asyncio
import copy
import json
import logging
import os
import platform
@@ -11,7 +10,6 @@ import urllib
from datetime import datetime, timedelta
from functools import reduce
from io import StringIO
from pathlib import Path as FilePath
from typing import Any
import aiofiles
@@ -56,6 +54,7 @@ from frigate.jobs.media_sync import (
start_media_sync_job,
)
from frigate.models import Event, Timeline
from frigate.plus import load_plus_model_info
from frigate.stats.prometheus import get_metrics, update_metrics
from frigate.types import JobStatusTypesEnum
from frigate.util.builtin import (
@@ -401,13 +400,7 @@ def config(request: Request):
model_dict["plus"] = None
if model.path:
model_json_path = FilePath(model.path).with_suffix(".json")
try:
with open(model_json_path) as f:
model_dict["plus"] = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
pass
model_dict["plus"] = load_plus_model_info(os.path.basename(model.path))
return JSONResponse(content=config)
+7
View File
@@ -786,6 +786,13 @@ def auth(request: Request):
user = token.claims.get("sub")
role = token.claims.get("role")
# the token keeps the role it was issued with, so a role removed from
# the config since then must send the user back through login
if role not in auth_config.roles:
logger.debug("jwt role %s is not in the config", role)
return fail_response
current_time = int(time.time())
# if the jwt is expired
+14 -4
View File
@@ -1038,6 +1038,10 @@ def export_recording_custom(
if camera_validation_error is not None:
return camera_validation_error
# Validate user-provided ffmpeg args to prevent injection and add to cases.
# Admin users are trusted and skip validation.
is_admin = request.headers.get("remote-role", "") == "admin"
playback_source = body.source
friendly_name = body.name
existing_image, image_validation_error = _sanitize_existing_image(body.image_path)
@@ -1048,6 +1052,16 @@ def export_recording_custom(
cpu_fallback = body.cpu_fallback
export_case_id = body.export_case_id
if export_case_id is not None and not is_admin:
return JSONResponse(
content={
"success": False,
"message": "Only admins can attach exports to an existing case.",
},
status_code=403,
)
case_validation_error = _validate_export_case(export_case_id)
if case_validation_error is not None:
return case_validation_error
@@ -1064,10 +1078,6 @@ def export_recording_custom(
status_code=400,
)
# Validate user-provided ffmpeg args to prevent injection.
# Admin users are trusted and skip validation.
is_admin = request.headers.get("remote-role", "") == "admin"
if not is_admin:
for args_label, args_value in [
("input", ffmpeg_input_args),
+1 -1
View File
@@ -189,7 +189,7 @@ async def camera_ptz_info(request: Request, camera_name: str):
future = asyncio.run_coroutine_threadsafe(
request.app.onvif.get_camera_info(camera_name), request.app.onvif.loop
)
result = future.result()
result = await asyncio.wrap_future(future)
return JSONResponse(content=result)
else:
return JSONResponse(
+2 -5
View File
@@ -412,11 +412,8 @@ async def no_recordings(
if not camera_list:
return JSONResponse(content=[])
before = params.before or datetime.datetime.now().timestamp()
after = (
params.after
or (datetime.datetime.now() - datetime.timedelta(hours=1)).timestamp()
)
before = params.before or datetime.now().timestamp()
after = params.after or (datetime.now() - timedelta(hours=1)).timestamp()
scale = params.scale
recordings: list[tuple[float, float]] = []
@@ -253,7 +253,7 @@ class ObjectDescriptionProcessor(PostProcessorApi):
# Crop snapshot based on region
# provide full image if region doesn't exist (manual events)
height, width = img.shape[:2]
x1_rel, y1_rel, width_rel, height_rel = event.data.get( # type: ignore[attr-defined]
x1_rel, y1_rel, width_rel, height_rel = event.data.get(
"region", [0, 0, 1, 1]
)
x1, y1 = int(x1_rel * width), int(y1_rel * height)
@@ -8,7 +8,7 @@ import os
import shutil
import threading
from pathlib import Path
from typing import Any
from typing import Any, cast
import cv2
from peewee import DoesNotExist
@@ -528,7 +528,8 @@ class ReviewDescriptionProcessor(PostProcessorApi):
.get()
)
time_in_segment = ts - recording.start_time
# start_time is a DateTimeField holding a unix timestamp
time_in_segment = ts - cast(float, recording.start_time)
return get_image_from_recording(
self.config.ffmpeg,
recording.path,
@@ -237,7 +237,7 @@ class SemanticTriggerProcessor(PostProcessorApi):
return
# Skip the event if not an object
if event.data.get("type") != "object": # type: ignore[attr-defined]
if event.data.get("type") != "object":
return
thumbnail_bytes = get_event_thumbnail_bytes(event)
+8 -7
View File
@@ -3,14 +3,14 @@ import json
import logging
import os
from enum import Enum
from typing import Any, ClassVar
from typing import ClassVar
import requests
from pydantic import BaseModel, ConfigDict, Field
from pydantic.fields import PrivateAttr
from frigate.const import DEFAULT_ATTRIBUTE_LABEL_MAP, MODEL_CACHE_DIR
from frigate.plus import PlusApi
from frigate.plus import PlusApi, load_plus_model_info
from frigate.util.builtin import generate_color_palette, load_labels
logger = logging.getLogger(__name__)
@@ -190,12 +190,13 @@ class ModelConfig(BaseModel):
# download the model info if it doesn't exist
if not os.path.isfile(model_info_path):
model_info = plus_api.get_model_info(model_id)
with open(model_info_path, "w") as f:
json.dump(model_info, f)
else:
with open(model_info_path) as f:
model_info: dict[str, Any] = json.load(f)
json.dump(plus_api.get_model_info(model_id), f)
model_info = load_plus_model_info(model_id)
if model_info is None:
raise ValueError(f"Unable to read the model info for {model_id}")
if detector and detector not in model_info["supportedDetectors"]:
raise ValueError(f"Model does not support detector type of {detector}")
+2 -2
View File
@@ -259,8 +259,8 @@ def detect_hailo() -> DetectionHardware | None:
# the hailo runtime schedules across every attached device itself, so there
# is nothing to address individually
units = [HardwareUnit(device="hailo8l:PCIe", label=os.path.basename(nodes[0]))]
return _hardware("hailo8l", "hailo8l", "Hailo", units)
units = [HardwareUnit(device="hailo:PCIe", label=os.path.basename(nodes[0]))]
return _hardware("hailo", "hailo", "Hailo", units)
def detect_memryx() -> DetectionHardware | None:
-105
View File
@@ -1,105 +0,0 @@
import io
import logging
from typing import Literal
import numpy as np
import requests
from PIL import Image
from pydantic import ConfigDict, Field
from frigate.detectors.detection_api import DetectionApi
from frigate.detectors.detector_config import BaseDetectorConfig
logger = logging.getLogger(__name__)
DETECTOR_KEY = "deepstack"
class DeepstackDetectorConfig(BaseDetectorConfig):
"""DeepStack/CodeProject.AI detector that sends images to a remote DeepStack HTTP API for inference. Not recommended."""
model_config = ConfigDict(
title="DeepStack",
)
type: Literal[DETECTOR_KEY]
api_url: str = Field(
default="http://localhost:80/v1/vision/detection",
title="DeepStack API URL",
description="The URL of the DeepStack API.",
)
api_timeout: float = Field(
default=0.1,
title="DeepStack API timeout (in seconds)",
description="Maximum time allowed for a DeepStack API request.",
)
api_key: str = Field(
default="",
title="DeepStack API key (if required)",
description="Optional API key for authenticated DeepStack services.",
)
class DeepStack(DetectionApi):
type_key = DETECTOR_KEY
def __init__(self, detector_config: DeepstackDetectorConfig):
self.api_url = detector_config.api_url
self.api_timeout = detector_config.api_timeout
self.api_key = detector_config.api_key
self.labels = detector_config.model.merged_labelmap
self.session = requests.Session()
def get_label_index(self, label_value):
if label_value.lower() == "truck":
label_value = "car"
for index, value in self.labels.items():
if value == label_value.lower():
return index
return -1
def detect_raw(self, tensor_input):
image_data = np.squeeze(tensor_input).astype(np.uint8)
image = Image.fromarray(image_data)
self.w, self.h = image.size
with io.BytesIO() as output:
image.save(output, format="JPEG")
image_bytes = output.getvalue()
data = {"api_key": self.api_key}
try:
response = self.session.post(
self.api_url,
data=data,
files={"image": image_bytes},
timeout=self.api_timeout,
)
except requests.exceptions.RequestException as ex:
logger.error("Error calling deepstack API: %s", ex)
return np.zeros((20, 6), np.float32)
response_json = response.json()
detections = np.zeros((20, 6), np.float32)
if response_json.get("predictions") is None:
logger.debug(f"Error in parsing response json: {response_json}")
return detections
for i, detection in enumerate(response_json.get("predictions")):
logger.debug(f"Response: {detection}")
if detection["confidence"] < 0.4:
logger.debug("Break due to confidence < 0.4")
break
label = self.get_label_index(detection["label"])
if label < 0:
logger.debug("Break due to unknown label")
break
detections[i] = [
label,
float(detection["confidence"]),
detection["y_min"] / self.h,
detection["x_min"] / self.w,
detection["y_max"] / self.h,
detection["x_max"] / self.w,
]
return detections
@@ -53,7 +53,7 @@ def preprocess_tensor(image: np.ndarray, model_w: int, model_h: int) -> np.ndarr
# ----------------- Global Constants ----------------- #
DETECTOR_KEY = "hailo8l"
DETECTOR_KEY = "hailo"
ARCH = None
H8_DEFAULT_MODEL = "yolov6n.hef"
H8L_DEFAULT_MODEL = "yolov6n.hef"
@@ -469,10 +469,10 @@ class HailoDetector(DetectionApi):
# ----------------- HailoDetectorConfig Class ----------------- #
class HailoDetectorConfig(BaseDetectorConfig):
"""Hailo-8/Hailo-8L detector using HEF models and the HailoRT SDK for inference on Hailo hardware."""
"""Hailo detector using HEF models and the HailoRT SDK for inference on Hailo hardware."""
model_config = ConfigDict(
title="Hailo-8/Hailo-8L",
title="Hailo",
)
type: Literal[DETECTOR_KEY]
+5 -5
View File
@@ -37,7 +37,7 @@ class EventCleanup(threading.Thread):
if self.removed_camera_labels is None:
self.removed_camera_labels = list(
Event.select(Event.label)
.where(Event.camera.not_in(self.camera_keys)) # type: ignore[arg-type,call-arg,misc]
.where(Event.camera.not_in(self.camera_keys))
.distinct()
.execute()
)
@@ -89,7 +89,7 @@ class EventCleanup(threading.Thread):
Event.thumbnail,
)
.where(
Event.camera.not_in(self.camera_keys), # type: ignore[arg-type,call-arg,misc]
Event.camera.not_in(self.camera_keys),
Event.start_time < expire_after,
Event.label == event.label,
Event.retain_indefinitely == False,
@@ -111,7 +111,7 @@ class EventCleanup(threading.Thread):
# update the clips attribute for the db entry
query = Event.select(Event.id).where(
Event.camera.not_in(self.camera_keys), # type: ignore[arg-type,call-arg,misc]
Event.camera.not_in(self.camera_keys),
Event.start_time < expire_after,
Event.label == event.label,
Event.retain_indefinitely == False,
@@ -218,7 +218,7 @@ class EventCleanup(threading.Thread):
Event.camera,
)
.where(
Event.camera.not_in(self.camera_keys), # type: ignore[arg-type,call-arg,misc]
Event.camera.not_in(self.camera_keys),
Event.start_time < expire_after,
Event.retain_indefinitely == False,
)
@@ -249,7 +249,7 @@ class EventCleanup(threading.Thread):
# update the clips attribute for the db entry
query = Event.select(Event.id).where(
Event.camera.not_in(self.camera_keys), # type: ignore[arg-type,call-arg,misc]
Event.camera.not_in(self.camera_keys),
Event.start_time < expire_after,
Event.retain_indefinitely == False,
)
+2 -2
View File
@@ -216,11 +216,11 @@ class ExportDebugReplaySource(DebugReplaySource):
"""
def __init__(self, export: Export, duration: float) -> None:
self._camera = cast(str, export.camera)
self._camera = export.camera
# Export.date is declared DateTimeField but Frigate writes raw unix
# timestamps to the column.
self._start_ts = float(cast(Any, export.date))
self._video_path = cast(str, export.video_path)
self._video_path = export.video_path
self._duration = duration
@property
+2
View File
@@ -109,6 +109,8 @@ class Export(Model):
backref="exports",
column_name="export_case_id",
)
# peewee adds this accessor for the export_case column at runtime
export_case_id: str | None
class ReviewSegment(Model):
+3 -3
View File
@@ -186,7 +186,7 @@ class NoticeRegistry:
deleted = (
Notice.delete()
.where(
Notice.kind.in_(camera_kinds), # type: ignore[call-arg, arg-type, misc]
Notice.kind.in_(camera_kinds),
Notice.scope == camera,
)
.execute()
@@ -257,7 +257,7 @@ class NoticeRegistry:
"""Dismissed config and stream check rows, newest first."""
rows = (
Notice.select()
.where(Notice.kind.in_(list(CHECK_KINDS))) # type: ignore[call-arg, arg-type, misc]
.where(Notice.kind.in_(list(CHECK_KINDS)))
.order_by(Notice.dismissed_at.desc())
)
return [{"id": row.id, "dismissed_at": row.dismissed_at} for row in rows]
@@ -351,7 +351,7 @@ class NoticeRegistry:
)
Notice.delete().where(
Notice.kind == kind,
Notice.id.not_in(newest), # type: ignore[call-arg, misc]
Notice.id.not_in(newest),
).execute()
def _bump_occurrences(self, kind: str, count: int, now: float) -> None:
+8 -2
View File
@@ -66,6 +66,12 @@ def get_cache_image_name(camera: str, frame_time: float) -> str:
)
def is_camera_preview_frame(file_name: str, camera: str) -> bool:
"""Check whether a cached preview frame file belongs to the camera."""
# camera names may contain "-", so a prefix match would include "front-door"
return file_name.rsplit("-", 1)[0] == f"preview_{camera}"
def get_most_recent_preview_frame(
camera: str, before: float | None = None
) -> str | None:
@@ -79,7 +85,7 @@ def get_most_recent_preview_frame(
preview_files = [
f
for f in os.listdir(PREVIEW_CACHE_DIR)
if f.startswith(f"preview_{camera}-")
if is_camera_preview_frame(f, camera)
and f.endswith(f".{PREVIEW_FRAME_TYPE}")
]
@@ -276,7 +282,7 @@ class PreviewRecorder:
start_file = f"{file_start}{start_ts}.webp"
for file in sorted(os.listdir(os.path.join(CACHE_DIR, FOLDER_PREVIEW_FRAMES))):
if not file.startswith(file_start):
if not is_camera_preview_frame(file, self.camera_name):
continue
if file < start_file:
+46 -2
View File
@@ -11,11 +11,50 @@ import requests
from numpy import ndarray
from requests.models import Response
from frigate.const import PLUS_API_HOST, PLUS_ENV_VAR
from frigate.const import MODEL_CACHE_DIR, PLUS_API_HOST, PLUS_ENV_VAR
logger = logging.getLogger(__name__)
def add_hailo_alias(model_info: dict[str, Any]) -> dict[str, Any]:
"""Name the hailo detector by its current key as well as its old one.
Frigate+ reports every Hailo model as supporting hailo8l, which this
detector was called before it was renamed to cover every Hailo device.
The old key is kept so an older Frigate still matches the model.
Args:
model_info: A Frigate+ model's metadata, edited in place
Returns:
The same metadata
"""
supported = model_info.get("supportedDetectors")
if supported and "hailo8l" in supported and "hailo" not in supported:
supported.append("hailo")
return model_info
def load_plus_model_info(model_id: str) -> dict[str, Any] | None:
"""Read a Frigate+ model's cached info file.
Args:
model_id: The Frigate+ model id
Returns:
The model info, or None when it has not been cached or cannot be read
"""
try:
with open(os.path.join(MODEL_CACHE_DIR, f"{model_id}.json")) as f:
model_info: dict[str, Any] = json.load(f)
except (OSError, ValueError):
return None
return add_hailo_alias(model_info)
def get_jpg_bytes(image: ndarray, max_dim: int, quality: int) -> bytes:
if image.shape[1] >= image.shape[0]:
width = min(max_dim, image.shape[1])
@@ -241,4 +280,9 @@ class PlusApi:
if not r.ok:
raise Exception(r.text)
return r.json()
models = r.json()
for model in models.get("list") or []:
add_hailo_alias(model)
return models
+6 -5
View File
@@ -5,6 +5,7 @@ import itertools
import logging
import os
import threading
from collections.abc import Iterable
from multiprocessing.synchronize import Event as MpEvent
from pathlib import Path
from typing import Any
@@ -28,7 +29,7 @@ logger = logging.getLogger(__name__)
def _filter_reviews_for_pass(
reviews: list[Any],
reviews: Iterable[Any],
now: datetime.datetime,
alerts_days: float,
detections_days: float,
@@ -121,14 +122,14 @@ class RecordingCleanup(threading.Thread):
)
maybe_empty_dirs = set()
thumbs_to_delete = list(map(lambda x: x[1], expired_reviews))
for thumb_path in thumbs_to_delete:
thumb_path = Path(thumb_path)
thumbs_to_delete = list(map(lambda x: x.thumb_path, expired_reviews))
for thumb in thumbs_to_delete:
thumb_path = Path(thumb)
thumb_path.unlink(missing_ok=True)
maybe_empty_dirs.add(thumb_path.parent)
max_deletes = 100000
deleted_reviews_list = list(map(lambda x: x[0], expired_reviews))
deleted_reviews_list = list(map(lambda x: x.id, expired_reviews))
for i in range(0, len(deleted_reviews_list), max_deletes):
ReviewSegment.delete().where(
ReviewSegment.id << deleted_reviews_list[i : i + max_deletes]
+7 -3
View File
@@ -14,7 +14,7 @@ from collections.abc import Callable
from dataclasses import dataclass
from enum import Enum
from pathlib import Path
from typing import Any
from typing import Any, cast
import pytz # type: ignore[import-untyped]
from pathvalidate import sanitize_filename
@@ -36,6 +36,7 @@ from frigate.ffmpeg_presets import (
parse_preset_hardware_acceleration_encode,
)
from frigate.models import Export, Previews, Recordings, ReviewSegment
from frigate.output.preview import is_camera_preview_frame
from frigate.util.ffmpeg import run_ffmpeg_with_progress
from frigate.util.ownership import chown_to_runtime
from frigate.util.recording_coverage import (
@@ -1055,7 +1056,10 @@ class RecordingExporter(threading.Thread):
except DoesNotExist:
return ""
diff = max(0.0, float(self.start_time) - float(preview.start_time))
# start_time is a DateTimeField holding a unix timestamp
diff = max(
0.0, float(self.start_time) - float(cast(Any, preview.start_time))
)
ffmpeg_cmd = [
"/usr/lib/ffmpeg/8.0/bin/ffmpeg", # hardcode path for exports thumbnail due to missing libwebp support
"-hide_banner",
@@ -1095,7 +1099,7 @@ class RecordingExporter(threading.Thread):
fallback_preview = None
for file in sorted(os.listdir(preview_dir)):
if not file.startswith(file_start):
if not is_camera_preview_frame(file, self.camera):
continue
if file < start_file:
+1 -1
View File
@@ -467,7 +467,7 @@ def get_hardware_temperatures(detector_type: str) -> list[float | None]:
read_temperature(os.path.join(base, apex, "temp"))
for apex in sorted(os.listdir(base))
]
elif detector_type == "hailo8l":
elif detector_type == "hailo":
hailo_temps = get_hailo_temps()
return [hailo_temps[name] for name in sorted(hailo_temps.keys())]
+5 -2
View File
@@ -3,8 +3,10 @@
import logging
import shutil
import threading
from collections.abc import Iterable
from multiprocessing.synchronize import Event as MpEvent
from pathlib import Path
from typing import Any, cast
from peewee import SQL, Case, fn
@@ -191,14 +193,15 @@ class StorageMaintainer(threading.Thread):
stream_usages = {
row["stream_type"]: row["usage"] or 0
for row in (
for row in cast(
Iterable[dict[str, Any]],
Recordings.select(
Recordings.stream_type,
fn.SUM(Recordings.segment_size).alias("usage"),
)
.where(Recordings.camera == camera, Recordings.segment_size != 0)
.group_by(Recordings.stream_type)
.dicts()
.dicts(),
)
}
stream_bandwidths = self.camera_storage_stats.get(camera, {}).get(
@@ -0,0 +1,81 @@
"""Tests that /auth only accepts a JWT whose role is still in the config."""
import os
import time
from unittest.mock import MagicMock, Mock, patch
from frigate.api.auth import create_encoded_jwt
from frigate.api.fastapi_app import create_fastapi_app
from frigate.config import FrigateConfig
from frigate.config.camera.updater import CameraConfigUpdatePublisher
from frigate.const import JWT_SECRET_ENV_VAR
from frigate.models import Event, Recordings, ReviewSegment
from frigate.test.http_api.base_http_test import AuthTestClient, BaseTestHttp
@patch.dict(os.environ, {JWT_SECRET_ENV_VAR: "test-secret"})
class TestAuthJwtRole(BaseTestHttp):
def setUp(self):
super().setUp(models=[Event, Recordings, ReviewSegment])
self.minimal_config = {
"mqtt": {"host": "mqtt"},
"auth": {"enabled": True, "roles": {"garage": ["front_door"]}},
"networking": {"listen": {"internal": 5000, "external": 8971}},
"cameras": {
"front_door": {
"ffmpeg": {
"inputs": [
{"path": "rtsp://10.0.0.1:554/video", "roles": ["detect"]}
]
},
"detect": {
"height": 1080,
"width": 1920,
"fps": 5,
},
}
},
}
def _create_app(self):
mock_publisher = Mock(spec=CameraConfigUpdatePublisher)
mock_publisher.publisher = MagicMock()
return create_fastapi_app(
FrigateConfig(**self.minimal_config),
self.db,
None,
None,
None,
None,
None,
None,
mock_publisher,
None,
enforce_default_admin=False,
)
def _auth(self, app, role: str):
token = create_encoded_jwt("bob", role, int(time.time()) + 3600, app.jwt_token)
with AuthTestClient(app) as client:
return client.get(
"/auth",
headers={
"x-server-port": "8971",
"authorization": f"Bearer {token}",
},
)
def test_configured_role_is_accepted(self):
resp = self._auth(self._create_app(), "garage")
self.assertEqual(resp.status_code, 202)
self.assertEqual(resp.headers["remote-user"], "bob")
self.assertEqual(resp.headers["remote-role"], "garage")
def test_role_removed_from_config_is_rejected(self):
resp = self._auth(self._create_app(), "removed_role")
self.assertEqual(resp.status_code, 401)
self.assertNotIn("remote-role", resp.headers)
+93 -6
View File
@@ -12,6 +12,7 @@ from frigate.util.config import (
CURRENT_CONFIG_VERSION,
migrate_frigate_config,
migrate_models,
rename_hailo_detector,
)
@@ -128,10 +129,10 @@ class TestMigrateModels(unittest.TestCase):
migrated = migrate_models(
{
"detectors": {
"ds": {
"type": "deepstack",
"api_url": "http://host:5000/v1/vision/detection",
"api_key": "secret",
"remote": {
"type": "zmq",
"endpoint": "tcp://host:5555",
"request_timeout_ms": 200,
}
}
}
@@ -139,9 +140,9 @@ class TestMigrateModels(unittest.TestCase):
self.assertEqual(
migrated["models"][0]["devices"],
["deepstack:http://host:5000/v1/vision/detection"],
["zmq:tcp://host:5555"],
)
self.assertTrue(any("api_key" in message for message in logs.output))
self.assertTrue(any("request_timeout_ms" in message for message in logs.output))
def test_mixed_detector_types_are_logged(self):
with self.assertLogs("frigate.util.config", level=logging.ERROR) as logs:
@@ -164,6 +165,61 @@ class TestMigrateModels(unittest.TestCase):
self.assertEqual(migrated["mqtt"], {"host": "mqtt"})
class TestMigrateRenamedDetectors(unittest.TestCase):
def test_a_hailo_detector_is_renamed(self):
migrated = migrate_models(
{"detectors": {"hailo": {"type": "hailo8l", "device": "PCIe"}}}
)
self.assertEqual(migrated["models"][0]["devices"], ["hailo:PCIe"])
def test_a_hailo_detector_without_a_device(self):
migrated = migrate_models({"detectors": {"hailo": {"type": "hailo8l"}}})
self.assertEqual(migrated["models"][0]["devices"], ["hailo"])
def test_two_hailo_detectors_stay_separate(self):
# the shareable lookup has to resolve through the renamed key
migrated = migrate_models(
{
"detectors": {
"hailo1": {"type": "hailo8l", "device": "PCIe"},
"hailo2": {"type": "hailo8l", "device": "PCIe"},
}
}
)
self.assertEqual(migrated["models"][0]["devices"], ["hailo:PCIe", "hailo:PCIe"])
class TestRenameHailoDetector(unittest.TestCase):
def test_a_renamed_detector_is_updated(self):
migrated = rename_hailo_detector(
{"models": [{"devices": ["hailo8l:PCIe", "hailo8l"]}]}
)
self.assertEqual(migrated["models"][0]["devices"], ["hailo:PCIe", "hailo"])
def test_other_detectors_are_untouched(self):
migrated = rename_hailo_detector(
{"models": [{"devices": ["openvino:GPU", "cpu"]}]}
)
self.assertEqual(migrated["models"][0]["devices"], ["openvino:GPU", "cpu"])
def test_renaming_is_idempotent(self):
once = rename_hailo_detector({"models": [{"devices": ["hailo8l:PCIe"]}]})
twice = rename_hailo_detector(once)
self.assertEqual(twice["models"][0]["devices"], ["hailo:PCIe"])
def test_a_config_without_models_is_left_alone(self):
self.assertEqual(
rename_hailo_detector({"mqtt": {"enabled": False}}),
{"mqtt": {"enabled": False}},
)
class TestMigrateConfigFile(unittest.TestCase):
"""The full file migration, which is gated on shape as well as version."""
@@ -220,6 +276,37 @@ class TestMigrateConfigFile(unittest.TestCase):
os.path.exists(os.path.join(self.temp_dir.name, "backup_config.yaml"))
)
def test_a_legacy_hailo_detector_lands_on_the_hailo_key(self):
# the detectors key is folded into models after the version chain has
# run, so the rename has to happen there too
migrated = self._migrate(
"mqtt:\n"
" enabled: false\n"
"detectors:\n"
" hailo:\n"
" type: hailo8l\n"
" device: PCIe\n"
"cameras: {}\n"
"version: 0.18-0\n"
)
self.assertEqual(migrated["models"][0]["devices"], ["hailo:PCIe"])
self.assertNotIn("detectors", migrated)
def test_a_hailo8l_device_is_renamed_at_the_current_version(self):
migrated = self._migrate(
"mqtt:\n"
" enabled: false\n"
"models:\n"
" - scene: all\n"
" devices:\n"
" - hailo8l:PCIe\n"
"cameras: {}\n"
f"version: {CURRENT_CONFIG_VERSION}\n"
)
self.assertEqual(migrated["models"][0]["devices"], ["hailo:PCIe"])
if __name__ == "__main__":
unittest.main(verbosity=2)
+1 -1
View File
@@ -170,7 +170,7 @@ class TestAccelerators(HardwareProbeTestCase):
def test_hailo_is_found_by_its_device_node(self):
write(os.path.join(self.dev_root, "hailo0"))
self.assertEqual(self.probe()["hailo8l"].units[0].device, "hailo8l:PCIe")
self.assertEqual(self.probe()["hailo"].units[0].device, "hailo:PCIe")
def test_each_memryx_node_is_a_unit(self):
write(os.path.join(self.dev_root, "memx0"))
+2 -2
View File
@@ -200,7 +200,7 @@ class TestScanDetectors(HardwareStatsTestCase):
self.scan([DeviceSpec("openvino:CPU", "openvino", "CPU")]), set()
)
self.assertEqual(self.scan([DeviceSpec("cpu", "cpu", None)]), set())
self.assertEqual(self.scan([DeviceSpec("hailo8l", "hailo8l", None)]), set())
self.assertEqual(self.scan([DeviceSpec("hailo", "hailo", None)]), set())
def test_onnx_resolves_to_present_gpu(self):
spec = DeviceSpec("onnx", "onnx", None)
@@ -412,7 +412,7 @@ class TestHardwareTemperatures(unittest.TestCase):
return_value={"hailo8l-1": 52.0, "hailo8l-0": 51.0},
)
def test_hailo_sorted_by_name(self, temps):
self.assertEqual(get_hardware_temperatures("hailo8l"), [51.0, 52.0])
self.assertEqual(get_hardware_temperatures("hailo"), [51.0, 52.0])
def test_unsupported_type(self):
self.assertEqual(get_hardware_temperatures("rknn"), [])
+79
View File
@@ -0,0 +1,79 @@
"""Tests for Frigate+ model metadata."""
import json
import os
import tempfile
import unittest
from unittest.mock import MagicMock, patch
from frigate.plus import PlusApi, load_plus_model_info
class TestHailoAlias(unittest.TestCase):
"""Frigate+ reports Hailo models by the detector's pre-rename key.
Both the model list and a cached info file have to carry the current key,
or every Hailo model reads as unsupported.
"""
def _get_models(self, models: list[dict]) -> list[dict]:
api = PlusApi.__new__(PlusApi)
response = MagicMock(ok=True, json=lambda: {"list": models})
with patch.object(PlusApi, "_get", return_value=response):
return api.get_models()["list"]
def test_the_model_list_gains_the_current_key(self):
models = self._get_models([{"supportedDetectors": ["hailo8l"]}])
self.assertEqual(models[0]["supportedDetectors"], ["hailo8l", "hailo"])
def test_the_old_key_is_kept_for_older_versions(self):
models = self._get_models([{"supportedDetectors": ["hailo8l"]}])
self.assertIn("hailo8l", models[0]["supportedDetectors"])
def test_other_detectors_are_untouched(self):
models = self._get_models([{"supportedDetectors": ["openvino", "onnx"]}])
self.assertEqual(models[0]["supportedDetectors"], ["openvino", "onnx"])
def test_a_model_already_naming_both_is_unchanged(self):
models = self._get_models([{"supportedDetectors": ["hailo8l", "hailo"]}])
self.assertEqual(models[0]["supportedDetectors"], ["hailo8l", "hailo"])
def test_an_empty_list(self):
self.assertEqual(self._get_models([]), [])
class TestLoadPlusModelInfo(unittest.TestCase):
def setUp(self):
self.cache = tempfile.TemporaryDirectory()
self.addCleanup(self.cache.cleanup)
patcher = patch("frigate.plus.MODEL_CACHE_DIR", self.cache.name)
patcher.start()
self.addCleanup(patcher.stop)
def _write(self, model_id: str, content: str) -> None:
with open(os.path.join(self.cache.name, f"{model_id}.json"), "w") as f:
f.write(content)
def test_a_cached_hailo_model_gains_the_current_key(self):
self._write("abc", json.dumps({"supportedDetectors": ["hailo8l"]}))
self.assertEqual(
load_plus_model_info("abc")["supportedDetectors"], ["hailo8l", "hailo"]
)
def test_a_missing_file(self):
self.assertIsNone(load_plus_model_info("nope"))
def test_an_unreadable_file(self):
self._write("bad", "{not json")
self.assertIsNone(load_plus_model_info("bad"))
if __name__ == "__main__":
unittest.main(verbosity=2)
+15
View File
@@ -75,6 +75,21 @@ class TestPreviewLoader(unittest.TestCase):
self.assertIsNone(get_most_recent_preview_frame(camera))
def test_get_most_recent_preview_frame_hyphenated_camera(self):
for name in ("preview_front-2000.0", "preview_front-door-3000.0"):
with open(
os.path.join(PREVIEW_CACHE_DIR, f"{name}.{PREVIEW_FRAME_TYPE}"), "w"
) as f:
f.write("test")
expected_path = os.path.join(
PREVIEW_CACHE_DIR, f"preview_front-2000.0.{PREVIEW_FRAME_TYPE}"
)
self.assertEqual(get_most_recent_preview_frame("front"), expected_path)
self.assertEqual(
get_most_recent_preview_frame("front", before=5000.0), expected_path
)
def test_get_most_recent_preview_frame_no_directory(self):
shutil.rmtree(PREVIEW_CACHE_DIR)
self.assertIsNone(get_most_recent_preview_frame("test_camera"))
+7 -7
View File
@@ -406,12 +406,12 @@ class TrackedObjectProcessor(threading.Thread):
tracked_obj.obj_data["sub_label"] = (sub_label, score)
if event:
event.sub_label = sub_label # type: ignore[assignment]
event.sub_label = sub_label
data = event.data
if sub_label is None:
data["sub_label_score"] = None # type: ignore[index]
data["sub_label_score"] = None
elif score is not None:
data["sub_label_score"] = score # type: ignore[index]
data["sub_label_score"] = score
event.data = data
event.save()
@@ -440,7 +440,7 @@ class TrackedObjectProcessor(threading.Thread):
objects_list = []
sub_labels = set()
events = Event.select(Event.id, Event.label, Event.sub_label).where(
Event.id.in_(detection_ids) # type: ignore[call-arg, misc]
Event.id.in_(detection_ids)
)
for det_event in events:
if det_event.sub_label:
@@ -506,11 +506,11 @@ class TrackedObjectProcessor(threading.Thread):
if event:
data = event.data
data[field_name] = field_value # type: ignore[index]
data[field_name] = field_value
if field_value is None:
data[f"{field_name}_score"] = None # type: ignore[index]
data[f"{field_name}_score"] = None
elif score is not None:
data[f"{field_name}_score"] = score # type: ignore[index]
data[f"{field_name}_score"] = score
event.data = data
event.save()
+61 -4
View File
@@ -31,7 +31,6 @@ DEFAULT_CONFIG_FILE = os.path.join(CONFIG_DIR, "config.yml")
DETECTOR_DEVICE_FIELDS = {
"cpu": "num_threads",
"rknn": "num_cores",
"deepstack": "api_url",
"degirum": "location",
"zmq": "endpoint",
}
@@ -40,7 +39,6 @@ DETECTOR_DEVICE_FIELDS = {
# detectors that use them are being reworked, so they are dropped rather than
# carried over.
DROPPED_DETECTOR_OPTIONS = {
"deepstack": ["api_timeout", "api_key"],
"degirum": ["zoo", "token"],
"zmq": ["request_timeout_ms", "linger_ms"],
}
@@ -170,7 +168,20 @@ def migrate_frigate_config(config_file: str):
# version and still use the pre-models detectors and model keys
needs_models = "detectors" in config or "model" in config
if previous_version == CURRENT_CONFIG_VERSION and not needs_models:
# likewise, it may already be on the models list and still name the hailo
# detector by its old key
needs_detector_rename = any(
isinstance(device, str) and device.partition(":")[0] == "hailo8l"
for model in (config.get("models") or [])
if isinstance(model, dict)
for device in (model.get("devices") or [])
)
if (
previous_version == CURRENT_CONFIG_VERSION
and not needs_models
and not needs_detector_rename
):
logger.info("frigate config does not need migration...")
return
@@ -244,6 +255,12 @@ def migrate_frigate_config(config_file: str):
with open(config_file, "w") as f:
yaml.dump(new_config, f)
if needs_detector_rename:
logger.info("Migrating renamed frigate detectors...")
new_config = rename_hailo_detector(new_config)
with open(config_file, "w") as f:
yaml.dump(new_config, f)
logger.info("Finished frigate config migration...")
@@ -777,9 +794,44 @@ def migrate_018_0(config: dict[str, dict[str, Any]]) -> dict[str, dict[str, Any]
return new_config
def rename_hailo_detector(
config: dict[str, dict[str, Any]],
) -> dict[str, dict[str, Any]]:
"""Rename the hailo8l detector, which drives every Hailo device.
Args:
config: The loaded config
Returns:
The config with every models entry naming the detector 'hailo'
"""
new_config = config.copy()
for model in new_config.get("models") or []:
if not isinstance(model, dict):
continue
devices = model.get("devices")
if not isinstance(devices, list):
continue
# assigned per index so ruamel keeps the comments on the list
for index, device in enumerate(devices):
if not isinstance(device, str):
continue
detector, separator, rest = device.partition(":")
if detector == "hailo8l":
devices[index] = f"hailo{separator}{rest}"
return new_config
def migrate_019_0(config: dict[str, dict[str, Any]]) -> dict[str, dict[str, Any]]:
"""Handle migrating Frigate config to 0.19-0."""
new_config = config.copy()
new_config = rename_hailo_detector(config)
_migrate_birdseye_mode(new_config.get("birdseye"))
@@ -824,6 +876,11 @@ def migrate_models(config: dict[str, dict[str, Any]]) -> dict[str, dict[str, Any
detector = detector or {}
detector_type = detector.get("type", "cpu")
device = detector.get(DETECTOR_DEVICE_FIELDS.get(detector_type, "device"))
# hailo8l named one device, but the detector drives every Hailo device
if detector_type == "hailo8l":
detector_type = "hailo"
device_string = detector_type if device is None else f"{detector_type}:{device}"
# repeating a device now means running an extra inference process on it,
-74
View File
@@ -1,74 +0,0 @@
module.exports = {
root: true,
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended",
"plugin:vitest-globals/recommended",
"plugin:prettier/recommended",
],
env: { browser: true, es2021: true, "vitest-globals/env": true },
ignorePatterns: ["dist", ".eslintrc.cjs"],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: "latest",
sourceType: "module",
},
settings: {
jest: {
version: 27,
},
},
ignorePatterns: ["*.d.ts", "/src/components/ui/*"],
plugins: ["react-hooks", "react-refresh"],
rules: {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true },
],
"comma-dangle": [
"error",
{
objects: "always-multiline",
arrays: "always-multiline",
imports: "always-multiline",
},
],
"no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/no-unused-vars": [
"error",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"no-console": "error",
"prettier/prettier": [
"warn",
{
plugins: ["prettier-plugin-tailwindcss"],
},
],
},
overrides: [
{
files: ["**/*.{ts,tsx}"],
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
],
},
],
};
@@ -49,9 +49,43 @@ const PLUS_MODEL = {
height: 320,
};
// Frigate+ builds a Hailo model per device and names the detector by its
// pre-rename key; /api/plus/models adds the current one before serving it
const HAILO_PLUS_MODELS = [
{
...PLUS_MODEL,
id: "hailo8l1",
supportedDetectors: ["hailo8l", "hailo"],
hailoDevice: "hailo8l",
},
{
...PLUS_MODEL,
id: "hailo8r1",
supportedDetectors: ["hailo8l", "hailo"],
hailoDevice: "hailo8r",
},
];
const HAILO_HARDWARE = [
{
key: "hailo",
detector: "hailo",
name: "Hailo",
units: [{ device: "hailo:PCIe", label: "hailo0" }],
count: 1,
unlimited: true,
},
];
type SavedConfig = { config_data?: { models?: Model[] } };
async function installRoutes(page: Page, models: Model[], plusEnabled = false) {
async function installRoutes(
page: Page,
models: Model[],
plusEnabled = false,
plusModels: unknown[] = [PLUS_MODEL],
hailoHardware = false,
) {
const config = configFactory({
models,
plus: { enabled: plusEnabled },
@@ -70,8 +104,14 @@ async function installRoutes(page: Page, models: Model[], plusEnabled = false) {
route.fulfill({ json: { models } }),
);
await page.route("**/api/plus/models", (route) =>
route.fulfill({ json: [PLUS_MODEL] }),
route.fulfill({ json: plusModels }),
);
if (hailoHardware) {
await page.route("**/api/hardware/probe**", (route) =>
route.fulfill({ json: HAILO_HARDWARE }),
);
}
await page.route("**/api/config/set", async (route) => {
saves.push(route.request().postDataJSON() as SavedConfig);
await route.fulfill({ json: { success: true, require_restart: false } });
@@ -262,6 +302,35 @@ test.describe("Detection models settings @high", () => {
expect(saves.at(-1)?.config_data?.models?.[0].path).toBe("plus://abc123");
});
test("a Frigate+ Hailo model is listed by the device it was built for", async ({
frigateApp,
}) => {
// every Hailo model supports the one hailo detector, so the detector name
// says nothing; which device it was built for is what the user picks on
await installRoutes(
frigateApp.page,
[{ scene: "all", devices: ["hailo:PCIe"], path: "/config/custom.hef" }],
true,
HAILO_PLUS_MODELS,
true,
);
await openPage(frigateApp);
await frigateApp.page.getByRole("tab", { name: "Frigate+" }).click();
await frigateApp.page.getByRole("combobox").last().click();
const options = frigateApp.page.getByRole("option");
await expect(options).toHaveCount(2);
await expect(options.first()).toContainText("hailo8l");
await expect(options.last()).toContainText("hailo8r");
// knowing which device is attached is left to the user, so neither is
// ruled out here
await expect(options.first()).not.toHaveAttribute("aria-disabled", "true");
await expect(options.last()).not.toHaveAttribute("aria-disabled", "true");
});
test("a freshly opened page is not reported as modified", async ({
frigateApp,
}) => {
@@ -0,0 +1,141 @@
/**
* Object filters settings tests -- MEDIUM tier.
*
* `objects.filters` is an additionalProperties map, so each label's filter is
* an entry RJSF adds at runtime. RJSF has changed how a cleared field nested
* inside such an entry is stored (`""` before 6.9, omitted after). These tests
* pin what Frigate does with it: the save payload deletes only the cleared
* key, and restoring the value leaves the section clean.
*/
import { readFileSync } from "node:fs";
import { resolve, dirname } from "node:path";
import { fileURLToPath } from "node:url";
import { test, expect } from "../../fixtures/frigate-test";
import type { Page } from "@playwright/test";
import { configFactory } from "../../fixtures/mock-data/config";
const __dirname = dirname(fileURLToPath(import.meta.url));
const CONFIG_SCHEMA = JSON.parse(
readFileSync(
resolve(__dirname, "../../fixtures/mock-data/config-schema.json"),
"utf-8",
),
);
const SETTINGS_URL = "/settings?page=cameraObjects&camera=front_door";
const UNSAVED = "You have unsaved changes";
// A non-default value can only come from the YAML, so deleting it is safe
const MIN_AREA = 5000;
async function installRoutes(page: Page) {
const config = configFactory({
cameras: {
front_door: {
objects: {
filters: {
person: {
min_area: MIN_AREA,
max_area: 24000000,
min_ratio: 0,
max_ratio: 24000000,
threshold: 0.7,
min_score: 0.5,
},
},
},
},
},
});
let lastSavedConfig: unknown = null;
await page.route("**/api/config/schema.json", (route) =>
route.fulfill({ json: CONFIG_SCHEMA }),
);
await page.route("**/api/config", (route) => {
if (route.request().method() === "GET") {
return route.fulfill({ json: config });
}
return route.fulfill({ json: { success: true } });
});
await page.route("**/api/config/raw_paths", (route) =>
route.fulfill({ json: {} }),
);
await page.route("**/api/config/set", async (route) => {
lastSavedConfig = route.request().postDataJSON();
await route.fulfill({ json: { success: true, require_restart: false } });
});
return { capturedConfig: () => lastSavedConfig };
}
async function openPersonMinArea(page: Page) {
await page.getByText("Object filters", { exact: true }).click();
await page.locator('[aria-expanded="false"]', { hasText: /^Person/ }).click();
const minArea = page.getByRole("textbox", { name: "Minimum object area" });
await expect(minArea).toHaveValue(String(MIN_AREA));
return minArea;
}
test.describe("object filters additionalProperties entries @medium", () => {
test("clearing a nested filter field deletes only that key on save", async ({
frigateApp,
}) => {
const capture = await installRoutes(frigateApp.page);
await frigateApp.goto(SETTINGS_URL);
const minArea = await openPersonMinArea(frigateApp.page);
await minArea.fill("");
await expect(frigateApp.page.getByText(UNSAVED)).toBeVisible();
await frigateApp.page
.getByRole("button", { name: "Save", exact: true })
.click();
// Empty string is the backend's remove sentinel. Sibling filter fields
// must not appear, or the save would rewrite values the user didn't touch.
await expect
.poll(() => capture.capturedConfig(), { timeout: 5_000 })
.toMatchObject({
config_data: {
cameras: {
front_door: { objects: { filters: { person: { min_area: "" } } } },
},
},
});
const saved = capture.capturedConfig() as {
config_data: {
cameras: {
front_door: { objects: { filters: { person: object } } };
};
};
};
expect(saved.config_data.cameras.front_door.objects.filters.person).toEqual(
{ min_area: "" },
);
});
test("restoring a cleared nested filter field leaves the section clean", async ({
frigateApp,
}) => {
await installRoutes(frigateApp.page);
await frigateApp.goto(SETTINGS_URL);
const minArea = await openPersonMinArea(frigateApp.page);
const save = frigateApp.page.getByRole("button", {
name: "Save",
exact: true,
});
await minArea.fill("");
await expect(frigateApp.page.getByText(UNSAVED)).toBeVisible();
await expect(save).toBeEnabled();
await minArea.fill(String(MIN_AREA));
await expect(frigateApp.page.getByText(UNSAVED)).toBeHidden();
await expect(save).toBeDisabled();
});
});
+2 -2
View File
@@ -422,7 +422,7 @@ test.describe("System — Health hardware pane @medium", () => {
frigateApp,
}) => {
await frigateApp.installDefaults({
config: { models: [{ scene: "all", devices: ["hailo8l"] }] },
config: { models: [{ scene: "all", devices: ["hailo"] }] },
stats: QUIET_STATS,
});
await frigateApp.goto("/system#health");
@@ -431,7 +431,7 @@ test.describe("System — Health hardware pane @medium", () => {
await expect(row).toHaveAttribute("data-state", "error", {
timeout: 15_000,
});
await expect(row).toContainText("hailo8l was not found on this system");
await expect(row).toContainText("hailo was not found on this system");
});
test("a generic device the probe cannot enumerate is judged by its runtime", async ({
+44
View File
@@ -0,0 +1,44 @@
import path from "node:path";
import js from "@eslint/js";
import { defineConfig, globalIgnores, includeIgnoreFile } from "eslint/config";
import prettierRecommended from "eslint-plugin-prettier/recommended";
import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";
import globals from "globals";
import tseslint from "typescript-eslint";
export default defineConfig([
includeIgnoreFile(path.join(import.meta.dirname, ".gitignore")),
globalIgnores(["src/components/ui/", "**/*.d.ts", "**/*.cjs", "**/*.mjs"]),
js.configs.recommended,
tseslint.configs.recommended,
prettierRecommended,
{
languageOptions: {
globals: { ...globals.browser, ...globals.node },
},
plugins: {
"react-hooks": reactHooks,
"react-refresh": reactRefresh,
},
rules: {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true },
],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"no-console": "error",
"prettier/prettier": "warn",
},
},
]);
+2608 -6313
View File
File diff suppressed because it is too large Load Diff
+77 -91
View File
@@ -7,13 +7,11 @@
"dev": "vite --host",
"postinstall": "patch-package",
"build": "tsc && vite build --base=/BASE_PATH/",
"lint": "eslint --ext .jsx,.js,.tsx,.ts --ignore-path .gitignore . && npm run e2e:lint",
"lint": "eslint . && npm run e2e:lint",
"e2e:lint": "node e2e/scripts/lint-specs.mjs",
"lint:fix": "eslint --ext .jsx,.js,.tsx,.ts --ignore-path .gitignore --fix .",
"lint:fix": "eslint --fix .",
"preview": "vite preview",
"prettier:write": "prettier -u -w --ignore-path .gitignore \"*.{ts,tsx,js,jsx,css,html}\"",
"test": "vitest",
"coverage": "vitest run --coverage",
"e2e:build": "tsc && vite build --base=/",
"e2e": "playwright test --config e2e/playwright.config.ts",
"e2e:ui": "playwright test --config e2e/playwright.config.ts --ui",
@@ -24,120 +22,108 @@
},
"dependencies": {
"@cycjimmy/jsmpeg-player": "^6.1.2",
"@hookform/resolvers": "^3.10.0",
"@melloware/react-logviewer": "^6.1.2",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-aspect-ratio": "^1.1.2",
"@radix-ui/react-checkbox": "^1.1.4",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-context-menu": "^2.2.16",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-popover": "^1.1.6",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-radio-group": "^1.2.3",
"@radix-ui/react-scroll-area": "^1.2.3",
"@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.2.3",
"@hookform/resolvers": "^5.9.1",
"@radix-ui/react-alert-dialog": "^1.1.23",
"@radix-ui/react-aspect-ratio": "^1.1.15",
"@radix-ui/react-checkbox": "^1.3.11",
"@radix-ui/react-collapsible": "^1.1.20",
"@radix-ui/react-context-menu": "^2.3.7",
"@radix-ui/react-dialog": "^1.1.23",
"@radix-ui/react-dropdown-menu": "^2.1.24",
"@radix-ui/react-hover-card": "^1.1.23",
"@radix-ui/react-label": "^2.1.15",
"@radix-ui/react-popover": "^1.1.23",
"@radix-ui/react-progress": "^1.1.16",
"@radix-ui/react-radio-group": "^1.4.7",
"@radix-ui/react-scroll-area": "^1.2.18",
"@radix-ui/react-select": "^2.3.7",
"@radix-ui/react-separator": "^1.1.15",
"@radix-ui/react-slider": "^1.4.7",
"@radix-ui/react-slot": "1.2.4",
"@radix-ui/react-switch": "^1.1.3",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-toggle": "^1.1.2",
"@radix-ui/react-toggle-group": "^1.1.2",
"@radix-ui/react-tooltip": "^1.2.8",
"@rjsf/core": "^6.4.1",
"@rjsf/shadcn": "^6.4.1",
"@rjsf/utils": "^6.4.1",
"@rjsf/validator-ajv8": "^6.4.1",
"apexcharts": "^3.52.0",
"axios": "^1.13.6",
"@radix-ui/react-switch": "^1.3.7",
"@radix-ui/react-tabs": "^1.1.21",
"@radix-ui/react-toggle": "^1.1.18",
"@radix-ui/react-toggle-group": "^1.1.19",
"@radix-ui/react-tooltip": "^1.2.16",
"@rjsf/core": "^6.10.0",
"@rjsf/shadcn": "^6.10.0",
"@rjsf/utils": "^6.10.0",
"@rjsf/validator-ajv8": "^6.10.0",
"apexcharts": "^7.3.0",
"axios": "^1.20.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.0.0",
"copy-to-clipboard": "^3.3.3",
"date-fns": "^3.6.0",
"copy-to-clipboard": "^4.0.2",
"date-fns": "^4.4.0",
"date-fns-tz": "^3.2.0",
"framer-motion": "^12.38.0",
"hls.js": "^1.6.15",
"i18next": "^24.2.0",
"i18next-http-backend": "^3.0.1",
"idb-keyval": "^6.2.1",
"immer": "^10.1.1",
"js-yaml": "^4.1.1",
"konva": "^10.2.3",
"framer-motion": "^13.3.0",
"hls.js": "^1.7.3",
"i18next": "^26.4.2",
"i18next-http-backend": "^4.0.2",
"idb-keyval": "^6.3.0",
"js-yaml": "^5.4.2",
"konva": "^10.5.0",
"lodash": "^4.18.1",
"lucide-react": "^0.577.0",
"monaco-yaml": "^5.4.1",
"lucide-react": "^1.46.0",
"monaco-yaml": "^5.5.1",
"next-themes": "^0.4.6",
"nosleep.js": "^0.12.0",
"react": "^19.2.4",
"react-apexcharts": "^1.4.1",
"react": "^19.3.0",
"react-apexcharts": "^2.1.1",
"react-day-picker": "^9.14.0",
"react-device-detect": "^2.2.3",
"react-dom": "^19.2.4",
"react-dropzone": "^14.3.8",
"react-grid-layout": "^2.2.2",
"react-hook-form": "^7.72.0",
"react-i18next": "^15.2.0",
"react-icons": "^5.5.0",
"react-konva": "^19.2.3",
"react-markdown": "^9.0.1",
"react-router-dom": "^6.30.3",
"react-dom": "^19.3.0",
"react-dropzone": "^20.1.2",
"react-grid-layout": "^2.2.4",
"react-hook-form": "^7.88.0",
"react-i18next": "^17.0.14",
"react-icons": "^5.7.0",
"react-konva": "^19.2.7",
"react-markdown": "^10.1.0",
"react-router-dom": "^6.30.6",
"react-swipeable": "^7.0.2",
"react-zoom-pan-pinch": "3.4.4",
"remark-gfm": "^4.0.0",
"scroll-into-view-if-needed": "^3.1.0",
"sonner": "^2.0.7",
"sort-by": "^1.2.0",
"strftime": "^0.10.3",
"swr": "^2.4.1",
"sonner": "^2.0.8",
"swr": "^2.5.1",
"tailwind-merge": "^2.4.0",
"tailwind-scrollbar": "^3.1.0",
"tailwindcss-animate": "^1.0.7",
"use-long-press": "^3.2.0",
"use-long-press": "^3.3.0",
"vaul": "^1.1.2",
"virtua": "^0.51.3",
"vite-plugin-monaco-editor": "^1.1.0",
"zod": "^3.23.8"
"zod": "^3.25.76"
},
"devDependencies": {
"@playwright/test": "^1.59.1",
"@tailwindcss/forms": "^0.5.9",
"@testing-library/jest-dom": "^6.6.2",
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.63.0",
"@types/js-yaml": "^4.0.9",
"@types/lodash": "^4.17.12",
"@types/node": "^20.14.10",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@types/strftime": "^0.9.8",
"@typescript-eslint/eslint-plugin": "^7.5.0",
"@typescript-eslint/parser": "^7.5.0",
"@vitejs/plugin-react-swc": "^3.8.0",
"@vitest/coverage-v8": "^3.0.7",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.2.0",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.8",
"eslint-plugin-vitest-globals": "^1.5.0",
"fake-indexeddb": "^6.0.0",
"@types/lodash": "^4.17.25",
"@types/node": "^26.5.1",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@vitejs/plugin-react": "^6.1.1",
"autoprefixer": "^10.6.0",
"esbuild": "^0.28.2",
"eslint": "^10.10.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.7",
"globals": "^17.12.0",
"i18next-cli": "^1.5.11",
"jest-websocket-mock": "^2.5.0",
"jsdom": "^24.1.1",
"monaco-editor": "^0.52.2",
"msw": "^2.3.5",
"patch-package": "^8.0.1",
"postcss": "^8.5.8",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
"postcss": "^8.5.12",
"prettier": "^3.9.6",
"prettier-plugin-tailwindcss": "^0.8.1",
"tailwindcss": "^3.4.9",
"typescript": "^5.9.3",
"vite": "^6.4.2",
"vitest": "^3.0.7"
"typescript-eslint": "^8.70.0",
"vite": "^8.3.0"
},
"overrides": {
"@radix-ui/react-compose-refs": "1.1.2",
@@ -7,7 +7,6 @@
"submit": "تقديم"
},
"livePlayerRequiredIOSVersion": "مطلوب نظام iOS 17.1 أو أكبر لهذا النوع من البث المباشر.",
"cameraDisabled": "الكاميرا معطلة",
"stats": {
"streamType": {
"title": "نوع الدفق:",
-1
View File
@@ -11,7 +11,6 @@
"detection": "لا توجد عمليات كشف لمراجعتها",
"motion": "لم يتم العثور على بيانات الحركة"
},
"timeline": "التسلسل الزمني",
"timeline.aria": "اختر التسلسل الزمني",
"events": {
"label": "اﻷحداث",
-1
View File
@@ -2,7 +2,6 @@
"search": "بحث",
"noExports": "لا يوجد تصديرات",
"documentTitle": "التصدير - فرايجيت",
"deleteExport": "حذف التصدير",
"deleteExport.desc": "هل أنت متأكد من رغبتك في حذف{{exportName}}؟",
"editExport": {
"title": "إعادة تسمية التصدير",
+1 -7
View File
@@ -5,13 +5,9 @@
"placeholder": "أدخل أسم لهذه المجموعة"
},
"details": {
"person": "شخص",
"subLabelScore": "نتيجة العلامة الفرعية",
"timestamp": "الطابع الزمني",
"unknown": "غير معروف",
"scoreInfo": "النتيجة الفرعية هي النتيجة المرجحة لجميع درجات الثقة المعترف بها للوجه، لذلك قد تختلف عن النتيجة الموضحة في اللقطة.",
"face": "تفاصيل الوجه",
"faceDesc": "تفاصيل الكائن المتتبع الذي أنشأ هذا الوجه"
"scoreInfo": "النتيجة الفرعية هي النتيجة المرجحة لجميع درجات الثقة المعترف بها للوجه، لذلك قد تختلف عن النتيجة الموضحة في اللقطة."
},
"documentTitle": "مكتبة الوجوه - Frigate",
"uploadFaceImage": {
@@ -20,8 +16,6 @@
},
"collections": "المجموعات",
"createFaceLibrary": {
"title": "إنشاء المجاميع",
"desc": "إنشاء مجموعة جديدة",
"new": "إضافة وجه جديد",
"nextSteps": "لبناء أساس قوي:<li>استخدم علامة التبويب \"التعرّفات الأخيرة\" لاختيار الصور والتدريب عليها لكل شخص تم اكتشافه.</li> <li>ركّز على الصور الأمامية المباشرة للحصول على أفضل النتائج؛ وتجنّب صور التدريب التي تُظهر الوجوه بزاوية.</li>"
},
-1
View File
@@ -1,5 +1,4 @@
{
"documentTitle": "بث حي - فرايجيت",
"documentTitle.withCamera": "{{camera}} - بث حي - فرايجيت",
"lowBandwidthMode": "وضع موفر للبيانات",
"twoWayTalk": {
@@ -1,6 +1,5 @@
{
"documentTitle": {
"camera": "إعدادات الكاميرا - فرايجيت",
"default": "الإعدادات - فرايجيت",
"authentication": "إعدادات المصادقة - فرايجيت",
"enrichments": "إحصاء الاعدادات",
+1 -5
View File
@@ -86,11 +86,7 @@
"gpuTemperature": "درجة حرارة الـ GPU",
"npuUsage": "معلومات وحدة معالجة الشبكة",
"npuMemory": "استخدام وحدة المعالجة العصبية",
"npuTemperature": "درجة حرارة الـ NPU",
"intelGpuWarning": {
"title": "تحذير إحصائيات معالج Intel الرسومي",
"description": "هذا خطأ برمي معروف في أدوات تقارير إحصائيات معالجات Intel الرسومية (intel_gpu_top)، حيث تتوقف الأداة عن العمل وتُظهر استهلاك المعالج الرسومي (GPU) بنسبة 0% بشكل متكرر، حتى في الحالات التي يعمل فيها تسريع العتاد وكشف الكائنات بشكل صحيح على المعالج الرسومي المدمج (iGPU). هذا ليس خطأً في برنامج فرايجيت (Frigate). يمكنك إعادة تشغيل الجهاز المضيف لحل المشكلة مؤقتاً والتأكد من أن المعالج الرسومي يعمل بشكل صحيح. علماً بأن هذا الخلل لا يؤثر على الأداء."
}
"npuTemperature": "درجة حرارة الـ NPU"
},
"title": "لمحة عامة",
"detector": {
@@ -144,10 +144,6 @@
"label": "Уключыць Birdseye",
"description": "Уключыць або адключыць функцыю выгляду Birdseye."
},
"mode": {
"label": "Рэжым адсочвання",
"description": "Рэжым уключэння камер у Birdseye: «objects», «motion» або «continuous»."
},
"order": {
"label": "Пазіцыя",
"description": "Лічбавае становішча, якое вызначае парадак камеры ў раскладцы Birdseye."
-211
View File
@@ -66,10 +66,6 @@
"label": "Уключыць Birdseye",
"description": "Уключыць або адключыць функцыю выгляду Birdseye."
},
"mode": {
"label": "Рэжым адсочвання",
"description": "Рэжым уключэння камер у Birdseye: «objects», «motion» або «continuous»."
},
"order": {
"label": "Пазіцыя",
"description": "Лічбавае становішча, якое вызначае парадак камеры ў раскладцы Birdseye."
@@ -1240,213 +1236,6 @@
"description": "Сістэма адзінак для адлюстравання (metric або imperial) у інтэрфейсе і MQTT."
}
},
"detectors": {
"label": "Абсталяванне дэтэктара",
"description": "Канфігурацыя дэтэктараў аб'ектаў (CPU, GPU, бэкенды ONNX) і любых налад мадэлі, характэрных для дэтэктара.",
"type": {
"label": "Тып"
},
"model": {
"label": "Канфігурацыя мадэлі для дэтэктара",
"description": "Параметры канфігурацыі мадэлі, характэрныя для дэтэктара (шлях, памер уваходу і г. д.).",
"path": {
"label": "Шлях да ўласнай мадэлі дэтэктавання аб'ектаў",
"description": "Шлях да файла ўласнай мадэлі дэтэктавання (або plus://<model_id> для мадэляў Frigate+)."
},
"labelmap_path": {
"label": "Карта метак для ўласнага дэтэктара аб'ектаў",
"description": "Шлях да файла labelmap, які супастаўляе лічбавыя класы з радковымі меткамі для дэтэктара."
},
"width": {
"label": "Шырыня ўваходу мадэлі дэтэктавання аб'ектаў",
"description": "Шырыня ўваходнага тэнзара мадэлі ў пікселях."
},
"height": {
"label": "Вышыня ўваходу мадэлі дэтэктавання аб'ектаў",
"description": "Вышыня ўваходнага тэнзара мадэлі ў пікселях."
},
"labelmap": {
"label": "Наладка labelmap",
"description": "Перавызначэнні або запісы перасупастаўлення, якія аб'ядноўваюцца са стандартным labelmap."
},
"attributes_map": {
"label": "Карта метак аб'ектаў да іх метак атрыбутаў",
"description": "Супастаўленне метак аб'ектаў з меткамі атрыбутаў для далучэння метаданых (напрыклад «car» -> [«license_plate»])."
},
"input_tensor": {
"label": "Форма ўваходнага тэнзара мадэлі",
"description": "Фармат тэнзара, які чакае мадэль: «nhwc» або «nchw»."
},
"input_pixel_format": {
"label": "Фармат колеру пікселяў на ўваходзе мадэлі",
"description": "Колеравая прастора, якую чакае мадэль: «rgb», «bgr» або «yuv»."
},
"input_dtype": {
"label": "Тып даных уваходу мадэлі",
"description": "Тып даных уваходнага тэнзара мадэлі (напрыклад «float32»)."
},
"model_type": {
"label": "Тып мадэлі дэтэктавання аб'ектаў",
"description": "Тып архітэктуры мадэлі дэтэктара (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine), які некаторыя дэтэктары выкарыстоўваюць для аптымізацыі."
}
},
"model_path": {
"label": "Шлях да мадэлі для дэтэктара",
"description": "Шлях да файла мадэлі дэтэктара, калі гэта патрабуе выбраны дэтэктар."
},
"axengine": {
"label": "NPU AXEngine",
"description": "Дэтэктар на NPU AXERA AX650N/AX8850N, які запускае скампіляваныя файлы .axmodel праз асяроддзе AXEngine."
},
"cpu": {
"label": "Цэнтральны працэсар",
"description": "Дэтэктар CPU TFLite, які запускае мадэлі TensorFlow Lite на CPU без апаратнага паскарэння. Не рэкамендуецца.",
"num_threads": {
"label": "Колькасць патокаў дэтэктавання",
"description": "Колькасць патокаў для вывядзення на CPU."
}
},
"deepstack": {
"label": "DeepStack",
"description": "Дэтэктар DeepStack/CodeProject.AI, які адпраўляе відарысы на аддалены HTTP API DeepStack. Не рэкамендуецца.",
"api_url": {
"label": "URL API DeepStack",
"description": "URL API DeepStack."
},
"api_timeout": {
"label": "Тайм-аўт API DeepStack (у секундах)",
"description": "Максімальны час, дазволены на запыт да API DeepStack."
},
"api_key": {
"label": "Ключ API DeepStack (калі патрэбны)",
"description": "Неабавязковы ключ API для сэрвісаў DeepStack з праверкай сапраўднасці."
}
},
"edgetpu": {
"label": "EdgeTPU",
"description": "Дэтэктар EdgeTPU, які запускае мадэлі TensorFlow Lite, скампіляваныя пад Coral EdgeTPU, праз дэлегат EdgeTPU.",
"device": {
"label": "Тып прылады",
"description": "Прылада для вывядзення на EdgeTPU (напрыклад «usb», «pci»)."
}
},
"hailo8l": {
"label": "Hailo-8/Hailo-8L",
"description": "Дэтэктар Hailo-8/Hailo-8L, які выкарыстоўвае мадэлі HEF і SDK HailoRT для вывядзення на абсталяванні Hailo.",
"device": {
"label": "Тып прылады",
"description": "Прылада для вывядзення на Hailo (напрыклад «PCIe», «M.2»)."
}
},
"memryx": {
"label": "MemryX",
"description": "Дэтэктар MemryX MX3, які запускае скампіляваныя мадэлі DFP на паскаральніках MemryX.",
"device": {
"label": "Шлях да прылады",
"description": "Прылада для вывядзення на MemryX (напрыклад «PCIe»)."
}
},
"onnx": {
"label": "ONNX",
"description": "Дэтэктар ONNX для запуску мадэляў ONNX. Пры магчымасці выкарыстоўвае даступныя бэкенды паскарэння (CUDA/ROCm/OpenVINO).",
"device": {
"label": "Тып прылады",
"description": "Прылада для вывядзення на ONNX (напрыклад «AUTO», «CPU», «GPU»)."
}
},
"openvino": {
"label": "OpenVINO",
"description": "Дэтэктар OpenVINO для CPU AMD і Intel, GPU Intel і абсталявання Intel VPU.",
"device": {
"label": "Тып прылады",
"description": "Прылада для вывядзення на OpenVINO (напрыклад «CPU», «GPU», «NPU»)."
}
},
"rknn": {
"label": "RKNN",
"description": "Дэтэктар RKNN для NPU Rockchip. Запускае скампіляваныя мадэлі RKNN на абсталяванні Rockchip.",
"num_cores": {
"label": "Колькасць ядраў NPU для выкарыстання.",
"description": "Колькасць ядраў NPU (0 - аўтаматычна)."
}
},
"synaptics": {
"label": "Synaptics",
"description": "Дэтэктар на NPU Synaptics для мадэляў у фармаце .synap праз Synap SDK на абсталяванні Synaptics."
},
"teflon_tfl": {
"label": "Teflon",
"description": "Дэтэктар-дэлегат Teflon для TFLite, які выкарыстоўвае бібліятэку дэлегата Mesa Teflon, каб паскорыць вывядзенне на падтрыманых GPU."
},
"tensorrt": {
"label": "TensorRT",
"description": "Дэтэктар TensorRT для прылад Nvidia Jetson, які выкарыстоўвае серыялізаваныя рухавікі TensorRT для паскоранага вывядзення.",
"device": {
"label": "Індэкс прылады GPU",
"description": "Індэкс прылады GPU для выкарыстання."
}
},
"zmq": {
"label": "ZMQ IPC",
"description": "Дэтэктар ZMQ IPC, які перадае вывядзенне знешняму працэсу праз канчатковы пункт ZeroMQ IPC.",
"endpoint": {
"label": "Канчатковы пункт ZMQ IPC",
"description": "Канчатковы пункт ZMQ для падлучэння."
},
"request_timeout_ms": {
"label": "Тайм-аўт запыту ZMQ у мілісекундах",
"description": "Тайм-аўт запытаў ZMQ у мілісекундах."
},
"linger_ms": {
"label": "Затрымка сокета ZMQ у мілісекундах",
"description": "Перыяд затрымкі сокета ў мілісекундах."
}
}
},
"model": {
"label": "Мадэль дэтэктавання",
"description": "Налады ўласнай мадэлі дэтэктавання аб'ектаў і формы яе ўваходу.",
"path": {
"label": "Шлях да ўласнай мадэлі дэтэктавання аб'ектаў",
"description": "Шлях да файла ўласнай мадэлі дэтэктавання (або plus://<model_id> для мадэляў Frigate+)."
},
"labelmap_path": {
"label": "Карта метак для ўласнага дэтэктара аб'ектаў",
"description": "Шлях да файла labelmap, які супастаўляе лічбавыя класы з радковымі меткамі для дэтэктара."
},
"width": {
"label": "Шырыня ўваходу мадэлі дэтэктавання аб'ектаў",
"description": "Шырыня ўваходнага тэнзара мадэлі ў пікселях."
},
"height": {
"label": "Вышыня ўваходу мадэлі дэтэктавання аб'ектаў",
"description": "Вышыня ўваходнага тэнзара мадэлі ў пікселях."
},
"labelmap": {
"label": "Наладка labelmap",
"description": "Перавызначэнні або запісы перасупастаўлення, якія аб'ядноўваюцца са стандартным labelmap."
},
"attributes_map": {
"label": "Карта метак аб'ектаў да іх метак атрыбутаў",
"description": "Супастаўленне метак аб'ектаў з меткамі атрыбутаў для далучэння метаданых (напрыклад «car» -> [«license_plate»])."
},
"input_tensor": {
"label": "Форма ўваходнага тэнзара мадэлі",
"description": "Фармат тэнзара, які чакае мадэль: «nhwc» або «nchw»."
},
"input_pixel_format": {
"label": "Фармат колеру пікселяў на ўваходзе мадэлі",
"description": "Колеравая прастора, якую чакае мадэль: «rgb», «bgr» або «yuv»."
},
"input_dtype": {
"label": "Тып даных уваходу мадэлі",
"description": "Тып даных уваходнага тэнзара мадэлі (напрыклад «float32»)."
},
"model_type": {
"label": "Тып мадэлі дэтэктавання аб'ектаў",
"description": "Тып архітэктуры мадэлі дэтэктара (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine), які некаторыя дэтэктары выкарыстоўваюць для аптымізацыі."
}
},
"genai": {
"label": "Канфігурацыя Generative AI",
"description": "Налады інтэграваных правайдараў generative AI, якія ствараюць апісанні аб'ектаў і зводкі разгляду.",
-47
View File
@@ -1274,31 +1274,6 @@
"error": "Не ўдалося захаваць змены канфігурацыі: {{errorMessage}}"
}
},
"detectorsAndModel": {
"title": "Дэтэктары і мадэль",
"description": "Наладзьце бэкенд дэтэктара, які запускае дэтэктаванне аб'ектаў, і мадэль, якую ён выкарыстоўвае. Змены захоўваюцца разам, каб дэтэктар і мадэль заставаліся ўзгодненымі.",
"cardTitles": {
"detector": "Абсталяванне дэтэктара",
"model": "Мадэль дэтэктавання"
},
"tabs": {
"plus": "Frigate+",
"custom": "Уласная мадэль"
},
"mismatch": {
"warning": "Бягучая мадэль Frigate+ «{{model}}» патрабуе дэтэктар {{required}}. Выберыце сумяшчальную мадэль ніжэй або пераключыцеся на ўласную мадэль перад захаваннем."
},
"plusModel": {
"requiresDetector": "Патрабуе: {{detector}}",
"noModelSelected": "Выберыце мадэль Frigate+"
},
"toast": {
"saveSuccess": "Налады дэтэктараў і мадэлі захаваны. Перазапусціце Frigate, каб прымяніць змены.",
"saveError": "Не ўдалося захаваць налады дэтэктара і мадэлі"
},
"unsavedChanges": "Незахаваныя змены дэтэктара і мадэлі",
"restartRequired": "Патрабуецца перазапуск (зменены дэтэктар або мадэль)"
},
"triggers": {
"documentTitle": "Трыгеры",
"semanticSearch": {
@@ -1617,16 +1592,6 @@
"detect": {
"title": "Налады дэтэктавання"
},
"detectors": {
"title": "Налады дэтэктара",
"singleType": "Дазволены толькі адзін дэтэктар тыпу {{type}}.",
"keyRequired": "Патрабуецца назва дэтэктара.",
"keyDuplicate": "Дэтэктар з такой назвай ужо існуе.",
"noSchema": "Схемы дэтэктараў недаступныя.",
"none": "Асобнікі дэтэктараў не наладжаны.",
"add": "Дадаць дэтэктар",
"addCustomKey": "Дадаць уласны ключ"
},
"record": {
"title": "Налады запісу"
},
@@ -1858,11 +1823,6 @@
}
},
"birdseye": {
"trackingMode": {
"objects": "Аб'екты",
"motion": "Рух",
"continuous": "Бесперапынна"
},
"cameraOrder": {
"label": "Парадак камер",
"description": "Перацягвайце камеры, каб задаць іх парадак у раскладцы Birdseye.",
@@ -1971,16 +1931,9 @@
"record": {
"noRecordRole": "Ніводнай плыні не прызначана роля «record». Запіс працаваць не будзе."
},
"birdseye": {
"objectsModeDetectDisabled": "Birdseye зададзены ў рэжыме «objects», але дэтэктаванне аб'ектаў для гэтай камеры адключана. Камера не з'явіцца ў Birdseye."
},
"snapshots": {
"detectDisabled": "Дэтэктаванне аб'ектаў адключана. Здымкі ствараюцца з аб'ектаў пад адсочваннем і стварацца не будуць."
},
"detectors": {
"mixedTypes": "Усе дэтэктары мусяць быць аднаго тыпу. Выдаліце наяўныя дэтэктары, каб выкарыстаць іншы тып.",
"mixedTypesSuggestion": "Усе дэтэктары мусяць быць аднаго тыпу. Выдаліце наяўныя дэтэктары або выберыце {{type}}."
},
"semanticSearch": {
"jinav2SmallModelSize": "Памер «small» з мадэллю Jina V2 патрабуе шмат RAM і рэсурсаў на вывядзенне. Рэкамендуецца мадэль «large» з асобным GPU."
},
-3
View File
@@ -180,8 +180,6 @@
"gap": "Прамежак паміж ключавымі кадрамі (мін. / сяр. / макс.):",
"segmentLength": "Даўжыня сегмента запісу:",
"ok": "Ключавыя кадры прыблізна кожныя {{seconds}} с, гэта добра для запісу і прайгравання.",
"warning": "Рэдкія або нераўнамерныя ключавыя кадры (найбольшы прамежак каля {{seconds}} с), верагодна разумны кодэк (H.264+/H.265+), гэта не рэкамендуецца.",
"error": "Прамежак паміж ключавымі кадрамі (каля {{seconds}} с) перавышае даўжыню сегмента запісу ({{segmentTime}} с). Некаторыя сегменты могуць застацца без ключавога кадра, што ламае прайграванне. Адключыце разумны кодэк «+» на камеры або скараціце інтэрвал ключавых кадраў.",
"unknown": "Не ўдалося вызначыць інтэрвал ключавых кадраў.",
"recordDisabled": "Для гэтай камеры запіс адключаны."
}
@@ -236,7 +234,6 @@
"cameraIsOffline": "{{camera}} па-за сеткай",
"detectIsSlow": "{{detect}} працуе павольна ({{speed}} мс)",
"detectIsVerySlow": "{{detect}} працуе вельмі павольна ({{speed}} мс)",
"shmTooLow": "Выдзеленую памяць /dev/shm ({{total}} МБ) трэба павялічыць прынамсі да {{min}} МБ.",
"debugReplayActive": "Сеанс адладачнага паўтору актыўны"
},
"enrichments": {
@@ -40,7 +40,6 @@
"noPreviewFound": "Не е намерен предварителен преглед",
"noRecordingsFoundForThisTime": "За това време не са намерени записи",
"livePlayerRequiredIOSVersion": "За този тип поток на живо се изисква iOS 17.1 или по-нова версия.",
"cameraDisabled": "Камерата е изключена",
"toast": {
"success": {
"submittedFrigatePlus": "Успешно изпратен кадър към Frigate+"
-1
View File
@@ -1,6 +1,5 @@
{
"timeline.aria": "Избери хронология",
"timeline": "Хронология",
"calendarFilter": {
"last24Hours": "Последните 24 часа"
},
-1
View File
@@ -2,7 +2,6 @@
"documentTitle": "Експорт - Frigate",
"search": "Търси",
"noExports": "Няма намерени експорти",
"deleteExport": "Изтрий експорт",
"deleteExport.desc": "Сигурни ли сте, че искате да изтриете {{exportName}}?",
"editExport": {
"title": "Преименувай експорт",
-6
View File
@@ -39,8 +39,6 @@
"disable": "Изключи аудио разпознаване"
},
"camera": {
"enable": "Включи камера",
"disable": "Изключи камера",
"turnOn": "Включване на камера",
"turnOff": "Изключване на камера"
},
@@ -65,10 +63,6 @@
},
"recordDisabledTips": "Тъй като записът е изключен или ограничен в конфигурацията за тази камера, ще бъде запазена само моментна снимка."
},
"cameraSettings": {
"cameraEnabled": "Камерата е включена"
},
"documentTitle": "Наживо - Frigate",
"documentTitle.withCamera": "{{camera}} - На живо - Фригейт",
"noCameras": {
"default": {
-1
View File
@@ -426,7 +426,6 @@
"radio": "Radio",
"field_recording": "Snimka na terenu",
"scream": "Vrisak",
"sodeling": "Sodeling",
"chird": "Chird",
"change_ringing": "Promjena zvona",
"shofar": "Šofar",
+1 -5
View File
@@ -98,9 +98,6 @@
"started_one": "Pokrenut 1 izvoz. Otvaranje slučaja sada.",
"started_few": "Pokrenuta {{count}} izvoza. Otvaranje slučaja sada.",
"started_other": "Pokrenuto {{count}} izvoza. Otvaranje slučaja sada.",
"startedNoCase_one": "Pokrenut 1 izvoz.",
"startedNoCase_few": "Pokrenuta {{count}} izvoza.",
"startedNoCase_other": "Pokrenuto {{count}} izvoza.",
"partial": "Pokrenuto {{successful}} od {{total}} izvoza. Neuspješno: {{failedItems}}",
"failed": "Neuspješno pokretanje {{total}} izvoza. Neuspješno: {{failedItems}}"
}
@@ -121,8 +118,7 @@
"batchQueueFailed": "Neuspješno dodavanje {{total}} izvoza. Neuspješne kamere: {{failedCameras}}",
"error": {
"failed": "Neuspješno dodavanje izvoza: {{error}}",
"endTimeMustAfterStartTime": "Krajnje vrijeme mora biti nakon početnog vremena",
"noVaildTimeSelected": "Nije odabran valjan vremenski opseg"
"endTimeMustAfterStartTime": "Krajnje vrijeme mora biti nakon početnog vremena"
}
},
"fromTimeline": {
@@ -12,7 +12,6 @@
"title": "Prijenos je offline",
"desc": "Nisu primljeni okviri na {{cameraName}} <code>detect</code> prijenos, provjerite zapise o greškama"
},
"cameraDisabled": "Kamera je onemogućena",
"stats": {
"streamType": {
"title": "Tip prijenosa:",
@@ -140,10 +140,6 @@
"label": "Omogući Birdseye",
"description": "Omogući ili onemogući funkciju prikaza Birdseye."
},
"mode": {
"label": "Način praćenja",
"description": "Način uključivanja kamera u Birdseye: 'objekti', 'kretanje' ili 'kontinuirano'."
},
"order": {
"label": "Pozicija",
"description": "Numerička pozicija koja kontroliše redoslijed kamera u rasporedu Birdseye."
@@ -736,10 +732,6 @@
"label": "Zadano zadržavanje",
"description": "Zadani broj dana za zadržavanje snimki."
},
"mode": {
"label": "Način zadržavanja",
"description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)."
},
"objects": {
"label": "Zadržavanje objekata",
"description": "Prekriženja po objektu za dane zadržavanja snimki."
-239
View File
@@ -66,10 +66,6 @@
"label": "Omogući Birdseye",
"description": "Omogući ili onemogući funkciju prikaza Birdseye."
},
"mode": {
"label": "Način praćenja",
"description": "Način uključivanja kamera u Birdseye: 'objekti', 'kretanje' ili 'kontinuirano'."
},
"order": {
"label": "Pozicija",
"description": "Numerička pozicija koja kontroliše redoslijed kamera u rasporedu Birdseye."
@@ -795,10 +791,6 @@
"label": "Zadano zadržavanje",
"description": "Zadani broj dana za zadržavanje snimki."
},
"mode": {
"label": "Način zadržavanja",
"description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)."
},
"objects": {
"label": "Zadržavanje objekata",
"description": "Prekriženja po objektu za dane zadržavanja snimki."
@@ -1197,242 +1189,11 @@
"label": "Oblik vremena",
"description": "Oblik vremena za korištenje u UI (browser, 12hour, ili 24hour)."
},
"date_style": {
"label": "Oblik datuma",
"description": "Oblik datuma za korištenje u UI (full, long, medium, short)."
},
"time_style": {
"label": "Oblik vremena",
"description": "Oblik vremena za korištenje u UI (full, long, medium, short)."
},
"unit_system": {
"label": "Sustav jedinica",
"description": "Sustav jedinica za prikaz (metric ili imperial) korišten u UI i MQTT."
}
},
"detectors": {
"label": "Hardver detektora",
"description": "Konfiguracija za detektore objekata (CPU, GPU, ONNX backends) i bilo koje postavke modela specifične za detektor.",
"type": {
"label": "Tip"
},
"model": {
"label": "Konfiguracija modela specifične za detektor",
"description": "Opcije konfiguracije modela specifične za detektor (putanja, veličina ulaza, itd.).",
"path": {
"label": "Putanja za prilagođeni model detektora objekata",
"description": "Putanja do datoteke prilagođenog modela detekcije (ili plus://<model_id> za modele Frigate+)."
},
"labelmap_path": {
"label": "Mapa oznaka za prilagođeni detektor objekata",
"description": "Putanja do datoteke mape oznaka koja mapira numeričke klase na string oznake za detektor."
},
"width": {
"label": "Širina ulaznog tenzora modela detekcije objekata",
"description": "Širina ulaznog tenzora modela u pikselima."
},
"height": {
"label": "Visina ulaznog tenzora modela detekcije objekata",
"description": "Visina ulaznog tenzora modela u pikselima."
},
"labelmap": {
"label": "Prilagodba mape oznaka",
"description": "Preklop ili preslikavanje unosa za uključivanje u standardnu mapu oznaka."
},
"attributes_map": {
"label": "Mapa oznaka objekata na njihove atribute",
"description": "Preslikavanje iz oznaka objekata na atribute oznaka koje se koriste za dodavanje metapodataka (npr. 'car' -> ['license_plate'])."
},
"input_tensor": {
"label": "Oblik tenzora ulaza modela",
"description": "Format tenzora očekivan od strane modela: 'nhwc' ili 'nchw'."
},
"input_pixel_format": {
"label": "Format boje piksela ulaza modela",
"description": "Boja piksela očekivana od strane modela: 'rgb', 'bgr' ili 'yuv'."
},
"input_dtype": {
"label": "Tip D ulaza modela",
"description": "Tip podataka modela ulaznog tenzora (npr. 'float32')."
},
"model_type": {
"label": "Tip modela detekcije objekata",
"description": "Tip arhitekture modela detektora (ssd, yolox, yolonas) korišten od strane nekih detektora za optimizaciju."
}
},
"model_path": {
"label": "Putanja modela specifična za detektor",
"description": "Putanja datoteke do binarne datoteke modela detektora ako je potrebna odabranim detektorom."
},
"axengine": {
"label": "AXEngine NPU",
"description": "Detektor AXERA AX650N/AX8850N NPU koji pokreće prevedene .axmodel datoteke putem AXEngine runtime-a."
},
"cpu": {
"label": "CPU",
"description": "Detektor CPU TFLite koji pokreće modele TensorFlow Lite na domaćem CPU bez hardverske akceleracije. Nije preporučeno.",
"num_threads": {
"label": "Broj nitova detekcije",
"description": "Broj nitova korištenih za inferenciju na CPU."
}
},
"deepstack": {
"label": "DeepStack",
"description": "Detektor DeepStack/CodeProject.AI koji šalje slike na udaljenu DeepStack HTTP API za inferenciju. Nije preporučeno.",
"api_url": {
"label": "URL API-ja DeepStack",
"description": "URL API-ja DeepStack."
},
"api_timeout": {
"label": "Vrijeme čekanja API-ja DeepStack (u sekundama)",
"description": "Maksimalno dozvoljeno vrijeme za zahtjev API-ja DeepStack."
},
"api_key": {
"label": "Ključ API-ja DeepStack (ako je potreban)",
"description": "Nepovlađeni ključ API-ja za autentificirane usluge DeepStack."
}
},
"degirum": {
"label": "DeGirum",
"description": "Detektor DeGirum za pokretanje modela putem DeGirum oblaka ili lokalnih usluga inferencije.",
"location": {
"label": "Lokacija inferencije",
"description": "Lokacija DeGirim inferencije (npr. '@cloud', '127.0.0.1')."
},
"zoo": {
"label": "Model Zoo",
"description": "Putanja ili URL do DeGirum model zoo."
},
"token": {
"label": "Token za DeGirum Cloud",
"description": "Token za pristup DeGirum Cloud."
}
},
"edgetpu": {
"label": "EdgeTPU",
"description": "Detektor EdgeTPU koji pokreće modele TensorFlow Lite kompilirane za Coral EdgeTPU pomoću EdgeTPU delegata.",
"device": {
"label": "Tip uređaja",
"description": "Uređaj za korištenje EdgeTPU inferencije (npr. 'usb', 'pci')."
}
},
"hailo8l": {
"label": "Hailo-8/Hailo-8L",
"description": "Detektor Hailo-8/Hailo-8L koji koristi HEF modele i HailoRT SDK za inferenciju na Hailo uređaju.",
"device": {
"label": "Tip uređaja",
"description": "Uređaj za korištenje Hailo inferencije (npr. 'PCIe', 'M.2')."
}
},
"memryx": {
"label": "MemryX",
"description": "Detektor MemryX MX3 koji pokreće kompilirane modele DFP na MemryX akceleratorima.",
"device": {
"label": "Putanja uređaja",
"description": "Uređaj za korištenje MemryX inferencije (npr. 'PCIe')."
}
},
"onnx": {
"label": "ONNX",
"description": "Detektor ONNX za pokretanje ONNX modela; koristi dostupne akceleracijske backendove (CUDA/ROCm/OpenVINO) kada su dostupni.",
"device": {
"label": "Tip uređaja",
"description": "Uređaj za korištenje ONNX inferencije (npr. 'AUTO', 'CPU', 'GPU')."
}
},
"openvino": {
"label": "OpenVINO",
"description": "Detektor OpenVINO za AMD i Intel CPU-e, Intel GPU-e i Intel VPU uređaje.",
"device": {
"label": "Tip uređaja",
"description": "Uređaj za korištenje za inferenciju OpenVINO (npr. 'CPU', 'GPU', 'NPU')."
}
},
"rknn": {
"label": "RKNN",
"description": "Detektor RKNN za NPUs Rockchipa; izvršava preveđene modele RKNN na Rockchip uređaju.",
"num_cores": {
"label": "Broj jezgri NPU koje se koriste.",
"description": "Broj jezgri NPU koje se koriste (0 za automatsko)."
}
},
"synaptics": {
"label": "Synaptics",
"description": "Detektor NPU Synaptics za modele u formatu .synap pomoću SDK-a Synap na uređaju Synaptics."
},
"teflon_tfl": {
"label": "Teflon",
"description": "Detektor delegata Teflon za TFLite pomoću biblioteke Mesa Teflon delegata za ubrzanje inferencije na podržanim GPU-ima."
},
"tensorrt": {
"label": "TensorRT",
"description": "Detektor TensorRT za uređaje Nvidia Jetson koji koristi serijalizirane TensorRT motore za ubrzanu inferenciju.",
"device": {
"label": "Indeks GPU uređaja",
"description": "Indeks GPU uređaja za korištenje."
}
},
"zmq": {
"label": "ZMQ IPC",
"description": "Detektor ZMQ IPC koji prenosi inferenciju vanjskom procesu putem ZMQ IPC kraja.",
"endpoint": {
"label": "ZMQ IPC kraja",
"description": "Kraj ZMQ-a na koji se povezati."
},
"request_timeout_ms": {
"label": "ZMQ zahtjev timeout u milisekundama",
"description": "Timeout za ZMQ zahtjeve u milisekundama."
},
"linger_ms": {
"label": "ZMQ socket linger u milisekundama",
"description": "Period linger socketa u milisekundama."
}
}
},
"model": {
"label": "Model detekcije",
"description": "Postavke za konfiguraciju prilagođenog modela detekcije objekata i njegove ulazne oblike.",
"path": {
"label": "Put do prilagođenog modela detekcije",
"description": "Put do datoteke prilagođenog modela detekcije (ili plus://<model_id> za modele Frigate+)."
},
"labelmap_path": {
"label": "Mapa oznaka za prilagođeni detektor objekata",
"description": "Putanja do datoteke labelmap koja preslikava numeričke klase u string oznake za detektor."
},
"width": {
"label": "Širina ulaznog tenzora modela detekcije objekata",
"description": "Širina ulaznog tenzora modela u pikselima."
},
"height": {
"label": "Visina ulaznog tenzora modela detekcije objekata",
"description": "Visina ulaznog tenzora modela u pikselima."
},
"labelmap": {
"label": "Prilagodba labelmap",
"description": "Preklop ili preslikavanje unosa za spajanje u standardnu labelmap."
},
"attributes_map": {
"label": "Mapa oznaka objekata na njihove atribute oznake",
"description": "Preslikavanje iz oznaka objekata na atribute oznake koje se koriste za dodavanje metapodataka (npr. 'car' -> ['license_plate'])."
},
"input_tensor": {
"label": "Oblik ulaznog tenzora modela",
"description": "Format tenzora očekivan od strane modela: 'nhwc' ili 'nchw'."
},
"input_pixel_format": {
"label": "Format boje piksela ulaznog modela",
"description": "Boja prostor očekivan od strane modela: 'rgb', 'bgr' ili 'yuv'."
},
"input_dtype": {
"label": "D tip ulaza modela",
"description": "Tip podataka ulaznog tenzora modela (npr. 'float32')."
},
"model_type": {
"label": "Tip modela detekcije objekata",
"description": "Tip arhitekture modela detektora (ssd, yolox, yolonas) korišten od strane nekih detektora za optimizaciju."
}
},
"genai": {
"label": "Konfiguracija generativne AI",
"description": "Postavke za integrirane generativne AI provajdere korišteni za generisanje opisa objekata i pregled sažetaka.",
-5
View File
@@ -56,10 +56,6 @@
},
"presets": "Preseti PTZ kamere"
},
"camera": {
"enable": "Omogući kameru",
"disable": "Onemogući kameru"
},
"muteCameras": {
"enable": "Utišajte sve kamere",
"disable": "Ponovo uključite zvuk za sve kamere"
@@ -152,7 +148,6 @@
},
"cameraSettings": {
"title": "{{camera}} Postavke",
"cameraEnabled": "Kamera omogućena",
"objectDetection": "Detekcija objekata",
"recording": "Snimanje",
"snapshots": "Snimci",
@@ -47,8 +47,6 @@
"thresholdDesc": "Niže vrijednosti detektiraju manje promjene (1-255)",
"minArea": "Minimalna površina promjene",
"minAreaDesc": "Minimalni postotak područja interesa koji mora promijeniti da bi se smatrao značajnim",
"frameSkip": "Preskoči okvir",
"frameSkipDesc": "Obrađujte svaki N-ti okvir. Postavite ovo na brzinu okvira vaše kamere da biste obradili jedan okvir po sekundi (npr. 5 za 5 FPS kameru, 30 za 30 FPS kameru). Više vrijednosti će biti brže, ali mogu propustiti kratke događaje pokreta.",
"maxResults": "Maksimalni rezultati",
"maxResultsDesc": "Zaustavi nakon ovog broja odgovarajućih vremenskih oznaka"
},
+3 -45
View File
@@ -46,8 +46,6 @@
"systemTelemetry": "Telemetrija",
"systemBirdseye": "Birdseye",
"systemFfmpeg": "FFmpeg",
"systemDetectorHardware": "Hardver detektora",
"systemDetectionModel": "Model detekcije",
"systemMqtt": "MQTT",
"systemGo2rtcStreams": "go2rtc streams",
"integrationSemanticSearch": "Semantička pretraga",
@@ -468,17 +466,7 @@
"backToSettings": "Povratak na postavke kamere",
"streams": {
"title": "Omogući / Onemogući kamere",
"enableLabel": "Omogućene kamere",
"enableDesc": "Privremeno onemogući omogućenu kameru dok Frigate ne ponovo započne. Onemogućavanje kamere potpuno zaustavlja obradu tokova ove kamere od strane Frigate. Detekcija, snimanje i praćenje nedostat će.<br /> <em>Napomena: Ovo ne onemogućava restreamove go2rtc.</em>",
"disableLabel": "Onemogućene kamere",
"disableDesc": "Omogući kameru koja trenutno nije vidljiva u UI-ju i onemogućena u konfiguraciji. Potrebno je ponovno pokrenuti Frigate nakon omogućavanja.",
"enableSuccess": "Omogućena {{cameraName}} u konfiguraciji. Ponovno pokrenite Frigate da biste primijenili promjene.",
"friendlyName": {
"edit": "Uredi prikazano ime kamere",
"title": "Uredi prikazano ime",
"description": "Postavite prijateljsko ime koje će se prikazivati za ovu kameru kroz cijeli Frigate UI. Ostavite prazno da biste koristili ID kamere.",
"rename": "Preimenuj"
}
"enableSuccess": "Omogućena {{cameraName}} u konfiguraciji. Ponovno pokrenite Frigate da biste primijenili promjene."
},
"cameraConfig": {
"add": "Dodaj kameru",
@@ -513,9 +501,7 @@
"title": "Prekrižavanja kamere profila",
"selectLabel": "Odaberi profil",
"description": "Konfigurirajte koje kamere su omogućene ili onemogućene kada je profil aktiviran. Kamere postavljene na \"Naslijeđivanje\" očuvaju svoje osnovno stanje omogućeno.",
"inherit": "Naslijeđivanje",
"enabled": "Omogućeno",
"disabled": "Onemogućeno"
"inherit": "Naslijeđivanje"
},
"cameraType": {
"title": "Tip kamere",
@@ -1146,15 +1132,6 @@
"error": "Nije uspješno sačuvana promjena konfiguracije: {{errorMessage}}"
}
},
"detectionModel": {
"plusActive": {
"title": "Upravljanje modelima Frigate+",
"label": "Trenutni izvor modela",
"description": "Ova instanca pokreće model Frigate+. Odaberite ili promijenite svoj model u postavkama Frigate+.",
"goToFrigatePlus": "Idi na postavke Frigate+",
"showModelForm": "Ručno konfigurirajte model"
}
},
"triggers": {
"documentTitle": "Pokretači",
"semanticSearch": {
@@ -1445,16 +1422,6 @@
"detect": {
"title": "Postavke detekcije"
},
"detectors": {
"title": "Postavke detektora",
"singleType": "Dozvoljen je samo jedan {{type}} detektor.",
"keyRequired": "Ime detektora je obavezno.",
"keyDuplicate": "Ime detektora već postoji.",
"noSchema": "Nema dostupnih šema detektora.",
"none": "Nema konfiguriranih instanci detektora.",
"add": "Dodaj detektor",
"addCustomKey": "Dodaj prilagođeni ključ"
},
"record": {
"title": "Postavke snimanja"
},
@@ -1497,9 +1464,7 @@
},
"genaiRoles": {
"options": {
"embeddings": "Ugrađivanje",
"vision": "Vizija",
"tools": "Alati"
"embeddings": "Ugrađivanje"
}
},
"semanticSearchModel": {
@@ -1684,15 +1649,8 @@
"record": {
"noRecordRole": "Nema streamova koji imaju definisanu ulogu snimanja. Snimanje neće funkcionišati."
},
"birdseye": {
"objectsModeDetectDisabled": "Birdseye je postavljen na režim 'objekti', ali je detekcija objekata onemogućena za ovu kameru. Kamera neće biti prikazana u Birdseye."
},
"snapshots": {
"detectDisabled": "Detekcija objekata je onemogućena. Snimci se generišu iz praćenih objekata i neće biti kreirani."
},
"detectors": {
"mixedTypes": "Svi detektori moraju koristiti isti tip. Uklonite postojet će detektore da biste koristili drugi tip.",
"mixedTypesSuggestion": "Svi detektori moraju koristiti isti tip. Uklonite postojet će detektore ili izaberite {{type}}."
}
}
}
+1 -7
View File
@@ -107,12 +107,7 @@
},
"npuUsage": "Korišćenje NPU",
"npuMemory": "Memorija NPU",
"npuTemperature": "Temperatura NPU",
"intelGpuWarning": {
"title": "Upozorenje o statistikama Intel GPU",
"message": "Statistike GPU nedostupne",
"description": "Ovo je poznati bug u alatima za prikaz statistika Intel GPU (intel_gpu_top) gdje će se prekiniti i ponovo vratiti GPU korišćenje od 0% čak i u slučajevima kada se hardverska akceleracija i detekcija objekata ispravno izvršavaju na (i)GPU. Ovo nije bug Frigate. Možete ponovo pokrenuti host kako biste privremeno popravili problem i potvrdili da GPU radi ispravno. Ovo ne utiče na performanse."
}
"npuTemperature": "Temperatura NPU"
},
"otherProcesses": {
"title": "Drugi procesi",
@@ -223,7 +218,6 @@
"cameraIsOffline": "{{camera}} je offline",
"detectIsSlow": "{{detect}} je spor ({{speed}} ms)",
"detectIsVerySlow": "{{detect}} je vrlo spor ({{speed}} ms)",
"shmTooLow": "/dev/shm alokacija ({{total}} MB) treba povećati na najmanje {{min}} MB.",
"debugReplayActive": "Debug ponavljanje sesije je aktivno"
},
"enrichments": {
-1
View File
@@ -426,7 +426,6 @@
"pink_noise": "Soroll rosa",
"power_windows": "Finestres elèctriques",
"artillery_fire": "Foc d'artilleria",
"sodeling": "Cant a la tirolesa",
"vibration": "Vibració",
"throbbing": "Palpitant",
"cacophony": "Cacofonia",
@@ -31,7 +31,6 @@
"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ó."
}
},
+1 -6
View File
@@ -60,7 +60,6 @@
"success": "Exportació inciada amb èxit. Pots veure l'arxiu a la pàgina d'exportacions.",
"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}}",
"noValidTimeSelected": "No s'ha seleccionat cap interval de temps vàlid"
},
@@ -135,9 +134,6 @@
"started_one": "S'ha iniciat l'exportació 1.",
"started_many": "S'han iniciat {{count}} exportacions.",
"started_other": "S'han iniciat {{count}} exportacions.",
"startedNoCase_one": "S'ha iniciat l'exportació 1.",
"startedNoCase_many": "S'han iniciat {{count}} exportacions.",
"startedNoCase_other": "S'han iniciat {{count}} exportacions.",
"partial": "S'han iniciat {{successful}} de {{total}} exportacions. Ha fallat: {{failedItems}}",
"failed": "No s'han pogut iniciar {{total}} exportacions. Ha fallat: {{failedItems}}"
}
@@ -148,8 +144,7 @@
"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ó"
"title": "Configurar go2rtc per a àudio i opcions addicionals de visualització en directe per a aquesta càmera."
}
},
"showStats": {
@@ -40,7 +40,6 @@
"title": "Transmissió desconnectada",
"desc": "No s’han rebut imatges a la transmissió <code>detect</code> de la càmera {{cameraName}}. Comprova els registres d’errors"
},
"cameraDisabled": "La càmera està desactivada",
"toast": {
"success": {
"submittedFrigatePlus": "Fotograma enviat correctament a Frigate+"
-12
View File
@@ -70,10 +70,6 @@
"label": "Habilita Birdseye",
"description": "Activa o desactiva la funció de vista Birdseye."
},
"mode": {
"label": "Mode de seguiment",
"description": "Mode per a incloure càmeres en Birdseye: 'objectes', 'motion' o 'continuous'."
},
"order": {
"label": "Posició",
"description": "Posició numèrica que controla l'ordenació de la càmera en la disposició Birdseye."
@@ -642,10 +638,6 @@
"label": "Habilita les instantànies",
"description": "Activa o desactiva el desament de les instantànies d'aquesta càmera."
},
"clean_copy": {
"label": "Desa la còpia neta",
"description": "Desa una còpia neta no anotada de les instantànies a més de les anotades."
},
"timestamp": {
"label": "Superposició de marca horària",
"description": "Superposa una marca horària a les instantànies de l'API."
@@ -673,10 +665,6 @@
"label": "Retenció predeterminada",
"description": "Nombre predeterminat de dies per a retenir les instantànies."
},
"mode": {
"label": "Mode de retenció",
"description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)."
},
"objects": {
"label": "Retenció d'objectes",
"description": "Anul·lació per objecte per dies de retenció d'instantànies."
-958
View File
@@ -94,14 +94,6 @@
"label": "Format de l'hora",
"description": "Format d'hora a utilitzar a la interfície d'usuari (navegador, 12 hores o 24 hores)."
},
"date_style": {
"label": "Estil de data",
"description": "Estil de data a utilitzar a la interfície d'usuari (complet, llarg, mitjà, curt)."
},
"time_style": {
"label": "Estil de temps",
"description": "Estil de temps a utilitzar a la interfície d'usuari (complet, llarg, mitjà, curt)."
},
"unit_system": {
"label": "Sistema d'unitat",
"description": "Sistema d'unitats per a la visualització (mètrica o imperial) utilitzat en la IU i MQTT."
@@ -549,10 +541,6 @@
"label": "Habilita les instantànies",
"description": "Habilita o inhabilita les instantànies de desament per a totes les càmeres; es pot sobreescriure per càmera."
},
"clean_copy": {
"label": "Desa la còpia neta",
"description": "Desa una còpia neta no anotada de les instantànies a més de les anotades."
},
"timestamp": {
"label": "Superposició de marca horària",
"description": "Superposa una marca horària a les instantànies de l'API."
@@ -580,10 +568,6 @@
"label": "Retenció predeterminada",
"description": "Nombre predeterminat de dies per a retenir les instantànies."
},
"mode": {
"label": "Mode de retenció",
"description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)."
},
"objects": {
"label": "Retenció d'objectes",
"description": "Anul·lació per objecte per dies de retenció d'instantànies."
@@ -1034,944 +1018,6 @@
"description": "Activa TLS per a la interfície d'usuari web i l'API de Frigate al port TLS configurat."
}
},
"detectors": {
"label": "Detector de hardware",
"description": "Configuració per a detectors d'objectes (CPU, GPU, dorsals ONNX) i qualsevol configuració de model específica per a detectors.",
"type": {
"label": "Tipus",
"description": "Tipus de detector a utilitzar per a la detecció d'objectes (per exemple 'cpu', 'edgetpu', 'openvino')."
},
"cpu": {
"label": "CPU",
"description": "Detector TFLite de CPU que executa els models TensorFlow Lite a la CPU de l'amfitrió sense acceleració de maquinari. No recomanat.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Mapeig d'etiquetes d'objecte a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"num_threads": {
"label": "Nombre de fils de detecció",
"description": "El nombre de fils utilitzats per a la inferència basada en CPU."
}
},
"deepstack": {
"label": "DeepStack",
"description": "Detector DeepStack/CodeProject.AI que envia imatges a una API HTTP de DeepStack remota per a la inferència. No recomanat.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Camí personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Camí a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"api_url": {
"label": "URL de l'API del DeepStack",
"description": "L'URL de l'API de DeepStack."
},
"api_timeout": {
"label": "Temps d'espera de l'API DeepStack (en segons)",
"description": "Temps màxim permès per a una sol·licitud de l'API DeepStack."
},
"api_key": {
"label": "Clau API del DeepStack (si es requereix)",
"description": "Clau API opcional per als serveis DeepStack autenticats."
}
},
"degirum": {
"label": "DeGirum",
"description": "Detector DeGirum per a l'execució de models a través del núvol DeGirum o serveis d'inferència locals.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"location": {
"label": "Ubicació de la referència",
"description": "Ubicació del motor d'inferència DeGirim (p. ex. ',cloud', '127.0.0.1')."
},
"zoo": {
"label": "Model Zoo",
"description": "Camí o URL al zoològic del model zoo."
},
"token": {
"label": "Token del cloud de DeGirum",
"description": "Token d'accés al cloud de DeGirum."
}
},
"edgetpu": {
"label": "EdgeTPU",
"description": "Detector EdgeTPU que executa models TensorFlow Lite compilats per a Coral EdgeTPU utilitzant el delegat EdgeTPU.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Tipus de dispositiu",
"description": "El dispositiu a utilitzar per a la inferència EdgeTPU (p. ex. «usb», «pci»)."
}
},
"hailo8l": {
"label": "Hailo-8/Hailo-8L",
"description": "Detector Hailo-8/Hailo-8L utilitzant models HEF i el HailoRT SDK per inferència en maquinari Hailo.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Tipus de dispositiu",
"description": "El dispositiu a utilitzar per a la inferència Hailo (p. ex. 'PCIe', 'M.2')."
}
},
"memryx": {
"label": "MemryX",
"description": "Detector MemryX MX3 que executa models DFP compilats en acceleradors MemryX.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Camí del model específic del detector",
"description": "Camí de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Camí del dispositiu",
"description": "El dispositiu a utilitzar per a la inferència MemryX (p. ex. «PCIe»)."
}
},
"onnx": {
"description": "Detector ONNX per executar models ONNX; utilitzarà els dorsals d'acceleració disponibles (CUDA/ROCm/OpenVINO) quan estigui disponible.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple 'float32')."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Tipus de dispositiu",
"description": "El dispositiu a utilitzar per a la inferència ONNX (p. ex. «AUTO», «CPU», «GPU»)."
},
"label": "ONNX"
},
"openvino": {
"description": "Detector OpenVINO per a CPU AMD i Intel, GPUs Intel i maquinari Intel VPU.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Rutaa un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Tipus de dispositiu",
"description": "El dispositiu a utilitzar per a la inferència OpenVINO (p. ex. 'CPU', 'GPU', 'NPU')."
},
"label": "OpenVINO"
},
"rknn": {
"description": "El detector RKNN per a Rockchip NPUs; executa models RKNN compilats en maquinari Rockchip.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"num_cores": {
"label": "Nombre de nuclis NPU a utilitzar.",
"description": "El nombre de nuclis NPU a usar (0 per a l'automàtic)."
},
"label": "RKNN"
},
"synaptics": {
"label": "Sinapsi",
"description": "Detector NPU Synaptics per a models en format .synap utilitzant el Synap SDK en maquinari Synaptics.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)"
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
}
},
"teflon_tfl": {
"description": "Detector delegat de Teflon per a TFLite utilitzant la biblioteca delegat de Mesa Teflon per accelerar la inferència en GPU compatibles.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Cami de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"label": "Teflon"
},
"tensorrt": {
"description": "Detector TensorRT per a dispositius Nvidia Jetson utilitzant motors TensorRT serialitzats per a la inferència accelerada.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"device": {
"label": "Índex del dispositiu GPU",
"description": "L'índex del dispositiu GPU a utilitzar."
},
"label": "TensorRT"
},
"zmq": {
"description": "Detector ZMQ IPC que descarrega la inferència a un procés extern a través d'un extrem IPC ZeroMQ.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Ruta personalitzat del model de detecció d'objectes",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Ruta del model específic del detector",
"description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix."
},
"endpoint": {
"label": "Final ZMQ IPC",
"description": "L'extrem ZMQ al qual connectar-se."
},
"request_timeout_ms": {
"label": "Temps d'espera de la sol·licitud ZMQ en mil·lisegons",
"description": "Temps d'espera per a les sol·licituds ZMQ en mil·lisegons."
},
"linger_ms": {
"label": "Socket ZMQ roman en mil·lisegons",
"description": "Període de permanència del socket en mil·lisegons."
},
"label": "ZMQ IPC"
},
"axengine": {
"label": "AXEngine NPU",
"description": "Detector AXERA AX650N/AX8850N NPU executant fitxers .axmodel compilats a través del temps d'execució d'AXEngine.",
"type": {
"label": "Tipus"
},
"model": {
"label": "Configuració del model específic del detector",
"description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).",
"path": {
"label": "Camí personalitzat del model de detecció d'objectes",
"description": "Camí a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Camí a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'cotxe' -). ['matrícula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple 'float32')."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització."
}
},
"model_path": {
"label": "Camí del model específic del detector",
"description": "Camí de fitxer al binari del model de detector si el detector escollit ho requereix."
}
},
"model": {
"label": "Configuració de model de detector específic",
"description": "Opcions de configuració de model de detector específic (ruta, tamany entrada, etc.).",
"path": {
"label": "Ruta del model de detector d'objectes personalitzat",
"description": "Ruta a l'arxiu del model de detecció personalitzat ( o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Etiqueta per a detector d'objectes personalitzat",
"description": "Ruta a l'arxiu d'etiqueta que mapeja les classes numériques a etiquetes per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objecte",
"description": "Amplada de l'entrada del model en píxels."
},
"height": {
"label": "Entrada de l'altura del model de detecció d'objecte",
"description": "Altura de l'entrada del model en píxels."
},
"labelmap": {
"label": "Personlització d'etiquetes",
"description": "Sobreescriu o remapeja entrades per fusionar a l'estandar d'etiquetes."
},
"attributes_map": {
"label": "Mapeja d'etiquetes d'objecte a la seva etiqueta",
"description": "Mapeja des de les etiquetes d'objectes als seus atributs usats per anexar metadades (per exemple 'car' -> ['license_plate'])."
},
"input_tensor": {
"label": "Model d'entrada de forma de tensor",
"description": "El format del tensor experat per el model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Entrada del format de píxel del model",
"description": "Espai-color del píxel experat per el model: 'rgb', 'bgr', o 'yuv'."
},
"input_dtype": {
"label": "Tipus D entrada del model",
"description": "tipus de dada per al model de tensor (per exemple 'float32')."
},
"model_type": {
"label": "Tipus de Model de detecció d'objecte",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine) utilitzat per alguns detectors per a l'optimització"
}
},
"model_path": {
"label": "Ruta a model de detector específic",
"description": "Ruta a l'arxiu al model binari de detector si es requerit per al detector seleccionat."
}
},
"model": {
"label": "Model de detecció",
"description": "Configuració per a configurar un model de detecció d'objectes personalitzat i la seva forma d'entrada.",
"path": {
"label": "Ruta del model de detector d'objectes personalitzat",
"description": "Ruta a un fitxer de model de detecció personalitzat (o plus://<model_id> per a models Frigate+)."
},
"labelmap_path": {
"label": "Mapa d'etiquetes per al detector d'objectes personalitzat",
"description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector."
},
"width": {
"label": "Amplada d'entrada del model de detecció d'objectes",
"description": "Amplada del tensor d'entrada del model en píxels."
},
"height": {
"label": "Alçada d'entrada del model de detecció d'objectes",
"description": "Alçada del tensor d'entrada del model en píxels."
},
"labelmap": {
"label": "Personalització del mapa d'etiquetes",
"description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard."
},
"attributes_map": {
"label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut",
"description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])."
},
"input_tensor": {
"label": "Forma del sensor d'entrada del model",
"description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'."
},
"input_pixel_format": {
"label": "Format de color del píxel d'entrada del model",
"description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'."
},
"input_dtype": {
"label": "Tipus D d'entrada del model",
"description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)."
},
"model_type": {
"label": "Tipus de model de detecció d'objectes",
"description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine) utilitzat per alguns detectors per a l'optimització."
}
},
"genai": {
"label": "Configuració de la IA generada",
"description": "Paràmetres per als proveïdors integrats generatius d'IA utilitzats per generar descripcions d'objectes i resums de revisions.",
@@ -2046,10 +1092,6 @@
"label": "Habilita Birdseye",
"description": "Activa o desactiva la funció de vista Birdseye."
},
"mode": {
"label": "Mode de seguiment",
"description": "Mode per a incloure càmeres en Birdseye: 'objectes', 'motion' o 'continuous'."
},
"restream": {
"label": "Restream RTSP",
"description": "Torna a transmetre la sortida Birdseye com a font RTSP; habilitant això es mantindrà Birdseye funcionant contínuament."
-1
View File
@@ -125,7 +125,6 @@
"baby": "Nadó",
"baby_stroller": "Cotxet",
"rickshaw": "Ricksaw",
"Rodent": "Rosegador",
"rodent": "Rosegador",
"possum": "Possum",
"garbage_truck": "Camió de brossa"
@@ -213,7 +213,6 @@
"modelNotReady": "El model no está preparat per entrenar",
"noChanges": "No hi ha canvis al conjunt de dades des de l'última formació."
},
"none": "Cap",
"reclassifyImageAs": "Reclassifica la imatge com a:",
"reclassifyImage": "Reclassifica la imatge",
"disabled": "Desactivat"
-2
View File
@@ -43,8 +43,6 @@
"camera": "Càmera",
"selected_one": "{{count}} seleccionats",
"selected_other": "{{count}} seleccionats",
"suspiciousActivity": "Activitat sospitosa",
"threateningActivity": "Activitat amenaçadora",
"detail": {
"noDataFound": "No hi ha dades detallades a revisar",
"trackedObject_one": "{{count}} objecte",
+2 -54
View File
@@ -2,8 +2,7 @@
"exploreIsUnavailable": {
"downloadingModels": {
"tips": {
"context": "Potser voldreu reindexar els vectors dels objectes seguits un cop s'hagin descarregat els models.",
"documentation": "Llegir la documentació"
"context": "Potser voldreu reindexar els vectors dels objectes seguits un cop s'hagin descarregat els models."
},
"context": "El Frigate està baixant els models de vectors necessaris per a admetre la funció de Cerca Semàntica. Això pot trigar uns quants minuts depenent de la velocitat de la vostra connexió de xarxa.",
"setup": {
@@ -30,53 +29,7 @@
"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.",
"adjustAnnotationSettings": "Ajustar els paràmetres de les anotacions",
"scrollViewTips": "Desplaça't per veure els moments significatius del cicle de vida d'aquest objecte.",
"lifecycleItemDesc": {
"entered_zone": "{{label}} ha entrat a {{zones}}",
"active": "{{label}} s'ha activat",
"stationary": "{{label}} ha esdevingut estacionari",
"attribute": {
"faceOrLicense_plate": "{{attribute}} detectat per a {{label}}",
"other": "{{label}} reconegut com a {{attribute}}"
},
"header": {
"zones": "Zones",
"ratio": "Proporció",
"area": "Àrea"
},
"heard": "{{label}} escoltat",
"external": "{{label}} detectat",
"gone": "{{label}} ha marxat",
"visible": "{{label}} detectat"
},
"annotationSettings": {
"offset": {
"documentation": "Llegir la documentació ",
"label": "Desplaçament de l'anotació",
"desc": "Aquestes dades provenen de la detecció d'objectes, però se superposen a les imatges d’enregistrament. És poc probable que les dues transmissions estiguin perfectament sincronitzades. Per aquest motiu, la capsa delimitadora i les imatges poden no coincidir exactament. Tanmateix, es pot utilitzar el camp <code>annotation_offset</code> per ajustar-ho.",
"tips": "CONSELL: Imagina que hi ha la captura d'un esdeveniment on una persona camina d'esquerra a dreta. Si la caixa delimitadora de l'objecte està constantment a l'esquerra de la persona, llavors el valor s'hauria de disminuir. Si, per contra, la caixa delimitadora està constantment per davant de la persona (a la seva dreta en aquest exemple), llavors el valor s'hauria d'augmentar.",
"toast": {
"success": "El desplaçament d'anotació per {{camera}} s'ha guardat al fitxer de configuració. Reinicia Frigate per aplicar els canvis."
},
"millisecondsToOffset": "Mil·lisegons a desplaçar les anotacions de detecció: <em>Per Defecte: 0</em>"
},
"title": "Paràmetres de les anotacions",
"showAllZones": {
"title": "Mostra totes les zones",
"desc": "Mostra sempre les zones en fotogrames on hi hagin aparegut objectes."
}
},
"carousel": {
"next": "Diapositiva següent",
"previous": "Diapositiva anterior"
},
"autoTrackingTips": "Les posicions dels recuadres delimitadors seràn inexactes per a càmeres amb seguiment automàtic.",
"count": "{{first}} de {{second}}",
"trackedPoint": "Punt seguit"
"noImageFound": "No s'ha trobat cap imatge per a aquesta marca temporal."
},
"exploreMore": "Explora més {{label}} objectes",
"trackedObjectDetails": "Detalls de l'objecte rastrejat",
@@ -84,7 +37,6 @@
"details": "detalls",
"snapshot": "instantània",
"video": "vídeo",
"object_lifecycle": "cicle de vida de l'objecte",
"thumbnail": "miniatura",
"tracking_details": "detalls del seguiment"
},
@@ -203,10 +155,6 @@
"label": "Cercar similars",
"aria": "Trobar objectes de seguiment similars"
},
"viewObjectLifecycle": {
"label": "Veure el cicle de vida de l'objecte",
"aria": "Mostrar el cicle de vida de l'objecte"
},
"viewInHistory": {
"label": "Veure a l'historial",
"aria": "Veure a l'historial"
+1 -11
View File
@@ -1,13 +1,8 @@
{
"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"
"timestamp": "Marca temporal"
},
"collections": "Col·leccions",
"train": {
@@ -32,8 +27,6 @@
"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>Centra’t en imatges frontals per obtenir millors resultats; evita imatges d’entrenament amb rostres en angle.</li></ul>"
},
@@ -45,7 +38,6 @@
"uploadFace": "Pugeu una imatge de {{name}} que mostra la seva cara des d'un angle frontal. La imatge no necessita ser retallada a la seva cara."
}
},
"selectFace": "Seleccionar rostre",
"deleteFaceLibrary": {
"desc": "Estàs segur que vols eliminar la col·lecció {{name}}? Això eliminarà permanentment tots els rostres associats.",
"title": "Suprimir nom"
@@ -103,9 +95,7 @@
"desc_many": "Estàs segur que vols suprimir {{count}} rostres? Aquesta acció no es pot desfer.",
"desc_other": "Estàs segur que vols suprimir {{count}} rostres? Aquesta acció no es pot desfer."
},
"pixels": "{{area}}px",
"trainFace": "Entrenar rostre",
"readTheDocs": "Llegir la documentació",
"trainFaceAs": "Entrenar rostre com a:",
"reclassifyFaceAs": "Reclassifica la cara com a:",
"reclassifyFace": "Reclassifica la cara"
+1 -7
View File
@@ -57,8 +57,6 @@
"disable": "Deshabilita l'àudio de la càmera"
},
"camera": {
"enable": "Habilitar la càmera",
"disable": "Deshabilita la càmera",
"turnOn": "Activa la càmera",
"turnOff": "Apaga la càmera"
},
@@ -117,14 +115,12 @@
"title": "Transmissió",
"audio": {
"tips": {
"documentation": "Llegir la documentació ",
"title": "L'àudio ha de provenir de la càmera i estar configurat amb go2rtc per a aquesta transmissió."
},
"available": "L'àudio està disponible per a aquesta transmissió",
"unavailable": "L'audio no està disponible per a aquesta transmissió"
},
"twoWayTalk": {
"tips.documentation": "Llegir la documentació ",
"tips": "El teu dispositiu ha de suportar la funció i WebRTC ha d'estar configurat per a conversa bidireccional.",
"available": "La conversa bidireccional està disponible per a aquesta transmissió",
"unavailable": "La conversa bidireccional no està disponible per a aquesta transmissió"
@@ -147,7 +143,6 @@
},
"cameraSettings": {
"title": "{{camera}} Paràmetres",
"cameraEnabled": "Càmera habilitada",
"recording": "Gravació",
"snapshots": "Instantànies",
"autotracking": "Seguiment automàtic",
@@ -164,8 +159,7 @@
"all": "Tot",
"motion": "Moviment",
"active_objects": "Objectes actius"
},
"notAllTips": "El vostre {{source}} registre de configuració de retenció s'ha posat en el mode <code>: {{effectiveRetainMode}}</code>, així que la gravaciò a demanda només seguirà segments amb {{effectiveRetainModeName}}."
}
},
"editLayout": {
"label": "Editar el disseny",
@@ -49,8 +49,6 @@
"thresholdDesc": "Els valors més baixos detecten canvis més petits (1-255)",
"minArea": "Àrea de canvi mínim",
"minAreaDesc": "Mida mínima d'una sola regió en moviment, com a percentatge de la regió d'interès",
"frameSkip": "Omet el fotograma",
"frameSkipDesc": "Processa cada N fotograma. Establiu això a la velocitat de fotogrames de la càmera per processar un fotograma per segon (p. ex. 5 per a una càmera de 5 FPS, 30 per a una càmera de 30 FPS). Els valors més alts seran més ràpids, però poden perdre els esdeveniments de curt moviment.",
"maxResults": "Resultats màxims",
"maxResultsDesc": "Atura després d'aquestes quantes marques horàries coincidents"
},
+4 -273
View File
@@ -5,7 +5,6 @@
"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": "Configuració del perfil - Frigate",
"frigatePlus": "Paràmetres de Frigate+ - Frigate",
@@ -36,7 +35,6 @@
"globalConfig": "Configuració global",
"system": "Sistema",
"integrations": "Integracions",
"profileSettings": "Configuració del perfil",
"globalDetect": "Detecció d'objectes",
"globalRecording": "Enregistrament",
"globalSnapshots": "Instantànies",
@@ -58,8 +56,6 @@
"systemTelemetry": "Telemetria",
"systemBirdseye": "Birdseye",
"systemFfmpeg": "FFmpeg",
"systemDetectorHardware": "Hardware del detector",
"systemDetectionModel": "Model de detecció",
"systemMqtt": "MQTT",
"integrationSemanticSearch": "Cerca semàntica",
"integrationGenerativeAi": "IA generativa",
@@ -242,7 +238,6 @@
"speedEstimation": {
"lineDDistance": "Distància de la línia D ({{unit}})",
"title": "Estimació de velocitat",
"docs": "Llegir la documentació",
"lineADistance": "Distància de la línia A ({{unit}})",
"lineBDistance": "Distància de la línia B ({{unit}})",
"lineCDistance": "Distància de la línia C ({{unit}})",
@@ -301,11 +296,9 @@
"title": "Les màscares de moviment s’utilitzen per evitar que certs tipus de moviment no desitjats activin la detecció. Si s’aplica una màscara excessiva, es dificultarà el seguiment dels objectes."
},
"context": {
"documentation": "Llegir la documentació",
"title": "Les màscares de moviment s’utilitzen per evitar que certs tipus de moviment no desitjats activin la detecció (per exemple: branques d’arbres, marques temporals). Les màscares de moviment s’han d’utilitzar <em>amb molta moderació</em>, un excés de màscares dificultarà el seguiment dels objectes."
},
"polygonAreaTooLarge": {
"documentation": "Llegir la documentació",
"tips": "Les màscares de moviment no impedeixen la detecció d'objectes. Hauries de fer servir una zona requerida en el seu lloc.",
"title": "La màscara de moviment cobreix el {{polygonArea}}% del camp de visió de la càmera. Les màscares de moviment molt grans no son recomanables."
},
@@ -390,7 +383,6 @@
"desc": "Es requereix un correu electrònic vàlid que s’utilitzarà per notificar-te si hi ha algun problema amb el servei de notificacions push."
},
"notificationSettings": {
"documentation": "Llegir la documentació",
"title": "Paràmetres de notificació",
"desc": "Frigate pot enviar notificacions push directament al teu dispositiu quan s’executa des del navegador o està instal·lat com a PWA (aplicació web progressiva)."
},
@@ -425,7 +417,6 @@
"title": "Notificacions",
"notificationUnavailable": {
"title": "Notificacions no disponibles",
"documentation": "Llegir la documentació",
"desc": "Les notificacions push web requereixen un context segur (<code>https://…</code>). Aquesta és una limitació del navegador. Accedeix a Frigate de manera segura per utilitzar les notificacions.",
"descPwa": "A iOS, les notificacions push web només estàn disponibles quan Frigate està instalat a la pantalla principal. Obre el menú <strong>Compartir</strong> , selecciona <strong>Afegir a la pantalla</strong>, i obre Frigate des del nou icona per registrar les notificacions en aquest dispositiu."
},
@@ -439,77 +430,6 @@
"unsavedRegistrations": "Registres de notificació no desats",
"sendTestNotification": "Enviar una notificació de prova"
},
"camera": {
"streams": {
"title": "Transmissions",
"desc": "Desactiva temporalment una càmera fins que es reiniciï Frigate. La desactivació d'una càmera atura completament el processament de les transmissions d'aquesta càmera per part de Frigate. La detecció, gravació i depuració no estaran disponibles.<br /><em>Nota: Això no desactiva les retransmissions de go2rtc.</em>"
},
"title": "Paràmetres de la càmera",
"reviewClassification": {
"title": "Revisar la classificació",
"readTheDocumentation": "Llegir la documentació",
"selectAlertsZones": "Seleccionar zones per alertes",
"limitDetections": "Limitar deteccions a zones específiques",
"selectDetectionsZones": "Seleccionar zones per deteccions",
"unsavedChanges": "Paràmetres de la revisió de classificació no guardats per a {{camera}}",
"noDefinedZones": "No s'han definit zones per a aquesta càmera.",
"objectAlertsTips": "Tots els objectes {{alertsLabels}} a {{cameraName}} es mostraràn com a Alertes.",
"zoneObjectAlertsTips": "Tots els objectes {{alertsLabels}} detectats a la {{zone}} de {{cameraName}} es mostraràn com a Alertes.",
"toast": {
"success": "S'ha desat la configuració de la classificació de revisió. Reinicia Frigate per aplicar els canvis."
},
"zoneObjectDetectionsTips": {
"text": "Tots els objectes {{detectionsLabels}} no classificats a la {{zone}} de {{cameraName}} es mostraràn com a Deteccions.",
"notSelectDetections": "Tots els objectes {{detectionsLabels}} detectats a {{zone}} de la càmera {{cameraName}} que no estiguin categoritzats com a Alertes es mostraran com a Deteccions, independentment de la zona en què es trobin.",
"regardlessOfZoneObjectDetectionsTips": "Tots els objectes {{detectionsLabels}} no categoritzats a {{cameraName}} es mostraran com a Deteccions independentment de la zona en què es trobin."
},
"objectDetectionsTips": "Tots els objectes {{detectionsLabels}} no categoritzats a {{cameraName}} es mostraran com a Deteccions independentment de la zona en què es trobin.",
"desc": "Frigate categoritza els elements de revisió com a Alertes i Deteccions. Per defecte, tots els objectes de tipus <em>persona</em> i <em>cotxe</em> es consideren Alertes. Pots afinar la categorització dels teus elements de revisió configurant zones requerides per a aquests."
},
"review": {
"alerts": "Alertes ",
"detections": "Deteccions ",
"title": "Revisar",
"desc": "Habilita o deshabilita temporalment les alertes i deteccions per a aquesta càmera fins que es reiniciï Frigate. Quan estigui desactivat, no es generaran nous elements de revisió. "
},
"object_descriptions": {
"title": "Descripció d'objectes per IA generativa",
"desc": "Activar/desactivar temporalment la IA generativa de descripcions per aquesta càmera. Quan està desactivat, les descripcions d'IA generativa no seran requerides per als objectes seguits per aquesta càmera."
},
"review_descriptions": {
"title": "Revisar las descripcions d'IA generativa",
"desc": "Activar/desactivals temporalment les descripcions d'IA generativa per aquesta càmera. Quan estan desactivades, les descripcions d'IA generativa no serán requerides per revisar els items en aquesta càmera."
},
"addCamera": "Afegir Nova Càmera",
"editCamera": "Editar Càmera:",
"selectCamera": "Seleccionar Càmera",
"backToSettings": "Tornar a la Configuració de Càmera",
"cameraConfig": {
"add": "Afegir Càmera",
"edit": "Editar Càmera",
"description": "Configurar la càmera incloent les entrades y rols.",
"name": "Nom de Càmera",
"nameRequired": "El nom de càmera es necesari",
"nameLength": "El nom de la càmera ha de ser com a mínim de 24 caràcters.",
"namePlaceholder": "e.x., porta_entrada",
"enabled": "Activat",
"ffmpeg": {
"inputs": "Entrades",
"path": "Direcció d'entrada",
"pathRequired": "Direcció d'entrada necesaria",
"pathPlaceholder": "rtsp://...",
"roles": "Rols",
"rolesRequired": "Com a mínin un rol es necesari",
"rolesUnique": "Cada rol (audio, detecció, gravació) pot ser assiganda a una entrada",
"addInput": "Afegir una entrada",
"removeInput": "Esborrar una entrada",
"inputsRequired": "Com a mínim una entrada es necesaria"
},
"toast": {
"success": "La càmera {{cameraName}} s'ha guardat correctament"
}
}
},
"motionDetectionTuner": {
"Threshold": {
"title": "Llindar",
@@ -549,7 +469,6 @@
},
"objectShapeFilterDrawing": {
"score": "Puntuació",
"document": "Llegir la documentació ",
"ratio": "Proporció",
"area": "Àrea",
"title": "Dibuix del filtre de forma de l'objecte",
@@ -644,10 +563,7 @@
"hide": "Amaga contrasenya",
"requirements": {
"title": "Requisits contrasenya:",
"length": "Com a mínim 12 carácters",
"uppercase": "Com a mínim una majúscula",
"digit": "Com a mínim un digit",
"special": "Com a mínim un carácter especial (!@#$%^&*(),.?\":{}|<>)"
"length": "Com a mínim 12 carácters"
}
},
"newPassword": {
@@ -713,11 +629,9 @@
"snapshotConfig": {
"table": {
"camera": "Càmera",
"snapshots": "Instantànies",
"cleanCopySnapshots": "<code>clean_copy</code> Instantànies"
"snapshots": "Instantànies"
},
"title": "Configuració d'instantànies",
"documentation": "Llegir la documentació",
"desc": "Per a enviar a Frigate+ fa falta que la instantània estigui habilitada a la configuració.",
"cleanCopyWarning": "Algunes càmeres tenen la captura desactivada"
},
@@ -793,7 +707,6 @@
"alreadyInProgress": "La reindexació ja està en curs.",
"error": "Error en iniciar la reindexació: {{errorMessage}}"
},
"readTheDocumentation": "Llegir la documentació",
"title": "Cerca semàntica",
"desc": "La cerca semàntica a Frigate permet trobar objectes rastrejats dins dels elements de revisió utilitzant la pròpia imatge, una descripció de text definida per l'usuari o una de generada automàticament."
},
@@ -810,13 +723,11 @@
"label": "Mida del model",
"desc": "La mida del model utilitzat per al reconeixement facial."
},
"readTheDocumentation": "Llegir la documentació",
"title": "Reconeixement de rostres",
"desc": "El reconeixement facial permet a les persones assignar noms i quan es reconeix la seva cara Frigate assignarà el nom de la persona com a subetiqueta. Aquesta informació s'inclou en la interfície d'usuari, filtres, així com en les notificacions."
},
"unsavedChanges": "Canvis dels paràmetres complementaris sense desar",
"licensePlateRecognition": {
"readTheDocumentation": "Llegir la documentació",
"title": "Reconeixement de matrícules",
"desc": "Frigate pot reconèixer les plaques de matrícula en vehicles i afegir automàticament els caràcters detectats al camp de la placa reconeguda o un nom conegut com a sub_etiqueta en objectes que són de tipus cotxe. Un cas d'ús comú pot ser llegir les plaques de matrícula dels cotxes que entren en un lloc o els cotxes que passen per un carrer."
},
@@ -848,7 +759,6 @@
"description": "Descripció"
},
"actions": {
"alert": "Marcar com Alerta",
"notification": "Enviar Notificació",
"sub_label": "Afegeix una subetiqueta",
"attribute": "Afegeix un atribut"
@@ -910,11 +820,6 @@
"error": {
"min": "S'ha de seleccionar una acció com a mínim."
}
},
"friendly_name": {
"title": "Nom amistós",
"placeholder": "Nom o descripció d'aquest disparador",
"description": "Un nom opcional amistós o text descriptiu per a aquest activador."
}
}
},
@@ -1044,33 +949,16 @@
"brandInformation": "Informació de marca",
"brandUrlFormat": "Per a càmeres amb el format d'URL RTSP com: {{exampleUrl}}",
"customUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta",
"testConnection": "Prova la connexió",
"testSuccess": "Prova de connexió correcta!",
"testFailed": "Ha fallat la prova de connexió. Si us plau, comproveu la vostra entrada i torneu-ho a provar.",
"streamDetails": "Detalls del flux",
"warnings": {
"noSnapshot": "No s'ha pogut obtenir una instantània del flux configurat."
},
"errors": {
"brandOrCustomUrlRequired": "Seleccioneu una marca de càmera amb host/IP o trieu 'Altres' amb un URL personalitzat",
"nameRequired": "Es requereix el nom de la càmera",
"nameLength": "El nom de la càmera ha de tenir 64 caràcters o menys",
"invalidCharacters": "El nom de la càmera conté caràcters no vàlids",
"nameExists": "El nom de la càmera ja existeix",
"brands": {
"reolink-rtsp": "No es recomana Reolink RST. Es recomana habilitar HTTP a la configuració de la càmera i reiniciar l'assistent de la càmera."
},
"customUrlRtspRequired": "Els URL personalitzats han de començar amb \"rtsp://\" o \"rtsps://\". Es requereix configuració manual per a fluxos de càmera no RTSP."
},
"selectBrand": "Seleccioneu la marca de la càmera per a la plantilla d'URL",
"customUrl": "URL de flux personalitzat",
"docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
},
"testing": {
"probingMetadata": "S'estan provant les metadades de la càmera...",
"fetchingSnapshot": "S'està recuperant la instantània de la càmera..."
},
"connectionSettings": "Configuració de la connexió",
"detectionMethod": "Mètode de detecció de flux",
"onvifPort": "ONVIF Port",
@@ -1097,42 +985,11 @@
},
"step2": {
"description": "Proveu la càmera per als fluxos disponibles o configureu la configuració manual basada en el mètode de detecció seleccionat.",
"streamsTitle": "Fluxos de la càmera",
"addStream": "Afegeix un flux",
"addAnotherStream": "Afegeix un altre flux",
"streamTitle": "Flux {{number}}",
"streamUrl": "URL del flux",
"url": "URL",
"resolution": "Resolució",
"selectResolution": "Selecciona la resolució",
"quality": "Qualitat",
"selectQuality": "Selecciona la qualitat",
"roleLabels": {
"detect": "Detecció d'objectes",
"record": "Enregistrament",
"audio": "Àudio"
},
"testStream": "Prova la connexió",
"testSuccess": "Prova de connexió correcta!",
"testFailed": "Ha fallat la prova de connexió. Si us plau, comproveu la vostra entrada i torneu-ho a provar.",
"testFailedTitle": "Ha fallat la prova",
"connected": "Connectat",
"notConnected": "No connectat",
"featuresTitle": "Característiques",
"go2rtc": "Redueix les connexions a la càmera",
"detectRoleWarning": "Almenys un flux ha de tenir el rol de \"detecte\" per continuar.",
"rolesPopover": {
"title": "Rols de flux",
"detect": "Canal principal per a la detecció d'objectes.",
"record": "Desa els segments del canal de vídeo basats en la configuració.",
"audio": "Canal per a la detecció basada en àudio."
},
"featuresPopover": {
"title": "Característiques del flux",
"description": "Utilitzeu el restreaming go2rtc per reduir les connexions a la càmera."
},
"roles": "Rols",
"streamUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta",
"streamDetails": "Detalls del flux",
"probing": "Provant càmera...",
"retry": "Intentar de nou",
@@ -1167,48 +1024,9 @@
}
},
"step3": {
"none": "Cap",
"error": "Error",
"saveAndApply": "Desa una càmera nova",
"saveError": "Configuració no vàlida. Si us plau, comproveu la configuració.",
"issues": {
"title": "Validació del flux",
"videoCodecGood": "El còdec de vídeo és {{codec}}.",
"audioCodecGood": "El còdec d'àudio és {{codec}}.",
"noAudioWarning": "No s'ha detectat cap àudio per a aquest flux, els enregistraments no tindran àudio.",
"audioCodecRecordError": "El còdec d'àudio AAC és necessari per a suportar l'àudio en els enregistraments.",
"audioCodecRequired": "Es requereix un flux d'àudio per admetre la detecció d'àudio.",
"restreamingWarning": "Reduir les connexions a la càmera per al flux de registre pot augmentar lleugerament l'ús de la CPU.",
"dahua": {
"substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Dahua / Amcrest / EmpireTech suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
},
"hikvision": {
"substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Hikvision suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
},
"resolutionHigh": "Una resolució de {{resolution}} pot causar un ús més gran dels recursos.",
"resolutionLow": "Una resolució de {{resolution}} pot ser massa baixa per a la detecció fiable d'objectes petits."
},
"description": "Configura els rols de flux i afegeix fluxos addicionals per a la càmera.",
"validationTitle": "Validació del flux",
"connectAllStreams": "Connecta tots els fluxos",
"reconnectionSuccess": "S'ha reconnectat correctament.",
"reconnectionPartial": "Alguns fluxos no s'han pogut tornar a connectar.",
"streamUnavailable": "La vista prèvia del flux no està disponible",
"reload": "Torna a carregar",
"connecting": "Connectant...",
"streamTitle": "Flux {{number}}",
"valid": "Vàlid",
"failed": "Ha fallat",
"notTested": "No provat",
"connectStream": "Connecta",
"connectingStream": "Connectant",
"disconnectStream": "Desconnecta",
"estimatedBandwidth": "Amplada de banda estimad",
"roles": "Rols",
"streamValidated": "El flux {{number}} s'ha validat correctament",
"streamValidationFailed": "Ha fallat la validació del flux {{number}}",
"ffmpegModule": "Usa el mode de compatibilitat del flux",
"ffmpegModuleDescription": "Si el flux no es carrega després de diversos intents, proveu d'activar-ho. Quan està activat, Frigate utilitzarà el mòdul ffmpeg amb go2rtc. Això pot proporcionar una millor compatibilitat amb alguns fluxos de càmera.",
"streamsTitle": "Fluxos de la càmera",
"addStream": "Afegeix un flux",
"addAnotherStream": "Afegeix un altre flux",
@@ -1305,18 +1123,7 @@
"backToSettings": "Torna a la configuració de la càmera",
"streams": {
"title": "Estat i detalls de la càmera",
"desc": "Inhabilita temporalment una càmera fins que es reiniciï la fragata. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.<br /> <em>Nota: això no desactiva les retransmissions de go2rtc.</em>",
"enableLabel": "Càmeres habilitades",
"enableDesc": "Inhabilita temporalment una càmera habilitada fins que es reiniciï Frigate. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.<br /> <em>Nota: això no inhabilita els restreams go2rtc.</em><br /><br />Drag el handle per reordenar les càmeres tal com apareixen a la interfície d'usuari. L'ordre de les càmeres habilitades es reflectirà en tota la interfície d'usuari, incloent el tauler en viu i els desplegables de selecció de càmeres.",
"disableLabel": "Càmeres inhabilitades",
"disableDesc": "Habilita una càmera que actualment no és visible a la interfície d'usuari i està desactivada a la configuració. Es requereix un reinici de Frigate després d'activar-la.",
"enableSuccess": "{{cameraName}} activat. Reinicia Frigate a aplicar.",
"friendlyName": {
"edit": "Edita el nom de la pantalla de la càmera",
"title": "Edita el nom de la pantalla",
"description": "Estableix el nom amigable que es mostra per a aquesta càmera a tota la interfície d'usuari de la Fragata. Deixeu-ho en blanc per utilitzar l'ID de la càmera.",
"rename": "Canvia el nom"
},
"reorderHandle": "Arrossega per reordenar",
"saving": "S'està desant…",
"saved": "Desat",
@@ -1390,8 +1197,6 @@
"selectLabel": "Seleccioneu el perfil",
"description": "Configura quines càmeres estan activades o desactivades quan s'activa un perfil. Les càmeres establertes a «herit» mantenen el seu estat per defecte.",
"inherit": "Hereta",
"enabled": "Habilitat",
"disabled": "Desactivat",
"on": "Engegat",
"off": "Apagat"
},
@@ -1550,15 +1355,6 @@
"label": "Perfil"
}
},
"detectionModel": {
"plusActive": {
"title": "Gestió del model Frigate+",
"label": "Font del model actual",
"description": "Aquesta instància està executant un model Frigate+. Seleccioneu o canvieu el vostre model a la configuració de Frigate+.",
"goToFrigatePlus": "Ves a la configuració de Frigate+",
"showModelForm": "Configuració manual d'un model"
}
},
"maintenance": {
"title": "Manteniment",
"sync": {
@@ -1741,16 +1537,6 @@
"detect": {
"title": "Configuració de detecció"
},
"detectors": {
"title": "Configuració del detector",
"singleType": "Només es permet un detector {{type}}.",
"keyRequired": "Es requereix el nom del detector.",
"keyDuplicate": "El nom del detector ja existeix.",
"noSchema": "No hi ha esquemes de detector disponibles.",
"none": "No s'ha configurat cap instància de detector.",
"add": "Afegeix un detector",
"addCustomKey": "Afegeix una clau personalitzada"
},
"record": {
"title": "Configuració de l'enregistrament"
},
@@ -1806,8 +1592,6 @@
"genaiRoles": {
"options": {
"embeddings": "Vectors",
"vision": "Visió",
"tools": "Eines",
"descriptions": "Descripcions",
"chat": "Xat"
}
@@ -1819,8 +1603,7 @@
},
"reviewLabels": {
"summary": "{{count}} etiquetes seleccionades",
"empty": "No hi ha etiquetes disponibles",
"allNonAlertDetections": "Totes les activitats no alertes s'inclouran com a deteccions."
"empty": "No hi ha etiquetes disponibles"
},
"addCustomLabel": "Afegeix una etiqueta personalitzada...",
"genaiModel": {
@@ -2026,7 +1809,6 @@
"hardwareDxva2": "DXVA2",
"hardwareVideotoolbox": "VideoToolbox"
},
"streamNumber": "Flux {{index}}",
"sourceNumber": "Font {{index}}"
},
"timestampPosition": {
@@ -2082,22 +1864,14 @@
"record": {
"noRecordRole": "Cap flux té el rol de registre definit. L'enregistrament no funcionarà."
},
"birdseye": {
"objectsModeDetectDisabled": "Birdseye està configurat en mode 'objectes', però la detecció d'objectes està desactivada per a aquesta càmera. La càmera no apareixerà a Birdseye."
},
"snapshots": {
"detectDisabled": "La detecció d'objectes està desactivada. Les instantànies es generen a partir d'objectes rastrejats i no es crearan."
},
"detectors": {
"mixedTypes": "Tots els detectors han d'utilitzar el mateix tipus. Elimina els detectors existents per utilitzar un tipus diferent.",
"mixedTypesSuggestion": "Tots els detectors han d'utilitzar el mateix tipus. Suprimiu detectors existents o seleccioneu {{type}}."
},
"objects": {
"genaiNoDescriptionsProvider": "Heu de configurar un proveïdor de GenAI amb el rol 'descripcions' per a les descripcions que es generaran."
},
"semanticSearch": {
"jinav2SmallModelSize": "La mida 'petita' amb el model Jina V2 té un alt cost de RAM i d'inferència. Es recomana el model 'gran' amb una GPU discreta.",
"modelSizeIgnoredForProvider": "La mida del model només s'aplica als models de Jina incorporats. Aquest valor s'ignorarà quan s'utilitzi un proveïdor d'incrustació GenAI."
"jinav2SmallModelSize": "La mida 'petita' amb el model Jina V2 té un alt cost de RAM i d'inferència. Es recomana el model 'gran' amb una GPU discreta."
},
"onvif": {
"autotrackingNoZones": "Autotraquejar requereix al menys una zona. Defineix una zona per aquesta cámera a Mascares/Zones, després usa'l com a requerit a la part inferior."
@@ -2116,11 +1890,6 @@
"small": "Petit"
},
"birdseye": {
"trackingMode": {
"objects": "Objectes",
"motion": "Moviment",
"continuous": "Continu"
},
"cameraOrder": {
"label": "Ordre de la càmera",
"description": "Arrossega les càmeres per establir el seu ordre en la disposició Birdseye.",
@@ -2129,25 +1898,12 @@
"saved": "Desat"
}
},
"snapshot": {
"retainMode": {
"all": "Tots",
"motion": "Moviment",
"active_objects": "Objectes Actius"
}
},
"ui": {
"timeFormat": {
"browser": "Visor",
"12hour": "12 hores",
"24hour": "24 hores"
},
"TimeOrDateStyle": {
"full": "Complet",
"long": "Llarg",
"medium": "Mitjà",
"short": "Curt"
},
"unitSystem": {
"metric": "Métric",
"imperial": "Imperial"
@@ -2180,31 +1936,6 @@
"low": "Baix",
"very_low": "Molt baix"
},
"detectorsAndModel": {
"restartRequired": "Reinici requerit (canvi en detector o model)",
"title": "Detectors i model",
"description": "Configuri el detector final que corre la detecció d'objectes i el model que usa. Els canvis es gravaràn junts i així el detector i el model estan sincronitzats.",
"cardTitles": {
"detector": "Detector Hardware",
"model": "Model de detecció"
},
"tabs": {
"plus": "Frigate+",
"custom": "Model personalitzat"
},
"mismatch": {
"warning": "El model actual de Frigate+ \"{{model}}\" requereix el detector {{required}}. Selecciona un model compatible a baix o canvía e model personalitzat abans de gravar."
},
"plusModel": {
"requiresDetector": "Requereix: {{detector}}",
"noModelSelected": "Selecciona un model Frigate+"
},
"toast": {
"saveSuccess": "Configuració de detectors i model guardats. Reinicia Frigate per aplicar els canvis.",
"saveError": "Fallo en gravar la configuració de detector i model"
},
"unsavedChanges": "Canvis de detector i model no gravats"
},
"menuDot": {
"overrideGlobal": "Aquesta secció substitueix la configuració global",
"overrideProfile": "Aquesta secció està substituïda pel perfil {{profile}}",
-9
View File
@@ -56,7 +56,6 @@
"cameras_count_other": "{{count}} Càmeres"
},
"empty": "Encara no s'ha capturat cap missatge",
"count": "{{count}} missatges",
"expanded": {
"payload": "Payload"
},
@@ -106,11 +105,6 @@
},
"npuUsage": "Ús de NPU",
"npuMemory": "Memòria de NPU",
"intelGpuWarning": {
"title": "Avís d'estadístiques de la GPU d'Intel",
"message": "Estadístiques de GPU no disponibles",
"description": "Aquest és un error conegut en les eines d'informació de les estadístiques de GPU d'Intel (intel.gpu.top) on es trencarà i retornarà repetidament un ús de GPU del 0% fins i tot en els casos en què l'acceleració del maquinari i la detecció d'objectes s'executen correctament a la (i)GPU. Això no és un error de Frigate. Podeu reiniciar l'amfitrió per a corregir temporalment el problema i confirmar que la GPU funciona correctament. Això no afecta el rendiment."
},
"gpuTemperature": "Temperatura de la GPU",
"npuTemperature": "Temperatura NPU",
"gpuCompute": "Càlcul / Codificació per GPU"
@@ -202,8 +196,6 @@
"gap": "Espai de fotogrames clau (mín / avg / max):",
"segmentLength": "Longitud del segment d'enregistrament:",
"ok": "Fotogrames clau cada ,{{seconds}}s, bons per enregistrar i reproduir.",
"warning": "Els fotogrames clau dispersos o variables (espai més llarg .{{seconds}}s), probablement un còdec intel·ligent (H.264+/H.265+), això no és recomanable.",
"error": "El buit dels fotogrames clau ( the{{seconds}}s) excedeix la longitud del segment d'enregistrament ({{segmentTime}}s). Alguns segments poden no tenir un fotograma clau, el qual trenca la reproducció. Desactiva el còdec intel·ligent/+ a la càmera o escurça el seu interval de fotogrames clau.",
"unknown": "No s'ha pogut determinar l'espaiat dels fotogrames clau.",
"recordDisabled": "L'enregistrament està desactivat per a aquesta càmera."
}
@@ -242,7 +234,6 @@
"detectHighCpuUsage": "{{camera}} te un ús elevat de CPU per la detecció ({{detectAvg}}%)",
"detectIsVerySlow": "{{detect}} és molt lent ({{speed}} ms)",
"detectIsSlow": "{{detect}} és lent ({{speed}} ms)",
"shmTooLow": "/dev/shm directori ({{total}} MB) hauria de ser incrementat com a mínim {{min}} MB.",
"debugReplayActive": "La sessió de repetició de depuració està activa"
},
"enrichments": {
-1
View File
@@ -457,7 +457,6 @@
"cacophony": "Kakofonie",
"throbbing": "Pulzování",
"vibration": "Vibrace",
"sodeling": "Jódlování",
"shofar": "Šofar",
"slosh": "Šplouchání",
"gush": "Příval",
+2 -1
View File
@@ -227,7 +227,8 @@
"ur": "اردو (Urdština)",
"hr": "Hrvatski (Chorvatština)",
"zhHant": "繁體中文 (Tradiční čínština)",
"bs": "Bosanski (Bosenština)"
"bs": "Bosanski (Bosenština)",
"be": "Беларуская (Běloruština)"
},
"theme": {
"highcontrast": "Vysoký kontrast",
@@ -29,7 +29,6 @@
"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."
}
},

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