mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-23 09:46:15 -05:00
Compare commits
1 Commits
v0.17.0-rc
...
fix-log-le
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5615ec82dc |
@@ -166,10 +166,6 @@ In this example:
|
||||
- If no mapping matches, Frigate falls back to `default_role` if configured.
|
||||
- If `role_map` is not defined, Frigate assumes the role header directly contains `admin`, `viewer`, or a custom role name.
|
||||
|
||||
**Note on matching semantics:**
|
||||
|
||||
- Admin precedence: if the `admin` mapping matches, Frigate resolves the session to `admin` to avoid accidental downgrade when a user belongs to multiple groups (for example both `admin` and `viewer` groups).
|
||||
|
||||
#### Port Considerations
|
||||
|
||||
**Authenticated Port (8971)**
|
||||
|
||||
@@ -186,7 +186,7 @@ There are improved capabilities in newer GPU architectures that TensorRT can ben
|
||||
|
||||
#### Compatibility References:
|
||||
|
||||
[NVIDIA TensorRT Support Matrix](https://docs.nvidia.com/deeplearning/tensorrt-rtx/latest/getting-started/support-matrix.html)
|
||||
[NVIDIA TensorRT Support Matrix](https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-841/support-matrix/index.html)
|
||||
|
||||
[NVIDIA CUDA Compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html)
|
||||
|
||||
|
||||
@@ -689,42 +689,3 @@ docker run \
|
||||
```
|
||||
|
||||
Log into QNAP, open Container Station. Frigate docker container should be listed under 'Overview' and running. Visit Frigate Web UI by clicking Frigate docker, and then clicking the URL shown at the top of the detail page.
|
||||
|
||||
## macOS - Apple Silicon
|
||||
|
||||
:::warning
|
||||
|
||||
macOS uses port 5000 for its Airplay Receiver service. If you want to expose port 5000 in Frigate for local app and API access the port will need to be mapped to another port on the host e.g. 5001
|
||||
|
||||
Failure to remap port 5000 on the host will result in the WebUI and all API endpoints on port 5000 being unreachable, even if port 5000 is exposed correctly in Docker.
|
||||
|
||||
:::
|
||||
|
||||
Docker containers on macOS can be orchestrated by either [Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/) or [OrbStack](https://orbstack.dev) (native swift app). The difference in inference speeds is negligable, however CPU, power consumption and container start times will be lower on OrbStack because it is a native Swift application.
|
||||
|
||||
To allow Frigate to use the Apple Silicon Neural Engine / Processing Unit (NPU) the host must be running [Apple Silicon Detector](../configuration/object_detectors.md#apple-silicon-detector) on the host (outside Docker)
|
||||
|
||||
#### Docker Compose example
|
||||
```yaml
|
||||
services:
|
||||
frigate:
|
||||
container_name: frigate
|
||||
image: ghcr.io/blakeblackshear/frigate:stable-arm64
|
||||
restart: unless-stopped
|
||||
shm_size: "512mb" # update for your cameras based on calculation above
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /path/to/your/config:/config
|
||||
- /path/to/your/recordings:/recordings
|
||||
ports:
|
||||
- "8971:8971"
|
||||
# If exposing on macOS map to a diffent host port like 5001 or any orher port with no conflicts
|
||||
# - "5001:5000" # Internal unauthenticated access. Expose carefully.
|
||||
- "8554:8554" # RTSP feeds
|
||||
extra_hosts:
|
||||
# This is very important
|
||||
# It allows frigate access to the NPU on Apple Silicon via Apple Silicon Detector
|
||||
- "host.docker.internal:host-gateway" # Required to talk to the NPU detector
|
||||
environment:
|
||||
- FRIGATE_RTSP_PASSWORD: "password"
|
||||
```
|
||||
@@ -439,11 +439,10 @@ def resolve_role(
|
||||
Determine the effective role for a request based on proxy headers and configuration.
|
||||
|
||||
Order of resolution:
|
||||
1. If a role header is defined in proxy_config.header_map.role:
|
||||
- If a role_map is configured, treat the header as group claims
|
||||
(split by proxy_config.separator) and map to roles.
|
||||
Admin matches short-circuit to admin.
|
||||
- If no role_map is configured, treat the header as role names directly.
|
||||
1. If a role header is defined in proxy_config.header_map.role:
|
||||
- If a role_map is configured, treat the header as group claims
|
||||
(split by proxy_config.separator) and map to roles.
|
||||
- If no role_map is configured, treat the header as role names directly.
|
||||
2. If no valid role is found, return proxy_config.default_role if it's valid in config_roles, else 'viewer'.
|
||||
|
||||
Args:
|
||||
@@ -493,12 +492,6 @@ def resolve_role(
|
||||
}
|
||||
logger.debug("Matched roles from role_map: %s", matched_roles)
|
||||
|
||||
# If admin matches, prioritize it to avoid accidental downgrade when
|
||||
# users belong to both admin and lower-privilege groups.
|
||||
if "admin" in matched_roles and "admin" in config_roles:
|
||||
logger.debug("Resolved role (with role_map) to 'admin'.")
|
||||
return "admin"
|
||||
|
||||
if matched_roles:
|
||||
resolved = next(
|
||||
(r for r in config_roles if r in matched_roles), validated_default
|
||||
|
||||
@@ -69,25 +69,6 @@ logger = logging.getLogger(__name__)
|
||||
router = APIRouter(tags=[Tags.events])
|
||||
|
||||
|
||||
def _build_attribute_filter_clause(attributes: str):
|
||||
filtered_attributes = [
|
||||
attr.strip() for attr in attributes.split(",") if attr.strip()
|
||||
]
|
||||
attribute_clauses = []
|
||||
|
||||
for attr in filtered_attributes:
|
||||
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
|
||||
|
||||
escaped_attr = json.dumps(attr, ensure_ascii=True)[1:-1]
|
||||
if escaped_attr != attr:
|
||||
attribute_clauses.append(Event.data.cast("text") % f'*:"{escaped_attr}"*')
|
||||
|
||||
if not attribute_clauses:
|
||||
return None
|
||||
|
||||
return reduce(operator.or_, attribute_clauses)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/events",
|
||||
response_model=list[EventResponse],
|
||||
@@ -212,9 +193,14 @@ def events(
|
||||
|
||||
if attributes != "all":
|
||||
# Custom classification results are stored as data[model_name] = result_value
|
||||
attribute_clause = _build_attribute_filter_clause(attributes)
|
||||
if attribute_clause is not None:
|
||||
clauses.append(attribute_clause)
|
||||
filtered_attributes = attributes.split(",")
|
||||
attribute_clauses = []
|
||||
|
||||
for attr in filtered_attributes:
|
||||
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
|
||||
|
||||
attribute_clause = reduce(operator.or_, attribute_clauses)
|
||||
clauses.append(attribute_clause)
|
||||
|
||||
if recognized_license_plate != "all":
|
||||
filtered_recognized_license_plates = recognized_license_plate.split(",")
|
||||
@@ -522,7 +508,7 @@ def events_search(
|
||||
cameras = params.cameras
|
||||
labels = params.labels
|
||||
sub_labels = params.sub_labels
|
||||
attributes = unquote(params.attributes)
|
||||
attributes = params.attributes
|
||||
zones = params.zones
|
||||
after = params.after
|
||||
before = params.before
|
||||
@@ -621,9 +607,13 @@ def events_search(
|
||||
|
||||
if attributes != "all":
|
||||
# Custom classification results are stored as data[model_name] = result_value
|
||||
attribute_clause = _build_attribute_filter_clause(attributes)
|
||||
if attribute_clause is not None:
|
||||
event_filters.append(attribute_clause)
|
||||
filtered_attributes = attributes.split(",")
|
||||
attribute_clauses = []
|
||||
|
||||
for attr in filtered_attributes:
|
||||
attribute_clauses.append(Event.data.cast("text") % f'*:"{attr}"*')
|
||||
|
||||
event_filters.append(reduce(operator.or_, attribute_clauses))
|
||||
|
||||
if zones != "all":
|
||||
zone_clauses = []
|
||||
|
||||
@@ -658,7 +658,6 @@ class CustomObjectClassificationProcessor(RealTimeProcessorApi):
|
||||
def handle_request(self, topic, request_data):
|
||||
if topic == EmbeddingsRequestEnum.reload_classification_model.value:
|
||||
if request_data.get("model_name") == self.model_config.name:
|
||||
self.__build_detector()
|
||||
logger.info(
|
||||
f"Successfully loaded updated model for {self.model_config.name}"
|
||||
)
|
||||
|
||||
@@ -6,7 +6,6 @@ from typing import Dict
|
||||
|
||||
from frigate.comms.events_updater import EventEndPublisher, EventUpdateSubscriber
|
||||
from frigate.config import FrigateConfig
|
||||
from frigate.config.classification import ObjectClassificationType
|
||||
from frigate.events.types import EventStateEnum, EventTypeEnum
|
||||
from frigate.models import Event
|
||||
from frigate.util.builtin import to_relative_box
|
||||
@@ -248,18 +247,6 @@ class EventProcessor(threading.Thread):
|
||||
"recognized_license_plate"
|
||||
][1]
|
||||
|
||||
# only overwrite attribute-type custom model fields in the database if they're set
|
||||
for name, model_config in self.config.classification.custom.items():
|
||||
if (
|
||||
model_config.object_config
|
||||
and model_config.object_config.classification_type
|
||||
== ObjectClassificationType.attribute
|
||||
):
|
||||
value = event_data.get(name)
|
||||
if value is not None:
|
||||
event[Event.data][name] = value[0]
|
||||
event[Event.data][f"{name}_score"] = value[1]
|
||||
|
||||
(
|
||||
Event.insert(event)
|
||||
.on_conflict(
|
||||
|
||||
@@ -168,57 +168,6 @@ class TestHttpApp(BaseTestHttp):
|
||||
assert events[0]["id"] == id
|
||||
assert events[1]["id"] == id2
|
||||
|
||||
def test_get_event_list_match_multilingual_attribute(self):
|
||||
event_id = "123456.zh"
|
||||
attribute = "中文标签"
|
||||
|
||||
with AuthTestClient(self.app) as client:
|
||||
super().insert_mock_event(event_id, data={"custom_attr": attribute})
|
||||
|
||||
events = client.get("/events", params={"attributes": attribute}).json()
|
||||
assert len(events) == 1
|
||||
assert events[0]["id"] == event_id
|
||||
|
||||
events = client.get(
|
||||
"/events", params={"attributes": "%E4%B8%AD%E6%96%87%E6%A0%87%E7%AD%BE"}
|
||||
).json()
|
||||
assert len(events) == 1
|
||||
assert events[0]["id"] == event_id
|
||||
|
||||
def test_events_search_match_multilingual_attribute(self):
|
||||
event_id = "123456.zh.search"
|
||||
attribute = "中文标签"
|
||||
mock_embeddings = Mock()
|
||||
mock_embeddings.search_thumbnail.return_value = [(event_id, 0.05)]
|
||||
|
||||
self.app.frigate_config.semantic_search.enabled = True
|
||||
self.app.embeddings = mock_embeddings
|
||||
|
||||
with AuthTestClient(self.app) as client:
|
||||
super().insert_mock_event(event_id, data={"custom_attr": attribute})
|
||||
|
||||
events = client.get(
|
||||
"/events/search",
|
||||
params={
|
||||
"search_type": "similarity",
|
||||
"event_id": event_id,
|
||||
"attributes": attribute,
|
||||
},
|
||||
).json()
|
||||
assert len(events) == 1
|
||||
assert events[0]["id"] == event_id
|
||||
|
||||
events = client.get(
|
||||
"/events/search",
|
||||
params={
|
||||
"search_type": "similarity",
|
||||
"event_id": event_id,
|
||||
"attributes": "%E4%B8%AD%E6%96%87%E6%A0%87%E7%AD%BE",
|
||||
},
|
||||
).json()
|
||||
assert len(events) == 1
|
||||
assert events[0]["id"] == event_id
|
||||
|
||||
def test_get_good_event(self):
|
||||
id = "123456.random"
|
||||
|
||||
|
||||
@@ -31,21 +31,6 @@ class TestProxyRoleResolution(unittest.TestCase):
|
||||
role = resolve_role(headers, self.proxy_config, self.config_roles)
|
||||
self.assertEqual(role, "admin")
|
||||
|
||||
def test_role_map_or_matching(self):
|
||||
config = self.proxy_config
|
||||
config.header_map.role_map = {
|
||||
"admin": ["group_admin", "group_privileged"],
|
||||
}
|
||||
|
||||
# OR semantics: a single matching group should map to the role
|
||||
headers = {"x-remote-role": "group_admin"}
|
||||
role = resolve_role(headers, config, self.config_roles)
|
||||
self.assertEqual(role, "admin")
|
||||
|
||||
headers = {"x-remote-role": "group_admin|group_privileged"}
|
||||
role = resolve_role(headers, config, self.config_roles)
|
||||
self.assertEqual(role, "admin")
|
||||
|
||||
def test_direct_role_header_with_separator(self):
|
||||
config = self.proxy_config
|
||||
config.header_map.role_map = None # disable role_map
|
||||
|
||||
@@ -377,14 +377,7 @@ class TrackedObject:
|
||||
return (thumb_update, significant_change, path_update, autotracker_update)
|
||||
|
||||
def to_dict(self) -> dict[str, Any]:
|
||||
# Tracking internals excluded from output (centroid, estimate, estimate_velocity)
|
||||
_EXCLUDED_OBJ_DATA_KEYS = {
|
||||
"centroid",
|
||||
"estimate",
|
||||
"estimate_velocity",
|
||||
}
|
||||
|
||||
event: dict[str, Any] = {
|
||||
event = {
|
||||
"id": self.obj_data["id"],
|
||||
"camera": self.camera_config.name,
|
||||
"frame_time": self.obj_data["frame_time"],
|
||||
@@ -419,11 +412,6 @@ class TrackedObject:
|
||||
"recognized_license_plate": self.obj_data.get("recognized_license_plate"),
|
||||
}
|
||||
|
||||
# Add any other obj_data keys (e.g. custom attribute fields) not yet included
|
||||
for key, value in self.obj_data.items():
|
||||
if key not in _EXCLUDED_OBJ_DATA_KEYS and key not in event:
|
||||
event[key] = value
|
||||
|
||||
return event
|
||||
|
||||
def is_active(self) -> bool:
|
||||
|
||||
@@ -214,7 +214,6 @@ class CameraWatchdog(threading.Thread):
|
||||
self.latest_valid_segment_time: float = 0
|
||||
self.latest_invalid_segment_time: float = 0
|
||||
self.latest_cache_segment_time: float = 0
|
||||
self.record_enable_time: datetime | None = None
|
||||
|
||||
def _update_enabled_state(self) -> bool:
|
||||
"""Fetch the latest config and update enabled state."""
|
||||
@@ -262,9 +261,6 @@ class CameraWatchdog(threading.Thread):
|
||||
def run(self) -> None:
|
||||
if self._update_enabled_state():
|
||||
self.start_all_ffmpeg()
|
||||
# If recording is enabled at startup, set the grace period timer
|
||||
if self.config.record.enabled:
|
||||
self.record_enable_time = datetime.now().astimezone(timezone.utc)
|
||||
|
||||
time.sleep(self.sleeptime)
|
||||
while not self.stop_event.wait(self.sleeptime):
|
||||
@@ -274,15 +270,13 @@ class CameraWatchdog(threading.Thread):
|
||||
self.logger.debug(f"Enabling camera {self.config.name}")
|
||||
self.start_all_ffmpeg()
|
||||
|
||||
# reset all timestamps and record the enable time for grace period
|
||||
# reset all timestamps
|
||||
self.latest_valid_segment_time = 0
|
||||
self.latest_invalid_segment_time = 0
|
||||
self.latest_cache_segment_time = 0
|
||||
self.record_enable_time = datetime.now().astimezone(timezone.utc)
|
||||
else:
|
||||
self.logger.debug(f"Disabling camera {self.config.name}")
|
||||
self.stop_all_ffmpeg()
|
||||
self.record_enable_time = None
|
||||
|
||||
# update camera status
|
||||
self.requestor.send_data(
|
||||
@@ -367,12 +361,6 @@ class CameraWatchdog(threading.Thread):
|
||||
if self.config.record.enabled and "record" in p["roles"]:
|
||||
now_utc = datetime.now().astimezone(timezone.utc)
|
||||
|
||||
# Check if we're within the grace period after enabling recording
|
||||
# Grace period: 90 seconds allows time for ffmpeg to start and create first segment
|
||||
in_grace_period = self.record_enable_time is not None and (
|
||||
now_utc - self.record_enable_time
|
||||
) < timedelta(seconds=90)
|
||||
|
||||
latest_cache_dt = (
|
||||
datetime.fromtimestamp(
|
||||
self.latest_cache_segment_time, tz=timezone.utc
|
||||
@@ -398,16 +386,10 @@ class CameraWatchdog(threading.Thread):
|
||||
)
|
||||
|
||||
# ensure segments are still being created and that they have valid video data
|
||||
# Skip checks during grace period to allow segments to start being created
|
||||
cache_stale = not in_grace_period and now_utc > (
|
||||
latest_cache_dt + timedelta(seconds=120)
|
||||
)
|
||||
valid_stale = not in_grace_period and now_utc > (
|
||||
latest_valid_dt + timedelta(seconds=120)
|
||||
)
|
||||
cache_stale = now_utc > (latest_cache_dt + timedelta(seconds=120))
|
||||
valid_stale = now_utc > (latest_valid_dt + timedelta(seconds=120))
|
||||
invalid_stale_condition = (
|
||||
self.latest_invalid_segment_time > 0
|
||||
and not in_grace_period
|
||||
and now_utc > (latest_invalid_dt + timedelta(seconds=120))
|
||||
and self.latest_valid_segment_time
|
||||
<= self.latest_invalid_segment_time
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
"bg": "Български (Búlgar)",
|
||||
"gl": "Galego (Gallec)",
|
||||
"id": "Bahasa Indonesia (Indonesi)",
|
||||
"ur": "اردو (Urdú)",
|
||||
"hr": "Hrvatski (croat)"
|
||||
"ur": "اردو (Urdú)"
|
||||
},
|
||||
"system": "Sistema",
|
||||
"systemMetrics": "Mètriques del sistema",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Frigate s'està reiniciant",
|
||||
"content": "Aquesta pàgina es tornarà a carregar d'aquí a {{countdown}} segons.",
|
||||
"button": "Forçar la recàrrega ara"
|
||||
},
|
||||
"description": "Això aturarà breument Frigate mentre es reinicia."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -19,8 +19,7 @@
|
||||
"description": {
|
||||
"addFace": "Afegiu una col·lecció nova a la biblioteca de cares pujant la vostra primera imatge.",
|
||||
"placeholder": "Introduïu un nom per a aquesta col·lecció",
|
||||
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions.",
|
||||
"nameCannotContainHash": "El nom no pot contenir #."
|
||||
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
|
||||
},
|
||||
"documentTitle": "Biblioteca de rostres - Frigate",
|
||||
"uploadFaceImage": {
|
||||
|
||||
@@ -114,11 +114,6 @@
|
||||
},
|
||||
"error": {
|
||||
"mustBeFinished": "El dibuix del polígon s'ha d'acabar abans de desar."
|
||||
},
|
||||
"type": {
|
||||
"zone": "zona",
|
||||
"motion_mask": "màscara de moviment",
|
||||
"object_mask": "màscara d'objecte"
|
||||
}
|
||||
},
|
||||
"zoneName": {
|
||||
@@ -537,7 +532,7 @@
|
||||
"hide": "Amaga contrasenya",
|
||||
"requirements": {
|
||||
"title": "Requisits contrasenya:",
|
||||
"length": "Com a mínim 12 carácters",
|
||||
"length": "Com a mínim 8 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 (!@#$%^&*(),.?\":{}|<>)"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"harp": "Harpe",
|
||||
"bell": "Klokke",
|
||||
"harmonica": "Harmonika",
|
||||
"bagpipes": "Sækkepiber",
|
||||
"bagpipes": "Sækkepibe",
|
||||
"didgeridoo": "Didgeridoo",
|
||||
"jazz": "Jazz",
|
||||
"opera": "Opera",
|
||||
@@ -78,7 +78,7 @@
|
||||
"camera": "Kamera",
|
||||
"tools": "Værktøj",
|
||||
"hammer": "Hammer",
|
||||
"drill": "Boremaskine",
|
||||
"drill": "Bore",
|
||||
"explosion": "Eksplosion",
|
||||
"fireworks": "Nytårskrudt",
|
||||
"babbling": "Pludren",
|
||||
|
||||
@@ -193,8 +193,7 @@
|
||||
"bg": "Български (Bulgarsk)",
|
||||
"gl": "Galego (Galisisk)",
|
||||
"id": "Bahasa Indonesia (Indonesisk)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Kroatisk)"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"appearance": "Udseende",
|
||||
"darkMode": {
|
||||
@@ -222,7 +221,7 @@
|
||||
},
|
||||
"restart": "Genstart Frigate",
|
||||
"live": {
|
||||
"title": "Direkte",
|
||||
"title": "Live",
|
||||
"allCameras": "Alle kameraer",
|
||||
"cameras": {
|
||||
"title": "Kameraer",
|
||||
@@ -241,17 +240,17 @@
|
||||
"current": "Aktiv bruger: {{user}}",
|
||||
"anonymous": "anonym",
|
||||
"logout": "Log ud",
|
||||
"setPassword": "Vælg kodeord"
|
||||
"setPassword": "Set Password"
|
||||
},
|
||||
"classification": "Kategorisering"
|
||||
},
|
||||
"toast": {
|
||||
"copyUrlToClipboard": "Kopieret URL til udklipsholder.",
|
||||
"copyUrlToClipboard": "Kopieret URL til klippebord.",
|
||||
"save": {
|
||||
"title": "Gem",
|
||||
"error": {
|
||||
"title": "Ændringer kunne ikke gemmes: {{errorMessage}}",
|
||||
"noMessage": "Kunne ikke gemme konfigurationsændringer"
|
||||
"title": "Ændringer kan ikke gemmes: {{errorMessage}}",
|
||||
"noMessage": "Kan ikke gemme konfigurationsændringer"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -262,7 +261,7 @@
|
||||
"desc": "Admins har fuld adgang til Frigate UI. Viewers er begrænset til at se kameraer, gennemse items, og historik i UI."
|
||||
},
|
||||
"pagination": {
|
||||
"label": "sideinddeling",
|
||||
"label": "paginering",
|
||||
"previous": {
|
||||
"title": "Forrige",
|
||||
"label": "Gå til forrige side"
|
||||
@@ -274,9 +273,9 @@
|
||||
"more": "Flere sider"
|
||||
},
|
||||
"accessDenied": {
|
||||
"documentTitle": "Adgang nægtet - Frigate",
|
||||
"title": "Adgang nægtet",
|
||||
"desc": "Du har ikke rettigheder til at se denne side."
|
||||
"documentTitle": "Adgang forbudt - Frigate",
|
||||
"title": "Adgang forbudt",
|
||||
"desc": "Du har ikke tiiladelse til at se denne side."
|
||||
},
|
||||
"notFound": {
|
||||
"documentTitle": "Ikke fundet - Frigate",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Frigate genstarter",
|
||||
"button": "Gennemtving genindlæsning nu",
|
||||
"content": "Denne side genindlæses om {{countdown}} sekunder."
|
||||
},
|
||||
"description": "Dette vil kortvarigt stoppe Frigate under genstart."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
@@ -18,9 +17,7 @@
|
||||
"review": {
|
||||
"question": {
|
||||
"label": "Bekræft denne etiket til Frigate Plus",
|
||||
"ask_a": "Er dette objekt et <code>{{label}}</code>?",
|
||||
"ask_an": "Er dette objekt en <code>{{label}}</code>?",
|
||||
"ask_full": "Er dette objekt en <code>{{untranslatedLabel}}</code> ({{translatedLabel}})?"
|
||||
"ask_a": "Er dette objekt et <code>{{label}}</code>?"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"filter": "Filtrer",
|
||||
"filter": "Filter",
|
||||
"classes": {
|
||||
"label": "Klasser",
|
||||
"all": {
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
"cameraDisabled": "Kamera er deaktiveret",
|
||||
"noPreviewFoundFor": "Ingen forhåndsvisning fundet for {{cameraName}}",
|
||||
"submitFrigatePlus": {
|
||||
"title": "Indsend dette billede til Frigate+?",
|
||||
"title": "Indsend denne frame til Frigate+?",
|
||||
"submit": "Indsend"
|
||||
},
|
||||
"livePlayerRequiredIOSVersion": "iOS 17.1 eller nyere kræves for denne type livestream.",
|
||||
"streamOffline": {
|
||||
"title": "Stream offline",
|
||||
"desc": "Der er ikke modtaget nogen billeder på {{cameraName}}-<code>detect</code>-streamen, tjek fejllogs."
|
||||
"desc": "Der er ikke modtaget nogen frames på {{cameraName}}-<code>detect</code>-streamen, tjek fejlloggene."
|
||||
},
|
||||
"stats": {
|
||||
"streamType": {
|
||||
@@ -18,8 +18,8 @@
|
||||
"short": "Type"
|
||||
},
|
||||
"bandwidth": {
|
||||
"title": "Båndbredde:",
|
||||
"short": "Båndbredde"
|
||||
"title": "Bandbredde:",
|
||||
"short": "Bandbredde"
|
||||
},
|
||||
"latency": {
|
||||
"title": "Latenstid:",
|
||||
@@ -31,21 +31,8 @@
|
||||
},
|
||||
"droppedFrames": {
|
||||
"short": {
|
||||
"title": "Tabt",
|
||||
"value": "{{droppedFrames}} billeder"
|
||||
},
|
||||
"title": "Tabte billeder:"
|
||||
},
|
||||
"totalFrames": "Antal billeder i alt:",
|
||||
"decodedFrames": "Dekodede billeder:",
|
||||
"droppedFrameRate": "Rate for tabte billeder:"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"submittedFrigatePlus": "Billede sendt til Frigate+"
|
||||
},
|
||||
"error": {
|
||||
"submitFrigatePlusFailed": "Kunne ikke sende billede til Frigate+"
|
||||
"title": "Tabt"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,5 @@
|
||||
"markTheseItemsAsReviewed": "Marker disse som gennemset",
|
||||
"detail": {
|
||||
"aria": "Skift til detaljevisning"
|
||||
},
|
||||
"timeline.aria": "Vælg tidslinje"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,15 +17,10 @@
|
||||
"context": "Udforsk kan bruges, når genindekseringen af de sporede objektindlejringer er fuldført.",
|
||||
"finishingShortly": "Afsluttes om lidt",
|
||||
"step": {
|
||||
"thumbnailsEmbedded": "Miniaturer indlejret: ",
|
||||
"descriptionsEmbedded": "Beskrivelser indlejrede: ",
|
||||
"trackedObjectsProcessed": "Sporede objekter behandlede: "
|
||||
"thumbnailsEmbedded": "Miniaturer indlejret: "
|
||||
}
|
||||
},
|
||||
"title": "Udforsk er ikke tilgængelig",
|
||||
"downloadingModels": {
|
||||
"context": "Frigate henter de nødvendige indlejringsmodeller for at understøtte semantiske søgninger. Dette kan tage flere minutter, afhængig af hastigheden på din netværksforbindelse."
|
||||
}
|
||||
"title": "Udforsk er ikke tilgængelig"
|
||||
},
|
||||
"exploreMore": "Udforsk flere {{label}}-objekter",
|
||||
"details": {
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
"description": {
|
||||
"addFace": "Tilføj en ny samling til ansigtsbiblioteket ved at uploade dit første billede.",
|
||||
"placeholder": "Angiv et navn for bibliotek",
|
||||
"invalidName": "Ugyldigt navn. Navne må kun indeholde bogstaver, tal, mellemrum, apostroffer, understregninger og bindestreger.",
|
||||
"nameCannotContainHash": "Navet kan ikke indeholde #."
|
||||
"invalidName": "Ugyldigt navn. Navne må kun indeholde bogstaver, tal, mellemrum, apostroffer, understregninger og bindestreger."
|
||||
},
|
||||
"details": {
|
||||
"person": "Person",
|
||||
@@ -18,76 +17,6 @@
|
||||
"desc": "Upload et billede for at scanne efter ansigter og inkludere det for {{pageToggle}}"
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Nyeste",
|
||||
"title": "Seneste genkendelser",
|
||||
"aria": "Vælg seneste genkendelser",
|
||||
"empty": "Der er ingen nylige ansigtsgenkendelser"
|
||||
},
|
||||
"createFaceLibrary": {
|
||||
"new": "Nyt ansigt",
|
||||
"nextSteps": "<ul> <li>Brug fanen <strong>Seneste genkendelser</strong> til at udvælge og træne på billeder for hver registreret person.</li> <li>Fokusér på billeder taget lige forfra for de bedste resultater; undgå træningsbilleder, hvor ansigter er fotograferet fra siden eller i vinkel.</li> </ul>"
|
||||
},
|
||||
"steps": {
|
||||
"faceName": "Skriv ansigt navn",
|
||||
"uploadFace": "Upload ansigt billede",
|
||||
"nextSteps": "Næste skridt",
|
||||
"description": {
|
||||
"uploadFace": "Upload et billede af {{name}}, hvor ansigtet er set forfra. Billedet behøver ikke kun at vise ansigtet og skal ikke beskæres."
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"deleteFace": "Slet ansigt",
|
||||
"deleteFaceAttempts": "Slet ansigter",
|
||||
"addFace": "Tilføj ansigt",
|
||||
"renameFace": "Omdøb ansigt",
|
||||
"uploadImage": "Upload billede",
|
||||
"reprocessFace": "Genbehandl ansigt"
|
||||
},
|
||||
"trainFace": "Lær ansigt",
|
||||
"renameFace": {
|
||||
"title": "Omdøb ansigt",
|
||||
"desc": "Indtast et nyt navn til {{name}}"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedFace_one": "{{count}} ansigt blev slettet",
|
||||
"deletedFace_other": "{{count}} ansigter blev slettet",
|
||||
"deletedName_one": "{{count}} ansigt slettet",
|
||||
"deletedName_other": "{{count}} ansigter slettet",
|
||||
"uploadedImage": "Billedet blev uploadet.",
|
||||
"addFaceLibrary": "{{name}} er blevet tilføjet til ansigtsbiblioteket!",
|
||||
"renamedFace": "Ansigtet er blevet omdøbt til {{name}}",
|
||||
"trainedFace": "Ansigtet er blevet trænet.",
|
||||
"updatedFaceScore": "Ansigtets score er blevet opdateret til {{score}} ({{name}})."
|
||||
},
|
||||
"error": {
|
||||
"uploadingImageFailed": "Kunne ikke uploade billedet: {{errorMessage}}",
|
||||
"addFaceLibraryFailed": "Kunne ikke angive navn på ansigtet: {{errorMessage}}",
|
||||
"deleteFaceFailed": "Kunne ikke slette: {{errorMessage}}",
|
||||
"deleteNameFailed": "Kunne ikke slette navnet: {{errorMessage}}",
|
||||
"renameFaceFailed": "Kunne ikke omdøbe ansigtet: {{errorMessage}}",
|
||||
"trainFailed": "Kunne ikke træne: {{errorMessage}}",
|
||||
"updateFaceScoreFailed": "Kunne ikke opdatere ansigtets score: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"deleteFaceAttempts": {
|
||||
"desc_one": "Er du sikker på, at du vil slette {{count}} ansigt? Denne handling kan ikke fortrydes.",
|
||||
"desc_other": "Er du sikker på, at du vil slette {{count}} ansigter? Denne handling kan ikke fortrydes.",
|
||||
"title": "Slet ansigter"
|
||||
},
|
||||
"collections": "Samlinger",
|
||||
"deleteFaceLibrary": {
|
||||
"title": "Slet navn",
|
||||
"desc": "Er du sikker på, at du vil slette samlingen {{name}}? Dette vil permanent slette alle tilknyttede ansigter."
|
||||
},
|
||||
"imageEntry": {
|
||||
"maxSize": "Maks. størrelse: {{size}} MB",
|
||||
"validation": {
|
||||
"selectImage": "Vælg venligst en billedfil."
|
||||
},
|
||||
"dropActive": "Slip billedet her…",
|
||||
"dropInstructions": "Træk og slip eller indsæt et billede her – eller klik for at vælge"
|
||||
},
|
||||
"nofaces": "Ingen tilgængelige ansigter",
|
||||
"trainFaceAs": "Træn ansigt som:"
|
||||
"titleShort": "Nyeste"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,104 +14,8 @@
|
||||
"move": {
|
||||
"clickMove": {
|
||||
"label": "Klik i billedrammen for at centrere kameraet",
|
||||
"enable": "Aktivér klik for at flytte",
|
||||
"disable": "Deaktiver klik for at flytte"
|
||||
},
|
||||
"left": {
|
||||
"label": "Flyt PTZ-kameraet til venstre"
|
||||
},
|
||||
"up": {
|
||||
"label": "Flyt PTZ kamera op"
|
||||
},
|
||||
"down": {
|
||||
"label": "Flyt PTZ-kameraet ned"
|
||||
},
|
||||
"right": {
|
||||
"label": "Flyt PTZ-kameraet til højre"
|
||||
"enable": "Aktivér klik for at flytte"
|
||||
}
|
||||
},
|
||||
"zoom": {
|
||||
"in": {
|
||||
"label": "Zoom PTZ-kamera ind"
|
||||
},
|
||||
"out": {
|
||||
"label": "Zoom PTZ kamera ud"
|
||||
}
|
||||
},
|
||||
"focus": {
|
||||
"in": {
|
||||
"label": "Focus PTZ kamera ind"
|
||||
},
|
||||
"out": {
|
||||
"label": "Focus PTZ kamera ud"
|
||||
}
|
||||
},
|
||||
"frame": {
|
||||
"center": {
|
||||
"label": "Klik på billedet for at centrere PTZ-kameraet"
|
||||
}
|
||||
},
|
||||
"presets": "PTZ kamera forudindstillinger"
|
||||
},
|
||||
"camera": {
|
||||
"enable": "Aktivér kamera",
|
||||
"disable": "Deaktivér kamera"
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "Slå lyd på alle kameraer fra",
|
||||
"disable": "Slå lyd på alle kameraer til"
|
||||
},
|
||||
"detect": {
|
||||
"enable": "Aktiver detektering",
|
||||
"disable": "Deaktiver detektering"
|
||||
},
|
||||
"recording": {
|
||||
"enable": "Aktivér optagelse",
|
||||
"disable": "Deaktiver optagelse"
|
||||
},
|
||||
"snapshots": {
|
||||
"enable": "Aktivér Snapshots",
|
||||
"disable": "Deaktivér Snapshots"
|
||||
},
|
||||
"snapshot": {
|
||||
"takeSnapshot": "Hent instant snapshot",
|
||||
"noVideoSource": "Ingen videokilde til snapshot.",
|
||||
"captureFailed": "Kunne ikke tage snapshot.",
|
||||
"downloadStarted": "Hentning af snapshot startet."
|
||||
},
|
||||
"audioDetect": {
|
||||
"enable": "Aktiver lyddetektor",
|
||||
"disable": "Deaktiver lyddetektor"
|
||||
},
|
||||
"transcription": {
|
||||
"enable": "Aktiver Live Audio Transkription",
|
||||
"disable": "Deaktiver Live Audio Transkription"
|
||||
},
|
||||
"autotracking": {
|
||||
"enable": "Aktiver Autotracking",
|
||||
"disable": "Deaktiver Autotracking"
|
||||
},
|
||||
"streamStats": {
|
||||
"enable": "Vis Stream statistik",
|
||||
"disable": "Skjul Stream statistik"
|
||||
},
|
||||
"manualRecording": {
|
||||
"title": "Manuel optagelse",
|
||||
"tips": "Hent et øjebliksbillede eller start en manuel begivenhed baseret på dette kameras indstillinger for optagelse af opbevaring.",
|
||||
"playInBackground": {
|
||||
"label": "Afspil i baggrunden",
|
||||
"desc": "Aktiver denne mulighed for at fortsætte streaming, når afspilleren er skjult."
|
||||
},
|
||||
"showStats": {
|
||||
"label": "Vis statistik",
|
||||
"desc": "Aktiver denne mulighed for at vise streamstatistikker som en overlejring på kameraets feed."
|
||||
},
|
||||
"debugView": "Debug View",
|
||||
"start": "Start on-demand optagelse",
|
||||
"started": "Start manuel optagelse.",
|
||||
"failedToStart": "Manuel optagelse fejlede.",
|
||||
"recordDisabledTips": "Da optagelsen er deaktiveret eller begrænset i konfig for dette kamera, gemmes der kun et snapshot.",
|
||||
"end": "Afslut manuel optagelse",
|
||||
"ended": "Afsluttet manuel optagelse."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"filter": "Filtrer",
|
||||
"filter": "Filter",
|
||||
"export": "Eksporter",
|
||||
"calendar": "Kalender",
|
||||
"filters": "Filtere",
|
||||
|
||||
@@ -9,11 +9,5 @@
|
||||
"filterActive": "Filtre aktiv",
|
||||
"clear": "Ryd søgning"
|
||||
},
|
||||
"trackedObjectId": "Sporet genstands-ID",
|
||||
"filter": {
|
||||
"label": {
|
||||
"cameras": "Kameraer",
|
||||
"zones": "Områder"
|
||||
}
|
||||
}
|
||||
"trackedObjectId": "Sporet genstands-ID"
|
||||
}
|
||||
|
||||
@@ -9,11 +9,6 @@
|
||||
"enrichments": "Indstillinger for berigelser - Frigate",
|
||||
"masksAndZones": "Maske- og zoneeditor - Frigate",
|
||||
"motionTuner": "Bevægelsesjustering - Frigate",
|
||||
"general": "Brugergrænsefladeindstillinger - Frigate",
|
||||
"frigatePlus": "Frigate+ Indstillinger - Frigate",
|
||||
"notifications": "Notifikations indstillinger - Frigate"
|
||||
},
|
||||
"menu": {
|
||||
"ui": "Brugergrænseflade"
|
||||
"general": "Brugergrænsefladeindstillinger - Frigate"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,8 +179,7 @@
|
||||
"lt": "Lietuvių (Litauisch)",
|
||||
"bg": "Български (bulgarisch)",
|
||||
"gl": "Galego (Galicisch)",
|
||||
"id": "Bahasa Indonesia (Indonesisch)",
|
||||
"hr": "Hrvatski (Kroatisch)"
|
||||
"id": "Bahasa Indonesia (Indonesisch)"
|
||||
},
|
||||
"appearance": "Erscheinung",
|
||||
"theme": {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"content": "Diese Seite wird in {{countdown}} Sekunde(n) aktualisiert.",
|
||||
"button": "Neuladen erzwingen"
|
||||
},
|
||||
"button": "Neustarten",
|
||||
"description": "Dies wird Frigate kurz stoppen, während es neu startet."
|
||||
"button": "Neustarten"
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
{
|
||||
"description": {
|
||||
"placeholder": "Gib einen Name für diese Kollektion ein",
|
||||
"addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem du ein erstes Bild hochlädst.",
|
||||
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten.",
|
||||
"nameCannotContainHash": "Der Name darf keine # enthalten."
|
||||
"addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem du ein Bild hochlädst.",
|
||||
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
|
||||
},
|
||||
"details": {
|
||||
"person": "Person",
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
"desc": "Standardmäßig werden die letzten Warnmeldungen auf dem Live-Dashboard als kurze Videoschleifen abgespielt. Deaktiviere diese Option, um nur ein statisches Bild der letzten Warnungen auf diesem Gerät/Browser anzuzeigen."
|
||||
},
|
||||
"automaticLiveView": {
|
||||
"desc": "Automatisch zur Live-Ansicht einer Kamera wechseln, wenn eine Aktivität erkannt wird. Wenn diese Option deaktiviert ist, werden statische Kamerabilder auf dem Live-Dashboard nur einmal pro Minute aktualisiert.",
|
||||
"desc": "Zeigt automatisch das Live-Bild einer Kamera an, wenn eine Aktivität erkannt wird. Ist diese Option deaktiviert, werden Kamerabilder im Live-Dashboard nur einmal pro Minute aktualisiert.",
|
||||
"label": "Automatische Live Ansicht"
|
||||
},
|
||||
"displayCameraNames": {
|
||||
"label": "Immer Namen der Kamera anzeigen",
|
||||
"desc": "Zeige immer die Kameranamen in einem Chip im Dashboard der Mehrkamera-Live-Ansicht an."
|
||||
"desc": "Kamerabezeichnung immer im einem Chip im Live-View-Dashboard für mehrere Kameras anzeigen."
|
||||
},
|
||||
"liveFallbackTimeout": {
|
||||
"label": "Live Player Ausfallzeitlimit",
|
||||
@@ -276,11 +276,6 @@
|
||||
},
|
||||
"error": {
|
||||
"mustBeFinished": "Polygonzeichnung muss vor dem Speichern abgeschlossen sein."
|
||||
},
|
||||
"type": {
|
||||
"zone": "Zone",
|
||||
"motion_mask": "Bewegungsmaske",
|
||||
"object_mask": "Objektmaske"
|
||||
}
|
||||
},
|
||||
"speed": {
|
||||
@@ -549,7 +544,7 @@
|
||||
"placeholder": "Passwort eingeben",
|
||||
"requirements": {
|
||||
"title": "Passwort Anforderungen:",
|
||||
"length": "Mindestens 12 Zeichen",
|
||||
"length": "Mindestens 8 Zeichen",
|
||||
"uppercase": "Mindestens ein Großbuchstabe",
|
||||
"digit": "Mindestens eine Ziffer",
|
||||
"special": "Mindestens ein Sonderzeichen (!@#$%^&*(),.?\":{}|<>)"
|
||||
@@ -1215,7 +1210,7 @@
|
||||
"restreamingWarning": "Die Reduzierung der Verbindungen zur Kamera für den Aufzeichnungsstream kann zu einer geringfügigen Erhöhung der CPU-Auslastung führen.",
|
||||
"brands": {
|
||||
"reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Aktivieren Sie HTTP in den Firmware-Einstellungen der Kamera und starten Sie den Assistenten neu.",
|
||||
"reolink-http": "Reolink-HTTP-Streams sollten für eine bessere Kompatibilität FFmpeg verwenden. Aktivieren Sie für diesen Stream die Option „Stream-Kompatibilitätsmodus verwenden“."
|
||||
"reolink-http": "Für Reolink-HTTP-Streams sollten sie FFmpeg verwenden, um eine bessere Kompatibilität zu gewährleisten. Aktivieren Sie für diesen Stream die Option „Stream-Kompatibilitätsmodus verwenden“."
|
||||
},
|
||||
"dahua": {
|
||||
"substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Kameras von Dahua / Amcrest / EmpireTech unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind."
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"restart": {
|
||||
"title": "Are you sure you want to restart Frigate?",
|
||||
"description": "This will briefly stop Frigate while it restarts.",
|
||||
"button": "Restart",
|
||||
"restarting": {
|
||||
"title": "Frigate is Restarting",
|
||||
|
||||
@@ -153,8 +153,7 @@
|
||||
"bg": "Български (Búlgaro)",
|
||||
"gl": "Galego (Gallego)",
|
||||
"id": "Bahasa Indonesia (Indonesio)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Croata)"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"appearance": "Apariencia",
|
||||
"darkMode": {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"content": "Esta página se recargará en {{countdown}} segundos."
|
||||
},
|
||||
"title": "¿Estás seguro de que quieres reiniciar Frigate?",
|
||||
"button": "Reiniciar",
|
||||
"description": "Esto detendrá brevemente Frigate mientras se reinicia."
|
||||
"button": "Reiniciar"
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -129,13 +129,13 @@
|
||||
"classes": {
|
||||
"label": "Clases",
|
||||
"all": {
|
||||
"title": "Todas las clases"
|
||||
"title": "Todas las Clases"
|
||||
},
|
||||
"count_one": "{{count}} Clase",
|
||||
"count_other": "{{count}} Clases"
|
||||
},
|
||||
"attributes": {
|
||||
"label": "Atributos de clasificación",
|
||||
"label": "Atributos de Clasificación",
|
||||
"all": "Todos los Atributos"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
"description": {
|
||||
"addFace": "Agregar una nueva colección a la Biblioteca de Rostros subiendo tu primera imagen.",
|
||||
"placeholder": "Introduce un nombre para esta colección",
|
||||
"invalidName": "Nombre incorrecto. Los nombres solo pueden incluir letras, números, espacios, apóstrofes, guiones bajos, y guiones.",
|
||||
"nameCannotContainHash": "El nombre no puede contener #."
|
||||
"invalidName": "Nombre incorrecto. Los nombres solo pueden incluir letras, números, espacios, apóstrofes, guiones bajos, y guiones."
|
||||
},
|
||||
"details": {
|
||||
"person": "Persona",
|
||||
|
||||
@@ -276,12 +276,7 @@
|
||||
"reset": {
|
||||
"label": "Borrar todos los puntos"
|
||||
},
|
||||
"removeLastPoint": "Eliminar el último punto",
|
||||
"type": {
|
||||
"zone": "zona",
|
||||
"motion_mask": "máscara de movimiento",
|
||||
"object_mask": "máscara de objeto"
|
||||
}
|
||||
"removeLastPoint": "Eliminar el último punto"
|
||||
},
|
||||
"speed": {
|
||||
"error": {
|
||||
@@ -553,7 +548,7 @@
|
||||
"hide": "Ocultar contraseña",
|
||||
"requirements": {
|
||||
"title": "Requisitos de contraseña:",
|
||||
"length": "Al menos 12 caracteres",
|
||||
"length": "Al menos 8 caracteres",
|
||||
"uppercase": "Al menos una mayúscula",
|
||||
"digit": "Al menos un número",
|
||||
"special": "Al menos un caracter especial (!@#$%^&*(),.?\":{}|<>)"
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
"classification_speed": "Velocidad de clasificación de {{name}}",
|
||||
"classification_events_per_second": "Clasificacion de eventos por segundo de {{name}}"
|
||||
},
|
||||
"title": "Enriquecimientos",
|
||||
"title": "Enriquicimientos",
|
||||
"averageInf": "Tiempo promedio de inferencia"
|
||||
},
|
||||
"stats": {
|
||||
|
||||
@@ -139,8 +139,7 @@
|
||||
"bg": "Български (bulgaaria keel)",
|
||||
"gl": "Galego (galeegi keel)",
|
||||
"id": "Bahasa Indonesia (indoneesia keel)",
|
||||
"ur": "اردو (urdu keel)",
|
||||
"hr": "Hrvatski (horvaadi keel)"
|
||||
"ur": "اردو (urdu keel)"
|
||||
},
|
||||
"system": "Süsteem",
|
||||
"systemMetrics": "Süsteemi meetrika",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Frigate käivitub uuesti",
|
||||
"content": "See leht laaditakse uuesti {{countdown}} sekundi pärast.",
|
||||
"button": "Laadi uuesti kohe"
|
||||
},
|
||||
"description": "Järgnevaga Frigate uuesti käivitamise ajaks lõpetab korraks töö."
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"saveSearch": {
|
||||
|
||||
@@ -30,21 +30,11 @@
|
||||
"stationary": "{{label}} jäi paigale",
|
||||
"active": "{{label}} muutus aktiivseks",
|
||||
"entered_zone": "{{label}} sisenes tsooni {{zones}}",
|
||||
"visible": "{{label}} on tuvastatud",
|
||||
"header": {
|
||||
"zones": "Tsoonid",
|
||||
"ratio": "Suhtarv",
|
||||
"area": "Ala",
|
||||
"score": "Punktiskoor"
|
||||
}
|
||||
"visible": "{{label}} on tuvastatud"
|
||||
},
|
||||
"title": "Jälgimise üksikasjad",
|
||||
"noImageFound": "Selle ajatempli kohta ei leidu pilti.",
|
||||
"createObjectMask": "Loo objektimask",
|
||||
"carousel": {
|
||||
"previous": "Eelmine slaid",
|
||||
"next": "Järgmine slaid"
|
||||
}
|
||||
"createObjectMask": "Loo objektimask"
|
||||
},
|
||||
"documentTitle": "Avasta - Frigate",
|
||||
"generativeAI": "Generatiivne tehisaru",
|
||||
@@ -73,15 +63,12 @@
|
||||
"tips": {
|
||||
"mismatch_one": "Tuvastasin {{count}} võõra objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud.",
|
||||
"mismatch_other": "Tuvastasin {{count}} võõrast objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud."
|
||||
},
|
||||
"title": "Vaata objekti üksikasju",
|
||||
"desc": "Vaata objekti üksikasju"
|
||||
}
|
||||
},
|
||||
"snapshotScore": {
|
||||
"label": "Hetkvõttete punktiskoor"
|
||||
},
|
||||
"regenerateFromSnapshot": "Loo uuesti hetkvõttest",
|
||||
"timestamp": "Ajatampel"
|
||||
},
|
||||
"trackedObjectDetails": "Jälgitava objekti üksikasjad"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,10 @@
|
||||
"password": "Salasõna",
|
||||
"passwordPlaceholder": "Valikuline",
|
||||
"customUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
|
||||
"connectionSettings": "Ühenduse seadistused",
|
||||
"port": "Port",
|
||||
"username": "Kasutajanimi",
|
||||
"usernamePlaceholder": "Valikuline"
|
||||
"connectionSettings": "Ühenduse seadistused"
|
||||
},
|
||||
"step3": {
|
||||
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
|
||||
"url": "Võrguaadress",
|
||||
"resolution": "Resolutsioon",
|
||||
"quality": "Kvaliteet",
|
||||
"roles": "Rollid",
|
||||
"roleLabels": {
|
||||
"record": "Salvestamine",
|
||||
"audio": "Heliriba"
|
||||
},
|
||||
"connected": "Ühendatud",
|
||||
"featuresTitle": "Funktsionaalsused"
|
||||
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht"
|
||||
},
|
||||
"steps": {
|
||||
"probeOrSnapshot": "Võta proov või tee hetkvõte"
|
||||
@@ -28,34 +15,7 @@
|
||||
"step2": {
|
||||
"testing": {
|
||||
"fetchingSnapshot": "Laadin kaamera hetkvõtet alla..."
|
||||
},
|
||||
"retry": "Proovi uuesti",
|
||||
"manufacturer": "Tootja",
|
||||
"model": "Mudel",
|
||||
"firmware": "Püsivara",
|
||||
"profiles": "Profiilid",
|
||||
"presets": "Eelseadistused",
|
||||
"useCandidate": "Kasuta",
|
||||
"uriCopy": "Kopeeri",
|
||||
"connected": "Ühendatud"
|
||||
},
|
||||
"testResultLabels": {
|
||||
"resolution": "Resolutsioon",
|
||||
"video": "Video",
|
||||
"audio": "Heliriba",
|
||||
"fps": "Kaadrisagedus"
|
||||
},
|
||||
"step4": {
|
||||
"reload": "Laadi uuesti",
|
||||
"connecting": "Ühendan…",
|
||||
"valid": "Kehtiv",
|
||||
"failed": "Ebaõnnestunud",
|
||||
"connectStream": "Ühenda",
|
||||
"connectingStream": "Ühendan",
|
||||
"disconnectStream": "Katkesta ühendus",
|
||||
"roles": "Rollid",
|
||||
"none": "Määramata",
|
||||
"error": "Viga"
|
||||
}
|
||||
}
|
||||
},
|
||||
"users": {
|
||||
@@ -69,10 +29,7 @@
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"password": "Lähtesta salasõna",
|
||||
"username": "Kasutajanimi",
|
||||
"actions": "Tegevused",
|
||||
"role": "Roll"
|
||||
"password": "Lähtesta salasõna"
|
||||
},
|
||||
"dialog": {
|
||||
"form": {
|
||||
@@ -96,7 +53,7 @@
|
||||
"hide": "Peida salasõna",
|
||||
"requirements": {
|
||||
"title": "Salasõna reeglid:",
|
||||
"length": "Vähemalt 12 tähemärki",
|
||||
"length": "Vähemalt 8 tähemärki",
|
||||
"uppercase": "Vähemalt üks suurtäht",
|
||||
"digit": "Vähemalt üks number",
|
||||
"special": "Vähemalt üks erimärk (!@#$%^&*(),.?\":{}|<>)"
|
||||
@@ -113,9 +70,6 @@
|
||||
"currentPassword": {
|
||||
"title": "Senine salasõna",
|
||||
"placeholder": "Sisesta oma senine salasõna"
|
||||
},
|
||||
"user": {
|
||||
"title": "Kasutajanimi"
|
||||
}
|
||||
},
|
||||
"createUser": {
|
||||
@@ -130,42 +84,12 @@
|
||||
"currentPasswordRequired": "Senine salasõna on vajalik",
|
||||
"incorrectCurrentPassword": "Senine salasõna pole õige",
|
||||
"passwordVerificationFailed": "Salasõna kontrollimine ei õnnestunud"
|
||||
},
|
||||
"changeRole": {
|
||||
"roleInfo": {
|
||||
"admin": "Peakasutaja",
|
||||
"viewer": "Vaataja"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Kasutajad"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"boundingBoxes": {
|
||||
"desc": "Näita jälgitavate objektide ümber märgiskaste"
|
||||
},
|
||||
"title": "Silumine ja veaotsing",
|
||||
"debugging": "Veaotsing ja silumine",
|
||||
"audio": {
|
||||
"title": "Heliriba",
|
||||
"score": "punktiskoor"
|
||||
},
|
||||
"timestamp": {
|
||||
"title": "Ajatempel"
|
||||
},
|
||||
"zones": {
|
||||
"title": "Tsoonid"
|
||||
},
|
||||
"regions": {
|
||||
"title": "Alad"
|
||||
},
|
||||
"paths": {
|
||||
"title": "Asukohad"
|
||||
},
|
||||
"objectShapeFilterDrawing": {
|
||||
"score": "Punktiskoor",
|
||||
"ratio": "Suhtarv",
|
||||
"area": "Ala"
|
||||
}
|
||||
},
|
||||
"documentTitle": {
|
||||
@@ -189,31 +113,10 @@
|
||||
"automaticLiveView": {
|
||||
"label": "Automaatne otseülekande vaade"
|
||||
}
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Kalender",
|
||||
"firstWeekday": {
|
||||
"sunday": "Pühapäev",
|
||||
"monday": "Esmaspäev",
|
||||
"label": "Esimene nädalapäev"
|
||||
}
|
||||
},
|
||||
"storedLayouts": {
|
||||
"title": "Salvestatud paigutused"
|
||||
},
|
||||
"recordingsViewer": {
|
||||
"title": "Salvestuste vaataja"
|
||||
}
|
||||
},
|
||||
"cameraManagement": {
|
||||
"backToSettings": "Tagasi kaameraseadistuste juurde",
|
||||
"cameraConfig": {
|
||||
"enabled": "Kasutusel",
|
||||
"ffmpeg": {
|
||||
"pathPlaceholder": "rtsp://...",
|
||||
"roles": "Rollid"
|
||||
}
|
||||
}
|
||||
"backToSettings": "Tagasi kaameraseadistuste juurde"
|
||||
},
|
||||
"notification": {
|
||||
"notificationSettings": {
|
||||
@@ -227,16 +130,6 @@
|
||||
"success": {
|
||||
"settingSaved": "Teavituste seadistused on salvestatud."
|
||||
}
|
||||
},
|
||||
"title": "Teavitused",
|
||||
"email": {
|
||||
"title": "E-post"
|
||||
},
|
||||
"cameras": {
|
||||
"title": "Kaamerad"
|
||||
},
|
||||
"suspendTime": {
|
||||
"suspend": "Peata arvuti töö"
|
||||
}
|
||||
},
|
||||
"frigatePlus": {
|
||||
@@ -252,48 +145,20 @@
|
||||
"cleanCopySnapshots": "<code>clean_copy</code> Hetkvõtted",
|
||||
"camera": "Kaamera"
|
||||
}
|
||||
},
|
||||
"modelInfo": {
|
||||
"plusModelType": {
|
||||
"userModel": "Peenhäälestatud"
|
||||
},
|
||||
"cameras": "Kaamerad"
|
||||
}
|
||||
},
|
||||
"masksAndZones": {
|
||||
"zones": {
|
||||
"point_one": "{{count}} punkt",
|
||||
"point_other": "{{count}} punkti",
|
||||
"label": "Tsoonid",
|
||||
"desc": {
|
||||
"documentation": "Dokumentatsioon"
|
||||
},
|
||||
"name": {
|
||||
"title": "Nimi"
|
||||
},
|
||||
"inertia": {
|
||||
"title": "Inerts"
|
||||
},
|
||||
"objects": {
|
||||
"title": "Objektid"
|
||||
}
|
||||
"point_other": "{{count}} punkti"
|
||||
},
|
||||
"motionMasks": {
|
||||
"point_one": "{{count}} punkt",
|
||||
"point_other": "{{count}} punkti",
|
||||
"desc": {
|
||||
"documentation": "Dokumentatsioon"
|
||||
}
|
||||
"point_other": "{{count}} punkti"
|
||||
},
|
||||
"objectMasks": {
|
||||
"point_one": "{{count}} punkt",
|
||||
"point_other": "{{count}} punkti",
|
||||
"desc": {
|
||||
"documentation": "Dokumentatsioon"
|
||||
},
|
||||
"objects": {
|
||||
"title": "Objektid"
|
||||
}
|
||||
"point_other": "{{count}} punkti"
|
||||
}
|
||||
},
|
||||
"roles": {
|
||||
@@ -302,21 +167,6 @@
|
||||
"userRolesUpdated_one": "{{count}} selle rolliga kasutaja on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele.",
|
||||
"userRolesUpdated_other": "{{count}} selle rolliga kasutajat on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele."
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"role": "Roll",
|
||||
"cameras": "Kaamerad",
|
||||
"actions": "Tegevused"
|
||||
},
|
||||
"dialog": {
|
||||
"deleteRole": {
|
||||
"deleting": "Kustutan..."
|
||||
},
|
||||
"form": {
|
||||
"cameras": {
|
||||
"title": "Kaamerad"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
@@ -328,8 +178,7 @@
|
||||
"users": "Kasutajad",
|
||||
"roles": "Rollid",
|
||||
"notifications": "Teavitused",
|
||||
"frigateplus": "Frigate+",
|
||||
"cameraReview": "Ülevaatamine"
|
||||
"frigateplus": "Frigate+"
|
||||
},
|
||||
"dialog": {
|
||||
"unsavedChanges": {
|
||||
@@ -340,84 +189,5 @@
|
||||
"cameraSetting": {
|
||||
"camera": "Kaamera",
|
||||
"noCamera": "Kaamerat pole"
|
||||
},
|
||||
"enrichments": {
|
||||
"semanticSearch": {
|
||||
"reindexNow": {
|
||||
"confirmButton": "Indekseeri uuesti",
|
||||
"label": "Indekseeri uuesti kohe"
|
||||
},
|
||||
"modelSize": {
|
||||
"small": {
|
||||
"title": "väike"
|
||||
},
|
||||
"large": {
|
||||
"title": "suur"
|
||||
}
|
||||
},
|
||||
"title": "Semantiline otsing"
|
||||
},
|
||||
"faceRecognition": {
|
||||
"modelSize": {
|
||||
"small": {
|
||||
"title": "väike"
|
||||
},
|
||||
"large": {
|
||||
"title": "suur"
|
||||
}
|
||||
}
|
||||
},
|
||||
"birdClassification": {
|
||||
"title": "Lindude klassifikatsioon"
|
||||
}
|
||||
},
|
||||
"cameraReview": {
|
||||
"review": {
|
||||
"title": "Ülevaatamine",
|
||||
"alerts": "Hoiatused ",
|
||||
"detections": "Tuvastamise tulemused "
|
||||
}
|
||||
},
|
||||
"motionDetectionTuner": {
|
||||
"Threshold": {
|
||||
"title": "Lävi"
|
||||
}
|
||||
},
|
||||
"triggers": {
|
||||
"documentTitle": "Päästikud",
|
||||
"management": {
|
||||
"title": "Päästikud"
|
||||
},
|
||||
"table": {
|
||||
"name": "Nimi",
|
||||
"type": "Tüüp",
|
||||
"content": "Sisu",
|
||||
"threshold": "Lävi",
|
||||
"actions": "Tegevused",
|
||||
"edit": "Muuda"
|
||||
},
|
||||
"type": {
|
||||
"thumbnail": "Pisipilt",
|
||||
"description": "Kirjeldus"
|
||||
},
|
||||
"dialog": {
|
||||
"form": {
|
||||
"name": {
|
||||
"title": "Nimi"
|
||||
},
|
||||
"type": {
|
||||
"title": "Tüüp"
|
||||
},
|
||||
"content": {
|
||||
"title": "Sisu"
|
||||
},
|
||||
"threshold": {
|
||||
"title": "Lävi"
|
||||
},
|
||||
"actions": {
|
||||
"title": "Tegevused"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,8 +175,7 @@
|
||||
"bg": "Български (Bulgare)",
|
||||
"gl": "Galego (Galicien)",
|
||||
"id": "Bahasa Indonesia (Indonésien)",
|
||||
"ur": "اردو (Ourdou)",
|
||||
"hr": "Hrvatski (Croate)"
|
||||
"ur": "اردو (Ourdou)"
|
||||
},
|
||||
"appearance": "Apparence",
|
||||
"darkMode": {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"content": "Cette page sera rechargée dans {{countdown}} secondes.",
|
||||
"button": "Forcer l'actualisation maintenant"
|
||||
},
|
||||
"button": "Redémarrer",
|
||||
"description": "Frigate s'arrêtera momentanément pour redémarrer."
|
||||
"button": "Redémarrer"
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
"description": {
|
||||
"addFace": "Ajoutez une nouvelle collection à la bibliothèque de visages en téléversant votre première image.",
|
||||
"placeholder": "Saisissez un nom pour cette collection.",
|
||||
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets.",
|
||||
"nameCannotContainHash": "Le nom ne peut pas contenir le caractère #."
|
||||
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
|
||||
},
|
||||
"details": {
|
||||
"person": "Personne",
|
||||
|
||||
@@ -366,11 +366,6 @@
|
||||
"snapPoints": {
|
||||
"true": "Points d'accrochage",
|
||||
"false": "Ne pas réunir les points"
|
||||
},
|
||||
"type": {
|
||||
"zone": "zone",
|
||||
"motion_mask": "masque de mouvement",
|
||||
"object_mask": "masque d'objet"
|
||||
}
|
||||
},
|
||||
"loiteringTime": {
|
||||
@@ -654,7 +649,7 @@
|
||||
"hide": "Masquer le mot de passe",
|
||||
"requirements": {
|
||||
"title": "Critères du mot de passe :",
|
||||
"length": "Au moins 12 caractères",
|
||||
"length": "Au moins 8 caractères",
|
||||
"uppercase": "Au moins une lettre majuscule",
|
||||
"digit": "Au moins un chiffre",
|
||||
"special": "Au moins un caractère spécial (!@#$%^&*(),.?\":{}|<>)"
|
||||
|
||||
@@ -75,8 +75,7 @@
|
||||
"formattedTimestampMonthDay": "MMM d",
|
||||
"inProgress": "Folyamatban",
|
||||
"invalidStartTime": "Érvénytelen kezdeti idő",
|
||||
"never": "Soha",
|
||||
"invalidEndTime": "Érvénytelen befejezési idő"
|
||||
"never": "Soha"
|
||||
},
|
||||
"menu": {
|
||||
"darkMode": {
|
||||
@@ -107,7 +106,7 @@
|
||||
"logout": "Kijelentkezés",
|
||||
"title": "Felhasználó",
|
||||
"account": "Fiók",
|
||||
"current": "Jelenlegi Felhasználó: {{user}}",
|
||||
"current": "Jelenlegi Felhazsnáló: {{user}}",
|
||||
"anonymous": "anoním",
|
||||
"setPassword": "Jelszó Beállítása"
|
||||
},
|
||||
@@ -154,8 +153,7 @@
|
||||
"bg": "Български (Bolgár)",
|
||||
"gl": "Galego (Galíciai)",
|
||||
"id": "Bahasa Indonesia (Indonéz)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Horvát"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"uiPlayground": "UI játszótér",
|
||||
"faceLibrary": "Arc Könyvtár",
|
||||
@@ -177,8 +175,7 @@
|
||||
"system": "Rendszer",
|
||||
"configuration": "Konfiguráció",
|
||||
"systemLogs": "Rendszer naplók",
|
||||
"settings": "Beállítások",
|
||||
"classification": "Osztályozás"
|
||||
"settings": "Beállítások"
|
||||
},
|
||||
"role": {
|
||||
"viewer": "Néző",
|
||||
@@ -218,7 +215,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"selectItem": "Kiválasztani {{item}}-et",
|
||||
"selectItem": "KIválasztani {{item}}-et",
|
||||
"unit": {
|
||||
"speed": {
|
||||
"mph": "mph",
|
||||
@@ -272,29 +269,14 @@
|
||||
"unselect": "Kijelölés megszüntetése",
|
||||
"export": "Exportálás",
|
||||
"deleteNow": "Törlés Most",
|
||||
"next": "Következő",
|
||||
"continue": "Tovább"
|
||||
"next": "Következő"
|
||||
},
|
||||
"label": {
|
||||
"back": "Vissza",
|
||||
"all": "Mind",
|
||||
"hide": "Elrejt {{item}}",
|
||||
"show": "Mutat {{item}}",
|
||||
"ID": "ID",
|
||||
"none": "Nincs",
|
||||
"other": "Egyéb"
|
||||
"all": "Mind"
|
||||
},
|
||||
"readTheDocumentation": "Olvassa el a dokumentációt",
|
||||
"information": {
|
||||
"pixels": "{{area}}px"
|
||||
},
|
||||
"list": {
|
||||
"two": "{{0}} és {{1}}",
|
||||
"many": "{{items}}, és {{last}}",
|
||||
"separatorWithSpace": ", "
|
||||
},
|
||||
"field": {
|
||||
"optional": "Opcionális",
|
||||
"internalID": "A belső ID, amelyet a Frigate használ a konfigurációban és az adatbázisban"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "A Frigate újraindul",
|
||||
"content": "Az oldal újratölt {{countdown}} másodperc múlva.",
|
||||
"button": "Erőltetett újraindítás azonnal"
|
||||
},
|
||||
"description": "Ez rövid időre leállítja a Frigate programot, amíg újraindul."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
@@ -58,8 +57,7 @@
|
||||
"failed": "Nem sikerült elkezdeni az exportálást: {{error}}",
|
||||
"endTimeMustAfterStartTime": "A végső időpontnak a kezdeti időpont után kell következnie",
|
||||
"noVaildTimeSelected": "Nincs érvényes idő intervallum kiválasztva"
|
||||
},
|
||||
"view": "Megtekint"
|
||||
}
|
||||
},
|
||||
"fromTimeline": {
|
||||
"saveExport": "Exportálás mentése",
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedImage": "Törölt képek",
|
||||
"deletedModel_one": "Sikeresen törölve {{count}} modell",
|
||||
"deletedModel_other": "Sikeresen törölve {{count}} modell",
|
||||
"deletedModel_one": "Sikeresen törölt {{count}} modellt",
|
||||
"deletedModel_other": "",
|
||||
"categorizedImage": "A kép sikeresen osztályozva",
|
||||
"deletedCategory": "Osztály törlése",
|
||||
"trainedModel": "Sikeresen betanított modell.",
|
||||
@@ -24,13 +24,7 @@
|
||||
},
|
||||
"error": {
|
||||
"deleteImageFailed": "Törlés sikertelen: {{errorMessage}}",
|
||||
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}",
|
||||
"deleteModelFailed": "Modell törlése nem sikerült: {{errorMessage}}",
|
||||
"categorizeFailed": "A kép kategorizálása sikertelen: {{errorMessage}}",
|
||||
"trainingFailed": "A modell képzése sikertelen volt. A részletek a Frigate naplóiban találhatók.",
|
||||
"trainingFailedToStart": "A modell képzésének elindítása sikertelen: {{errorMessage}}",
|
||||
"updateModelFailed": "A modell frissítése sikertelen: {{errorMessage}}",
|
||||
"renameCategoryFailed": "Az osztály átnevezése sikertelen: {{errorMessage}}"
|
||||
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"details": {
|
||||
@@ -60,16 +54,5 @@
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Friss"
|
||||
},
|
||||
"deleteCategory": {
|
||||
"title": "Osztály törlése",
|
||||
"desc": "Biztosan törölni szeretné a {{name}} osztályt? Ezzel véglegesen törli az összes kapcsolódó képet, és a modell újratanítására lesz szükség.",
|
||||
"minClassesTitle": "Osztály törlése nem lehetséges"
|
||||
},
|
||||
"deleteModel": {
|
||||
"title": "Osztályozási modell törlése",
|
||||
"single": "Biztosan törölni szeretné a(z) {{name}}-t? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
|
||||
"desc_one": "Biztosan törölni szeretné a(z) {{count}} modellt? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
|
||||
"desc_other": "Biztosan törölni szeretné a(z) {{count}} modelleket? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,12 +54,5 @@
|
||||
"alwaysExpandActive": {
|
||||
"title": "Mindig kibontja az aktív részt"
|
||||
}
|
||||
},
|
||||
"objectTrack": {
|
||||
"trackedPoint": "Nyomon követett pont",
|
||||
"clickToSeek": "Kattintson, az időponthoz ugráshoz"
|
||||
},
|
||||
"select_all": "Összes",
|
||||
"needsReview": "Felülvizsgálatra szorul",
|
||||
"securityConcern": "Biztonsági aggályok"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,19 +235,10 @@
|
||||
"header": {
|
||||
"zones": "Zónák",
|
||||
"ratio": "Arány",
|
||||
"area": "Terület",
|
||||
"score": "Pontszám"
|
||||
},
|
||||
"visible": "{{label}} észlelve",
|
||||
"entered_zone": "{{label}} belépett {{zones}}",
|
||||
"gone": "{{label}} maradt"
|
||||
"area": "Terület"
|
||||
}
|
||||
},
|
||||
"title": "Követési adatok",
|
||||
"noImageFound": "Nem található kép ehhez az időbélyeghez.",
|
||||
"createObjectMask": "Objektum maszk létrehozása",
|
||||
"scrollViewTips": "Kattintson ide, hogy megtekintse az objektum életciklusának fontosabb pillanatait.",
|
||||
"autoTrackingTips": "Az automatikus követésű kamerák esetében a keret pozíciói pontatlanok lesznek.",
|
||||
"count": "{{first}} a {{second}} közül",
|
||||
"trackedPoint": "Nyomon követett pont"
|
||||
"noImageFound": "Nem található kép ehhez az időbélyeghez."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,8 +47,7 @@
|
||||
"description": {
|
||||
"placeholder": "Adj nevet ennek a gyűjteménynek",
|
||||
"invalidName": "Nem megfelelő név. A nevek csak betűket, számokat, szóközöket, aposztrófokat, alulhúzásokat és kötőjeleket tartalmazhatnak.",
|
||||
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével.",
|
||||
"nameCannotContainHash": "A név nem tartalmazhat # karaktert."
|
||||
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével."
|
||||
},
|
||||
"selectFace": "Arc kiválasztása",
|
||||
"deleteFaceLibrary": {
|
||||
@@ -72,7 +71,7 @@
|
||||
"deletedName_one": "{{count}} arc sikeresen törölve.",
|
||||
"deletedName_other": "{{count}} arc sikeresen törölve.",
|
||||
"renamedFace": "Arc sikeresen átnvezezve {{name}}-ra/-re",
|
||||
"updatedFaceScore": "Arc pontszáma sikeresen frissítve a következőhöz {{name}} ({{score}}).",
|
||||
"updatedFaceScore": "Arc pontszáma sikeresen frissítve.",
|
||||
"trainedFace": "Arc sikeresen betanítva.",
|
||||
"deletedFace_one": "{{count}} arc sikeresen törölve.",
|
||||
"deletedFace_other": "{{count}} arc sikeresen törölve."
|
||||
|
||||
@@ -50,12 +50,6 @@
|
||||
"playAlertVideos": {
|
||||
"label": "Riasztási Videók Lejátszása",
|
||||
"desc": "Alapértelmezetten az Élő irányítópulton a legutóbbi riasztások kis, ismétlődő videóként jelennek meg. Kapcsolja ki ezt az opciót, ha csak állóképet szeretne megjeleníteni a legutóbbi riasztásokról ezen az eszközön/böngészőben."
|
||||
},
|
||||
"displayCameraNames": {
|
||||
"label": "Mindig mutatja a kamera nevét"
|
||||
},
|
||||
"liveFallbackTimeout": {
|
||||
"desc": "Ha a kamera kiváló minőségű élő közvetítése nem elérhető, ennyi másodperc elteltével váltson alacsony sávszélességű módra. Alapértelmezett: 3."
|
||||
}
|
||||
},
|
||||
"title": "Alapbeállítások",
|
||||
@@ -812,7 +806,7 @@
|
||||
"updateCameras": "Kamerák frissítve a szerepkörhöz: {{role}}",
|
||||
"deleteRole": "Szerepkör sikeresen törölve: {{role}}",
|
||||
"userRolesUpdated_one": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához.",
|
||||
"userRolesUpdated_other": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához."
|
||||
"userRolesUpdated_other": ""
|
||||
},
|
||||
"error": {
|
||||
"createRoleFailed": "Nem sikerült létrehozni a szerepkört: {{errorMessage}}",
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"type": {
|
||||
"label": "Típus",
|
||||
"timestamp": "Időbélyeg",
|
||||
"tag": "Címke",
|
||||
"tag": "Cédula",
|
||||
"message": "Üzenet"
|
||||
},
|
||||
"toast": {
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Sedang Merestart Frigate",
|
||||
"content": "Halaman ini akan memulai ulang dalam {{countdown}} detik.",
|
||||
"button": "Muat Ulang Sekarang"
|
||||
},
|
||||
"description": "Layanan Frigate akan terhenti sejenak saat proses restart."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
{
|
||||
"documentTitle": "Klasifikasi Model - Frigate",
|
||||
"details": {
|
||||
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini.",
|
||||
"none": "Tidak ada",
|
||||
"unknown": "Tidak diketahui"
|
||||
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini."
|
||||
},
|
||||
"button": {
|
||||
"deleteClassificationAttempts": "Hapus Gambar Klasifikasi",
|
||||
"renameCategory": "Ganti Nama Class",
|
||||
"deleteCategory": "Hapus Class",
|
||||
"renameCategory": "Ubah Nama Kelas",
|
||||
"deleteCategory": "Hapus Kelas",
|
||||
"deleteImages": "Hapus Gambar",
|
||||
"trainModel": "Latih Model",
|
||||
"addClassification": "Tambah Klasifikasi",
|
||||
@@ -16,14 +14,14 @@
|
||||
"editModel": "Ubah Model"
|
||||
},
|
||||
"tooltip": {
|
||||
"trainingInProgress": "Model sedang training",
|
||||
"noNewImages": "Tidak ada gambar baru untuk training. Klasifikasi lebih banyak gambar di dataset terlebih dahulu.",
|
||||
"trainingInProgress": "Model dalam training",
|
||||
"noNewImages": "Tidak ada gambar untuk dilatih. Klasifikasikan gambar terlebih dahulu di dataset.",
|
||||
"noChanges": "Tidak ada perubahan dataset sejak latihan terakhir.",
|
||||
"modelNotReady": "Model tidak siap untuk dilatih"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedCategory": "Class Dihapus",
|
||||
"deletedCategory": "Kelas dihapus",
|
||||
"deletedImage": "Image dihapus",
|
||||
"deletedModel_other": "Berhasil menghapus {{count}} model",
|
||||
"categorizedImage": "Berhasil Mengklasifikasikan Gambar",
|
||||
@@ -33,61 +31,17 @@
|
||||
"renamedCategory": "Berhasil mengganti nama class ke {{name}}"
|
||||
},
|
||||
"error": {
|
||||
"updateModelFailed": "Gagal update model: {{errorMessage}}",
|
||||
"updateModelFailed": "Gagal melakukan perubahan pada model: {{errorMessage}}",
|
||||
"renameCategoryFailed": "Gagal merubah penamaan kelas: {{errorMessage}}",
|
||||
"deleteImageFailed": "Gagal menghapus: {{errorMessage}}",
|
||||
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}",
|
||||
"deleteModelFailed": "Gagal menghapus model: {{errorMessage}}",
|
||||
"categorizeFailed": "Gagal mengkategorikan gambar: {{errorMessage}}",
|
||||
"trainingFailed": "Gagal melakukan training model. Cek log Frigate untuk rinciannya.",
|
||||
"trainingFailedToStart": "Gagal memulai training model: {{errorMessage}}"
|
||||
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"deleteCategory": {
|
||||
"title": "Kelas dihapus",
|
||||
"minClassesTitle": "Dilarang menghapus Kelas",
|
||||
"desc": "Apakah Anda yakin ingin menghapus class {{name}}? Ini akan menghapus semua gambar terkait secara permanen dan memerlukan re-training model.",
|
||||
"minClassesDesc": "Model klasifikasi harus memiliki setidaknya 2 class. Tambahkan class lain sebelum menghapus yang ini."
|
||||
"minClassesTitle": "Dilarang menghapus Kelas"
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Terkini"
|
||||
},
|
||||
"wizard": {
|
||||
"title": "Buat Klasifikasi Baru",
|
||||
"steps": {
|
||||
"nameAndDefine": "Nama & Definisi",
|
||||
"stateArea": "Pilih Area",
|
||||
"chooseExamples": "Pilih Contoh"
|
||||
},
|
||||
"step1": {
|
||||
"description": "State model memantau area kamera yang tetap untuk setiap perubahan (contoh: pintu terbuka/tertutup). Object model menambahkan klasifikasi pada objek yang terdeteksi (contoh: hewan tertentu, kurir, dll.).",
|
||||
"name": "Nama",
|
||||
"namePlaceholder": "Masukkan nama model...",
|
||||
"type": "Tipe",
|
||||
"typeState": "Status",
|
||||
"typeObject": "Objek",
|
||||
"objectLabel": "Label Objek",
|
||||
"objectLabelPlaceholder": "Pilih tipe objek...",
|
||||
"classificationType": "Pilih Klasifikasi",
|
||||
"classificationTypeTip": "Pelajari tentang tipe klasifikasi",
|
||||
"classificationTypeDesc": "Sub Label menambahkan teks tambahan pada label objek (contoh: 'Orang: UPS'). Atribut adalah metadata yang dapat dicari dan disimpan secara terpisah di dalam metadata objek.",
|
||||
"classificationSubLabel": "Sub Label",
|
||||
"classificationAttribute": "Atribut",
|
||||
"classes": "Class",
|
||||
"classesTip": "Pelajari tentang class",
|
||||
"classesStateDesc": "Tentukan berbagai status (state) pada area kamera Anda. Contoh: 'terbuka' dan 'tertutup' untuk pintu garasi.",
|
||||
"classesObjectDesc": "Tentukan kategori berbeda untuk mengklasifikasikan objek yang terdeteksi. Contoh: 'kurir', 'penghuni', 'orang_asing' untuk klasifikasi orang.",
|
||||
"classPlaceholder": "Masukkan nama class...",
|
||||
"errors": {
|
||||
"nameRequired": "Nama model wajib diisi",
|
||||
"nameLength": "Nama model maksimal 64 karakter",
|
||||
"nameOnlyNumbers": "Nama model tidak boleh hanya berisi angka",
|
||||
"classRequired": "Setidaknya harus ada 1 class yang diisi",
|
||||
"classesUnique": "Nama class harus unik",
|
||||
"stateRequiresTwoClasses": "State model memerlukan minimal 2 class",
|
||||
"objectLabelRequired": "Silakan pilih label objek",
|
||||
"objectTypeRequired": "Silakan pilih tipe klasifikasi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,8 +208,7 @@
|
||||
"bg": "Български (Bulgaro)",
|
||||
"gl": "Galego (Galiziano)",
|
||||
"id": "Bahasa Indonesia (Indonesiano)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Croato)"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"darkMode": {
|
||||
"label": "Modalità scura",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Frigate si sta riavviando",
|
||||
"content": "Questa pagina si ricaricherà in {{countdown}} secondi.",
|
||||
"button": "Forza ricarica ora"
|
||||
},
|
||||
"description": "Questo fermerà brevemente Frigate mentre si riavvia."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
@@ -85,7 +84,7 @@
|
||||
"label": "Mostra statistiche di trasmissione",
|
||||
"desc": "Abilita questa opzione per visualizzare le statistiche della trasmissione come sovrapposizione sul flusso della telecamera."
|
||||
},
|
||||
"debugView": "Vista correzioni",
|
||||
"debugView": "Visualizzazione debug",
|
||||
"restreaming": {
|
||||
"disabled": "La ritrasmissione non è abilitata per questa telecamera.",
|
||||
"desc": {
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
"description": {
|
||||
"addFace": "Aggiungi una nuova raccolta alla Libreria dei Volti caricando la tua prima immagine.",
|
||||
"placeholder": "Inserisci un nome per questa raccolta",
|
||||
"invalidName": "Nome non valido. I nomi possono contenere solo lettere, numeri, spazi, apostrofi, caratteri di sottolineatura e trattini.",
|
||||
"nameCannotContainHash": "Il nome non può contenere #."
|
||||
"invalidName": "Nome non valido. I nomi possono contenere solo lettere, numeri, spazi, apostrofi, caratteri di sottolineatura e trattini."
|
||||
},
|
||||
"details": {
|
||||
"confidence": "Fiducia",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"general": "Impostazioni interfaccia - Frigate",
|
||||
"frigatePlus": "Impostazioni Frigate+ - Frigate",
|
||||
"notifications": "Impostazioni di notifiche - Frigate",
|
||||
"enrichments": "Impostazioni di miglioramento - Frigate",
|
||||
"enrichments": "Impostazioni Componenti Aggiuntivi - Frigate",
|
||||
"cameraManagement": "Gestisci telecamere - Frigate",
|
||||
"cameraReview": "Impostazioni revisione telecamera - Frigate"
|
||||
},
|
||||
@@ -87,9 +87,9 @@
|
||||
"desc": "Mostra un riquadro della regione di interesse inviata al rilevatore di oggetti"
|
||||
},
|
||||
"noObjects": "Nessun oggetto",
|
||||
"title": "Correzioni",
|
||||
"desc": "La vista di correzione mostra una vista in tempo reale degli oggetti tracciati e delle relative statistiche. L'elenco degli oggetti mostra un riepilogo ritardato degli oggetti rilevati.",
|
||||
"debugging": "Correzioni",
|
||||
"title": "Debug",
|
||||
"desc": "La vista di debug mostra in tempo reale gli oggetti tracciati e le relative statistiche. L'elenco degli oggetti mostra un riepilogo in differita degli oggetti rilevati.",
|
||||
"debugging": "Debugging",
|
||||
"objectList": "Elenco degli oggetti",
|
||||
"mask": {
|
||||
"desc": "Mostra i poligoni della maschera di movimento",
|
||||
@@ -181,11 +181,6 @@
|
||||
},
|
||||
"error": {
|
||||
"mustBeFinished": "Prima di salvare, è necessario terminare il disegno del poligono."
|
||||
},
|
||||
"type": {
|
||||
"zone": "zona",
|
||||
"motion_mask": "maschera di movimento",
|
||||
"object_mask": "maschera di oggetto"
|
||||
}
|
||||
},
|
||||
"inertia": {
|
||||
@@ -382,14 +377,14 @@
|
||||
"classification": "Classificazione",
|
||||
"cameras": "Impostazioni telecamera",
|
||||
"masksAndZones": "Maschere / Zone",
|
||||
"debug": "Correzioni",
|
||||
"debug": "Debug",
|
||||
"users": "Utenti",
|
||||
"frigateplus": "Frigate+",
|
||||
"enrichments": "Miglioramenti",
|
||||
"enrichments": "Componenti Aggiuntivi",
|
||||
"triggers": "Inneschi",
|
||||
"roles": "Ruoli",
|
||||
"cameraManagement": "Gestione",
|
||||
"cameraReview": "Rivedi"
|
||||
"cameraReview": "Revisione"
|
||||
},
|
||||
"users": {
|
||||
"dialog": {
|
||||
@@ -437,7 +432,7 @@
|
||||
"hide": "Nascondi password",
|
||||
"requirements": {
|
||||
"title": "Requisiti password:",
|
||||
"length": "Almeno 12 caratteri",
|
||||
"length": "Almeno 8 caratteri",
|
||||
"uppercase": "Almeno una lettera maiuscola",
|
||||
"digit": "Almeno una cifra",
|
||||
"special": "Almeno un carattere speciale (!@#$%^&*(),.?\":{}|<>)"
|
||||
@@ -515,7 +510,7 @@
|
||||
},
|
||||
"playAlertVideos": {
|
||||
"label": "Riproduci video di avvisi",
|
||||
"desc": "Per impostazione predefinita, gli avvisi recenti nella schermata dal vivo vengono riprodotti come brevi video in ciclo. Disattiva questa opzione per visualizzare solo un'immagine statica degli avvisi recenti su questo dispositivo/browser."
|
||||
"desc": "Per impostazione predefinita, gli avvisi recenti nella dashboard Live vengono riprodotti come piccoli video in loop. Disabilita questa opzione per mostrare solo un'immagine statica degli avvisi recenti su questo dispositivo/browser."
|
||||
},
|
||||
"title": "Schermata dal vivo",
|
||||
"displayCameraNames": {
|
||||
@@ -539,7 +534,7 @@
|
||||
"clearAll": "Cancella tutte le impostazioni di trasmissione"
|
||||
},
|
||||
"recordingsViewer": {
|
||||
"title": "Visualizzatore registrazioni",
|
||||
"title": "Visualizzatore di registrazioni",
|
||||
"defaultPlaybackRate": {
|
||||
"label": "Velocità di riproduzione predefinita",
|
||||
"desc": "Velocità di riproduzione predefinita per la riproduzione delle registrazioni."
|
||||
@@ -645,7 +640,7 @@
|
||||
"title": "Regolatore di rilevamento del movimento",
|
||||
"contourArea": {
|
||||
"title": "Area di contorno",
|
||||
"desc": "Il valore dell'area del contorno viene utilizzato per decidere quali gruppi di pixel modificati sono considerati movimento. <em>Predefinito: 10</em>"
|
||||
"desc": "Il valore dell'area di contorno viene utilizzato per decidere quali gruppi di pixel modificati possono essere considerati movimento. <em>Predefinito: 10</em>"
|
||||
},
|
||||
"Threshold": {
|
||||
"title": "Soglia",
|
||||
@@ -713,10 +708,10 @@
|
||||
},
|
||||
"enrichments": {
|
||||
"toast": {
|
||||
"success": "Le impostazioni di miglioramento sono state salvate. Riavvia Frigate per applicare le modifiche.",
|
||||
"success": "Le impostazioni dei componenti aggiuntivi sono state salvate. Riavvia Frigate per applicare le modifiche.",
|
||||
"error": "Impossibile salvare le modifiche alla configurazione: {{errorMessage}}"
|
||||
},
|
||||
"title": "Impostazioni di miglioramento",
|
||||
"title": "Impostazioni Componenti Aggiuntivi",
|
||||
"semanticSearch": {
|
||||
"reindexNow": {
|
||||
"desc": "La reindicizzazione rigenererà gli incorporamenti per tutti gli oggetti tracciati. Questo processo viene eseguito in sottofondo e potrebbe impegnare al massimo la CPU e richiedere un tempo considerevole, a seconda del numero di oggetti tracciati.",
|
||||
@@ -770,8 +765,8 @@
|
||||
"title": "Riconoscimento targhe",
|
||||
"readTheDocumentation": "Leggi la documentazione"
|
||||
},
|
||||
"unsavedChanges": "Modifiche alle impostazioni di miglioramento non salvate",
|
||||
"restart_required": "Riavvio richiesto (impostazioni di miglioramento modificate)"
|
||||
"unsavedChanges": "Modifiche alle impostazioni dei Componenti aggiuntivi non salvate",
|
||||
"restart_required": "Riavvio richiesto (impostazioni dei componenti aggiuntivi modificate)"
|
||||
},
|
||||
"triggers": {
|
||||
"documentTitle": "Inneschi",
|
||||
@@ -1283,7 +1278,7 @@
|
||||
"backToSettings": "Torna alle impostazioni della telecamera",
|
||||
"streams": {
|
||||
"title": "Abilita/Disabilita telecamere",
|
||||
"desc": "Disattiva temporaneamente una telecamera fino al riavvio di Frigate. La disattivazione completa di una telecamera interrompe l'elaborazione dei flussi di questa telecamera da parte di Frigate. Rilevamento, registrazione e correzioni non saranno disponibili.<br /> <em>Nota: questa operazione non disattiva le ritrasmissioni di go2rtc.</em>"
|
||||
"desc": "Disattiva temporaneamente una telecamera fino al riavvio di Frigate. La disattivazione completa di una telecamera interrompe l'elaborazione dei flussi di questa telecamera da parte di Frigate. Rilevamento, registrazione e debug non saranno disponibili.<br /> <em>Nota: questa operazione non disattiva le ritrasmissioni di go2rtc.</em>"
|
||||
},
|
||||
"cameraConfig": {
|
||||
"add": "Aggiungi telecamera",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"documentTitle": {
|
||||
"cameras": "Statistiche telecamere - Frigate",
|
||||
"enrichments": "Statistiche di miglioramento - Frigate",
|
||||
"enrichments": "Statistiche Componenti Aggiuntivi - Frigate",
|
||||
"storage": "Statistiche archiviazione - Frigate",
|
||||
"general": "Statistiche generali - Frigate",
|
||||
"logs": {
|
||||
@@ -117,7 +117,7 @@
|
||||
"classification_speed": "Velocità di classificazione {{name}}",
|
||||
"classification_events_per_second": "Eventi di classificazione {{name}} al secondo"
|
||||
},
|
||||
"title": "Miglioramenti",
|
||||
"title": "Componenti Aggiuntivi",
|
||||
"infPerSecond": "Inferenze al secondo",
|
||||
"averageInf": "Tempo medio di inferenza"
|
||||
},
|
||||
|
||||
@@ -69,8 +69,7 @@
|
||||
},
|
||||
"inProgress": "処理中",
|
||||
"invalidStartTime": "開始時刻が無効です",
|
||||
"invalidEndTime": "終了時刻が無効です",
|
||||
"never": "なし"
|
||||
"invalidEndTime": "終了時刻が無効です"
|
||||
},
|
||||
"readTheDocumentation": "ドキュメントを見る",
|
||||
"unit": {
|
||||
@@ -97,8 +96,7 @@
|
||||
"show": "{{item}} を表示",
|
||||
"ID": "ID",
|
||||
"none": "なし",
|
||||
"all": "すべて",
|
||||
"other": "その他"
|
||||
"all": "すべて"
|
||||
},
|
||||
"button": {
|
||||
"apply": "適用",
|
||||
@@ -234,8 +232,7 @@
|
||||
"ur": "اردو (ウルドゥー語)",
|
||||
"withSystem": {
|
||||
"label": "システム設定に従う"
|
||||
},
|
||||
"hr": "Hrvatski (クロアチア語)"
|
||||
}
|
||||
},
|
||||
"classification": "分類"
|
||||
},
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"content": "このページは {{countdown}} 秒後に再読み込みされます。",
|
||||
"button": "今すぐ強制再読み込み"
|
||||
},
|
||||
"button": "再起動",
|
||||
"description": "再起動の間、Frigateが一時的に停止します。"
|
||||
"button": "再起動"
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
"description": {
|
||||
"placeholder": "このコレクションの名前を入力",
|
||||
"addFace": "最初の画像をアップロードして、フェイスライブラリに新しいコレクションを追加してください。",
|
||||
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。",
|
||||
"nameCannotContainHash": "名前に # は使用できません。"
|
||||
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。"
|
||||
},
|
||||
"details": {
|
||||
"person": "人物",
|
||||
|
||||
@@ -176,16 +176,6 @@
|
||||
"restricted": {
|
||||
"title": "利用可能なカメラがありません",
|
||||
"description": "このグループ内のカメラを表示する権限がありません。"
|
||||
},
|
||||
"default": {
|
||||
"title": "設定済みのカメラがありません",
|
||||
"description": "Frigate にカメラを接続して開始しましょう。",
|
||||
"buttonText": "カメラを追加"
|
||||
},
|
||||
"group": {
|
||||
"title": "このグループにカメラがありません",
|
||||
"description": "このカメラグループには、割り当て済みまたは有効なカメラがありません。",
|
||||
"buttonText": "グループを管理"
|
||||
}
|
||||
},
|
||||
"snapshot": {
|
||||
|
||||
@@ -288,11 +288,6 @@
|
||||
},
|
||||
"error": {
|
||||
"mustBeFinished": "保存する前に多角形の作図を完了してください。"
|
||||
},
|
||||
"type": {
|
||||
"zone": "ゾーン",
|
||||
"motion_mask": "モーションマスク",
|
||||
"object_mask": "オブジェクトマスク"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -537,7 +532,7 @@
|
||||
"hide": "パスワードを非表示",
|
||||
"requirements": {
|
||||
"title": "パスワード要件:",
|
||||
"length": "12文字以上",
|
||||
"length": "8 文字以上",
|
||||
"uppercase": "大文字を 1 文字以上含める",
|
||||
"digit": "数字を 1 文字以上含める",
|
||||
"special": "少なくとも 1 つの特殊文字(!@#$%^&*(),.?”:{}|<>)が必要です"
|
||||
@@ -1190,11 +1185,11 @@
|
||||
"title": "カメラレビュー設定",
|
||||
"object_descriptions": {
|
||||
"title": "生成AIによるオブジェクト説明",
|
||||
"desc": "Frigateが再起動するまで、このカメラの生成AIによる物体説明を一時的に有効/無効にします。無効にすると、このカメラで追跡された物体に対してAI生成の説明は生成されません。"
|
||||
"desc": "このカメラに対する生成AIのオブジェクト説明を一時的に有効/無効にします。無効にすると、このカメラの追跡オブジェクトについてAI生成の説明は要求されません。"
|
||||
},
|
||||
"review_descriptions": {
|
||||
"title": "生成AIによるレビュー説明",
|
||||
"desc": "Frigateが再起動するまで、このカメラの生成AIによるレビュー説明を一時的に有効/無効にします。無効にすると、このカメラのレビュー項目に対してAI生成の説明は生成されません。"
|
||||
"desc": "このカメラに対する生成AIのレビュー説明を一時的に有効/無効にします。無効にすると、このカメラのレビュー項目についてAI生成の説明は要求されません。"
|
||||
},
|
||||
"review": {
|
||||
"title": "レビュー",
|
||||
|
||||
@@ -86,14 +86,7 @@
|
||||
"otherProcesses": {
|
||||
"title": "その他のプロセス",
|
||||
"processCpuUsage": "プロセスの CPU 使用率",
|
||||
"processMemoryUsage": "プロセスのメモリ使用量",
|
||||
"series": {
|
||||
"recording": "録画",
|
||||
"review_segment": "レビューセグメント",
|
||||
"audio_detector": "音声検知",
|
||||
"go2rtc": "go2rtc",
|
||||
"embeddings": "ベクトル埋め込み"
|
||||
}
|
||||
"processMemoryUsage": "プロセスのメモリ使用量"
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -81,8 +81,7 @@
|
||||
"untilForRestart": "Līdz Frigate pārstartējas.",
|
||||
"untilRestart": "Līdz pārstartēšanai",
|
||||
"ago": "{{timeAgo}} pirms",
|
||||
"justNow": "Nupat",
|
||||
"never": "Nekad"
|
||||
"justNow": "Nupat"
|
||||
},
|
||||
"unit": {
|
||||
"speed": {
|
||||
@@ -108,8 +107,7 @@
|
||||
"show": "Rādīt {{item}}",
|
||||
"ID": "ID",
|
||||
"none": "Nav",
|
||||
"all": "Viss",
|
||||
"other": "Cits"
|
||||
"all": "Viss"
|
||||
},
|
||||
"list": {
|
||||
"two": "{{0}} un {{1}}",
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
"embeddingsReindexing": {
|
||||
"context": "Meklēšana būs pieejama pēc tam, kad būs pabeigta izsekoto objektu atkārtota indeksēšana.",
|
||||
"startingUp": "Notiek palaišana…",
|
||||
"estimatedTime": "Paredzamais atlikušais laiks:",
|
||||
"finishingShortly": "Drīz pabeigs"
|
||||
"estimatedTime": "Paredzamais atlikušais laiks:"
|
||||
}
|
||||
},
|
||||
"itemMenu": {
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
"description": {
|
||||
"addFace": "Pievienojiet savai seju bibliotēkai jaunu kolekciju, augšupielādējot savu pirmo attēlu.",
|
||||
"placeholder": "Ievadi kolekcijas nosaukumu",
|
||||
"invalidName": "Nederīgs nosaukums. Nosaukumi drīkst saturēt tikai burtus, ciparus, atstarpes, apostrofus, pasvītras un defises.",
|
||||
"nameCannotContainHash": "Vārds nedrīkst saturēt #."
|
||||
"invalidName": "Nederīgs nosaukums. Nosaukumi drīkst saturēt tikai burtus, ciparus, atstarpes, apostrofus, pasvītras un defises."
|
||||
},
|
||||
"details": {
|
||||
"timestamp": "Laika zīmogs",
|
||||
|
||||
@@ -22,161 +22,7 @@
|
||||
"nameLength": "Kameras nosaukums nedrīkst būt garāks par 64 simboliem",
|
||||
"invalidCharacters": "Kameras nosaukumā ir neatļauti simboli",
|
||||
"nameExists": "Kameras nosaukums jau pastāv"
|
||||
},
|
||||
"onvifPort": "ONVIF Ports",
|
||||
"port": "Ports"
|
||||
},
|
||||
"title": "Pievienot Kameru",
|
||||
"testResultLabels": {
|
||||
"audio": "Audio",
|
||||
"video": "Video",
|
||||
"resolution": "Izšķirtspēja",
|
||||
"fps": "FSP"
|
||||
},
|
||||
"save": {
|
||||
"failure": "Kļūda saglabājot {{cameraName}}."
|
||||
},
|
||||
"steps": {
|
||||
"nameAndConnection": "Vārds un savienojums"
|
||||
},
|
||||
"step2": {
|
||||
"retry": "Atkārtot",
|
||||
"connected": "Savienots"
|
||||
},
|
||||
"step3": {
|
||||
"quality": "Kvalitāte",
|
||||
"resolution": "Izšķirtspēja",
|
||||
"selectQuality": "Izvēlies kvalitāti",
|
||||
"roleLabels": {
|
||||
"audio": "Audio"
|
||||
},
|
||||
"testStream": "Pārbaudīt Savienojumu",
|
||||
"connected": "Savienots",
|
||||
"notConnected": "Nav Savienots",
|
||||
"testFailedTitle": "Tests Neizdevās"
|
||||
},
|
||||
"step4": {
|
||||
"connectStream": "Savienot",
|
||||
"connectingStream": "Savienojas",
|
||||
"failed": "Neizdevās",
|
||||
"roles": "Lomas",
|
||||
"error": "Kļūda"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"users": "Lietotāji",
|
||||
"roles": "Lomas",
|
||||
"frigateplus": "Frigate+",
|
||||
"notifications": "Paziņojumi",
|
||||
"triggers": "Trigeri"
|
||||
},
|
||||
"cameraSetting": {
|
||||
"camera": "Kamera"
|
||||
},
|
||||
"dialog": {
|
||||
"unsavedChanges": {
|
||||
"title": "Tev ir nesaglabātas izmaiņas.",
|
||||
"desc": "Vai vēlies saglabāt izmaiņas pirms turpini?"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"liveDashboard": {
|
||||
"displayCameraNames": {
|
||||
"label": "Vienmēr rādīt kameras nosaukumus"
|
||||
}
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Kalendārs",
|
||||
"firstWeekday": {
|
||||
"label": "Nedēļas pirmā diena",
|
||||
"sunday": "Svētdiena",
|
||||
"monday": "Pirmdiena"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enrichments": {
|
||||
"semanticSearch": {
|
||||
"reindexNow": {
|
||||
"confirmButton": "Pārindeksēt",
|
||||
"label": "Pārindeksēt tagad",
|
||||
"confirmTitle": "Apstiprināt Pārindeksāciju",
|
||||
"alreadyInProgress": "Pārindeksācija jau notiek."
|
||||
},
|
||||
"modelSize": {
|
||||
"small": {
|
||||
"title": "mazs"
|
||||
},
|
||||
"large": {
|
||||
"title": "liels"
|
||||
},
|
||||
"label": "Modeļa izmērs"
|
||||
}
|
||||
},
|
||||
"birdClassification": {
|
||||
"title": "Putnu klasifikācija"
|
||||
},
|
||||
"faceRecognition": {
|
||||
"title": "Sejas Atpazīšana",
|
||||
"modelSize": {
|
||||
"label": "Modeļa izmērs",
|
||||
"small": {
|
||||
"title": "mazs"
|
||||
},
|
||||
"large": {
|
||||
"title": "liels"
|
||||
}
|
||||
}
|
||||
},
|
||||
"licensePlateRecognition": {
|
||||
"title": "Auto numura zīmes atpazīšana"
|
||||
},
|
||||
"toast": {
|
||||
"error": "Neizdevās saglabāt konfigurācijas izmaiņas: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"cameraManagement": {
|
||||
"addCamera": "Pievienot Jaunu Kameru",
|
||||
"selectCamera": "Izvēlēties Kameru",
|
||||
"cameraConfig": {
|
||||
"add": "Pievienot Kameru",
|
||||
"edit": "Labot Kameru",
|
||||
"name": "Kameras Vārds"
|
||||
}
|
||||
},
|
||||
"triggers": {
|
||||
"wizard": {
|
||||
"steps": {
|
||||
"nameAndType": "Vārds un Tips"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"form": {
|
||||
"name": {
|
||||
"title": "Vārds"
|
||||
}
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"edit": "Labot",
|
||||
"name": "Vārds",
|
||||
"type": "Tips",
|
||||
"content": "Saturs"
|
||||
}
|
||||
},
|
||||
"frigatePlus": {
|
||||
"modelInfo": {
|
||||
"cameras": "Kameras"
|
||||
},
|
||||
"snapshotConfig": {
|
||||
"table": {
|
||||
"camera": "Kamera"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notification": {
|
||||
"title": "Paziņojumi",
|
||||
"cameras": {
|
||||
"title": "Kameras"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,5 @@
|
||||
"object_description": "Objekta apraksts",
|
||||
"object_description_events_per_second": "Objekta apraksts"
|
||||
}
|
||||
},
|
||||
"title": "Sistēma"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,8 +203,7 @@
|
||||
"bg": "Български (Bulgarsk)",
|
||||
"gl": "Galego (Galisisk)",
|
||||
"id": "Bahasa Indonesia (Indonesisk)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Kroatisk)"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"appearance": "Utseende",
|
||||
"darkMode": {
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
"description": {
|
||||
"addFace": "Legg til en ny samling i ansiktsbiblioteket ved å laste opp ditt første bilde.",
|
||||
"placeholder": "Skriv inn et navn for denne samlingen",
|
||||
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek.",
|
||||
"nameCannotContainHash": "Navn kan ikke inneholde #."
|
||||
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek."
|
||||
},
|
||||
"details": {
|
||||
"person": "Person",
|
||||
|
||||
@@ -277,11 +277,6 @@
|
||||
},
|
||||
"error": {
|
||||
"mustBeFinished": "Tegningen av polygonet må fullføres før lagring."
|
||||
},
|
||||
"type": {
|
||||
"zone": "sone",
|
||||
"motion_mask": "bevegelsesmaske",
|
||||
"object_mask": "objektmaske"
|
||||
}
|
||||
},
|
||||
"inertia": {
|
||||
@@ -542,7 +537,7 @@
|
||||
"hide": "Skjul passord",
|
||||
"requirements": {
|
||||
"title": "Passordkrav:",
|
||||
"length": "Minst 12 tegn",
|
||||
"length": "Minst 8 tegn",
|
||||
"uppercase": "Minst en stor bokstav",
|
||||
"digit": "Minst ett tall",
|
||||
"special": "Minst ett spesialtegn (!@#$%^&*(),.?\":{}|<>)"
|
||||
@@ -596,7 +591,7 @@
|
||||
"incorrectCurrentPassword": "Nåværende passord er feil",
|
||||
"passwordVerificationFailed": "Kunne ikke verifisere passord",
|
||||
"multiDeviceWarning": "Andre enheter du er logget inn på vil kreve ny innlogging innen {{refresh_time}}.",
|
||||
"multiDeviceAdmin": "Du kan også tvinge alle brukere til å logge inn på nytt ved å endre JWT (JSON Web Token)-nøkkelen."
|
||||
"multiDeviceAdmin": "Du kan også tvinge alle brukere til å logge inn på nytt umiddelbart ved å rotere JWT-hemmeligheten din."
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
"second_other": "{{time}} seconden",
|
||||
"formattedTimestampHourMinute": {
|
||||
"24hour": "HH:mm",
|
||||
"12hour": "h:mm aaa"
|
||||
"12hour": "HH:mm"
|
||||
},
|
||||
"formattedTimestampMonthDayYearHourMinute": {
|
||||
"12hour": "d MMM yyyy, HH:mm",
|
||||
@@ -71,7 +71,7 @@
|
||||
"24hour": "dd-MM-yy-HH-mm-ss"
|
||||
},
|
||||
"formattedTimestampHourMinuteSecond": {
|
||||
"12hour": "h:mm:ss aaa",
|
||||
"12hour": "HH:mm:ss",
|
||||
"24hour": "HH:mm:ss"
|
||||
},
|
||||
"formattedTimestampMonthDayHourMinute": {
|
||||
@@ -202,8 +202,7 @@
|
||||
"bg": "Български (Bulgaars)",
|
||||
"gl": "Galego (Galicisch)",
|
||||
"id": "Bahasa Indonesia (Indonesisch)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Kroatisch)"
|
||||
"ur": "اردو (Urdu)"
|
||||
},
|
||||
"darkMode": {
|
||||
"label": "Donkere modus",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
"title": "Frigate wordt opnieuw gestart",
|
||||
"button": "Forceer herladen nu",
|
||||
"content": "Deze pagina zal herladen in {{countdown}} seconden."
|
||||
},
|
||||
"description": "Dit zal Frigate kort stoppen terwijl het opnieuw opstart."
|
||||
}
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
"description": {
|
||||
"placeholder": "Voer een naam in voor deze verzameling",
|
||||
"addFace": "Voeg een nieuwe collectie toe aan de gezichtenbibliotheek door je eerste afbeelding te uploaden.",
|
||||
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten.",
|
||||
"nameCannotContainHash": "De naam mag geen # bevatten."
|
||||
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
|
||||
},
|
||||
"train": {
|
||||
"title": "Recente herkenningen",
|
||||
|
||||
@@ -287,11 +287,6 @@
|
||||
},
|
||||
"reset": {
|
||||
"label": "Alle punten wissen"
|
||||
},
|
||||
"type": {
|
||||
"zone": "zone",
|
||||
"motion_mask": "bewegingsmasker",
|
||||
"object_mask": "objectmasker"
|
||||
}
|
||||
},
|
||||
"speed": {
|
||||
@@ -551,7 +546,7 @@
|
||||
"hide": "Wachtwoord verbergen",
|
||||
"requirements": {
|
||||
"title": "Wachtwoordvereisten:",
|
||||
"length": "Minimaal 12 tekens",
|
||||
"length": "Minimaal 8 tekens",
|
||||
"uppercase": "Minimaal één hoofdletter",
|
||||
"digit": "Minimaal één cijfer",
|
||||
"special": "Minimaal één speciaal teken (!@#$%^&*(),.?\":{}|<>)"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user