mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-06-26 06:11:54 +03:00
Compare commits
25 Commits
effb5d80cd
...
e0cbf50cc4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0cbf50cc4 | ||
|
|
7a1b03e2c4 | ||
|
|
4cb1dccf59 | ||
|
|
c7f0e9497f | ||
|
|
5e6019b8e6 | ||
|
|
c62ba72fb0 | ||
|
|
6e90acc161 | ||
|
|
5ab324448d | ||
|
|
6b7a44d5a9 | ||
|
|
b9f816b062 | ||
|
|
18a7dc678b | ||
|
|
d6674e18d6 | ||
|
|
5d58471faf | ||
|
|
01d821347a | ||
|
|
984129535f | ||
|
|
2a90b5443e | ||
|
|
0d52439450 | ||
|
|
2ea1d7f3b0 | ||
|
|
605adb0677 | ||
|
|
28269a512d | ||
|
|
a0366baa9c | ||
|
|
ae60197cb0 | ||
|
|
407817a3b1 | ||
|
|
08be019bed | ||
|
|
2dd05ca984 |
@ -143,6 +143,11 @@ If your ONVIF camera does not require authentication credentials, you may still
|
||||
|
||||
:::
|
||||
|
||||
If a camera connects but fails to authenticate, two optional fields can help:
|
||||
|
||||
- `tls_insecure`: Skips TLS certificate verification and sends the ONVIF password as plaintext (`PasswordText`) instead of a hashed digest (`PasswordDigest`). Some cameras reject the digest token and only accept plaintext. This weakens connection security, so only enable it on a trusted local network.
|
||||
- `ignore_time_mismatch`: ONVIF authentication tokens include a timestamp, and a camera will reject the token if its clock differs too much from Frigate's. Enabling this makes Frigate compensate for the time offset so authentication can still succeed. Running NTP on both the camera and the Frigate host is the recommended fix; only use this in a "safe" environment, as it slightly weakens token validation.
|
||||
|
||||
If your camera has multiple ONVIF profiles, you can specify which one to use for PTZ control with the `profile` option, matched by token or name. When not set, Frigate selects the first profile with a valid PTZ configuration. Check the Frigate debug logs (`frigate.ptz.onvif: debug`) to see available profile names and tokens for your camera.
|
||||
|
||||
An ONVIF-capable camera that supports relative movement within the field of view (FOV) can also be configured to automatically track moving objects and keep them in the center of the frame. For autotracking setup, see the [autotracking](autotracking.md) docs.
|
||||
|
||||
@ -153,7 +153,7 @@ Clicking a preview clip seeks the recording player to that timestamp so you can
|
||||
|
||||
Motion Search lets you scan recorded footage for changes inside a region of interest you draw on the camera. Unlike Motion Previews, which surfaces what Frigate's motion detector flagged in real time, Motion Search re-analyzes the saved recordings, so it can find changes that were missed (for example, an object that appeared while motion detection was paused by `lightning_threshold`, or in a region that is normally motion-masked).
|
||||
|
||||
To start a search, click the kebab menu on a camera in the <NavPath path="Review > Motion" /> page and choose **Motion Search**. In the dialog:
|
||||
To start a search, open the Actions menu in History or click the kebab menu on a camera in the <NavPath path="Review > Motion" /> page and choose **Motion Search**. In the dialog:
|
||||
|
||||
1. Pick the camera and time range to scan.
|
||||
2. Draw a polygon on the camera frame to define the region of interest.
|
||||
@ -170,3 +170,21 @@ To start a search, click the kebab menu on a camera in the <NavPath path="Review
|
||||
Once running, Frigate scans the recording segments that overlap the time range and reports timestamps where changes were detected inside the polygon, along with the percentage of the ROI that changed. Clicking a result seeks the player to that moment so you can review what happened.
|
||||
|
||||
The status panel shows live progress and metrics such as how many segments were scanned, how many were skipped because no motion was recorded for that segment (using the stored motion heatmap), how many frames were decoded, and the total wall-clock time. Segments with no recorded motion in the selected ROI are skipped automatically, which is what makes searching long time ranges practical.
|
||||
|
||||
#### Common use cases
|
||||
|
||||
Frigate's main use case is to record and surface tracked objects, so Motion Search is most useful for the cases where object detection produced nothing — there is no object to find in Explore, but you suspect something happened.
|
||||
|
||||
- **Locating an unattributed change.** You know something appeared, disappeared, or moved in a window of footage — a package now gone, a gate left open — but no detection points to it. A search returns the candidate timestamps instead of scrubbing the timeline by hand.
|
||||
- **An object that was never detected.** Something Frigate doesn't have a model label for, an object too small or distant to be detected, or movement in a region where detection isn't running. The activity left no tracked object but did change the pixels, so a search can still find it.
|
||||
- **Activity while detection was effectively paused.** Changes that occurred while object detection was disabled, motion was suppressed by `skip_motion_threshold`, or inside an area covered by a motion mask, won't appear as review items or tracked objects but can be recovered by searching the recordings directly.
|
||||
|
||||
#### Expected performance
|
||||
|
||||
Motion Search analyzes the saved recordings on demand rather than reading a pre-built index, so a search over a long range takes longer than browsing Motion Previews. Cost scales mainly with how much footage has to be examined: segments with no recorded motion in your ROI are skipped using the stored motion heatmap (shown as "segments skipped" in the status panel), so a quiet range finishes quickly while a busy one takes longer.
|
||||
|
||||
To increase the speed of searches:
|
||||
|
||||
- Draw a tight ROI. Because **Minimum Change Area** is measured as a percentage of the region you draw, a tight ROI around where you expect the change makes the object fill a larger share of the area, so it clears the threshold more easily. A loose ROI makes the same object a small fraction of the region, so it can fall below the threshold and be missed — forcing you to lower Minimum Change Area, which lets in more noise.
|
||||
- Keep Frame Skip high. A higher value samples fewer frames and speeds up the search considerably, while still landing within a few seconds of when the motion or object appeared — close enough to seek to in the recording. Only lower it when you need to pinpoint the exact frame something appears or disappears.
|
||||
- Use Parallel mode to shorten wall-clock time on multi-core systems, at the cost of higher CPU usage while it runs.
|
||||
|
||||
@ -529,6 +529,68 @@ def _extract_fps(r_frame_rate: str) -> float | None:
|
||||
return None
|
||||
|
||||
|
||||
def _build_digest_transport(username: str, password: str) -> AsyncTransport:
|
||||
"""Build a zeep transport backed by an httpx client using HTTP digest auth."""
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
return AsyncTransport(client=client)
|
||||
|
||||
|
||||
async def _connect_onvif_camera(
|
||||
host: str,
|
||||
port: int,
|
||||
username: str,
|
||||
password: str,
|
||||
wsdl_base: str | None,
|
||||
auth_type: str,
|
||||
) -> ONVIFCamera:
|
||||
"""Connect to an ONVIF device, trying both WS-Security password encodings.
|
||||
|
||||
Cameras disagree on whether the WS-Security UsernameToken should carry a
|
||||
hashed PasswordDigest or a plaintext PasswordText. The wizard can't know
|
||||
which a given camera expects, so we try PasswordDigest first (the common
|
||||
case) and fall back to PasswordText when the device rejects the token. This
|
||||
is independent of auth_type, which controls HTTP transport-level auth.
|
||||
"""
|
||||
first_error: Fault | None = None
|
||||
|
||||
# encrypt=True -> PasswordDigest, encrypt=False -> PasswordText
|
||||
for encrypt in (True, False):
|
||||
onvif_camera = ONVIFCamera(
|
||||
host,
|
||||
port,
|
||||
username or "",
|
||||
password or "",
|
||||
wsdl_dir=wsdl_base,
|
||||
encrypt=encrypt,
|
||||
)
|
||||
|
||||
try:
|
||||
await onvif_camera.update_xaddrs()
|
||||
except Fault as e:
|
||||
# A SOAP fault here is how a camera signals the wrong password
|
||||
# encoding, so retry with the other encoding before giving up.
|
||||
logger.debug(
|
||||
"ONVIF connect with %s rejected, trying alternate encoding",
|
||||
"PasswordDigest" if encrypt else "PasswordText",
|
||||
)
|
||||
if first_error is None:
|
||||
first_error = e
|
||||
continue
|
||||
|
||||
if auth_type == "digest" and username and password:
|
||||
transport = _build_digest_transport(username, password)
|
||||
for service in ("devicemgmt", "media", "ptz"):
|
||||
if hasattr(onvif_camera, service):
|
||||
getattr(onvif_camera, service).zeep_client.transport = transport
|
||||
logger.debug("Configured digest authentication")
|
||||
|
||||
return onvif_camera
|
||||
|
||||
# Both encodings failed authentication; surface the original fault.
|
||||
raise first_error
|
||||
|
||||
|
||||
@router.get(
|
||||
"/onvif/probe",
|
||||
dependencies=[Depends(require_role(["admin"]))],
|
||||
@ -605,34 +667,10 @@ async def onvif_probe(
|
||||
except Exception:
|
||||
wsdl_base = None
|
||||
|
||||
onvif_camera = ONVIFCamera(
|
||||
host, port, username or "", password or "", wsdl_dir=wsdl_base
|
||||
onvif_camera = await _connect_onvif_camera(
|
||||
host, port, username, password, wsdl_base, auth_type
|
||||
)
|
||||
|
||||
# Configure digest authentication if requested
|
||||
if auth_type == "digest" and username and password:
|
||||
# Create httpx client with digest auth
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
|
||||
# Replace the transport in the zeep client
|
||||
transport = AsyncTransport(client=client)
|
||||
|
||||
# Update the xaddr before setting transport
|
||||
await onvif_camera.update_xaddrs()
|
||||
|
||||
# Replace transport in all services
|
||||
if hasattr(onvif_camera, "devicemgmt"):
|
||||
onvif_camera.devicemgmt.zeep_client.transport = transport
|
||||
if hasattr(onvif_camera, "media"):
|
||||
onvif_camera.media.zeep_client.transport = transport
|
||||
if hasattr(onvif_camera, "ptz"):
|
||||
onvif_camera.ptz.zeep_client.transport = transport
|
||||
|
||||
logger.debug("Configured digest authentication")
|
||||
else:
|
||||
await onvif_camera.update_xaddrs()
|
||||
|
||||
# Get device information
|
||||
device_info = {
|
||||
"manufacturer": "Unknown",
|
||||
@ -644,10 +682,9 @@ async def onvif_probe(
|
||||
|
||||
# Update transport for device service if digest auth
|
||||
if auth_type == "digest" and username and password:
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
transport = AsyncTransport(client=client)
|
||||
device_service.zeep_client.transport = transport
|
||||
device_service.zeep_client.transport = _build_digest_transport(
|
||||
username, password
|
||||
)
|
||||
|
||||
device_info_resp = await device_service.GetDeviceInformation()
|
||||
manufacturer = getattr(device_info_resp, "Manufacturer", None) or (
|
||||
@ -685,10 +722,9 @@ async def onvif_probe(
|
||||
|
||||
# Update transport for media service if digest auth
|
||||
if auth_type == "digest" and username and password:
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
transport = AsyncTransport(client=client)
|
||||
media_service.zeep_client.transport = transport
|
||||
media_service.zeep_client.transport = _build_digest_transport(
|
||||
username, password
|
||||
)
|
||||
|
||||
profiles = await media_service.GetProfiles()
|
||||
profiles_count = len(profiles) if profiles else 0
|
||||
@ -720,10 +756,9 @@ async def onvif_probe(
|
||||
|
||||
# Update transport for PTZ service if digest auth
|
||||
if auth_type == "digest" and username and password:
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
transport = AsyncTransport(client=client)
|
||||
ptz_service.zeep_client.transport = transport
|
||||
ptz_service.zeep_client.transport = _build_digest_transport(
|
||||
username, password
|
||||
)
|
||||
|
||||
# Check if PTZ service is available
|
||||
try:
|
||||
@ -876,10 +911,9 @@ async def onvif_probe(
|
||||
|
||||
# Update transport for media service if digest auth
|
||||
if auth_type == "digest" and username and password:
|
||||
auth = httpx.DigestAuth(username, password)
|
||||
client = httpx.AsyncClient(auth=auth, timeout=10.0)
|
||||
transport = AsyncTransport(client=client)
|
||||
media_service.zeep_client.transport = transport
|
||||
media_service.zeep_client.transport = _build_digest_transport(
|
||||
username, password
|
||||
)
|
||||
|
||||
if profiles_count and media_service:
|
||||
for p in profiles or []:
|
||||
|
||||
@ -42,9 +42,9 @@ class MotionSearchRequest(BaseModel):
|
||||
description="Minimum change area as a percentage of the ROI",
|
||||
)
|
||||
frame_skip: int = Field(
|
||||
default=5,
|
||||
default=30,
|
||||
ge=1,
|
||||
le=30,
|
||||
le=120,
|
||||
description="Process every Nth frame (1=all frames, 5=every 5th frame)",
|
||||
)
|
||||
parallel: bool = Field(
|
||||
|
||||
@ -343,13 +343,21 @@ class FrigateApp:
|
||||
)
|
||||
self.dispatcher.profile_manager = self.profile_manager
|
||||
|
||||
def restore_active_profile(self) -> None:
|
||||
"""Re-activate the persisted profile after subscribers are connected.
|
||||
|
||||
ZMQ PUB/SUB drops messages with no subscribers, so activation must
|
||||
run after every config_updater subscriber is up.
|
||||
"""
|
||||
if self.profile_manager is None:
|
||||
return
|
||||
|
||||
persisted = ProfileManager.load_persisted_profile()
|
||||
if persisted and any(
|
||||
persisted in cam.profiles for cam in self.config.cameras.values()
|
||||
):
|
||||
logger.info("Restoring persisted profile '%s'", persisted)
|
||||
# don't clear runtime overrides here, restore_runtime_state() later
|
||||
# in startup replays it on top of the activated profile
|
||||
# runtime overrides are layered on top via restore_runtime_state()
|
||||
self.profile_manager.activate_profile(
|
||||
persisted, clear_runtime_overrides=False
|
||||
)
|
||||
@ -617,6 +625,7 @@ class FrigateApp:
|
||||
self.start_watchdog()
|
||||
|
||||
# restore persisted runtime overrides on top of config
|
||||
self.restore_active_profile()
|
||||
self.dispatcher.restore_runtime_state()
|
||||
|
||||
self.init_auth()
|
||||
|
||||
124
frigate/test/test_onvif_probe.py
Normal file
124
frigate/test/test_onvif_probe.py
Normal file
@ -0,0 +1,124 @@
|
||||
import unittest
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
from zeep.exceptions import Fault, TransportError
|
||||
from zeep.transports import AsyncTransport
|
||||
|
||||
from frigate.api.camera import _build_digest_transport, _connect_onvif_camera
|
||||
|
||||
|
||||
def _make_camera(update_side_effect=None):
|
||||
"""Build a mock ONVIFCamera whose update_xaddrs can raise or succeed."""
|
||||
camera = MagicMock()
|
||||
camera.update_xaddrs = AsyncMock(side_effect=update_side_effect)
|
||||
return camera
|
||||
|
||||
|
||||
class TestConnectOnvifCamera(unittest.IsolatedAsyncioTestCase):
|
||||
async def test_password_digest_succeeds_first(self):
|
||||
# Cameras that accept PasswordDigest authenticate on the first attempt
|
||||
# and should never trigger the PasswordText fallback.
|
||||
camera = _make_camera()
|
||||
|
||||
with patch("frigate.api.camera.ONVIFCamera", return_value=camera) as mock_cls:
|
||||
result = await _connect_onvif_camera(
|
||||
"cam.local", 80, "user", "pass", None, "basic"
|
||||
)
|
||||
|
||||
self.assertIs(result, camera)
|
||||
mock_cls.assert_called_once()
|
||||
self.assertTrue(mock_cls.call_args.kwargs["encrypt"])
|
||||
|
||||
async def test_falls_back_to_password_text(self):
|
||||
# A PasswordDigest rejection should retry once with PasswordText.
|
||||
camera_digest = _make_camera(update_side_effect=Fault("token rejected"))
|
||||
camera_text = _make_camera()
|
||||
|
||||
with patch(
|
||||
"frigate.api.camera.ONVIFCamera",
|
||||
side_effect=[camera_digest, camera_text],
|
||||
) as mock_cls:
|
||||
result = await _connect_onvif_camera(
|
||||
"cam.local", 80, "user", "pass", None, "basic"
|
||||
)
|
||||
|
||||
self.assertIs(result, camera_text)
|
||||
self.assertEqual(mock_cls.call_count, 2)
|
||||
self.assertTrue(mock_cls.call_args_list[0].kwargs["encrypt"])
|
||||
self.assertFalse(mock_cls.call_args_list[1].kwargs["encrypt"])
|
||||
|
||||
async def test_both_encodings_fail_raises_first_fault(self):
|
||||
# When both encodings fault, the original (PasswordDigest) fault is
|
||||
# surfaced so the caller's existing Fault handler reports it.
|
||||
first_fault = Fault("digest rejected")
|
||||
camera_digest = _make_camera(update_side_effect=first_fault)
|
||||
camera_text = _make_camera(update_side_effect=Fault("text rejected"))
|
||||
|
||||
with patch(
|
||||
"frigate.api.camera.ONVIFCamera",
|
||||
side_effect=[camera_digest, camera_text],
|
||||
) as mock_cls:
|
||||
with self.assertRaises(Fault) as ctx:
|
||||
await _connect_onvif_camera(
|
||||
"cam.local", 80, "user", "pass", None, "basic"
|
||||
)
|
||||
|
||||
self.assertIs(ctx.exception, first_fault)
|
||||
self.assertEqual(mock_cls.call_count, 2)
|
||||
|
||||
async def test_transport_error_is_not_retried(self):
|
||||
# Connection-level errors (timeout, refused, unreachable) should
|
||||
# propagate immediately without doubling latency on a second encoding.
|
||||
camera = _make_camera(update_side_effect=TransportError("unreachable"))
|
||||
|
||||
with patch("frigate.api.camera.ONVIFCamera", side_effect=[camera]) as mock_cls:
|
||||
with self.assertRaises(TransportError):
|
||||
await _connect_onvif_camera(
|
||||
"cam.local", 80, "user", "pass", None, "basic"
|
||||
)
|
||||
|
||||
mock_cls.assert_called_once()
|
||||
|
||||
async def test_digest_auth_replaces_service_transports(self):
|
||||
# auth_type "digest" wires an HTTP digest transport onto each service,
|
||||
# independently of the WS-Security encoding.
|
||||
camera = _make_camera()
|
||||
|
||||
with (
|
||||
patch("frigate.api.camera.ONVIFCamera", return_value=camera),
|
||||
patch(
|
||||
"frigate.api.camera._build_digest_transport",
|
||||
return_value="TRANSPORT",
|
||||
) as mock_transport,
|
||||
):
|
||||
result = await _connect_onvif_camera(
|
||||
"cam.local", 80, "user", "pass", None, "digest"
|
||||
)
|
||||
|
||||
self.assertIs(result, camera)
|
||||
mock_transport.assert_called_once_with("user", "pass")
|
||||
self.assertEqual(camera.devicemgmt.zeep_client.transport, "TRANSPORT")
|
||||
self.assertEqual(camera.media.zeep_client.transport, "TRANSPORT")
|
||||
self.assertEqual(camera.ptz.zeep_client.transport, "TRANSPORT")
|
||||
|
||||
async def test_basic_auth_does_not_replace_transports(self):
|
||||
# Without digest auth, no transport override is built.
|
||||
camera = _make_camera()
|
||||
|
||||
with (
|
||||
patch("frigate.api.camera.ONVIFCamera", return_value=camera),
|
||||
patch("frigate.api.camera._build_digest_transport") as mock_transport,
|
||||
):
|
||||
await _connect_onvif_camera("cam.local", 80, "user", "pass", None, "basic")
|
||||
|
||||
mock_transport.assert_not_called()
|
||||
|
||||
|
||||
class TestBuildDigestTransport(unittest.TestCase):
|
||||
def test_returns_async_transport(self):
|
||||
transport = _build_digest_transport("user", "pass")
|
||||
self.assertIsInstance(transport, AsyncTransport)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@ -23,7 +23,7 @@
|
||||
"singing": "غناء",
|
||||
"choir": "فرقة غناء",
|
||||
"chant": "تَرْنِيم",
|
||||
"mantra": "تَرْنِيمَة",
|
||||
"mantra": "تعويذة",
|
||||
"child_singing": "غِنَاء طِفْل",
|
||||
"synthetic_singing": "غِنَاء اِصْطِنَاعِيّ",
|
||||
"rapping": "رَاب",
|
||||
@ -50,7 +50,7 @@
|
||||
"hands": "أَيْدِي",
|
||||
"finger_snapping": "طَقْطَقَة الأَصَابِع",
|
||||
"clapping": "تَصْفِيق",
|
||||
"heart_murmur": "لَغَط القَلْب",
|
||||
"heart_murmur": "نفخة القَلْب",
|
||||
"cheering": "صِيَاح",
|
||||
"applause": "تَصْفِيق",
|
||||
"chatter": "حَدِيث",
|
||||
@ -74,5 +74,80 @@
|
||||
"bus": "حافلة",
|
||||
"train": "قطار",
|
||||
"boat": "زورق",
|
||||
"bird": "طائر"
|
||||
"bird": "طائر",
|
||||
"sine_wave": "موجة الإشارة",
|
||||
"harmonic": "أوزة",
|
||||
"caw": "نُعَاقُ الغراب",
|
||||
"owl": "بومة",
|
||||
"hoot": "صاح",
|
||||
"flapping_wings": "أجنحة ترفرف",
|
||||
"dogs": "كلاب",
|
||||
"rats": "فئران",
|
||||
"mouse": "فأر",
|
||||
"patter": "طقطق",
|
||||
"insect": "حشرة",
|
||||
"cricket": "كريكيت",
|
||||
"mosquito": "بعوضة",
|
||||
"fly": "سافر",
|
||||
"buzz": "طنين",
|
||||
"frog": "ضفدع",
|
||||
"croak": "نق الضفدع",
|
||||
"snake": "ثعبان",
|
||||
"rattle": "جلجلية",
|
||||
"whale_vocalization": "أصوات الحيتان",
|
||||
"music": "موسيقى",
|
||||
"musical_instrument": "آلة موسيقية",
|
||||
"plucked_string_instrument": "آلة وترية",
|
||||
"guitar": "غيتار",
|
||||
"electric_guitar": "غيتار كهربائي",
|
||||
"bass_guitar": "غيتار البيس",
|
||||
"acoustic_guitar": "غيتار صوتي",
|
||||
"steel_guitar": "غيتار فولاذي",
|
||||
"tapping": "نقر",
|
||||
"strum": "داعب الأ وتار",
|
||||
"banjo": "البانجو",
|
||||
"sitar": "سيتار",
|
||||
"mandolin": "الماندولين",
|
||||
"zither": "زيثارة",
|
||||
"ukulele": "أوكوليلي",
|
||||
"keyboard": "لوحة المفاتيح",
|
||||
"piano": "بيانو",
|
||||
"electric_piano": "بيانو كهربائي",
|
||||
"organ": "أرغن",
|
||||
"electronic_organ": "الأورغن الإلكتروني",
|
||||
"hammond_organ": "أورغن هاموند",
|
||||
"synthesizer": "مُركِّب صوتي",
|
||||
"sampler": "عينة",
|
||||
"harpsichord": "بيان القيثاري",
|
||||
"percussion": "آلات الإيقاع",
|
||||
"drum_kit": "طقم طبول",
|
||||
"drum_machine": "آلة الطبول",
|
||||
"drum": "طبل",
|
||||
"snare_drum": "طبلة جانبية",
|
||||
"rimshot": "طقطة",
|
||||
"drum_roll": "قرع الطبول",
|
||||
"bass_drum": "طبلة الباس",
|
||||
"timpani": "الطبول",
|
||||
"tabla": "طبلة",
|
||||
"cymbal": "الصنج",
|
||||
"hi_hat": "هاي-هات",
|
||||
"wood_block": "كتلة خشبية",
|
||||
"tambourine": "دف",
|
||||
"maraca": "ماراكا",
|
||||
"gong": "غونغ",
|
||||
"tubular_bells": "أجراس أنبوبية",
|
||||
"cattle": "ماشية",
|
||||
"moo": "خوار",
|
||||
"cowbell": "جرس البقر",
|
||||
"pig": "خنزير",
|
||||
"oink": "أوينك",
|
||||
"goat": "معزة",
|
||||
"bleat": "ثغاء",
|
||||
"sheep": "غنم",
|
||||
"fowl": "الدواجن",
|
||||
"chicken": "دجاجة",
|
||||
"cluck": "قرقرة",
|
||||
"cock_a_doodle_doo": "كوكو-كو-كوووووو",
|
||||
"turkey": "ديك رومى",
|
||||
"gobble": "كركرة"
|
||||
}
|
||||
|
||||
@ -18,5 +18,9 @@
|
||||
"train": "قطار",
|
||||
"boat": "زورق",
|
||||
"bench": "مقعدة",
|
||||
"bird": "طائر"
|
||||
"bird": "طائر",
|
||||
"mouse": "فأر",
|
||||
"keyboard": "لوحة المفاتيح",
|
||||
"goat": "معزة",
|
||||
"sheep": "غنم"
|
||||
}
|
||||
|
||||
@ -50,7 +50,8 @@
|
||||
"id": "Bahasa Indonesia (Indonesi)",
|
||||
"ur": "اردو (Urdú)",
|
||||
"hr": "Hrvatski (croat)",
|
||||
"bs": "Bosanski (Bosni)"
|
||||
"bs": "Bosanski (Bosni)",
|
||||
"zhHant": "繁體中文 (Xinès Tradicional)"
|
||||
},
|
||||
"system": "Sistema",
|
||||
"systemMetrics": "Mètriques del sistema",
|
||||
@ -323,5 +324,8 @@
|
||||
"internalID": "L'ID intern que Frigate s'utilitza a la configuració i a la base de dades"
|
||||
},
|
||||
"no_items": "Sense elements",
|
||||
"validation_errors": "Errors de validació"
|
||||
"validation_errors": "Errors de validació",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Desat — deixa en blanc per mantenir l'actual"
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,5 +48,6 @@
|
||||
"error": {
|
||||
"submitFrigatePlusFailed": "Error al enviar fotograma a Frigate+"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameraOff": "La càmera està apagada"
|
||||
}
|
||||
|
||||
@ -524,11 +524,11 @@
|
||||
},
|
||||
"reindex": {
|
||||
"label": "Reindexa en iniciar",
|
||||
"description": "Activa un reíndex complet d'objectes rastrejats històrics a la base de dades d'incrustacions."
|
||||
"description": "Activa un reindexat complet d'objectes rastrejats històrics a la base de dades d'incrustacions."
|
||||
},
|
||||
"model": {
|
||||
"label": "Model de cerca semàntica o nom del proveïdor GenAI",
|
||||
"description": "El model d'incrustació a utilitzar per a la cerca semàntica (per exemple 'jinav1'), o el nom d'un proveïdor de GenAI amb el rol d'incrustació."
|
||||
"description": "El model de vectors a utilitzar per a la cerca semàntica (per exemple 'jinav1'), o el nom d'un proveïdor de GenAI amb el rol de vectors."
|
||||
},
|
||||
"model_size": {
|
||||
"label": "Mida del model",
|
||||
@ -808,7 +808,7 @@
|
||||
},
|
||||
"model_size": {
|
||||
"label": "Mida del model",
|
||||
"description": "Mida del model a utilitzar per a incrustacions facials (petit/gran); més gran pot requerir GPU."
|
||||
"description": "Mida del model a utilitzar per als vectors facials (petit/gran); més gran pot requerir GPU."
|
||||
},
|
||||
"unknown_score": {
|
||||
"label": "Llindar de puntuació desconegut",
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"detectRequired": "Almenys un flux d'entrada ha de tenir assignat el rol «detecta».",
|
||||
"hwaccelDetectOnly": "Només el flux d'entrada amb el rol detect pot definir arguments d'acceleració del maquinari."
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "Ha de ser un nombre parell."
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,5 +65,8 @@
|
||||
"active": "Raonant…",
|
||||
"show": "Mostra el raonament",
|
||||
"hide": "Amaga el raonament"
|
||||
},
|
||||
"thinking": {
|
||||
"toggle": "Commuta el pensament"
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
"exploreIsUnavailable": {
|
||||
"downloadingModels": {
|
||||
"tips": {
|
||||
"context": "Potser voldreu reindexar les incrustacions dels objectes seguits un cop s'hagin descarregat els models.",
|
||||
"context": "Potser voldreu reindexar els vectors dels objectes seguits un cop s'hagin descarregat els models.",
|
||||
"documentation": "Llegir la documentació"
|
||||
},
|
||||
"context": "Frigate està descarregant els models d'embeddings necessaris per a donar suport a la funció de cerca semàntica. Això pot trigar diversos minuts, depenent de la velocitat de la teva connexió de xarxa.",
|
||||
"context": "El Frigate està baixant els models de vectors necessaris per a admetre la funció de Cerca Semàntica. Això pot trigar uns quants minuts depenent de la velocitat de la vostra connexió de xarxa.",
|
||||
"setup": {
|
||||
"visionModel": "Model de visió",
|
||||
"visionModelFeatureExtractor": "Extractor de característiques del model de visió",
|
||||
@ -248,7 +248,7 @@
|
||||
"dialog": {
|
||||
"confirmDelete": {
|
||||
"title": "Confirmar la supressió",
|
||||
"desc": "Suprimir aquest objecte rastrejat elimina la instantània, qualsevol incrustació desada, i qualsevol entrada de detalls de seguiment associada. Les imatges gravades d'aquest objecte seguit en l'historial <em>NO</em> seràn eliminades.<br /><br />Estas segur que vols continuar?"
|
||||
"desc": "En eliminar aquest objecte detectat, s'esborrarà la instantània, els vectors desats i qualsevol entrada associada als detalls de seguiment d'aquest objecte. El metratge enregistrat d'aquest objecte detectat a la vista de l'Historial <em>NO</em> s'esborrarà.<br /><br />Segur que voleu continuar?"
|
||||
},
|
||||
"toast": {
|
||||
"error": "S'ha produït un error en suprimir aquest objecte rastrejat: {{errorMessage}}"
|
||||
@ -282,7 +282,7 @@
|
||||
"faceOrLicense_plate": "{{attribute}} detectat per {{label}}",
|
||||
"other": "{{label}} reconegut com a {{attribute}}"
|
||||
},
|
||||
"gone": "{{label}} esquerra",
|
||||
"gone": "{{label}} ha sortit",
|
||||
"heard": "{{label}} sentit",
|
||||
"external": "{{label}} detectat",
|
||||
"header": {
|
||||
|
||||
@ -58,7 +58,9 @@
|
||||
},
|
||||
"camera": {
|
||||
"enable": "Habilitar la càmera",
|
||||
"disable": "Deshabilita la càmera"
|
||||
"disable": "Deshabilita la càmera",
|
||||
"turnOn": "Activa la càmera",
|
||||
"turnOff": "Apaga la càmera"
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "Silencia totes les càmeres",
|
||||
@ -151,7 +153,8 @@
|
||||
"autotracking": "Seguiment automàtic",
|
||||
"objectDetection": "Detecció d'objectes",
|
||||
"audioDetection": "Detecció d'àudio",
|
||||
"transcription": "Transcripció d'audio"
|
||||
"transcription": "Transcripció d'audio",
|
||||
"camera": "Càmera"
|
||||
},
|
||||
"history": {
|
||||
"label": "Mostrar gravacions històriques"
|
||||
|
||||
@ -55,5 +55,5 @@
|
||||
"goToReplay": "Ves a la repetició"
|
||||
}
|
||||
},
|
||||
"description": "Reprodueix els enregistraments de la càmera per a la depuració. La llista d'objectes mostra un resum retardat en el temps dels objectes detectats i la pestanya Missatges mostra un flux de missatges interns de la fragata a partir del metratge de reproducció."
|
||||
"description": "Reprodueix els enregistraments de la càmera per a la depuració. La llista d'objectes mostra un resum retardat en el temps dels objectes detectats i la pestanya Missatges mostra un flux de missatges interns de frigate a partir del metratge de reproducció."
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
"frigateplus": "Frigate+",
|
||||
"enrichments": "Enriquiments",
|
||||
"triggers": "Disparadors",
|
||||
"cameraManagement": "Gestió",
|
||||
"cameraManagement": "Gestió de la càmera",
|
||||
"cameraReview": "Revisió",
|
||||
"roles": "Rols",
|
||||
"general": "General",
|
||||
@ -136,7 +136,7 @@
|
||||
"clearAll": "Esborra tots els paràmetres de transmissió"
|
||||
},
|
||||
"recordingsViewer": {
|
||||
"title": "Visor d'enregistraments",
|
||||
"title": "Visualitzador d'enregistraments",
|
||||
"defaultPlaybackRate": {
|
||||
"label": "Velocitat de reproducció predeterminada",
|
||||
"desc": "Velocitat de reproducció predeterminada per a la reproducció de gravacions."
|
||||
@ -773,22 +773,22 @@
|
||||
"modelSize": {
|
||||
"small": {
|
||||
"title": "petit",
|
||||
"desc": "L’opció <em>small</em> fa servir una versió quantitzada del model que consumeix menys RAM i s’executa més ràpidament a la CPU, amb una diferència gairebé inapreciable en la qualitat de les incrustacions (embeddings)."
|
||||
"desc": "Si s'utilitza <em>small</em>, s'empra una versió quantitzada del model que consumeix menys memòria RAM i s'executa més ràpidament a la CPU, amb una diferència inapreciable en la qualitat dels vectors."
|
||||
},
|
||||
"label": "Mida del model",
|
||||
"large": {
|
||||
"title": "gran",
|
||||
"desc": "L’opció <em>large</em> fa servir el model complet de Jina i s’executarà automàticament a la GPU si està disponible."
|
||||
},
|
||||
"desc": "La mida del model utilitzat per incrustacions de cerca semàntica."
|
||||
"desc": "La mida del model utilitzat per als vectors de la cerca semàntica."
|
||||
},
|
||||
"reindexNow": {
|
||||
"confirmButton": "Reindexar",
|
||||
"success": "La reindexació ha començat amb èxit.",
|
||||
"label": "Reindexar ara",
|
||||
"confirmTitle": "Confirmar la reindexació",
|
||||
"desc": "La reindexació regenerarà les incrustacions per a tots els objectes rastrejats. Aquest procés s'executa en segon pla i pot treure el màxim de la CPU i prendre una quantitat de temps raonable depenent del nombre d'objectes rastrejats que tingueu.",
|
||||
"confirmDesc": "Estàs segur que vols reindexar totes les incrustacions (embeddings) dels objectes seguits? Aquest procés s’executarà en segon pla, però pot arribar a saturar la CPU i trigar bastant temps. Pots seguir-ne el progrés a la pàgina d’Explora.",
|
||||
"desc": "La reindexació tornarà a generar els vectors de tots els objectes detectats. Aquest procés s'executa en segon pla, pot posar la CPU al màxim i trigar una bona estona segons el nombre d'objectes detectats que tingueu.",
|
||||
"confirmDesc": "Segur que voleu tornar a indexar els vectors de tots els objectes detectats? Aquest procés s'executa en segon pla, però pot posar la CPU al màxim i trigar una bona estona. En podeu veure el progrés a la pàgina Explora.",
|
||||
"alreadyInProgress": "La reindexació ja està en curs.",
|
||||
"error": "Error en iniciar la reindexació: {{errorMessage}}"
|
||||
},
|
||||
@ -1059,7 +1059,7 @@
|
||||
"brands": {
|
||||
"reolink-rtsp": "No es recomana Reolink RST. Es recomana habilitar HTTP a la configuració de la càmera i reiniciar l'assistent de la càmera."
|
||||
},
|
||||
"customUrlRtspRequired": "Els URL personalitzats han de començar amb \"rtsp://\". Es requereix configuració manual per a fluxos de càmera no RTSP."
|
||||
"customUrlRtspRequired": "Els URL personalitzats han de començar amb \"rtsp://\" o \"rtsps://\". Es requereix configuració manual per a fluxos de càmera no RTSP."
|
||||
},
|
||||
"selectBrand": "Seleccioneu la marca de la càmera per a la plantilla d'URL",
|
||||
"customUrl": "URL de flux personalitzat",
|
||||
@ -1303,13 +1303,13 @@
|
||||
"selectCamera": "Selecciona una càmera",
|
||||
"backToSettings": "Torna a la configuració de la càmera",
|
||||
"streams": {
|
||||
"title": "Habilita / Inhabilita les càmeres",
|
||||
"title": "Estat i detalls de la càmera",
|
||||
"desc": "Inhabilita temporalment una càmera fins que es reiniciï la fragata. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.<br /> <em>Nota: això no desactiva les retransmissions de go2rtc.</em>",
|
||||
"enableLabel": "Càmeres habilitades",
|
||||
"enableDesc": "Inhabilita temporalment una càmera habilitada fins que es reiniciï Frigate. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.<br /> <em>Nota: això no inhabilita els restreams go2rtc.</em><br /><br />Drag el handle per reordenar les càmeres tal com apareixen a la interfície d'usuari. L'ordre de les càmeres habilitades es reflectirà en tota la interfície d'usuari, incloent el tauler en viu i els desplegables de selecció de càmeres.",
|
||||
"disableLabel": "Càmeres inhabilitades",
|
||||
"disableDesc": "Habilita una càmera que actualment no és visible a la interfície d'usuari i està desactivada a la configuració. Es requereix un reinici de Frigate després d'activar-la.",
|
||||
"enableSuccess": "{{cameraName}} activat a la configuració. Reinicia Frigate per aplicar els canvis.",
|
||||
"enableSuccess": "{{cameraName}} activat. Reinicia Frigate a aplicar.",
|
||||
"friendlyName": {
|
||||
"edit": "Edita el nom de la pantalla de la càmera",
|
||||
"title": "Edita el nom de la pantalla",
|
||||
@ -1318,7 +1318,26 @@
|
||||
},
|
||||
"reorderHandle": "Arrossega per reordenar",
|
||||
"saving": "S'està desant…",
|
||||
"saved": "Desat"
|
||||
"saved": "Desat",
|
||||
"details": {
|
||||
"edit": "Edita els detalls de la càmera",
|
||||
"title": "Edita els detalls de la càmera",
|
||||
"description": "Actualitzeu el nom de la pantalla i l'URL extern utilitzat per a aquesta càmera a tota la interfície d'usuari de Frigate.",
|
||||
"friendlyNameLabel": "Nom a mostrar",
|
||||
"friendlyNameHelp": "Nom amistós que es mostra per a aquesta càmera a tota la interfície d'usuari de Frigate. Deixeu-ho en blanc per utilitzar l'ID de la càmera.",
|
||||
"webuiUrlLabel": "URL de la interfície web de la càmera",
|
||||
"webuiUrlHelp": "URL per a visitar la interfície d'usuari web de la càmera directament des de la vista de depuració. Deixeu-ho en blanc per desactivar l'enllaç.",
|
||||
"webuiUrlInvalid": "Ha de ser un URL vàlid (p. ex., https://example.com)."
|
||||
},
|
||||
"label": "Estat de la càmera",
|
||||
"description": "Estableix l'estat operatiu de cada càmera.<br /><br /><strong>A</strong>: els fluxos es processen normalment.<br /><strong>Off</strong>: pausa temporalment el processament. No persisteix a través de reinicis de Frigate.<br /><strong>Inhabilitat</strong>: deixa de processar i desa el canvi a la configuració. Es requereix un reinici per a tornar a habilitar una càmera inhabilitada.<br /><br /><em>Nota: La inhabilitació no afecta els restreams de go2rtc.</em><br /><br />Arrossegueu l'ansa per a reordenar les càmeres actives a mesura que apareguin a tota la interfície d'usuari, inclosos els desplegables de selecció de quadres en viu i de càmera.",
|
||||
"disabledSubheading": "Desactivat en la configuració",
|
||||
"status": {
|
||||
"on": "Engegat",
|
||||
"off": "Apagat",
|
||||
"disabled": "Desactivat"
|
||||
},
|
||||
"disableSuccess": "{{cameraName}} desactivat i desat a la configuració."
|
||||
},
|
||||
"cameraConfig": {
|
||||
"add": "Afegeix una càmera",
|
||||
@ -1364,20 +1383,110 @@
|
||||
"profiles": {
|
||||
"title": "Sobreescriu la càmera de perfil",
|
||||
"selectLabel": "Seleccioneu el perfil",
|
||||
"description": "Configura quines càmeres estan habilitades o desactivades quan s'activa un perfil. Les càmeres establertes a «Inherit» mantenen el seu estat base habilitat.",
|
||||
"description": "Configura quines càmeres estan activades o desactivades quan s'activa un perfil. Les càmeres establertes a «herit» mantenen el seu estat per defecte.",
|
||||
"inherit": "Hereta",
|
||||
"enabled": "Habilitat",
|
||||
"disabled": "Desactivat"
|
||||
"disabled": "Desactivat",
|
||||
"on": "Engegat",
|
||||
"off": "Apagat"
|
||||
},
|
||||
"cameraType": {
|
||||
"title": "Tipus de càmera",
|
||||
"label": "Tipus de càmera",
|
||||
"description": "Estableix el tipus per a cada càmera. Les càmeres LPR dedicades són càmeres d'un sol ús amb un potent zoom òptic per capturar matrícules en vehicles distants. La majoria de les càmeres haurien d'utilitzar el tipus de càmera normal llevat que la càmera sigui específicament per a LPR i tingui una vista molt centrada en les matrícules.",
|
||||
"dedicatedLpr": "LPR dedicat",
|
||||
"saveSuccess": "Tipus de càmera actualitzat per {{cameraName}}. Reinicia la fragata per aplicar els canvis.",
|
||||
"saveSuccess": "Tipus de càmera actualitzat per {{cameraName}}. Reinicia Frigate per aplicar els canvis.",
|
||||
"normal": "Normal"
|
||||
},
|
||||
"description": "Afegiu, editeu i suprimiu les càmeres, controleu quines càmeres estan habilitades, i configureu les superposicions per perfil i tipus de càmera. Per a configurar fluxos, detecció, moviment i altres paràmetres específics de la càmera, trieu la secció específica a Configuració de la càmera."
|
||||
"description": "Afegiu, editeu i suprimiu les càmeres, controleu l'estat de cada càmera, i configureu les superposicions per perfil i tipus de càmera. Per a configurar fluxos, detecció, moviment i altres paràmetres específics de la càmera, trieu la secció específica a Configuració de la càmera.",
|
||||
"clone": {
|
||||
"sectionTitle": "Clona la configuració",
|
||||
"sectionDescription": "Copia la configuració d'una càmera a una altra càmera o una de nova.",
|
||||
"button": "Clona la configuració",
|
||||
"title": "Clona la configuració de la càmera",
|
||||
"description": "Copia la configuració d'una càmera a una o més càmeres o a una càmera nova. La identitat (nom, nom amigable, URL de la interfície d'usuari web, ordre de visualització) no es copia mai.",
|
||||
"source": {
|
||||
"label": "Càmera d'origen",
|
||||
"placeholder": "Seleccioneu una càmera d'origen",
|
||||
"required": "Seleccioneu una càmera d'origen"
|
||||
},
|
||||
"target": {
|
||||
"legend": "Objectiu",
|
||||
"newRadio": "Càmara nova",
|
||||
"newNameLabel": "Nom de la càmera",
|
||||
"newNamePlaceholder": "p. ex., porta enrere orporta o porta posterior",
|
||||
"newNameInvalid": "Es requereix el nom de la càmera",
|
||||
"newNameCollision": "Ja existeix una càmera amb aquest nom",
|
||||
"newStreamsForced": "Els fluxos sempre es copien per a una càmera nova.",
|
||||
"existingCamerasRadio": "Càmeres existents",
|
||||
"allCameras": "Totes les càmeres",
|
||||
"existingPlaceholder": "Selecciona almenys una càmera",
|
||||
"existingDisabled": "No hi ha cap altra càmera a la qual copiar",
|
||||
"newNameRequired": "Es requereix el nom de la càmera"
|
||||
},
|
||||
"categories": {
|
||||
"legend": "Configuració per clonar",
|
||||
"description": "Trieu quina configuració voleu copiar de la càmera d'origen.",
|
||||
"selectAll": "Selecciona-ho tot",
|
||||
"selectNone": "No en seleccioneu cap",
|
||||
"resetDefaults": "Restableix als valors predeterminats",
|
||||
"general": "General",
|
||||
"spatial": "Paràmetres espacials",
|
||||
"streams": "Fluxos",
|
||||
"spatialWarningTitle": "La resolució no coincideix",
|
||||
"spatialWarning": "La càmera d'origen {{srcCamera}} detecta la resolució ({{srcWidth}}.{{srcHeight}}) difereix de: {{cameras}}. És possible que els polígons no s'alineïn en aquestes càmeres. Aquests valors predeterminats estan desactivats; habiliteu-ho per a copiar tal qual.",
|
||||
"restartHint": "Reinicia requerit",
|
||||
"items": {
|
||||
"record": "Enregistrament",
|
||||
"snapshots": "Instantànies",
|
||||
"review": "Revisió",
|
||||
"motion": "Detecció de moviment",
|
||||
"objects": "Objectes",
|
||||
"audio": "Detecció d'àudio",
|
||||
"audio_transcription": "Transcripció d'àudio",
|
||||
"notifications": "Notificacions",
|
||||
"birdseye": "Birdseye",
|
||||
"timestamp_style": "Estil de la marca horària",
|
||||
"lpr": "Reconeixement de la matrícula",
|
||||
"face_recognition": "Reconeixement de cares",
|
||||
"semantic_search": "Cerca semàntica",
|
||||
"genai": "IA generativa",
|
||||
"type": "Tipus de càmera (LPR normal / dedicat)",
|
||||
"profiles": "Perfils",
|
||||
"detect": "Detecta les dimensions",
|
||||
"zones": "Zones",
|
||||
"motion_mask": "Màscares de moviment",
|
||||
"object_masks": "Màscares d'objecte",
|
||||
"ffmpeg_live": "URL i rols de flux",
|
||||
"mqtt": "MQTT",
|
||||
"onvif": "ONVIF"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"changeCount_one": "{{count}} s'aplicarà el canvi",
|
||||
"changeCount_many": "{{count}} canvis s'aplicaran",
|
||||
"changeCount_other": "{{count}} canvis s'aplicaran",
|
||||
"restartNeeded": "Es requerirà reiniciar per a alguns canvis.",
|
||||
"liveOnly": "Tots els canvis s'aplicaran en viu sense reiniciar.",
|
||||
"submit": "Clona",
|
||||
"submitting": "S'està clonant…"
|
||||
},
|
||||
"toast": {
|
||||
"success": "Configuració copiada a {{cameraName}}",
|
||||
"successWithRestart": "Configuració copiada a {{cameraName}}. Reinicia Frigate per aplicar tots els canvis.",
|
||||
"successMulti_one": "Configuració copiada a la càmera {{count}}",
|
||||
"successMulti_many": "Configuració copiada a {{count}} càmeres",
|
||||
"successMulti_other": "Configuració copiada a {{count}} càmeres",
|
||||
"successMultiWithRestart_one": "Configuració copiada a la càmera {{count}}. Reinicia Frigate per aplicar tots els canvis.",
|
||||
"successMultiWithRestart_many": "Configuració copiada a {{count}} càmeres. Reinicia Frigate per aplicar tots els canvis.",
|
||||
"successMultiWithRestart_other": "Configuració copiada a {{count}} càmeres. Reinicia la fragata per aplicar tots els canvis.",
|
||||
"partialFailure": "{{successCount}} seccions aplicades; «{{failedSection}}» ha fallat: {{errorMessage}}",
|
||||
"partialFailureMulti": "S'ha copiat a {{successCount}} càmera(es); ha fallat {{failed}}: {{errorMessage}}",
|
||||
"newCameraPartialFailure": "S'ha creat la càmera {{cameraName}} però no s'han pogut copiar alguns paràmetres: {{errorMessage}}",
|
||||
"sourceMissing": "La càmera d'origen ja no existeix",
|
||||
"submitError": "No s'ha pogut clonar la càmera: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameraReview": {
|
||||
"object_descriptions": {
|
||||
@ -1499,7 +1608,7 @@
|
||||
"desc": "La quadrícula de regions és una optimització que aprèn on solen aparèixer objectes de diferents mides en el camp de visió de cada càmera. Frigate utilitza aquestes dades per detectar regions de mida eficient. La quadrícula es construeix automàticament amb el temps a partir de dades d'objectes rastrejats.",
|
||||
"clear": "Neteja la quadrícula de la regió",
|
||||
"clearConfirmTitle": "Neteja la quadrícula de la regió",
|
||||
"clearConfirmDesc": "No es recomana netejar la quadrícula de la regió tret que hagi canviat recentment la mida del model del detector o hagi canviat la posició física de la càmera i tingui problemes de seguiment d'objectes. La quadrícula es reconstruirà automàticament amb el temps a mesura que els objectes siguin rastrejats. Es requereix un reinici de la fragata perquè els canvis tinguin efecte.",
|
||||
"clearConfirmDesc": "No es recomana netejar la quadrícula de la regió tret que hagi canviat recentment la mida del model del detector o hagi canviat la posició física de la càmera i tingui problemes de seguiment d'objectes. La quadrícula es reconstruirà automàticament amb el temps a mesura que els objectes siguin rastrejats. Es requereix un reinici de Frigate perquè els canvis tinguin efecte.",
|
||||
"clearSuccess": "La quadrícula de la regió s'ha netejat correctament",
|
||||
"clearError": "Ha fallat en netejar la graella de la regió",
|
||||
"restartRequired": "Cal reiniciar per a que els canvis de la quadrícula de la regió tinguin efecte"
|
||||
@ -1674,7 +1783,7 @@
|
||||
"searchPlaceholder": "Cerca...",
|
||||
"genaiRoles": {
|
||||
"options": {
|
||||
"embeddings": "Incrustació",
|
||||
"embeddings": "Vectors",
|
||||
"vision": "Visió",
|
||||
"tools": "Eines",
|
||||
"descriptions": "Descripcions",
|
||||
@ -1693,13 +1802,32 @@
|
||||
},
|
||||
"addCustomLabel": "Afegeix una etiqueta personalitzada...",
|
||||
"genaiModel": {
|
||||
"placeholder": "Selecciona el model…",
|
||||
"search": "Cerca models…",
|
||||
"noModels": "No hi ha models disponibles"
|
||||
"placeholder": "Seleccioneu o introduïu un model…",
|
||||
"search": "Cerca o introdueix un model…",
|
||||
"noModels": "No hi ha models disponibles",
|
||||
"available": "Models disponibles",
|
||||
"useCustom": "Utilitza \"{{value}}\"",
|
||||
"refresh": "Actualitza els models",
|
||||
"probeFailed": "No s'han pogut investigar els models",
|
||||
"fetchedModels": "S'ha obtingut correctament la llista de models"
|
||||
},
|
||||
"knownPlates": {
|
||||
"namePlaceholder": "per exemple. Cotxe de la parella",
|
||||
"platePlaceholder": "Matricula o regex"
|
||||
},
|
||||
"semanticSearchModelSize": {
|
||||
"notApplicable": "No aplicable als proveïdors de GenAI"
|
||||
},
|
||||
"liveStreams": {
|
||||
"streamNameLabel": "Nom del flux",
|
||||
"streamNamePlaceholder": "p. ex., corrent HD principal",
|
||||
"go2rtcStreamLabel": "flux go2rtc",
|
||||
"go2rtcStreamPlaceholder": "Selecciona un flux go2rtc",
|
||||
"go2rtcStreamSearch": "Cerca o introdueix un nom de flux…",
|
||||
"noGo2rtcStreams": "No s'ha configurat cap flux go2rtc",
|
||||
"availableStreams": "Fluxos disponibles",
|
||||
"useCustom": "Utilitza \"{{value}}\"",
|
||||
"addStream": "Afegeix un flux"
|
||||
}
|
||||
},
|
||||
"globalConfig": {
|
||||
@ -1736,9 +1864,9 @@
|
||||
"saveAllPartial_other": "{{successCount}} de {{totalCount}} seccions desades. {{failCount}} ha fallat.",
|
||||
"saveAllFailure": "Ha fallat en desar totes les seccions.",
|
||||
"applied": "La configuració s'ha aplicat correctament",
|
||||
"saveAllSuccessRestartRequired_one": "S'ha desat la secció {{count}} correctament. Reinicia la fragata per aplicar els canvis.",
|
||||
"saveAllSuccessRestartRequired_many": "Totes les {{count}} seccions s'han desat correctament. Reinicia la fragata per aplicar els canvis.",
|
||||
"saveAllSuccessRestartRequired_other": "Totes les {{count}} seccions s'han desat correctament. Reinicia la fragata per aplicar els canvis."
|
||||
"saveAllSuccessRestartRequired_one": "S'ha desat la secció {{count}} correctament. Reinicia Frigate per aplicar els canvis.",
|
||||
"saveAllSuccessRestartRequired_many": "Totes les {{count}} seccions s'han desat correctament. Reinicia Frigate per aplicar els canvis.",
|
||||
"saveAllSuccessRestartRequired_other": "Totes les {{count}} seccions s'han desat correctament. Reinicia Frigate per aplicar els canvis."
|
||||
},
|
||||
"unsavedChanges": "Teniu canvis sense desar",
|
||||
"confirmReset": "Confirma el restabliment",
|
||||
@ -1889,7 +2017,7 @@
|
||||
"recordDisabled": "L'enregistrament està desactivat, els elements de revisió no es generaran.",
|
||||
"detectDisabled": "La detecció d'objectes està desactivada. Els elements de revisió requereixen objectes detectats per categoritzar alertes i deteccions.",
|
||||
"allNonAlertDetections": "Totes les activitats no alertes s'inclouran com a deteccions.",
|
||||
"genaiImageSourceRecordingsRecordDisabled": "La font d'imatges està configurada com a 'enregistraments', però l'enregistrament està desactivat. La fragata tornarà a la vista prèvia de les imatges."
|
||||
"genaiImageSourceRecordingsRecordDisabled": "La font d'imatges està configurada com a 'enregistraments', però l'enregistrament està desactivat. Frigate tornarà a la vista prèvia de les imatges."
|
||||
},
|
||||
"audio": {
|
||||
"noAudioRole": "Cap flux té definit el rol d'àudio. Heu d'habilitar el rol d'àudio per a la detecció d'àudio perquè funcioni."
|
||||
@ -1899,7 +2027,9 @@
|
||||
},
|
||||
"detect": {
|
||||
"fpsGreaterThanFive": "No es recomana establir el detect FPS superior a 5. Els valors més alts poden causar problemes de rendiment i no proporcionaran cap benefici.",
|
||||
"disabled": "La detecció d'objectes està desactivada. Les instantànies, articles de revisió i enriquiments com el reconeixement de rostres, el reconeixement de matrícules i la IA Generativa no funcionaran."
|
||||
"disabled": "La detecció d'objectes està desactivada. Les instantànies, articles de revisió i enriquiments com el reconeixement de rostres, el reconeixement de matrícules i la IA Generativa no funcionaran.",
|
||||
"resolutionShouldBeMultipleOfFour": "Per obtenir els millors resultats, detectar l'amplada i l'alçada han de ser múltiples de 4. Altres valors parells poden produir artefactes visuals o una lleugera distorsió en el flux de detecció.",
|
||||
"aspectRatioMismatch": "L'amplada i alçada que heu introduït no coincideixen amb la relació d'aspecte de la resolució de detecció actual. Això pot produir una imatge estirada o distorsionada."
|
||||
},
|
||||
"faceRecognition": {
|
||||
"globalDisabled": "L'enriquiment del reconeixement facial s'ha d'habilitar perquè les funcions de reconeixement facial funcionin en aquesta càmera.",
|
||||
@ -1928,7 +2058,8 @@
|
||||
"genaiNoDescriptionsProvider": "Heu de configurar un proveïdor de GenAI amb el rol 'descripcions' per a les descripcions que es generaran."
|
||||
},
|
||||
"semanticSearch": {
|
||||
"jinav2SmallModelSize": "La mida 'petita' amb el model Jina V2 té un alt cost de RAM i d'inferència. Es recomana el model 'gran' amb una GPU discreta."
|
||||
"jinav2SmallModelSize": "La mida 'petita' amb el model Jina V2 té un alt cost de RAM i d'inferència. Es recomana el model 'gran' amb una GPU discreta.",
|
||||
"modelSizeIgnoredForProvider": "La mida del model només s'aplica als models de Jina incorporats. Aquest valor s'ignorarà quan s'utilitzi un proveïdor d'incrustació GenAI."
|
||||
}
|
||||
},
|
||||
"modelSize": {
|
||||
|
||||
@ -66,10 +66,10 @@
|
||||
},
|
||||
"general": {
|
||||
"detector": {
|
||||
"memoryUsage": "Ús de memòria del detector",
|
||||
"memoryUsage": "Ús de la memòria del detector",
|
||||
"title": "Detectors",
|
||||
"inferenceSpeed": "Velocitat d'inferència del detector",
|
||||
"cpuUsage": "Ús de CPU del detector",
|
||||
"cpuUsage": "Ús de la CPU del detector",
|
||||
"temperature": "Temperatura del detector",
|
||||
"cpuUsageInformation": "CPU usada en la preparació d'entrades i sortides desde/cap als models de detecció. Aquest valor no mesura l'utilització d'inferència, encara que usis una GPU o accelerador."
|
||||
},
|
||||
@ -118,11 +118,11 @@
|
||||
"otherProcesses": {
|
||||
"title": "Altres processos",
|
||||
"processMemoryUsage": "Ús de memòria de procés",
|
||||
"processCpuUsage": "Ús de la CPU del procés",
|
||||
"processCpuUsage": "Ús de la CPU per procés",
|
||||
"series": {
|
||||
"recording": "gravant",
|
||||
"review_segment": "segment de revisió",
|
||||
"embeddings": "incrustacions",
|
||||
"embeddings": "Vectors",
|
||||
"audio_detector": "detector d'àudio",
|
||||
"go2rtc": "go2rtc"
|
||||
}
|
||||
@ -220,7 +220,7 @@
|
||||
},
|
||||
"lastRefreshed": "Darrera actualització: ",
|
||||
"stats": {
|
||||
"reindexingEmbeddings": "Reindexant incrustacions ({{processed}}% completat)",
|
||||
"reindexingEmbeddings": "Reindexant vectors ({{processed}}% completat)",
|
||||
"healthy": "El sistema és saludable",
|
||||
"cameraIsOffline": "{{camera}} està fora de línia",
|
||||
"ffmpegHighCpuUsage": "{{camera}} te un ús elevat de CPU per FFmpeg ({{ffmpegAvg}}%)",
|
||||
@ -234,14 +234,14 @@
|
||||
"title": "Enriquiments",
|
||||
"embeddings": {
|
||||
"face_recognition_speed": "Velocitat de reconeixement facial",
|
||||
"image_embedding": "Incrustació d'imatges",
|
||||
"text_embedding": "Incrustació de text",
|
||||
"image_embedding": "Vectors d'imatges",
|
||||
"text_embedding": "Vectors de text",
|
||||
"face_recognition": "Reconeixement de rostres",
|
||||
"plate_recognition": "Reconeixemnt de matrícules",
|
||||
"image_embedding_speed": "Velocitat d'ncrustació d'imatges",
|
||||
"face_embedding_speed": "Velocitat d'incrustació de rostres",
|
||||
"image_embedding_speed": "Velocitat de generació de vectors",
|
||||
"face_embedding_speed": "Velocitat de generació de vectors facials",
|
||||
"plate_recognition_speed": "Velocitat de reconeixement de matrícules",
|
||||
"text_embedding_speed": "Velocitat d'incrustació de text",
|
||||
"text_embedding_speed": "Velocitat de generació de vectors de text",
|
||||
"yolov9_plate_detection": "Detecció de matrícules YOLOv9",
|
||||
"yolov9_plate_detection_speed": "Velocitat de detecció de matrícules YOLOv9",
|
||||
"review_description": "Descripció de la revisió",
|
||||
|
||||
@ -326,5 +326,8 @@
|
||||
"separatorWithSpace": ", "
|
||||
},
|
||||
"no_items": "Keine Artikel",
|
||||
"validation_errors": "Validierungsfehler"
|
||||
"validation_errors": "Validierungsfehler",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Gespeichert – leer lassen, um den aktuellen Stand beizubehalten"
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
"description": "Aktiviert"
|
||||
},
|
||||
"audio": {
|
||||
"label": "Audioerkennung",
|
||||
"label": "Audioereignisse",
|
||||
"description": "Einstellungen für audiobasierte Ereigniserkennung für diese Kamera.",
|
||||
"enabled": {
|
||||
"label": "Aktivieren der Audioerkennung",
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
"description": "Wenn aktiviert, startet Frigate im abgesicherten Modus mit reduzierten Features für die Fehlersuche."
|
||||
},
|
||||
"audio": {
|
||||
"label": "Audioerkennung",
|
||||
"label": "Audioereignisse",
|
||||
"enabled": {
|
||||
"label": "Aktivieren der Audioerkennung",
|
||||
"description": "Aktivieren oder deaktivieren Sie die Erkennung von Audioereignissen für alle Kameras; diese Einstellung kann für jede Kamera individuell überschrieben werden."
|
||||
@ -1279,6 +1279,41 @@
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Rohmaske"
|
||||
},
|
||||
"filters_attribute": {
|
||||
"label": "Attributfilter",
|
||||
"description": "Auf erkannte Attribute angewendete Filter zur Reduzierung von Fehlalarmen (Fläche, Verhältnis, Konfidenz).",
|
||||
"min_area": {
|
||||
"label": "Mindestfläche des Attributs",
|
||||
"description": "Für dieses Attribut erforderliche Mindestfläche des Begrenzungsrahmens (in Pixeln oder Prozent). Kann als Pixelwert (Ganzzahl) oder als Prozentwert (Gleitkommawert zwischen 0,000001 und 0,99) angegeben werden."
|
||||
},
|
||||
"max_area": {
|
||||
"label": "Maximale Attributfläche",
|
||||
"description": "Maximal zulässige Fläche des Begrenzungsrahmens (in Pixeln oder Prozent) für dieses Attribut. Kann als Pixelwert (Ganzzahl) oder als Prozentwert (Gleitkommawert zwischen 0,000001 und 0,99) angegeben werden."
|
||||
},
|
||||
"min_ratio": {
|
||||
"label": "Mindestseitenverhältnis",
|
||||
"description": "Erforderliches Mindestverhältnis von Breite zu Höhe, damit die Begrenzungsbox die Anforderungen erfüllt."
|
||||
},
|
||||
"max_ratio": {
|
||||
"label": "Maximales Seitenverhältnis",
|
||||
"description": "Maximal zulässiges Verhältnis von Breite zu Höhe für die Begrenzungsbox, damit diese die Anforderungen erfüllt."
|
||||
},
|
||||
"threshold": {
|
||||
"label": "Konfidenzschwelle",
|
||||
"description": "Durchschnittlicher Schwellenwert für die Erkennungssicherheit, der erforderlich ist, damit das Merkmal als echtes Positiv gewertet wird."
|
||||
},
|
||||
"min_score": {
|
||||
"label": "Mindestvertrauen",
|
||||
"description": "Mindestwert für die Erkennungssicherheit eines einzelnen Bildes, der erforderlich ist, um dieses Attribut seinem übergeordneten Objekt zuzuordnen."
|
||||
},
|
||||
"mask": {
|
||||
"label": "Filtermaske",
|
||||
"description": "Polygonkoordinaten, die festlegen, wo dieser Filter innerhalb des Bildausschnitts angewendet wird."
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Rohmaske"
|
||||
}
|
||||
}
|
||||
},
|
||||
"record": {
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"detectRequired": "Es muss mindestens ein input stream die Rolle 'erkennen' tragen.",
|
||||
"hwaccelDetectOnly": "Nur der input-stream mit der Rolle 'erkennen' kann Hardwarebeschleunigungs Argumente definieren."
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "Es muss eine gerade Zahl sein."
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,5 +60,13 @@
|
||||
"stats": {
|
||||
"context": "{{tokens}} tokens",
|
||||
"tokens_per_second": "{{rate}} t/s"
|
||||
},
|
||||
"reasoning": {
|
||||
"active": "Begründung…",
|
||||
"show": "Begründung anzeigen",
|
||||
"hide": "Begründung ausblenden"
|
||||
},
|
||||
"thinking": {
|
||||
"toggle": "Umschalten"
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
"globalConfig": "Grundeinstellungen - Frigate",
|
||||
"cameraConfig": "Kameraeinstellungen - Frigate",
|
||||
"maintenance": "Wartung - Frigate",
|
||||
"profiles": "Profile - Frigate"
|
||||
"profiles": "Profile - Frigate",
|
||||
"detectorsAndModel": "Sensoren und Modell – Frigate"
|
||||
},
|
||||
"menu": {
|
||||
"ui": "Benutzeroberfläche",
|
||||
@ -92,7 +93,8 @@
|
||||
"uiSettings": "Benutzeroberfläche Einstellung",
|
||||
"profiles": "Profile",
|
||||
"systemGo2rtcStreams": "go2rtc-streams",
|
||||
"maintenance": "Wartung"
|
||||
"maintenance": "Wartung",
|
||||
"systemDetectorsAndModel": "Detektoren und Modell"
|
||||
},
|
||||
"dialog": {
|
||||
"unsavedChanges": {
|
||||
@ -825,7 +827,8 @@
|
||||
"currentModel": "Aktuelles Modell",
|
||||
"otherModels": "Anderes Modell",
|
||||
"configuration": "Konfiguration"
|
||||
}
|
||||
},
|
||||
"changeInDetectorsAndModel": "Modell wechseln"
|
||||
},
|
||||
"enrichments": {
|
||||
"birdClassification": {
|
||||
@ -1365,6 +1368,19 @@
|
||||
"title": "Anzeigenamen bearbeiten",
|
||||
"description": "Legen Sie den Anzeigenamen fest, der für diese Kamera in der gesamten Benutzeroberfläche von „Frigate“ angezeigt wird. Lassen Sie das Feld leer, um die Kamera-ID zu verwenden.",
|
||||
"rename": "Umbenennen"
|
||||
},
|
||||
"reorderHandle": "Zum Neuanordnen ziehen",
|
||||
"saving": "Speichern…",
|
||||
"saved": "gespeichert",
|
||||
"details": {
|
||||
"edit": "Kameradaten bearbeiten",
|
||||
"title": "Kameradaten bearbeiten",
|
||||
"description": "Aktualisieren Sie den Anzeigenamen und die externe URL, die für diese Kamera in der gesamten Frigate-Benutzeroberfläche verwendet werden.",
|
||||
"friendlyNameLabel": "Display Name",
|
||||
"friendlyNameHelp": "Der in der Benutzeroberfläche von „Frigate“ für diese Kamera angezeigte Spitzname. Lassen Sie das Feld leer, um die Kamera-ID zu verwenden.",
|
||||
"webuiUrlLabel": "URL der Web-Benutzeroberfläche",
|
||||
"webuiUrlHelp": "URL, um die Web-Benutzeroberfläche der Kamera direkt aus der Debug-Ansicht aufzurufen. Lassen Sie das Feld leer, um den Link zu deaktivieren.",
|
||||
"webuiUrlInvalid": "Es muss sich um eine gültige URL handeln (z. B. https://example.com)."
|
||||
}
|
||||
},
|
||||
"cameraConfig": {
|
||||
@ -1417,8 +1433,8 @@
|
||||
"disabled": "Deaktiviert"
|
||||
},
|
||||
"cameraType": {
|
||||
"title": "Kamerytyp",
|
||||
"label": "Kameratyp",
|
||||
"title": "Kamera Art",
|
||||
"label": "Kamera Art",
|
||||
"description": "Legen Sie den Kameratyp für jede Kamera fest. Spezielle LPR-Kameras sind Kameras mit leistungsstarkem optischen Zoom, um Kennzeichen von weit entfernten Fahrzeugen zu erfassen. Für die meisten Kameras sollte der normale Kameratyp verwendet werden, es sei denn, die Kamera ist speziell für LPR vorgesehen und verfügt über einen stark fokussierten Blickwinkel auf die Kennzeichen.",
|
||||
"normal": "Normal",
|
||||
"dedicatedLpr": "Spezielles LPR-System",
|
||||
@ -1775,7 +1791,15 @@
|
||||
"genaiModel": {
|
||||
"placeholder": "Modell auswählen…",
|
||||
"search": "Modell suchen…",
|
||||
"noModels": "Keine Modelle verfügbar"
|
||||
"noModels": "Keine Modelle verfügbar",
|
||||
"available": "Verfügbare Modelle",
|
||||
"useCustom": "Verwende „{{value}}“",
|
||||
"refresh": "Modelle aktualisieren",
|
||||
"probeFailed": "Das Abrufen der Modelle ist fehlgeschlagen",
|
||||
"fetchedModels": "Modellliste erfolgreich abgerufen"
|
||||
},
|
||||
"semanticSearchModelSize": {
|
||||
"notApplicable": "Gilt nicht für GenAI-Anbieter"
|
||||
}
|
||||
},
|
||||
"globalConfig": {
|
||||
@ -1809,7 +1833,9 @@
|
||||
"saveAllSuccess_other": "Alle {{count}} Abschnitte wurden erfolgreich gespeichert.",
|
||||
"saveAllPartial_one": "{{successCount}} von {{totalCount}} Abschnitt wurden gespeichert. {{failCount}} sind fehlgeschlagen.",
|
||||
"saveAllPartial_other": "{{successCount}} von {{totalCount}} Abschnitten wurden gespeichert. {{failCount}} sind fehlgeschlagen.",
|
||||
"saveAllFailure": "Es konnten nicht alle Abschnitte gespeichert werden."
|
||||
"saveAllFailure": "Es konnten nicht alle Abschnitte gespeichert werden.",
|
||||
"saveAllSuccessRestartRequired_one": "Der Abschnitt {{count}} wurde erfolgreich gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen.",
|
||||
"saveAllSuccessRestartRequired_other": "Alle {{count}} Abschnitte wurden erfolgreich gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen."
|
||||
},
|
||||
"profiles": {
|
||||
"title": "Profile",
|
||||
@ -1896,8 +1922,17 @@
|
||||
"audioMp3": "Transcode zu MP3",
|
||||
"audioExclude": "Ausschließen",
|
||||
"hardwareNone": "Keine Hardwarebeschleunigung",
|
||||
"hardwareAuto": "Automatische Hardwarebeschleunigung"
|
||||
}
|
||||
"hardwareAuto": "Automatische Hardwarebeschleunigung",
|
||||
"hardwareVaapi": "VAAPI",
|
||||
"hardwareCuda": "CUDA",
|
||||
"hardwareV4l2m2m": "V4L2 M2M",
|
||||
"hardwareDxva2": "DXVA2",
|
||||
"hardwareVideotoolbox": "VideoToolbox",
|
||||
"addVideoCodec": "Videocodec hinzufügen",
|
||||
"addAudioCodec": "Audio-Codec hinzufügen",
|
||||
"removeCodec": "Codec entfernen"
|
||||
},
|
||||
"streamNumber": "Stream {{index}}"
|
||||
},
|
||||
"onvif": {
|
||||
"profileAuto": "Auto",
|
||||
@ -1925,7 +1960,9 @@
|
||||
},
|
||||
"detect": {
|
||||
"fpsGreaterThanFive": "Es wird nicht empfohlen, den Wert für die FPS-Erkennung auf mehr als 5 zu setzen. Höhere Werte können zu Leistungseinbußen führen und bieten keinerlei Vorteile.",
|
||||
"disabled": "Die Objekterkennung ist deaktiviert. Momentaufnahmen, Überprüfungselemente und Erweiterungsfunktionen wie Gesichtserkennung, Kennzeichenerkennung und generative KI funktionieren nicht."
|
||||
"disabled": "Die Objekterkennung ist deaktiviert. Momentaufnahmen, Überprüfungselemente und Erweiterungsfunktionen wie Gesichtserkennung, Kennzeichenerkennung und generative KI funktionieren nicht.",
|
||||
"resolutionShouldBeMultipleOfFour": "Um optimale Ergebnisse zu erzielen, sollten Breite und Höhe ein Vielfaches von 4 sein. Andere gerade Werte können zu visuellen Artefakten oder leichten Verzerrungen im Erkennungsstrom führen.",
|
||||
"aspectRatioMismatch": "Die von Ihnen eingegebene Breite und Höhe stimmen nicht mit dem Seitenverhältnis Ihrer aktuell erkannten Auflösung überein. Dies kann zu einem gestreckten oder verzerrten Bild führen."
|
||||
},
|
||||
"faceRecognition": {
|
||||
"globalDisabled": "Die Gesichtserkennungserweiterung muss aktiviert sein, damit die Gesichtserkennungsfunktionen bei dieser Kamera funktionieren.",
|
||||
@ -1962,6 +1999,13 @@
|
||||
"objects": "Objekte",
|
||||
"motion": "Bewegung",
|
||||
"continuous": "Fortlaufend"
|
||||
},
|
||||
"cameraOrder": {
|
||||
"label": "Kamerabestellung",
|
||||
"description": "Ziehe die Kameras per Drag & Drop, um ihre Reihenfolge im Birdseye-Layout festzulegen.",
|
||||
"reorderHandle": "Zum Neuanordnen ziehen",
|
||||
"saving": "Wird gespeichert…",
|
||||
"saved": "gespeichert"
|
||||
}
|
||||
},
|
||||
"retainMode": {
|
||||
@ -2011,5 +2055,35 @@
|
||||
"modelSize": {
|
||||
"small": "klein",
|
||||
"large": "groß"
|
||||
},
|
||||
"menuDot": {
|
||||
"overrideGlobal": "Dieser Abschnitt überschreibt die globale Konfiguration",
|
||||
"overrideProfile": "Dieser Abschnitt wird durch das Profil {{profile}} überschrieben",
|
||||
"unsaved": "Dieser Abschnitt enthält ungespeicherte Änderungen"
|
||||
},
|
||||
"detectorsAndModel": {
|
||||
"title": "Detektoren und Modell",
|
||||
"description": "Konfigurieren Sie das Detektor-Backend, das die Objekterkennung ausführt, sowie das dafür verwendete Modell. Änderungen werden gemeinsam gespeichert, sodass Detektor und Modell synchron bleiben.",
|
||||
"cardTitles": {
|
||||
"detector": "Detektor-Hardware",
|
||||
"model": "Erkennungsmodell"
|
||||
},
|
||||
"tabs": {
|
||||
"plus": "Frigate+",
|
||||
"custom": "Benutzerdefiniertes Modell"
|
||||
},
|
||||
"mismatch": {
|
||||
"warning": "Das aktuelle Frigate+-Modell „{{model}}“ erfordert den {{required}}-Detektor. Wählen Sie unten ein kompatibles Modell aus oder wechseln Sie vor dem Speichern zu „Benutzerdefiniertes Modell“."
|
||||
},
|
||||
"plusModel": {
|
||||
"requiresDetector": "Voraussetzung: {{detector}}",
|
||||
"noModelSelected": "Wählen Sie ein Modell der Frigate+ aus"
|
||||
},
|
||||
"toast": {
|
||||
"saveSuccess": "Detektoren und Modelleinstellungen wurden gespeichert. Starten Sie Frigate neu, um die Änderungen zu übernehmen.",
|
||||
"saveError": "Das Speichern der Detektor- und Modelleinstellungen ist fehlgeschlagen"
|
||||
},
|
||||
"unsavedChanges": "Nicht gespeicherte Änderungen an Detektor und Modell",
|
||||
"restartRequired": "Neustart erforderlich (Detektor oder Modell geändert)"
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
"needsReview": "Needs review",
|
||||
"securityConcern": "Security concern",
|
||||
"motionSearch": {
|
||||
"menuItem": "Motion search",
|
||||
"menuItem": "Motion Search",
|
||||
"openMenu": "Camera options"
|
||||
},
|
||||
"motionPreviews": {
|
||||
|
||||
@ -24,7 +24,9 @@
|
||||
"points_one": "{{count}} point",
|
||||
"points_other": "{{count}} points",
|
||||
"undo": "Undo last point",
|
||||
"reset": "Reset polygon"
|
||||
"reset": "Reset polygon",
|
||||
"drawMode": "Draw",
|
||||
"moveMode": "Move"
|
||||
},
|
||||
"motionHeatmapLabel": "Motion Heatmap",
|
||||
"dialog": {
|
||||
|
||||
@ -320,7 +320,7 @@
|
||||
"nameLength": "Camera name must be 64 characters or less",
|
||||
"invalidCharacters": "Camera name contains invalid characters",
|
||||
"nameExists": "Camera name already exists",
|
||||
"customUrlRtspRequired": "Custom URLs must begin with \"rtsp://\". Manual configuration is required for non-RTSP camera streams."
|
||||
"customUrlRtspRequired": "Custom URLs must begin with \"rtsp://\" or \"rtsps://\". Manual configuration is required for non-RTSP camera streams."
|
||||
}
|
||||
},
|
||||
"step2": {
|
||||
|
||||
@ -155,7 +155,8 @@
|
||||
"id": "Bahasa Indonesia (Indonesio)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Croata)",
|
||||
"bs": "Bosanski (Bosnio)"
|
||||
"bs": "Bosanski (Bosnio)",
|
||||
"zhHant": "繁體中文 (Chino Tradicional)"
|
||||
},
|
||||
"appearance": "Apariencia",
|
||||
"darkMode": {
|
||||
@ -333,5 +334,8 @@
|
||||
"internalID": "La ID interna que usa Frigate en la configuración y en la base de datos"
|
||||
},
|
||||
"no_items": "No hay elementos",
|
||||
"validation_errors": "Errores de validación"
|
||||
"validation_errors": "Errores de validación",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Guardado — déjalo en blanco para mantener el actual"
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,5 +48,6 @@
|
||||
}
|
||||
},
|
||||
"livePlayerRequiredIOSVersion": "Se requiere iOS 17.1 o superior para este tipo de transmisión en vivo.",
|
||||
"noRecordingsFoundForThisTime": "No se encontraron grabaciones para este momento"
|
||||
"noRecordingsFoundForThisTime": "No se encontraron grabaciones para este momento",
|
||||
"cameraOff": "La cámara está apagada"
|
||||
}
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"header_map": {
|
||||
"roleHeaderRequired": "Se requiere el encabezado de rol cuando hay mapeos de roles configurados."
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "Debe ser un número par."
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,5 +65,8 @@
|
||||
"active": "Razonando…",
|
||||
"show": "Mostrar razonamiento",
|
||||
"hide": "Ocultar razonamiento"
|
||||
},
|
||||
"thinking": {
|
||||
"toggle": "Alternar razonamiento"
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,7 +57,9 @@
|
||||
},
|
||||
"camera": {
|
||||
"enable": "Habilitar cámara",
|
||||
"disable": "Deshabilitar cámara"
|
||||
"disable": "Deshabilitar cámara",
|
||||
"turnOn": "Encender cámara",
|
||||
"turnOff": "Apagar cámara"
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "Silenciar todas las cámaras",
|
||||
@ -151,7 +153,8 @@
|
||||
"snapshots": "Capturas de pantalla",
|
||||
"autotracking": "Seguimiento automático",
|
||||
"cameraEnabled": "Cámara habilitada",
|
||||
"transcription": "Transcripción de Audio"
|
||||
"transcription": "Transcripción de Audio",
|
||||
"camera": "Cámara"
|
||||
},
|
||||
"history": {
|
||||
"label": "Mostrar grabaciones históricas"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
"enrichments": "Análisis avanzado",
|
||||
"triggers": "Disparadores",
|
||||
"roles": "Rols",
|
||||
"cameraManagement": "Administración",
|
||||
"cameraManagement": "Gestión de cámaras",
|
||||
"cameraReview": "Revisar",
|
||||
"general": "General",
|
||||
"globalConfig": "Configuración Global",
|
||||
@ -1091,7 +1091,7 @@
|
||||
"nameLength": "El nombre de la cámara debe tener 64 caracteres o menos",
|
||||
"invalidCharacters": "El nombre de la cámara contiene caracteres no válidos",
|
||||
"nameExists": "El nombre de la cámara ya existe",
|
||||
"customUrlRtspRequired": "Las URL personalizadas deben comenzar con \"rtsp://\". Se requiere configuración manual para transmisiones de cámara sin RTSP.",
|
||||
"customUrlRtspRequired": "Las URL personalizadas deben comenzar por “rtsp://” o “rtsps://”. Se requiere configuración manual para flujos de cámara que no sean RTSP.",
|
||||
"brandOrCustomUrlRequired": "Seleccione una marca de cámara con host/IP o elija \"Otro\" con una URL personalizada"
|
||||
},
|
||||
"description": "Ingrese los detalles de su cámara y elija probar la cámara o seleccionar manualmente la marca.",
|
||||
@ -1281,13 +1281,13 @@
|
||||
"selectCamera": "Seleccione una cámara",
|
||||
"backToSettings": "Volver a configuración de la cámara",
|
||||
"streams": {
|
||||
"title": "Habilitar/deshabilitar cámaras",
|
||||
"title": "Estado y detalles de la cámara",
|
||||
"desc": "Desactiva temporalmente una cámara hasta que Frigate se reinicie. Desactivar una cámara detiene por completo el procesamiento de las transmisiones de Frigate. La detección, la grabación y la depuración no estarán disponibles.<br /> <em>Nota: Esto no desactiva las retransmisiones de go2rtc.</em>",
|
||||
"enableDesc": "Deshabilita temporalmente una cámara habilitada hasta que Frigate se reinicie. Deshabilitar una cámara detiene completamente el procesamiento de los flujos de esa cámara por parte de Frigate. La detección, la grabación y la depuración no estarán disponibles. Nota: Esto no deshabilita las retransmisiones de go2rtc.Arrastra el controlador para reordenar las cámaras tal y como aparecen en la interfaz. El orden de las cámaras habilitadas se reflejará en toda la interfaz, incluido el panel en directo y los menús desplegables de selección de cámaras.",
|
||||
"enableLabel": "Cámaras habilitadas",
|
||||
"disableLabel": "Cámaras deshabilitadas",
|
||||
"disableDesc": "Habilita una cámara que actualmente no está visible en la interfaz y está deshabilitada en la configuración. Es necesario reiniciar Frigate después de habilitarla.",
|
||||
"enableSuccess": "{{cameraName}} se ha habilitado en la configuración. Reinicia Frigate para aplicar los cambios.",
|
||||
"enableSuccess": "{{cameraName}} habilitada. Reinicia Frigate para aplicar los cambios.",
|
||||
"friendlyName": {
|
||||
"edit": "Editar nombre visible de la cámara",
|
||||
"title": "Editar nombre visible",
|
||||
@ -1296,7 +1296,26 @@
|
||||
},
|
||||
"reorderHandle": "Arrastrar para reordenar",
|
||||
"saving": "Guardando…",
|
||||
"saved": "Guardado"
|
||||
"saved": "Guardado",
|
||||
"details": {
|
||||
"edit": "Editar detalles de la cámara",
|
||||
"title": "Editar detalles de la cámara",
|
||||
"description": "Actualiza el nombre visible y la URL externa usados para esta cámara en toda la interfaz de Frigate.",
|
||||
"friendlyNameLabel": "Nombre visible",
|
||||
"friendlyNameHelp": "Nombre descriptivo que se muestra para esta cámara en toda la interfaz de Frigate. Déjalo en blanco para usar el ID de la cámara.",
|
||||
"webuiUrlLabel": "URL de la interfaz web de la cámara",
|
||||
"webuiUrlHelp": "URL para acceder directamente a la interfaz web de la cámara desde la vista de depuración. Déjala en blanco para deshabilitar el enlace.",
|
||||
"webuiUrlInvalid": "Debe ser una URL válida (p. ej., https://ejemplo.com)."
|
||||
},
|
||||
"label": "Estado de la cámara",
|
||||
"description": "Set the operating state for each camera. <br /><br /><strong>On</strong>: las transmisiones se procesan con normalidad.<br /><strong>Off</strong>: pausa temporalmente el procesamiento. No persiste tras reinicios de Frigate.<br /><strong>Disabled</strong>: detiene el procesamiento y guarda el cambio en tu configuración. Es necesario reiniciar para volver a activar una cámara desactivada.<br /><br /><em>Note: Desactivar no afecta a las retransmisiones de go2rtc.</em><br /><br />Arrastra el asa para reordenar las cámaras activas tal como aparecen en toda la interfaz, incluido el panel de Live y los menús desplegables de selección de cámara.",
|
||||
"disabledSubheading": "Deshabilitado en la configuración",
|
||||
"status": {
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"disabled": "Deshabilitado"
|
||||
},
|
||||
"disableSuccess": "{{cameraName}} deshabilitada y guardada en la configuración."
|
||||
},
|
||||
"cameraConfig": {
|
||||
"add": "Añadir cámara",
|
||||
@ -1342,10 +1361,12 @@
|
||||
"profiles": {
|
||||
"title": "Sobrescrituras de cámaras del perfil",
|
||||
"selectLabel": "Seleccionar perfil",
|
||||
"description": "Configura qué cámaras se habilitan o deshabilitan cuando se activa un perfil. Las cámaras configuradas como \"Heredar\" conservan su estado base habilitado.",
|
||||
"description": "Configura qué cámaras se activan o desactivan cuando se activa un perfil. Las cámaras configuradas como “Heredar” conservan su estado predeterminado.",
|
||||
"inherit": "Heredar",
|
||||
"enabled": "Habilitado",
|
||||
"disabled": "Deshabilitado"
|
||||
"disabled": "Deshabilitado",
|
||||
"on": "Encendido",
|
||||
"off": "Apagado"
|
||||
},
|
||||
"cameraType": {
|
||||
"title": "Tipo de cámara",
|
||||
@ -1355,7 +1376,95 @@
|
||||
"dedicatedLpr": "LPR dedicada",
|
||||
"saveSuccess": "Se ha actualizado el tipo de cámara de {{cameraName}}. Reinicia Frigate para aplicar los cambios."
|
||||
},
|
||||
"description": "Añade, edita y elimina cámaras, controla qué cámaras están habilitadas y configura sobrescrituras por perfil y tipo de cámara. Para configurar flujos, detección, movimiento y otros ajustes específicos de cámara, selecciona la sección correspondiente dentro de Configuración de cámara."
|
||||
"description": "Añade, edita y elimina cámaras, controla el estado de cada cámara y configura sobrescrituras por perfil y tipo de cámara. Para configurar flujos, detección, movimiento y otros ajustes específicos de cámara, selecciona la sección correspondiente dentro de Configuración de cámara.",
|
||||
"clone": {
|
||||
"sectionTitle": "Clonar configuración",
|
||||
"sectionDescription": "Copia la configuración de una cámara a otra cámara o a una nueva.",
|
||||
"button": "Clonar configuración",
|
||||
"title": "Clonar configuración de la cámara",
|
||||
"description": "Copia la configuración de una cámara a una o varias cámaras existentes o a una cámara nueva. La identidad de la cámara (nombre, nombre visible, URL de la interfaz web y orden de visualización) nunca se copia.",
|
||||
"source": {
|
||||
"label": "Cámara de origen",
|
||||
"placeholder": "Selecciona una cámara de origen",
|
||||
"required": "Selecciona una cámara de origen"
|
||||
},
|
||||
"target": {
|
||||
"legend": "Destino",
|
||||
"newRadio": "Nueva cámara",
|
||||
"newNameLabel": "Nombre de la cámara",
|
||||
"newNamePlaceholder": "p. ej., puerta_trasera o Puerta trasera",
|
||||
"newNameRequired": "El nombre de la cámara es obligatorio",
|
||||
"newNameInvalid": "Nombre de cámara no válido",
|
||||
"newNameCollision": "Ya existe una cámara con este nombre",
|
||||
"newStreamsForced": "Los flujos siempre se copian al crear una cámara nueva.",
|
||||
"existingCamerasRadio": "Cámaras existentes",
|
||||
"allCameras": "Todas las cámaras",
|
||||
"existingPlaceholder": "Selecciona al menos una cámara",
|
||||
"existingDisabled": "No hay otras cámaras a las que copiar la configuración"
|
||||
},
|
||||
"categories": {
|
||||
"legend": "Configuración para clonar",
|
||||
"description": "Elige qué ajustes copiar desde la cámara de origen.",
|
||||
"selectAll": "Seleccionar todo",
|
||||
"selectNone": "No seleccionar ninguno",
|
||||
"resetDefaults": "Restablecer valores predeterminados",
|
||||
"general": "General",
|
||||
"spatial": "Configuración espacial",
|
||||
"streams": "Flujos",
|
||||
"spatialWarningTitle": "Resolución no coincidente",
|
||||
"spatialWarning": "La resolución de detección de la cámara de origen {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) es diferente de la de: {{cameras}}. Es posible que los polígonos no se alineen correctamente en esas cámaras. Estas opciones están desactivadas de forma predeterminada; actívalas para copiarlas tal cual.",
|
||||
"restartHint": "Reinicio necesario",
|
||||
"items": {
|
||||
"record": "Grabación",
|
||||
"snapshots": "Instantáneas",
|
||||
"review": "Revisión",
|
||||
"motion": "Detección de movimiento",
|
||||
"objects": "Objetos",
|
||||
"audio": "Detección de audio",
|
||||
"audio_transcription": "Transcripción de audio",
|
||||
"notifications": "Notificaciones",
|
||||
"birdseye": "Birdseye",
|
||||
"mqtt": "MQTT",
|
||||
"timestamp_style": "Estilo de marca de tiempo",
|
||||
"onvif": "ONVIF",
|
||||
"lpr": "Reconocimiento de matrículas",
|
||||
"face_recognition": "Reconocimiento facial",
|
||||
"semantic_search": "Búsqueda semántica",
|
||||
"genai": "IA generativa",
|
||||
"type": "Tipo de cámara (normal / LPR dedicada)",
|
||||
"profiles": "Perfiles",
|
||||
"detect": "Dimensiones de detección",
|
||||
"zones": "Zonas",
|
||||
"motion_mask": "Máscaras de movimiento",
|
||||
"object_masks": "Máscaras de objetos",
|
||||
"ffmpeg_live": "URL y roles de los flujos"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"changeCount_one": "Se aplicará {{count}} cambio",
|
||||
"changeCount_many": "Se aplicarán {{count}} cambios",
|
||||
"changeCount_other": "Se aplicarán {{count}} cambios",
|
||||
"restartNeeded": "Será necesario reiniciar para aplicar algunos cambios.",
|
||||
"liveOnly": "Todos los cambios se aplicarán en tiempo real sin necesidad de reiniciar.",
|
||||
"submit": "Clonar",
|
||||
"submitting": "Clonando…"
|
||||
},
|
||||
"toast": {
|
||||
"success": "Configuración copiada a {{cameraName}}",
|
||||
"successWithRestart": "Configuración copiada a {{cameraName}}. Reinicia Frigate para aplicar todos los cambios.",
|
||||
"successMulti_one": "Configuración copiada a {{count}} cámara",
|
||||
"successMulti_many": "Configuración copiada a {{count}} cámaras",
|
||||
"successMulti_other": "Configuración copiada a {{count}} cámaras",
|
||||
"successMultiWithRestart_one": "Configuración copiada a {{count}} cámara. Reinicia Frigate para aplicar todos los cambios.",
|
||||
"successMultiWithRestart_many": "Configuración copiada a {{count}} cámaras. Reinicia Frigate para aplicar todos los cambios.",
|
||||
"successMultiWithRestart_other": "Configuración copiada a {{count}} cámaras. Reinicia Frigate para aplicar todos los cambios.",
|
||||
"partialFailure": "Se aplicaron {{successCount}} secciones; ‘{{failedSection}}’ falló: {{errorMessage}}",
|
||||
"partialFailureMulti": "Copiado a {{successCount}} cámara(s); error en {{failed}}: {{errorMessage}}",
|
||||
"newCameraPartialFailure": "La cámara {{cameraName}} se creó, pero no se pudieron copiar algunos ajustes: {{errorMessage}}",
|
||||
"sourceMissing": "La cámara de origen ya no existe",
|
||||
"submitError": "No se pudo clonar la cámara: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameraReview": {
|
||||
"title": "Configuración de revisión de la cámara",
|
||||
@ -1502,8 +1611,13 @@
|
||||
},
|
||||
"genaiModel": {
|
||||
"noModels": "No hay modelos disponibles",
|
||||
"placeholder": "Seleccionar modelo…",
|
||||
"search": "Buscar modelos…"
|
||||
"placeholder": "Selecciona o introduce un modelo…",
|
||||
"search": "Busca o introduce un modelo…",
|
||||
"available": "Modelos disponibles",
|
||||
"useCustom": "Usar “{{value}}”",
|
||||
"refresh": "Actualizar modelos",
|
||||
"probeFailed": "No se pudieron detectar los modelos",
|
||||
"fetchedModels": "La lista de modelos se ha obtenido correctamente"
|
||||
},
|
||||
"global": {
|
||||
"description": "Estos ajustes se aplican a todas las cámaras, a menos que se anulen en los ajustes específicos de cada cámara.",
|
||||
@ -1686,7 +1800,21 @@
|
||||
"title": "Ajustes de marcas de tiempo"
|
||||
},
|
||||
"searchPlaceholder": "Buscar...",
|
||||
"addCustomLabel": "Añadir etiqueta personalizada..."
|
||||
"addCustomLabel": "Añadir etiqueta personalizada...",
|
||||
"semanticSearchModelSize": {
|
||||
"notApplicable": "No aplicable a proveedores GenAI"
|
||||
},
|
||||
"liveStreams": {
|
||||
"streamNameLabel": "Nombre del flujo",
|
||||
"streamNamePlaceholder": "p. ej., Flujo principal HD",
|
||||
"go2rtcStreamLabel": "Flujo go2rtc",
|
||||
"go2rtcStreamPlaceholder": "Selecciona un flujo go2rtc",
|
||||
"go2rtcStreamSearch": "Busca o introduce un nombre de flujo…",
|
||||
"noGo2rtcStreams": "No hay flujos go2rtc configurados",
|
||||
"availableStreams": "Flujos disponibles",
|
||||
"useCustom": "Usar “{{value}}”",
|
||||
"addStream": "Añadir flujo"
|
||||
}
|
||||
},
|
||||
"globalConfig": {
|
||||
"title": "Configuración global",
|
||||
@ -1855,7 +1983,9 @@
|
||||
},
|
||||
"detect": {
|
||||
"fpsGreaterThanFive": "No se recomienda establecer los FPS de detección por encima de 5. Valores más altos pueden causar problemas de rendimiento y no aportarán ningún beneficio.",
|
||||
"disabled": "La detección de objetos está deshabilitada. Las instantáneas, los elementos de revisión y enriquecimientos como el reconocimiento facial, el reconocimiento de matrículas y la IA generativa no funcionarán."
|
||||
"disabled": "La detección de objetos está deshabilitada. Las instantáneas, los elementos de revisión y enriquecimientos como el reconocimiento facial, el reconocimiento de matrículas y la IA generativa no funcionarán.",
|
||||
"resolutionShouldBeMultipleOfFour": "Para obtener mejores resultados, la anchura y la altura de detección deberían ser múltiplos de 4. Otros valores pares pueden producir artefactos visuales o una ligera distorsión en el flujo de detección.",
|
||||
"aspectRatioMismatch": "La anchura y la altura que has introducido no coinciden con la relación de aspecto de la resolución de detección actual. Esto puede producir una imagen estirada o distorsionada."
|
||||
},
|
||||
"objects": {
|
||||
"genaiNoDescriptionsProvider": "Debes configurar un proveedor GenAI con el rol 'descriptions' para que se generen descripciones."
|
||||
@ -1864,7 +1994,8 @@
|
||||
"noRecordRole": "Ningún flujo tiene definido el rol de grabación. La grabación no funcionará."
|
||||
},
|
||||
"semanticSearch": {
|
||||
"jinav2SmallModelSize": "El tamaño 'small' con el modelo Jina V2 tiene un alto consumo de RAM y coste de inferencia. Se recomienda el modelo 'large' con una GPU dedicada."
|
||||
"jinav2SmallModelSize": "El tamaño 'small' con el modelo Jina V2 tiene un alto consumo de RAM y coste de inferencia. Se recomienda el modelo 'large' con una GPU dedicada.",
|
||||
"modelSizeIgnoredForProvider": "El tamaño del modelo solo se aplica a los modelos Jina integrados. Este valor se ignorará al usar un proveedor de embeddings GenAI."
|
||||
}
|
||||
},
|
||||
"resetToDefaultDescription": "Esto restablecerá todos los ajustes de esta sección a sus valores predeterminados. Esta acción no se puede deshacer.",
|
||||
|
||||
@ -141,7 +141,8 @@
|
||||
"id": "Bahasa Indonesia (indoneesia keel)",
|
||||
"ur": "اردو (urdu keel)",
|
||||
"hr": "Hrvatski (horvaadi keel)",
|
||||
"bs": "Bosanski (bosnia keel)"
|
||||
"bs": "Bosanski (bosnia keel)",
|
||||
"zhHant": "繁體中文 (hiina keel traditsiooniliste hieroglüüfidega)"
|
||||
},
|
||||
"system": "Süsteem",
|
||||
"systemMetrics": "Süsteemi meetrika",
|
||||
@ -316,5 +317,8 @@
|
||||
"pixels": "{{area}} px"
|
||||
},
|
||||
"no_items": "Objekte pole",
|
||||
"validation_errors": "Valideerimise vead"
|
||||
"validation_errors": "Valideerimise vead",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Salvestatud - senise kasutamiseks jäta tühjaks"
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,5 +48,6 @@
|
||||
"error": {
|
||||
"submitFrigatePlusFailed": "Kaadri saatmine Frigate+ teenusesse ei õnnestunud"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameraOff": "Kaamera on lülitatud välja"
|
||||
}
|
||||
|
||||
@ -18,5 +18,22 @@
|
||||
"mode": {
|
||||
"label": "Jälgimisrežiim"
|
||||
}
|
||||
},
|
||||
"label": "Kaameraseadistus",
|
||||
"semantic_search": {
|
||||
"triggers": {
|
||||
"threshold": {
|
||||
"description": "Minimaalne sarnasuse punktiskoor (0-1), mis on vajalik selle päästiku käivitamiseks."
|
||||
}
|
||||
}
|
||||
},
|
||||
"lpr": {
|
||||
"label": "Sõidukite numbrimärkide tuvastus",
|
||||
"description": "Sõidukite numbrimärkide tuvastuse seadistus sisaldab tuvastuse lävendeid, vormindust ja teadaolevaid numbrimärke."
|
||||
},
|
||||
"review": {
|
||||
"genai": {
|
||||
"description": "Kontrollib generatiivse tehisaru kasutamist kirjelduste ja kokkuvõtete koostamiseks ülevaatamisele kuuluvate objektide jaoks."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,5 +6,51 @@
|
||||
"mode": {
|
||||
"label": "Jälgimisrežiim"
|
||||
}
|
||||
},
|
||||
"version": {
|
||||
"label": "Praegune seadistuse versioon",
|
||||
"description": "Aktiivse seadistuse numbriline või tekstiline versioon, mis aitab tuvastada vormingumuudatusi."
|
||||
},
|
||||
"classification": {
|
||||
"bird": {
|
||||
"threshold": {
|
||||
"label": "Minimaalne punktiskoor",
|
||||
"description": "Objekti määratlemiseks linnina vajalik mlassifitseerimise minimaalne punktiskoor."
|
||||
}
|
||||
},
|
||||
"custom": {
|
||||
"threshold": {
|
||||
"label": "Punktiskoori lävend",
|
||||
"description": "Punktiskoori lävend, mida kasutatakse klassifitseerimise oleku muutmiseks."
|
||||
}
|
||||
}
|
||||
},
|
||||
"semantic_search": {
|
||||
"triggers": {
|
||||
"threshold": {
|
||||
"description": "Minimaalne sarnasuse punktiskoor (0-1), mis on vajalik selle päästiku käivitamiseks."
|
||||
}
|
||||
}
|
||||
},
|
||||
"face_recognition": {
|
||||
"unknown_score": {
|
||||
"label": "Tundmatu punktiskoori lävend"
|
||||
}
|
||||
},
|
||||
"lpr": {
|
||||
"label": "Sõidukite numbrimärkide tuvastus",
|
||||
"description": "Sõidukite numbrimärkide tuvastuse seadistus sisaldab tuvastuse lävendeid, vormindust ja teadaolevaid numbrimärke.",
|
||||
"enabled": {
|
||||
"description": "Lülita sõidukite numbrimärkide tuvastus kõikide kaamerate jaoks sisse; seda saad kaamerakohaselt ka sürjutada."
|
||||
}
|
||||
},
|
||||
"genai": {
|
||||
"label": "Generatiivse tehisaru seadistus",
|
||||
"description": "Seadistsued generatiivse tehisaru teenusepakkujate kasutamisel kirjelduste ja kokkuvõtete loomiseks ülevaatamisele kuuluvate objektide jaoks."
|
||||
},
|
||||
"review": {
|
||||
"genai": {
|
||||
"description": "Kontrollib generatiivse tehisaru kasutamist kirjelduste ja kokkuvõtete koostamiseks ülevaatamisele kuuluvate objektide jaoks."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"detectRequired": "„Tuvasta“ rollile pead määrama vähemalt ühe sisendvoo.",
|
||||
"hwaccelDetectOnly": "Vaid „Tuvasta“ rolliga sisendvoog võib määratleda raudvaralise kiirenduse argumente."
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "Peab olema paarisarv."
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,5 +5,6 @@
|
||||
"placeholder": "Küsi mida iganes…",
|
||||
"error": "Midagi läks valesti. Palun proovi uuesti.",
|
||||
"processing": "Töötlen…",
|
||||
"toolsUsed": "Kasutatud: {{tools}}"
|
||||
"toolsUsed": "Kasutatud: {{tools}}",
|
||||
"similarity_score": "Sarnasus"
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
},
|
||||
"documentTitle": "Klassifitseerimise mudelid - Frigate",
|
||||
"details": {
|
||||
"scoreInfo": "Skoor näitab selle objekti kõigi tuvastuste keskmist klassifitseerimise usaldusväärsust.",
|
||||
"scoreInfo": "Punktiskoor näitab selle objekti kõigi tuvastuste keskmist klassifitseerimise usaldusväärsust.",
|
||||
"none": "Puudub",
|
||||
"unknown": "Pole teada"
|
||||
},
|
||||
|
||||
@ -35,7 +35,9 @@
|
||||
"zones": "Tsoonid",
|
||||
"ratio": "Suhtarv",
|
||||
"area": "Ala",
|
||||
"score": "Punktiskoor"
|
||||
"score": "Punktiskoor",
|
||||
"computedScore": "Arvutatud punktiskoor",
|
||||
"topScore": "Suuremad punktiskoorid"
|
||||
},
|
||||
"external": "{{label}} on tuvastatud",
|
||||
"heard": "{{label}} on kuuldud",
|
||||
@ -79,13 +81,34 @@
|
||||
"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"
|
||||
"desc": "Vaata objekti üksikasju",
|
||||
"toast": {
|
||||
"success": {
|
||||
"updatedLPR": "Sõiduki numbrimärgi uuendamine õnnestus."
|
||||
},
|
||||
"error": {
|
||||
"updatedLPRFailed": "Sõiduki numbrimärgi uuendamine ei õnnestunud: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"snapshotScore": {
|
||||
"label": "Hetkvõttete punktiskoor"
|
||||
"label": "Hetkvõtete punktiskoor"
|
||||
},
|
||||
"regenerateFromSnapshot": "Loo uuesti hetkvõttest",
|
||||
"timestamp": "Ajatampel"
|
||||
"timestamp": "Ajatampel",
|
||||
"score": {
|
||||
"label": "Punktiskoor"
|
||||
},
|
||||
"scoreInfo": "Punktiskoori teave",
|
||||
"editLPR": {
|
||||
"title": "Muuda sõiduki numbrimärki",
|
||||
"desc": "Sisesta sõiduki numbrimärgi uus väärtus: {{label}}",
|
||||
"descNoLabel": "Sisesta sõiduki numbrimärgi uus väärtus selle jälgitava objekti jaoks"
|
||||
},
|
||||
"recognizedLicensePlate": "Tuvastatud sõiduki numbrimärk",
|
||||
"description": {
|
||||
"aiTips": "Frigate ei küsi sinu generatiivse tehisaru teenusepakkujalt kirjeldust enne, kui jälgitava objekti elutsükkel on lõppenud."
|
||||
}
|
||||
},
|
||||
"trackedObjectDetails": "Jälgitava objekti üksikasjad"
|
||||
}
|
||||
|
||||
@ -18,14 +18,16 @@
|
||||
},
|
||||
"toast": {
|
||||
"error": {
|
||||
"addFaceLibraryFailed": "Näo sidumine nimega ei õnnestunud: {{errorMessage}}"
|
||||
"addFaceLibraryFailed": "Näo sidumine nimega ei õnnestunud: {{errorMessage}}",
|
||||
"updateFaceScoreFailed": "Näo punktiskoori uuendamine ei õnnestunud: {{errorMessage}}"
|
||||
},
|
||||
"success": {
|
||||
"addFaceLibrary": "Lisamine Näoteeki õnnestus: {{name}}!",
|
||||
"deletedFace_one": "{{count}} näo kustutamine õnnestus.",
|
||||
"deletedFace_other": "{{count}} näo kustutamine õnnestus.",
|
||||
"deletedName_one": "{{count}} näo kustutamine õnnestus.",
|
||||
"deletedName_other": "{{count}} näo kustutamine õnnestus."
|
||||
"deletedName_other": "{{count}} näo kustutamine õnnestus.",
|
||||
"updatedFaceScore": "Näo punktiskoori uuendamine õnnestus: {{name}} ({{score}})."
|
||||
}
|
||||
},
|
||||
"deleteFaceAttempts": {
|
||||
@ -35,7 +37,7 @@
|
||||
"details": {
|
||||
"timestamp": "Ajatampel",
|
||||
"unknown": "Pole teada",
|
||||
"scoreInfo": "Skoor on kõigi nägude hindete kaalutud keskmine, kus kaalukoefitsiendiks on iga pildi näo suurus."
|
||||
"scoreInfo": "Punktiskoor on kõigi nägude hinnete kaalutud keskmine, kus kaalukoefitsiendiks on iga pildi näo suurus."
|
||||
},
|
||||
"uploadFaceImage": {
|
||||
"title": "Laadi näopilt üles",
|
||||
|
||||
@ -12,7 +12,8 @@
|
||||
"transcription": "Heli üleskirjutus",
|
||||
"snapshots": "Hetkvõtted",
|
||||
"autotracking": "Automaatne jälgimine",
|
||||
"recording": "Salvestus"
|
||||
"recording": "Salvestus",
|
||||
"camera": "Kaamera"
|
||||
},
|
||||
"documentTitle": {
|
||||
"default": "Frigate reaalajas"
|
||||
@ -73,7 +74,9 @@
|
||||
},
|
||||
"camera": {
|
||||
"enable": "Lülita kaamera sisse",
|
||||
"disable": "Lülita kaamera välja"
|
||||
"disable": "Lülita kaamera välja",
|
||||
"turnOn": "Lülita kaamera sisse",
|
||||
"turnOff": "Lülita kaamera välja"
|
||||
},
|
||||
"detect": {
|
||||
"enable": "Lülita tuvastamine sisse",
|
||||
|
||||
@ -1 +1,4 @@
|
||||
{}
|
||||
{
|
||||
"documentTitle": "Liikumise tuvastus - Frigate",
|
||||
"title": "Liikumise otsing"
|
||||
}
|
||||
|
||||
@ -13,5 +13,6 @@
|
||||
"starting": "Käivitan kordust…",
|
||||
"startLabel": "Algus",
|
||||
"endLabel": "Lõpp"
|
||||
}
|
||||
},
|
||||
"title": "Kordus veaotsinguks"
|
||||
}
|
||||
|
||||
@ -23,7 +23,13 @@
|
||||
"search_type": "Otsingutüüp",
|
||||
"time_range": "Ajavahemik",
|
||||
"before": "Enne",
|
||||
"after": "Pärast"
|
||||
"after": "Pärast",
|
||||
"min_score": "Minimaalne punktiskoor",
|
||||
"max_score": "Maksimaalne punktiskoor",
|
||||
"min_speed": "Miinimumkiirus",
|
||||
"max_speed": "Maksimumkiirus",
|
||||
"recognized_license_plate": "Tuvastatud sõiduki numbrimärk",
|
||||
"has_clip": "Klipp on olemas"
|
||||
},
|
||||
"searchType": {
|
||||
"thumbnail": "Pisipilt",
|
||||
@ -32,9 +38,36 @@
|
||||
"toast": {
|
||||
"error": {
|
||||
"beforeDateBeLaterAfter": "„Enne“ kuupäev peab olema varasem, kui „Pärast“ kuupäev.",
|
||||
"afterDatebeEarlierBefore": "„Pärast“ kuupäev peab olema hilisem, kui „Enne“ kuupäev."
|
||||
"afterDatebeEarlierBefore": "„Pärast“ kuupäev peab olema hilisem, kui „Enne“ kuupäev.",
|
||||
"minScoreMustBeLessOrEqualMaxScore": "Minimaalne punktiskoor peab olema väiksem või võrdne kui maksimaalne punktiskoor.",
|
||||
"maxScoreMustBeGreaterOrEqualMinScore": "Maksimaalne punktiskoor peab olema suurem või võrdne kui minimaalne punktiskoor.",
|
||||
"minSpeedMustBeLessOrEqualMaxSpeed": "Minimaalne kiirus peab olema väiksem või võrdne kui maksimaalne kiirus.",
|
||||
"maxSpeedMustBeGreaterOrEqualMinSpeed": "Maksimaalne kiirus peab olema suurem või võrdne kui minimaalne kiirus."
|
||||
}
|
||||
},
|
||||
"tips": {
|
||||
"title": "Kuidas saad kasutada tekstifiltreid",
|
||||
"desc": {
|
||||
"text": "Filtrid aitavad sul otsingutulemusi kitsendada. Siin on juhised nende kasutamiseks sisestusväljal:",
|
||||
"step1": "Sisesta filtri nimi, millele järgnev koolon (nt, „cameras:“).",
|
||||
"step2": "Vali soovitatud väärtus või sisesta enda oma.",
|
||||
"step3": "Kasuta mitmeid filtreid lisades neid üksteise järgi ning eraldades tühikuga.",
|
||||
"step4": "Kuupäevafiltrid (before: ja after:) kasutavad {{DateFormat}} vormingut.",
|
||||
"step5": "Ajavahemiku filter kasutab {{exampleTime}} vormingut.",
|
||||
"step6": "Filtreid saad eemaldada klõpsates nende kõrval leiduvad märget „x“.",
|
||||
"exampleLabel": "Näide:"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"currentFilterType": "Filtri väärtused",
|
||||
"noFilters": "Filtrid",
|
||||
"activeFilters": "Aktiivsed filtrid"
|
||||
}
|
||||
},
|
||||
"trackedObjectId": "Jälgitava objekti tunnus"
|
||||
"trackedObjectId": "Jälgitava objekti tunnus",
|
||||
"similaritySearch": {
|
||||
"title": "Sarnaste objektide otsing",
|
||||
"active": "Sarnaste objektide otsing on aktiivne",
|
||||
"clear": "Eemalda sarnaste objektide otsing"
|
||||
}
|
||||
}
|
||||
|
||||
@ -115,11 +115,13 @@
|
||||
"placeholder": "Sisesta oma senine salasõna"
|
||||
},
|
||||
"user": {
|
||||
"title": "Kasutajanimi"
|
||||
"title": "Kasutajanimi",
|
||||
"desc": "Lubatud on vaid tähed, numbrid, punktid ja alakriipsud."
|
||||
}
|
||||
},
|
||||
"createUser": {
|
||||
"confirmPassword": "Palun kinnita oma uus salasõna"
|
||||
"confirmPassword": "Palun kinnita oma uus salasõna",
|
||||
"usernameOnlyInclude": "Kasutajanimes võivad olla vaid tähed, numbrid, punkt (.) või alakriips (_)"
|
||||
},
|
||||
"passwordSetting": {
|
||||
"cannotBeEmpty": "Salasõna ei või jääda tühjaks",
|
||||
@ -213,6 +215,14 @@
|
||||
"pathPlaceholder": "rtsp://...",
|
||||
"roles": "Rollid"
|
||||
}
|
||||
},
|
||||
"clone": {
|
||||
"categories": {
|
||||
"items": {
|
||||
"lpr": "Sõidukite numbrimärkide tuvastus",
|
||||
"genai": "Generatiivne tehisaru"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"notification": {
|
||||
@ -315,6 +325,10 @@
|
||||
"form": {
|
||||
"cameras": {
|
||||
"title": "Kaamerad"
|
||||
},
|
||||
"role": {
|
||||
"desc": "Lubatud on vaid tähed, numbrid, punktid ja alakriipsud.",
|
||||
"roleOnlyInclude": "Rolli nimes võivad olla vaid tähed, numbrid, punkt (.) või alakriips (_)"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -330,7 +344,36 @@
|
||||
"notifications": "Teavitused",
|
||||
"frigateplus": "Frigate+",
|
||||
"cameraReview": "Ülevaatamine",
|
||||
"profiles": "Profiilid"
|
||||
"profiles": "Profiilid",
|
||||
"integrationLpr": "Sõidukite numbrimärkide tuvastus",
|
||||
"cameraLpr": "Sõidukite numbrimärkide tuvastus",
|
||||
"uiSettings": "Kasutajaliidese seadistused",
|
||||
"globalDetect": "Objektide tuvastamine",
|
||||
"globalRecording": "Salvestamine",
|
||||
"globalSnapshots": "Hetkvõtted",
|
||||
"globalFfmpeg": "FFmpeg",
|
||||
"globalMotion": "Liikumise tuvastus",
|
||||
"globalObjects": "Objektid",
|
||||
"globalReview": "Ülevaatamine",
|
||||
"globalAudioEvents": "Heli tuvastus",
|
||||
"globalLivePlayback": "Reaalajas sisu taasesitus",
|
||||
"globalTimestampStyle": "Ajatempli stiil",
|
||||
"systemDatabase": "Andmebaas",
|
||||
"systemTls": "TLS",
|
||||
"systemAuthentication": "Autentimine",
|
||||
"systemNetworking": "Võrgundus",
|
||||
"systemProxy": "Proksiserver",
|
||||
"systemUi": "Kasutajaliides",
|
||||
"systemLogging": "Logimine",
|
||||
"systemEnvironmentVariables": "Keskkonnamuutujad",
|
||||
"systemTelemetry": "Telemeetria",
|
||||
"systemBirdseye": "Vaade linnulennult",
|
||||
"systemFfmpeg": "FFmpeg",
|
||||
"systemDetectorsAndModel": "Tuvastamine ja mudelid",
|
||||
"systemMqtt": "MQTT",
|
||||
"systemGo2rtcStreams": "go2rtc voogedastus",
|
||||
"integrationSemanticSearch": "Semantiline otsing",
|
||||
"integrationGenerativeAi": "Generatiivne tehisaru"
|
||||
},
|
||||
"dialog": {
|
||||
"unsavedChanges": {
|
||||
@ -370,6 +413,9 @@
|
||||
},
|
||||
"birdClassification": {
|
||||
"title": "Lindude klassifikatsioon"
|
||||
},
|
||||
"licensePlateRecognition": {
|
||||
"title": "Sõidukite numbrimärkide tuvastus"
|
||||
}
|
||||
},
|
||||
"cameraReview": {
|
||||
@ -377,6 +423,13 @@
|
||||
"title": "Ülevaatamine",
|
||||
"alerts": "Hoiatused ",
|
||||
"detections": "Tuvastamise tulemused "
|
||||
},
|
||||
"object_descriptions": {
|
||||
"title": "Generatiivse tehisaru objektikirjeldused",
|
||||
"desc": "Luba/keela ajutiselt selle kaamera jaoks generatiivse tehisaru objektikirjeldused kuni Frigate'i taaskäivitamiseni. Kui see on keelatud, ei küsita selle kaamera jälgitavate objektide kohta tehisintellekti poolt loodud kirjeldusi."
|
||||
},
|
||||
"review_descriptions": {
|
||||
"title": "Generatiivne tehisaru ülevaatamisele kuuluva sisu kirjedlused"
|
||||
}
|
||||
},
|
||||
"motionDetectionTuner": {
|
||||
@ -404,7 +457,10 @@
|
||||
"dialog": {
|
||||
"form": {
|
||||
"name": {
|
||||
"title": "Nimi"
|
||||
"title": "Nimi",
|
||||
"error": {
|
||||
"invalidCharacters": "Välja nimes võivad olla vaid tähed, numbrid, alakriipsud (_) või sidekriipsud (-)."
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"title": "Tüüp"
|
||||
@ -420,5 +476,26 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"nameInvalid": "Lubatud on vaid väiketähed, numbrid ja alakriipsud"
|
||||
},
|
||||
"go2rtcStreams": {
|
||||
"validation": {
|
||||
"nameInvalid": "Voogedastuse nimes on lubatud vaid tähed, numbrid alakriipsud ja sidekriipsud"
|
||||
}
|
||||
},
|
||||
"configForm": {
|
||||
"sections": {
|
||||
"lpr": "Sõidukite numbrimärkide tuvastus"
|
||||
}
|
||||
},
|
||||
"configMessages": {
|
||||
"detect": {
|
||||
"disabled": "Objektide tuvastamine on lülitatud välja. Hetkepildid, läbivaatamisele kuuluvad objektid ja täiendavad funktsioonid, nagu näotuvastus, sõidukite numbrimärkide tuvastus ja generatiivne tehisintellekt, ei tööta."
|
||||
},
|
||||
"lpr": {
|
||||
"vehicleNotTracked": "Sõidukite numbrimärkide tuvastus eeldab, et auto või mootorratas on jälgitav. Lülita menüüst Objektid sell kaamera jaoks sisse valikud „auto“ või „mootorratas“."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,30 @@
|
||||
},
|
||||
"copy": {
|
||||
"label": "Kopeeri lõikelauale",
|
||||
"success": "Logid on kopeeritud lõikelauale"
|
||||
"success": "Logid on kopeeritud lõikelauale",
|
||||
"error": "Logide kopeerimine lõikelauale ei õnnestunud"
|
||||
},
|
||||
"websocket": {
|
||||
"filter": {
|
||||
"cameras_count_one": "{{count}} kaamera",
|
||||
"cameras_count_other": "{{count}} kaamerat"
|
||||
},
|
||||
"empty": "Ühtegi sõnumit pole veel hõivatud",
|
||||
"count_one": "{{count}} sõnum",
|
||||
"count_other": "{{count}} sõnumit"
|
||||
},
|
||||
"type": {
|
||||
"label": "Tüüp",
|
||||
"timestamp": "Ajatempel",
|
||||
"tag": "Silt",
|
||||
"message": "Sõnum"
|
||||
},
|
||||
"tips": "Logid on serverist voogedastamisel",
|
||||
"toast": {
|
||||
"error": {
|
||||
"fetchingLogsFailed": "Viga logide laadimisel: {{errorMessage}}",
|
||||
"whileStreamingLogs": "Viga logide voogedastamisel: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Süsteem"
|
||||
|
||||
@ -188,7 +188,8 @@
|
||||
"gl": "Galego (Galicien)",
|
||||
"id": "Bahasa Indonesia (Indonésien)",
|
||||
"ur": "اردو (Ourdou)",
|
||||
"hr": "Hrvatski (Croate)"
|
||||
"hr": "Hrvatski (Croate)",
|
||||
"bs": "Bosanski (Bosnien)"
|
||||
},
|
||||
"appearance": "Apparence",
|
||||
"darkMode": {
|
||||
@ -332,5 +333,8 @@
|
||||
"separatorWithSpace": ", "
|
||||
},
|
||||
"no_items": "Aucun élément",
|
||||
"validation_errors": "Erreurs de validation"
|
||||
"validation_errors": "Erreurs de validation",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Enregistré — laissez vide pour conserver la version actuelle"
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,7 +67,8 @@
|
||||
"noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide."
|
||||
},
|
||||
"success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations.",
|
||||
"view": "Vue"
|
||||
"view": "Vue",
|
||||
"queued": "Exportation en attente. Consultez la progression sur la page des exportations."
|
||||
},
|
||||
"select": "Sélectionner",
|
||||
"name": {
|
||||
@ -112,7 +113,7 @@
|
||||
"title_one": "Export {{count}} revue",
|
||||
"title_many": "Export {{count}} revues",
|
||||
"title_other": "Export {{count}} revues",
|
||||
"description": "Export chaque revue sélectionnée. Tous les exports sont regroupés sous un cas unique.",
|
||||
"description": "Exporter chaque revue sélectionnée. Tous les exports sont regroupés sous un cas unique.",
|
||||
"descriptionNoCase": "Exporter chaque revue sélectionnée.",
|
||||
"caseNamePlaceholder": "Vérification de l'export – {{date}}",
|
||||
"exportButton_one": "Exporter {{count}} revue",
|
||||
@ -120,12 +121,14 @@
|
||||
"exportButton_other": "Exporter {{count}} revues",
|
||||
"exportingButton": "Exportation...",
|
||||
"toast": {
|
||||
"started_one": "Un export a démarré. Ouverture du dossier en cours",
|
||||
"started_many": "{{count}} exports ont démarré. Ouverture du dossier en cours",
|
||||
"started_other": "",
|
||||
"started_one": "Un export a démarré. Ouverture du dossier en cours.",
|
||||
"started_many": "{{count}} exports ont démarré. Ouverture du dossier en cours.",
|
||||
"started_other": "{{count}} exports ont démarré. Ouverture du dossier en cours.",
|
||||
"startedNoCase_one": "Un export a démarré.",
|
||||
"startedNoCase_many": "{{count}} exports ont démarré.",
|
||||
"startedNoCase_other": "{{count}} exports ont démarré."
|
||||
"startedNoCase_other": "{{count}} exports ont démarré.",
|
||||
"partial": "{{successful}} exportations sur {{total}} lancées. Échecs : {{failedItems}}",
|
||||
"failed": "Échec du démarrage des exports {{total}}. Échec : {{failedItems}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -1,98 +1,503 @@
|
||||
{
|
||||
"yell": "Teriakan",
|
||||
"speech": "Percakapan",
|
||||
"babbling": "Ocehan",
|
||||
"bellow": "Di bawah",
|
||||
"whoop": "Teriakan",
|
||||
"whispering": "Bisikan",
|
||||
"snicker": "Tertawa",
|
||||
"yell": "Berteriak",
|
||||
"speech": "Ucapan",
|
||||
"babbling": "Mengoceh (berekah)",
|
||||
"bellow": "Begadang / Meraung",
|
||||
"whoop": "Tertawa lepas (whoop)",
|
||||
"whispering": "Berbisik",
|
||||
"snicker": "Tertawa cekikikan",
|
||||
"crying": "Menangis",
|
||||
"sigh": "Mendesah",
|
||||
"choir": "Paduan Suara",
|
||||
"yodeling": "Bernyanyi Yodel",
|
||||
"chant": "Nyanyian",
|
||||
"sigh": "Menghela napas",
|
||||
"choir": "Paduan suara",
|
||||
"yodeling": "Yodel",
|
||||
"chant": "Berzikir / Menyanyi berulang",
|
||||
"child_singing": "Anak bernyanyi",
|
||||
"rapping": "Mengetuk",
|
||||
"humming": "Bersenandung",
|
||||
"groan": "Mengerang",
|
||||
"rapping": "Rap",
|
||||
"humming": "Berdengung",
|
||||
"groan": "Menggerung",
|
||||
"grunt": "Mendengus",
|
||||
"breathing": "Bernafas",
|
||||
"breathing": "Bernapas",
|
||||
"laughter": "Tertawa",
|
||||
"singing": "Nyanyian",
|
||||
"singing": "Bernyanyi",
|
||||
"mantra": "Mantra",
|
||||
"synthetic_singing": "Nyanyian sintesis",
|
||||
"whistling": "Siulan",
|
||||
"synthetic_singing": "Bernyanyi buatan (sintetis)",
|
||||
"whistling": "Mendengung (mencicit / bersiul)",
|
||||
"car": "Mobil",
|
||||
"motorcycle": "Motor",
|
||||
"motorcycle": "Sepeda motor",
|
||||
"bicycle": "Sepeda",
|
||||
"bus": "Bis",
|
||||
"bus": "Bus",
|
||||
"train": "Kereta",
|
||||
"boat": "Kapal",
|
||||
"boat": "Perahu",
|
||||
"sneeze": "Bersin",
|
||||
"run": "Lari",
|
||||
"run": "Berlari",
|
||||
"footsteps": "Langkah kaki",
|
||||
"chewing": "Mengunyah",
|
||||
"biting": "Menggigit",
|
||||
"stomach_rumble": "Perut Keroncongan",
|
||||
"stomach_rumble": "Suara perut bergerak",
|
||||
"burping": "Sendawa",
|
||||
"hiccup": "Cegukan",
|
||||
"hiccup": "Cegukan (hikap)",
|
||||
"fart": "Kentut",
|
||||
"hands": "Tangan",
|
||||
"heartbeat": "Detak Jantung",
|
||||
"applause": "Tepuk Tangan",
|
||||
"chatter": "Obrolan",
|
||||
"children_playing": "Anak-Anak Bermain",
|
||||
"animal": "Binatang",
|
||||
"pets": "Peliharaan",
|
||||
"heartbeat": "Detak jantung",
|
||||
"applause": "Tepuk tangan massa",
|
||||
"chatter": "Mengobrol",
|
||||
"children_playing": "Anak‑anak bermain",
|
||||
"animal": "Hewan",
|
||||
"pets": "Hewan peliharaan",
|
||||
"dog": "Anjing",
|
||||
"bark": "Gonggongan",
|
||||
"howl": "Melolong",
|
||||
"bark": "Kulit kayu",
|
||||
"howl": "Mengaung",
|
||||
"cat": "Kucing",
|
||||
"meow": "Meong",
|
||||
"livestock": "Hewan Ternak",
|
||||
"meow": "Mengeong",
|
||||
"livestock": "Hewan ternak",
|
||||
"horse": "Kuda",
|
||||
"cattle": "Sapi",
|
||||
"pig": "Babi",
|
||||
"goat": "Kambing",
|
||||
"sheep": "Domba",
|
||||
"chicken": "Ayam",
|
||||
"cluck": "Berkokok",
|
||||
"cock_a_doodle_doo": "Kukuruyuk",
|
||||
"cluck": "Menguk / \"cluck\"",
|
||||
"cock_a_doodle_doo": "Berkokok (\"cock‑a‑doodle‑doo\")",
|
||||
"turkey": "Kalkun",
|
||||
"duck": "Bebek",
|
||||
"quack": "Kwek",
|
||||
"quack": "Menggock (\"quack\")",
|
||||
"goose": "Angsa",
|
||||
"wild_animals": "Hewan Liar",
|
||||
"wild_animals": "Hewan liar",
|
||||
"bird": "Burung",
|
||||
"pigeon": "Merpati",
|
||||
"crow": "Gagak",
|
||||
"owl": "Burung Hantu",
|
||||
"flapping_wings": "Kepakan Sayap",
|
||||
"dogs": "Anjing",
|
||||
"owl": "Burung hantu",
|
||||
"flapping_wings": "Sayap berkibar",
|
||||
"dogs": "Anjing‑anjing",
|
||||
"insect": "Serangga",
|
||||
"cricket": "Jangkrik",
|
||||
"cricket": "Kerik / Kriket",
|
||||
"mosquito": "Nyamuk",
|
||||
"fly": "Lalat",
|
||||
"frog": "Katak",
|
||||
"frog": "Kodok",
|
||||
"snake": "Ular",
|
||||
"music": "Musik",
|
||||
"musical_instrument": "Alat Musik",
|
||||
"musical_instrument": "Instrumen musik",
|
||||
"guitar": "Gitar",
|
||||
"electric_guitar": "Gitar Elektrik",
|
||||
"acoustic_guitar": "Gitar Akustik",
|
||||
"strum": "Genjreng",
|
||||
"electric_guitar": "Gitar listrik",
|
||||
"acoustic_guitar": "Gitar akustik",
|
||||
"strum": "Mengstrum",
|
||||
"banjo": "Banjo",
|
||||
"snoring": "Ngorok",
|
||||
"snoring": "Mendengkur",
|
||||
"cough": "Batuk",
|
||||
"clapping": "Tepukan",
|
||||
"clapping": "Tepuk tangan",
|
||||
"camera": "Kamera",
|
||||
"wheeze": "Nafas",
|
||||
"gasp": "Tersedak",
|
||||
"sound_effect": "Efek Suara",
|
||||
"environmental_noise": "Suara Lingkungan",
|
||||
"static": "Statis",
|
||||
"white_noise": "Suara Derau",
|
||||
"wheeze": "Mengi",
|
||||
"gasp": "Menggigil / Tarik napas tajam",
|
||||
"sound_effect": "Efek suara (sound effect)",
|
||||
"environmental_noise": "Kebisingan lingkungan",
|
||||
"static": "Suara statis",
|
||||
"white_noise": "White noise",
|
||||
"television": "Televisi",
|
||||
"radio": "Radio",
|
||||
"scream": "Teriakan"
|
||||
"scream": "Teriakan",
|
||||
"pant": "Terengah-engah",
|
||||
"snort": "Mendengus (melalui hidung)",
|
||||
"throat_clearing": "Membersihkan tenggorokan",
|
||||
"sniff": "Mengendus",
|
||||
"shuffle": "Menyeret kaki",
|
||||
"gargling": "Gargling",
|
||||
"finger_snapping": "Mengklik jari",
|
||||
"heart_murmur": "Murmur jantung",
|
||||
"cheering": "Bersorak",
|
||||
"crowd": "Kerumunan orang",
|
||||
"yip": "Menggonggong pendek / ringkik",
|
||||
"bow_wow": "Gonggongan \"bow wow\" khas",
|
||||
"growling": "Menggeram",
|
||||
"whimper_dog": "Rintihan anjing",
|
||||
"purr": "Mendengkur",
|
||||
"hiss": "Mendesis",
|
||||
"caterwaul": "Mengeong nyaring (melolong)",
|
||||
"clip_clop": "Suara kuda berlari (\"clip‑clop\")",
|
||||
"neigh": "Meringkik",
|
||||
"moo": "Mengamuk / \"Moo\"",
|
||||
"cowbell": "Bel sapi",
|
||||
"oink": "Menggonggong \"oink\"",
|
||||
"bleat": "Mengebik",
|
||||
"fowl": "Unggas",
|
||||
"gobble": "Menggobleg",
|
||||
"honk": "Bebek / \"honk\"",
|
||||
"roaring_cats": "Kucing besar mengaung",
|
||||
"roar": "Mengaung (raungan predator)",
|
||||
"chirp": "Cicit / bernyanyi burung kecil",
|
||||
"squawk": "Mengkokok / mendengung keras",
|
||||
"coo": "Mengkuk \"coo\"",
|
||||
"caw": "Menggagak / \"caw\"",
|
||||
"hoot": "Menghoo / \"hoot\"",
|
||||
"rats": "Tikus",
|
||||
"mouse": "Mouse",
|
||||
"patter": "Peluit kaki kecil",
|
||||
"buzz": "Menggema / \"buzz\"",
|
||||
"croak": "Kokok / \"croak\"",
|
||||
"rattle": "Bersuara \"rattle\"",
|
||||
"whale_vocalization": "Suara vokalisasi paus",
|
||||
"plucked_string_instrument": "Instrumen senar dipetik",
|
||||
"bass_guitar": "Bass gitar",
|
||||
"steel_guitar": "Steel gitar",
|
||||
"tapping": "Mengetuk",
|
||||
"sitar": "Sitar",
|
||||
"mandolin": "Mandolin",
|
||||
"zither": "Zither",
|
||||
"ukulele": "Ukulele",
|
||||
"keyboard": "Keyboard",
|
||||
"piano": "Piano",
|
||||
"electric_piano": "Piano elektrik",
|
||||
"organ": "Organ",
|
||||
"electronic_organ": "Organ elektronik",
|
||||
"hammond_organ": "Organ Hammond",
|
||||
"synthesizer": "Synthesizer",
|
||||
"sampler": "Sampler",
|
||||
"harpsichord": "Harpsichord",
|
||||
"percussion": "Percussion",
|
||||
"drum_kit": "Kotak drum (drum kit)",
|
||||
"drum_machine": "Mesin drum (drum machine)",
|
||||
"drum": "Drum",
|
||||
"snare_drum": "Snare drum",
|
||||
"rimshot": "Rimshot",
|
||||
"drum_roll": "Roll drum",
|
||||
"bass_drum": "Bass drum",
|
||||
"timpani": "Timpani",
|
||||
"tabla": "Tabla",
|
||||
"cymbal": "Cymbal",
|
||||
"hi_hat": "Hi‑hat",
|
||||
"wood_block": "Wood block",
|
||||
"tambourine": "Tambourine",
|
||||
"maraca": "Maraca",
|
||||
"gong": "Gong",
|
||||
"tubular_bells": "Tubular bells",
|
||||
"mallet_percussion": "Percussion palu (mallet)",
|
||||
"marimba": "Marimba",
|
||||
"glockenspiel": "Glockenspiel",
|
||||
"vibraphone": "Vibraphone",
|
||||
"steelpan": "Steelpan",
|
||||
"orchestra": "Orchestra",
|
||||
"brass_instrument": "Instrumen tiup logam (brass)",
|
||||
"french_horn": "French horn",
|
||||
"trumpet": "Trumpet",
|
||||
"trombone": "Trombone",
|
||||
"bowed_string_instrument": "Instrumen senar di‑gesek (bowed string)",
|
||||
"string_section": "Seksi biola (string section)",
|
||||
"violin": "Biola (violin)",
|
||||
"pizzicato": "Pizzicato",
|
||||
"cello": "Violoncello (cello)",
|
||||
"double_bass": "Double bass",
|
||||
"wind_instrument": "Instrumen tiup (wind)",
|
||||
"flute": "Flute",
|
||||
"saxophone": "Saxophone",
|
||||
"clarinet": "Clarinet",
|
||||
"harp": "Harp",
|
||||
"bell": "Bel (lonceng)",
|
||||
"church_bell": "Lonceng gereja",
|
||||
"jingle_bell": "Jingle bell",
|
||||
"bicycle_bell": "Bel sepeda",
|
||||
"tuning_fork": "Tuning fork",
|
||||
"chime": "Chime",
|
||||
"wind_chime": "Wind chime",
|
||||
"harmonica": "Harmonika",
|
||||
"accordion": "Akordian",
|
||||
"bagpipes": "Bagpipes",
|
||||
"didgeridoo": "Didgeridoo",
|
||||
"theremin": "Theremin",
|
||||
"singing_bowl": "Singing bowl",
|
||||
"scratching": "Scratching (DJ scratching)",
|
||||
"pop_music": "Musik pop",
|
||||
"hip_hop_music": "Musik hip‑hop",
|
||||
"beatboxing": "Beatboxing",
|
||||
"rock_music": "Musik rock",
|
||||
"heavy_metal": "Heavy metal",
|
||||
"punk_rock": "Punk rock",
|
||||
"grunge": "Grunge",
|
||||
"progressive_rock": "Progressive rock",
|
||||
"rock_and_roll": "Rock and roll",
|
||||
"psychedelic_rock": "Psychedelic rock",
|
||||
"rhythm_and_blues": "Rhythm and blues",
|
||||
"soul_music": "Soul",
|
||||
"reggae": "Reggae",
|
||||
"country": "Country",
|
||||
"swing_music": "Swing",
|
||||
"bluegrass": "Bluegrass",
|
||||
"funk": "Funk",
|
||||
"folk_music": "Folk",
|
||||
"middle_eastern_music": "Musik Timur Tengah",
|
||||
"jazz": "Jazz",
|
||||
"disco": "Disco",
|
||||
"classical_music": "Musik klasik",
|
||||
"opera": "Opera",
|
||||
"electronic_music": "Musik elektronik",
|
||||
"house_music": "House music",
|
||||
"techno": "Tekno",
|
||||
"dubstep": "Dubstep",
|
||||
"drum_and_bass": "Drum and bass",
|
||||
"electronica": "Electronica",
|
||||
"electronic_dance_music": "Electronic dance music (EDM)",
|
||||
"ambient_music": "Musik ambient",
|
||||
"trance_music": "Trance",
|
||||
"music_of_latin_america": "Musik Amerika Latin",
|
||||
"salsa_music": "Salsa",
|
||||
"flamenco": "Flamenco",
|
||||
"blues": "Blues",
|
||||
"music_for_children": "Musik anak‑anak",
|
||||
"new-age_music": "Musik new age",
|
||||
"vocal_music": "Musik vokal",
|
||||
"a_capella": "A cappella",
|
||||
"music_of_africa": "Musik Afrika",
|
||||
"afrobeat": "Afrobeat",
|
||||
"christian_music": "Musik krisitan / Kristen",
|
||||
"gospel_music": "Musik gospel",
|
||||
"music_of_asia": "Musik Asia",
|
||||
"carnatic_music": "Carnatic music",
|
||||
"music_of_bollywood": "Musik Bollywood",
|
||||
"ska": "Ska",
|
||||
"traditional_music": "Musik tradisional",
|
||||
"independent_music": "Independent music",
|
||||
"song": "Lagu",
|
||||
"background_music": "Background music",
|
||||
"theme_music": "Theme music",
|
||||
"jingle": "Jingle (lagu iklan singkat)",
|
||||
"soundtrack_music": "Musik soundtrack",
|
||||
"lullaby": "Lullaby",
|
||||
"video_game_music": "Musik video game",
|
||||
"christmas_music": "Musik Natal",
|
||||
"dance_music": "Musik dansa",
|
||||
"wedding_music": "Musik pernikahan",
|
||||
"happy_music": "Musik bahagia",
|
||||
"sad_music": "Musik sedih",
|
||||
"tender_music": "Musik lembut / romantis",
|
||||
"exciting_music": "Musik mendebarkan",
|
||||
"angry_music": "Musik marah",
|
||||
"scary_music": "Musik menakutkan",
|
||||
"wind": "Angin",
|
||||
"rustling_leaves": "Daun bergesekan",
|
||||
"wind_noise": "Suara angin",
|
||||
"thunderstorm": "Badai petir",
|
||||
"thunder": "Kilat / guruh (guntur)",
|
||||
"water": "Air",
|
||||
"rain": "Hujan",
|
||||
"raindrop": "Tetesan hujan",
|
||||
"rain_on_surface": "Hujan jatuh ke permukaan",
|
||||
"stream": "Aliran sungai kecil",
|
||||
"waterfall": "Air terjun",
|
||||
"ocean": "Laut",
|
||||
"waves": "Ombak",
|
||||
"steam": "Uap",
|
||||
"gurgling": "Menggulung / bergolak (gurgling)",
|
||||
"fire": "Api",
|
||||
"crackle": "Mercekik / berderak (crackle)",
|
||||
"vehicle": "Kendaraan",
|
||||
"sailboat": "Perahu layar",
|
||||
"rowboat": "Perahu dayung",
|
||||
"motorboat": "Perahu bermotor",
|
||||
"ship": "Kapal besar",
|
||||
"motor_vehicle": "Kendaraan bermotor",
|
||||
"toot": "Bunyi klakson kecil",
|
||||
"car_alarm": "Alarm mobil",
|
||||
"power_windows": "Jendela bergerak dengan tenaga listrik",
|
||||
"skidding": "Selipan roda",
|
||||
"tire_squeal": "Roda tergelincir / berdecit",
|
||||
"car_passing_by": "Mobil melintas",
|
||||
"race_car": "Mobil balap",
|
||||
"truck": "Truk",
|
||||
"air_brake": "Rem udara",
|
||||
"air_horn": "Horn udara",
|
||||
"reversing_beeps": "Bunyi beeper mundur",
|
||||
"ice_cream_truck": "Mobil es krim",
|
||||
"emergency_vehicle": "Kendaraan darurat",
|
||||
"police_car": "Mobil patroli polisi",
|
||||
"ambulance": "Ambulans",
|
||||
"fire_engine": "Mobil pemadam kebakaran",
|
||||
"traffic_noise": "Kebisingan lalu lintas",
|
||||
"rail_transport": "Transportasi rel",
|
||||
"train_whistle": "Pelecut kereta",
|
||||
"train_horn": "Klakson kereta api",
|
||||
"railroad_car": "Gerigit kereta api",
|
||||
"train_wheels_squealing": "Rel kereta berdecit",
|
||||
"subway": "Kereta bawah tanah (subway)",
|
||||
"aircraft": "Pesawat udara",
|
||||
"aircraft_engine": "Mesin pesawat",
|
||||
"jet_engine": "Mesin jet",
|
||||
"propeller": "Propeller",
|
||||
"helicopter": "Helikopter",
|
||||
"fixed-wing_aircraft": "Pesawat sayap tetap",
|
||||
"skateboard": "Papan luncur",
|
||||
"engine": "Mesin",
|
||||
"light_engine": "Mesin ringan",
|
||||
"dental_drill's_drill": "Bor gigi",
|
||||
"lawn_mower": "Mesin pemotong rumput",
|
||||
"chainsaw": "Gergaji mesin / chainsaw",
|
||||
"medium_engine": "Mesin menengah",
|
||||
"heavy_engine": "Mesin berat",
|
||||
"engine_knocking": "Mesin berdecit",
|
||||
"engine_starting": "Mesin dihidupkan",
|
||||
"idling": "Mesin diam tetap hidup (idling)",
|
||||
"accelerating": "Percepatan (accelerating)",
|
||||
"door": "Pintu",
|
||||
"doorbell": "Bel pintu",
|
||||
"ding-dong": "Ding‑dong (bunyi bel pintu khas)",
|
||||
"sliding_door": "Pintu geser",
|
||||
"slam": "Menjekat (bunyi pintu ditutup keras)",
|
||||
"knock": "Ketukan",
|
||||
"tap": "Mengetuk",
|
||||
"squeak": "Berderit",
|
||||
"cupboard_open_or_close": "Kupmar terbuka atau tertutup",
|
||||
"drawer_open_or_close": "Laci terbuka atau tertutup",
|
||||
"dishes": "Piring",
|
||||
"cutlery": "Sendok garpu",
|
||||
"chopping": "Mengiris",
|
||||
"frying": "Menggoreng",
|
||||
"microwave_oven": "Oven microwave",
|
||||
"blender": "Blender",
|
||||
"water_tap": "Kran air",
|
||||
"sink": "Wastafel",
|
||||
"bathtub": "Bak mandi",
|
||||
"hair_dryer": "Pengering rambut",
|
||||
"toilet_flush": "Siraman toilet",
|
||||
"toothbrush": "Sikat gigi",
|
||||
"electric_toothbrush": "Sikat gigi elektrik",
|
||||
"vacuum_cleaner": "Vacuum cleaner",
|
||||
"zipper": "Ritsleting",
|
||||
"keys_jangling": "Kunci berdering",
|
||||
"coin": "Koin",
|
||||
"scissors": "Gunting",
|
||||
"electric_shaver": "Alat cukur listrik",
|
||||
"shuffling_cards": "Mengacaukan kartu",
|
||||
"typing": "Ketikan",
|
||||
"typewriter": "Mesin tik",
|
||||
"computer_keyboard": "Keyboard komputer",
|
||||
"writing": "Menulis",
|
||||
"alarm": "Alarm",
|
||||
"telephone": "Telepon",
|
||||
"telephone_bell_ringing": "Bel telepon berdering",
|
||||
"ringtone": "Nada dering",
|
||||
"telephone_dialing": "Menelepon dengan dial",
|
||||
"dial_tone": "Nada tunggu (dial tone)",
|
||||
"busy_signal": "Suara sibuk",
|
||||
"alarm_clock": "Alarm jam",
|
||||
"siren": "Sirine",
|
||||
"civil_defense_siren": "Sirine perlindungan sipil",
|
||||
"buzzer": "Buzzer",
|
||||
"smoke_detector": "Detektor asap",
|
||||
"fire_alarm": "Alarm kebakaran",
|
||||
"foghorn": "Foghorn (bunyi peluit kabut laut)",
|
||||
"whistle": "Peluit",
|
||||
"steam_whistle": "Peluit uap",
|
||||
"mechanisms": "Mekanisme",
|
||||
"ratchet": "Ratchet",
|
||||
"clock": "Jam",
|
||||
"tick": "Detak (tick)",
|
||||
"tick-tock": "Tick‑tock",
|
||||
"gears": "Roda gigi (gears)",
|
||||
"pulleys": "Katrol",
|
||||
"sewing_machine": "Mesin jahit",
|
||||
"mechanical_fan": "Kipas baling‑baling mekanik",
|
||||
"air_conditioning": "Pendingin ruangan / AC",
|
||||
"cash_register": "Mesin kasir",
|
||||
"printer": "Printer",
|
||||
"single-lens_reflex_camera": "Kamera single‑lens reflex",
|
||||
"tools": "Perkakas",
|
||||
"hammer": "Palu",
|
||||
"jackhammer": "Jackhammer",
|
||||
"sawing": "Menggergaji",
|
||||
"filing": "Mengasah",
|
||||
"sanding": "Mengampelas",
|
||||
"power_tool": "Power tool (perkakas bermotor)",
|
||||
"drill": "Bor",
|
||||
"explosion": "Ledakan",
|
||||
"gunshot": "Tembakan senjata api",
|
||||
"machine_gun": "Senapan mesin",
|
||||
"fusillade": "Fusillade (banyak tembakan sekaligus)",
|
||||
"artillery_fire": "Tembakan artileri",
|
||||
"cap_gun": "Senapan mainan (cap gun)",
|
||||
"fireworks": "Kembang api",
|
||||
"firecracker": "Petasan kembang api",
|
||||
"burst": "Ledakan pecah (burst)",
|
||||
"eruption": "Letusan (eruption)",
|
||||
"boom": "Boom (bunyi ledakan berat)",
|
||||
"wood": "Kayu",
|
||||
"chop": "Menebang (chop)",
|
||||
"splinter": "Bercerai (splinter)",
|
||||
"crack": "Retak / pecah (crack)",
|
||||
"glass": "Kaca",
|
||||
"chink": "Bunyi kaca berdenting (chink)",
|
||||
"shatter": "Hancur / pecah (shatter)",
|
||||
"silence": "Diam / tidak ada suara (silence)",
|
||||
"pink_noise": "Pink noise",
|
||||
"field_recording": "Rekaman lapangan (field recording)",
|
||||
"sodeling": "Menangis tertahan",
|
||||
"chird": "Derit / suara aneh",
|
||||
"change_ringing": "Lantunan lonceng bergantian (change ringing)",
|
||||
"shofar": "Shofar",
|
||||
"liquid": "Cairan",
|
||||
"splash": "Cipratan (splash)",
|
||||
"slosh": "Slosh (suara cairan bergoyang)",
|
||||
"squish": "Squish (bunyi renyah basah)",
|
||||
"drip": "Tetes (drip)",
|
||||
"pour": "Tuang (pour)",
|
||||
"trickle": "Menetes (trickle)",
|
||||
"gush": "Mengalir deras (gush)",
|
||||
"fill": "Mengisi (fill)",
|
||||
"spray": "Semprot (spray)",
|
||||
"pump": "Pompa",
|
||||
"stir": "Aduk (stir)",
|
||||
"boiling": "Mendidih",
|
||||
"sonar": "Sonar",
|
||||
"arrow": "Panah",
|
||||
"whoosh": "Whoosh (bunyi melesat cepat)",
|
||||
"thump": "Thump (bantingan)",
|
||||
"thunk": "Thunk (bunyi tebal tumpul)",
|
||||
"electronic_tuner": "Tuner elektronik",
|
||||
"effects_unit": "Effects unit (efek audio)",
|
||||
"chorus_effect": "Efek chorus",
|
||||
"basketball_bounce": "Pantulan bola basket",
|
||||
"bang": "Benturan keras (bang)",
|
||||
"slap": "Plak (pukulan telapak)",
|
||||
"whack": "Whack (pukulan keras)",
|
||||
"smash": "Smash (hancurkan keras)",
|
||||
"breaking": "Memecahkan",
|
||||
"bouncing": "Memantul",
|
||||
"whip": "Cambuk",
|
||||
"flap": "Flap (sayap / lembaran berkibar)",
|
||||
"scratch": "Gores (scratch)",
|
||||
"scrape": "Gesekan kasar (scrape)",
|
||||
"rub": "Menggosok (rub)",
|
||||
"roll": "Gulung (roll)",
|
||||
"crushing": "Menghancurkan (crushing)",
|
||||
"crumpling": "Menggumpalkan (crumpling)",
|
||||
"tearing": "Merosak (tearing)",
|
||||
"beep": "Beep",
|
||||
"ping": "Ping",
|
||||
"ding": "Ding",
|
||||
"clang": "Clang",
|
||||
"squeal": "Squeal (mengerang)",
|
||||
"creak": "Creak (berderit pelan)",
|
||||
"rustle": "Rustle (menggerut)",
|
||||
"whir": "Whir (menderu putaran cepat)",
|
||||
"clatter": "Kerincing / benturan berantai (clatter)",
|
||||
"sizzle": "Sizzle (menggoreng / bersiul)",
|
||||
"clicking": "Clicking (bunyi kunci)",
|
||||
"clickety_clack": "Clickety clack (bunyi kaki atau rel)",
|
||||
"rumble": "Rumble (gempuran / gemuruh)",
|
||||
"plop": "Plop (bunyi jatuh lembut ke air)",
|
||||
"hum": "Hum (mendengung)",
|
||||
"zing": "Zing (bunyi gesek tipis cepat)",
|
||||
"boing": "Boing (bunyi pegas)",
|
||||
"crunch": "Crunch (remas keras)",
|
||||
"sine_wave": "Gelombang sinus (sine wave)",
|
||||
"harmonic": "Harmonik",
|
||||
"chirp_tone": "Tone chirp",
|
||||
"pulse": "Pulse (detak / pulsa)",
|
||||
"inside": "Di dalam ruangan",
|
||||
"outside": "Di luar ruangan",
|
||||
"reverberation": "Gema ruang (reverberation)",
|
||||
"echo": "Gema (echo)",
|
||||
"noise": "Kebisingan",
|
||||
"mains_hum": "Mains hum (dengungan listrik arus utama)",
|
||||
"distortion": "Distorsi",
|
||||
"sidetone": "Sidetone (suara sendiri saat menelepon)",
|
||||
"cacophony": "Kecemasan suara (cacophony)",
|
||||
"throbbing": "Berdebar / gemuruh (throbbing)",
|
||||
"vibration": "Vibrasi"
|
||||
}
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
{
|
||||
"time": {
|
||||
"untilForRestart": "Hingga Frigate memulai ulang.",
|
||||
"untilRestart": "Sampai memulai ulang",
|
||||
"ago": "{{timeAgo}} Lalu",
|
||||
"justNow": "Sekarang",
|
||||
"untilForRestart": "Sampai Frigate dimulai ulang.",
|
||||
"untilRestart": "Sampai dimulai ulang",
|
||||
"ago": "{{timeAgo}} yang lalu",
|
||||
"justNow": "Baru saja",
|
||||
"today": "Hari ini",
|
||||
"yesterday": "Kemarin",
|
||||
"untilForTime": "Sampai",
|
||||
"untilForTime": "Sampai {{time}}",
|
||||
"last7": "7 hari terakhir",
|
||||
"last14": "14 hari terakhir",
|
||||
"last30": "30 hari terakhir",
|
||||
"thisWeek": "Minggu Ini",
|
||||
"never": "Tidak Pernah",
|
||||
"never": "Tidak pernah",
|
||||
"lastWeek": "Minggu Lalu",
|
||||
"thisMonth": "Bulan Ini",
|
||||
"lastMonth": "Bulan Lalu",
|
||||
@ -21,11 +21,296 @@
|
||||
"1hour": "1 jam",
|
||||
"12hours": "12 jam",
|
||||
"24hours": "24 jam",
|
||||
"pm": "pm",
|
||||
"am": "am",
|
||||
"yr": "{{time}} tahun",
|
||||
"pm": "PM",
|
||||
"am": "AM",
|
||||
"yr": "{{time}} th",
|
||||
"year_other": "{{time}} tahun",
|
||||
"mo": "{{time}} bulan"
|
||||
"mo": "{{time}} bln",
|
||||
"month_other": "{{time}} bulan",
|
||||
"d": "{{time}} hr",
|
||||
"day_other": "{{time}} hari",
|
||||
"h": "{{time}} jam",
|
||||
"hour_other": "{{time}} jam",
|
||||
"m": "{{time}} mnt",
|
||||
"minute_other": "{{time}} menit",
|
||||
"s": "{{time}} dtk",
|
||||
"second_other": "{{time}} detik",
|
||||
"formattedTimestamp": {
|
||||
"12hour": "MMM d, h:mm:ss aaa",
|
||||
"24hour": "MMM d, HH:mm:ss"
|
||||
},
|
||||
"formattedTimestamp2": {
|
||||
"12hour": "MM/dd h:mm:ssa",
|
||||
"24hour": "d MMM HH:mm:ss"
|
||||
},
|
||||
"formattedTimestampHourMinute": {
|
||||
"12hour": "h:mm aaa",
|
||||
"24hour": "HH:mm"
|
||||
},
|
||||
"formattedTimestampHourMinuteSecond": {
|
||||
"12hour": "h:mm:ss aaa",
|
||||
"24hour": "HH:mm:ss"
|
||||
},
|
||||
"formattedTimestampMonthDayHourMinute": {
|
||||
"12hour": "MMM d, h:mm aaa",
|
||||
"24hour": "MMM d, HH:mm"
|
||||
},
|
||||
"formattedTimestampMonthDayYear": {
|
||||
"12hour": "MMM d, yyyy",
|
||||
"24hour": "MMM d, yyyy"
|
||||
},
|
||||
"formattedTimestampMonthDayYearHourMinute": {
|
||||
"12hour": "MMM d yyyy, h:mm aaa",
|
||||
"24hour": "MMM d yyyy, HH:mm"
|
||||
},
|
||||
"formattedTimestampMonthDay": "MMM d",
|
||||
"formattedTimestampFilename": {
|
||||
"12hour": "MM-dd-yy-h-mm-ss-a",
|
||||
"24hour": "MM-dd-yy-HH-mm-ss"
|
||||
},
|
||||
"inProgress": "Sedang berlangsung",
|
||||
"invalidStartTime": "Waktu mulai tidak valid",
|
||||
"invalidEndTime": "Waktu selesai tidak valid"
|
||||
},
|
||||
"readTheDocumentation": "Baca dokumentasi"
|
||||
"readTheDocumentation": "Baca dokumentasi",
|
||||
"menu": {
|
||||
"system": "Sistem",
|
||||
"profiles": "Profil",
|
||||
"systemMetrics": "Metrik sistem",
|
||||
"configuration": "Konfigurasi",
|
||||
"systemLogs": "Log sistem",
|
||||
"settings": "Pengaturan",
|
||||
"configurationEditor": "Editor Konfigurasi",
|
||||
"languages": "Bahasa",
|
||||
"language": {
|
||||
"en": "English (Inggris)",
|
||||
"es": "Español (Spanyol)",
|
||||
"zhCN": "简体中文 (Tionghoa Sederhana)",
|
||||
"hi": "हिन्दी (Hindi)",
|
||||
"fr": "Français (Prancis)",
|
||||
"ar": "العربية (Arab)",
|
||||
"pt": "Português (Portugis)",
|
||||
"ptBR": "Português brasileiro (Portugis Brasil)",
|
||||
"ru": "Русский (Rusia)",
|
||||
"de": "Deutsch (Jerman)",
|
||||
"ja": "日本語 (Jepang)",
|
||||
"tr": "Türkçe (Turki)",
|
||||
"it": "Italiano (Italia)",
|
||||
"nl": "Nederlands (Belanda)",
|
||||
"sv": "Svenska (Swedia)",
|
||||
"cs": "Čeština (Ceko)",
|
||||
"nb": "Norsk Bokmål (Norwegia Bokmål)",
|
||||
"ko": "한국어 (Korea)",
|
||||
"vi": "Tiếng Việt (Vietnam)",
|
||||
"fa": "فارسی (Persia)",
|
||||
"pl": "Polski (Polandia)",
|
||||
"uk": "Українська (Ukraina)",
|
||||
"he": "עברית (Ibrani)",
|
||||
"el": "Ελληνικά (Yunani)",
|
||||
"ro": "Română (Rumania)",
|
||||
"hu": "Magyar (Hungaria)",
|
||||
"fi": "Suomi (Finlandia)",
|
||||
"da": "Dansk (Denmark)",
|
||||
"sk": "Slovenčina (Slovakia)",
|
||||
"yue": "粵語 (Kanton)",
|
||||
"th": "ไทย (Thai)",
|
||||
"ca": "Català (Katalan)",
|
||||
"hr": "Hrvatski (Kroasia)",
|
||||
"bs": "Bosanski (Bosnia)",
|
||||
"sr": "Српски (Serbia)",
|
||||
"sl": "Slovenščina (Slovenia)",
|
||||
"lt": "Lietuvių (Lituania)",
|
||||
"bg": "Български (Bulgaria)",
|
||||
"gl": "Galego (Galisia)",
|
||||
"id": "Bahasa Indonesia (Indonesia)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"withSystem": {
|
||||
"label": "Gunakan pengaturan sistem untuk bahasa"
|
||||
}
|
||||
},
|
||||
"appearance": "Tampilan",
|
||||
"darkMode": {
|
||||
"label": "Mode Gelap",
|
||||
"light": "Terang",
|
||||
"dark": "Gelap",
|
||||
"withSystem": {
|
||||
"label": "Gunakan pengaturan sistem untuk mode terang atau gelap"
|
||||
}
|
||||
},
|
||||
"withSystem": "Sistem",
|
||||
"theme": {
|
||||
"label": "Tema",
|
||||
"blue": "Biru",
|
||||
"green": "Hijau",
|
||||
"nord": "Nord",
|
||||
"red": "Merah",
|
||||
"highcontrast": "Kontras Tinggi",
|
||||
"default": "Default"
|
||||
},
|
||||
"help": "Bantuan",
|
||||
"documentation": {
|
||||
"title": "Dokumentasi",
|
||||
"label": "Dokumentasi Frigate"
|
||||
},
|
||||
"restart": "Mulai Ulang Frigate",
|
||||
"live": {
|
||||
"title": "Live",
|
||||
"allCameras": "Semua Kamera",
|
||||
"cameras": {
|
||||
"title": "Kamera",
|
||||
"count_other": "{{count}} Kamera"
|
||||
}
|
||||
},
|
||||
"review": "Tinjauan",
|
||||
"explore": "Jelajah",
|
||||
"export": "Ekspor",
|
||||
"actions": "Tindakan",
|
||||
"uiPlayground": "UI Playground",
|
||||
"features": "Fitur",
|
||||
"faceLibrary": "Pustaka Wajah",
|
||||
"classification": "Klasifikasi",
|
||||
"chat": "Chat",
|
||||
"user": {
|
||||
"title": "Pengguna",
|
||||
"account": "Akun",
|
||||
"current": "Pengguna Saat Ini: {{user}}",
|
||||
"anonymous": "anonim",
|
||||
"logout": "Keluar",
|
||||
"setPassword": "Atur Kata Sandi"
|
||||
}
|
||||
},
|
||||
"unit": {
|
||||
"speed": {
|
||||
"mph": "mph",
|
||||
"kph": "kph"
|
||||
},
|
||||
"length": {
|
||||
"feet": "kaki",
|
||||
"meters": "meter"
|
||||
},
|
||||
"data": {
|
||||
"kbps": "kB/dtk",
|
||||
"mbps": "MB/dtk",
|
||||
"gbps": "GB/dtk",
|
||||
"kbph": "kB/jam",
|
||||
"mbph": "MB/jam",
|
||||
"gbph": "GB/jam"
|
||||
}
|
||||
},
|
||||
"label": {
|
||||
"back": "Kembali",
|
||||
"hide": "Sembunyikan {{item}}",
|
||||
"show": "Tampilkan {{item}}",
|
||||
"ID": "ID",
|
||||
"none": "Tidak ada",
|
||||
"all": "Semua",
|
||||
"other": "Lainnya"
|
||||
},
|
||||
"list": {
|
||||
"two": "{{0}} dan {{1}}",
|
||||
"many": "{{items}}, dan {{last}}",
|
||||
"separatorWithSpace": ", "
|
||||
},
|
||||
"field": {
|
||||
"optional": "Opsional",
|
||||
"internalID": "ID Internal yang digunakan Frigate dalam konfigurasi dan basis data"
|
||||
},
|
||||
"button": {
|
||||
"add": "Tambah",
|
||||
"apply": "Terapkan",
|
||||
"applying": "Menerapkan…",
|
||||
"reset": "Atur Ulang",
|
||||
"undo": "Urungkan",
|
||||
"done": "Selesai",
|
||||
"enabled": "Diaktifkan",
|
||||
"enable": "Aktifkan",
|
||||
"disabled": "Dinonaktifkan",
|
||||
"disable": "Nonaktifkan",
|
||||
"save": "Simpan",
|
||||
"saving": "Menyimpan…",
|
||||
"cancel": "Batal",
|
||||
"close": "Tutup",
|
||||
"copy": "Salin",
|
||||
"copiedToClipboard": "Disalin ke papan klip",
|
||||
"back": "Kembali",
|
||||
"history": "Riwayat",
|
||||
"fullscreen": "Layar Penuh",
|
||||
"exitFullscreen": "Keluar dari Layar Penuh",
|
||||
"pictureInPicture": "Gambar dalam Gambar",
|
||||
"twoWayTalk": "Audio Dua Arah",
|
||||
"cameraAudio": "Audio Kamera",
|
||||
"on": "AKTIF",
|
||||
"off": "NONAKTIF",
|
||||
"edit": "Edit",
|
||||
"copyCoordinates": "Salin koordinat",
|
||||
"delete": "Hapus",
|
||||
"yes": "Ya",
|
||||
"no": "Tidak",
|
||||
"download": "Unduh",
|
||||
"info": "Info",
|
||||
"suspended": "Ditangguhkan",
|
||||
"unsuspended": "Batalkan penangguhan",
|
||||
"play": "Putar",
|
||||
"unselect": "Batalkan pilihan",
|
||||
"export": "Ekspor",
|
||||
"deleteNow": "Hapus Sekarang",
|
||||
"next": "Berikutnya",
|
||||
"continue": "Lanjutkan",
|
||||
"modified": "Diubah",
|
||||
"overridden": "Ditimpa",
|
||||
"resetToGlobal": "Atur Ulang ke Global",
|
||||
"resetToDefault": "Atur Ulang ke Default",
|
||||
"saveAll": "Simpan Semua",
|
||||
"savingAll": "Menyimpan Semua…",
|
||||
"undoAll": "Urungkan Semua",
|
||||
"retry": "Coba Lagi"
|
||||
},
|
||||
"toast": {
|
||||
"copyUrlToClipboard": "URL disalin ke papan klip.",
|
||||
"save": {
|
||||
"title": "Simpan",
|
||||
"error": {
|
||||
"title": "Gagal menyimpan perubahan konfigurasi: {{errorMessage}}",
|
||||
"noMessage": "Gagal menyimpan perubahan konfigurasi"
|
||||
},
|
||||
"success": "Berhasil menyimpan perubahan konfigurasi."
|
||||
}
|
||||
},
|
||||
"role": {
|
||||
"title": "Peran",
|
||||
"admin": "Admin",
|
||||
"viewer": "Penampil",
|
||||
"desc": "Admin memiliki akses penuh ke semua fitur di UI Frigate. Penampil terbatas hanya untuk melihat kamera, item tinjauan, dan rekaman historis di UI."
|
||||
},
|
||||
"pagination": {
|
||||
"label": "paginasi",
|
||||
"previous": {
|
||||
"title": "Sebelumnya",
|
||||
"label": "Buka halaman sebelumnya"
|
||||
},
|
||||
"next": {
|
||||
"title": "Berikutnya",
|
||||
"label": "Buka halaman berikutnya"
|
||||
},
|
||||
"more": "Halaman lainnya"
|
||||
},
|
||||
"accessDenied": {
|
||||
"documentTitle": "Akses Ditolak - Frigate",
|
||||
"title": "Akses Ditolak",
|
||||
"desc": "Anda tidak memiliki izin untuk melihat halaman ini."
|
||||
},
|
||||
"notFound": {
|
||||
"documentTitle": "Tidak Ditemukan - Frigate",
|
||||
"title": "404",
|
||||
"desc": "Halaman tidak ditemukan"
|
||||
},
|
||||
"selectItem": "Pilih {{item}}",
|
||||
"information": {
|
||||
"pixels": "{{area}}px"
|
||||
},
|
||||
"no_items": "Tidak ada item",
|
||||
"validation_errors": "Kesalahan Validasi",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Tersimpan — biarkan kosong untuk mempertahankan yang saat ini"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,62 @@
|
||||
{
|
||||
"label": "Pengaturan Kamera"
|
||||
"label": "Pengaturan Kamera",
|
||||
"name": {
|
||||
"label": "Nama Kamera",
|
||||
"description": "Nama Kamera diwajibkan"
|
||||
},
|
||||
"friendly_name": {
|
||||
"label": "Nama Singkat",
|
||||
"description": "Nama Singkat kamera digunakan pada tampilan UI Frigate"
|
||||
},
|
||||
"audio": {
|
||||
"label": "Deteksi Suara",
|
||||
"description": "Pengaturan untuk Deteksi Kejadian berdasarkan Suara pada kamera ini.",
|
||||
"enabled": {
|
||||
"label": "Nyalakan Deteksi Suara",
|
||||
"description": "Nyalakan atau matikan deteksi kejadian suara pada kamera ini."
|
||||
},
|
||||
"filters": {
|
||||
"threshold": {
|
||||
"label": "Keyakinan-Suara Minimum"
|
||||
}
|
||||
},
|
||||
"min_volume": {
|
||||
"label": "Volume-Suara Minimum"
|
||||
}
|
||||
},
|
||||
"audio_transcription": {
|
||||
"label": "Transkripsi Suara",
|
||||
"enabled": {
|
||||
"label": "Nyalakan Transkripsi"
|
||||
},
|
||||
"live_enabled": {
|
||||
"label": "Transkripsi Langsung (Live)"
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"label": "Deteksi Objek",
|
||||
"enabled": {
|
||||
"label": "Nyalakan Deteksi Objek"
|
||||
},
|
||||
"stationary": {
|
||||
"classifier": {
|
||||
"label": "Nyalakan Klasifikasi-Visual",
|
||||
"description": "Menggunakan pengklasifikasi visual untuk membedakan objek-objek diam (benar-benar tidak bergerak), meskipun bounding-box kurang stabil atau bergetar (jitter)."
|
||||
}
|
||||
},
|
||||
"fps": {
|
||||
"label": "Kecepatan (FPS) Deteksi",
|
||||
"description": "Kecepatan yang ditargetkan untuk menjalankan Deteksi Objek, dalam satuan frame per second (FPS); nilai lebih rendah mengurangi intensitas proses dan dapat meringangkan beban kerja CPU. Nilai 5 direkomendasikan, sedangakan nilai 10 dianggap sangat tinggi dan hanya digunakan untuk pelacakan (tracking) benda yang bergerak dengan benar-benar cepat."
|
||||
}
|
||||
},
|
||||
"enabled": {
|
||||
"label": "Dinyalakan",
|
||||
"description": "Dinyalakan (Enabled)"
|
||||
},
|
||||
"birdseye": {
|
||||
"enabled": {
|
||||
"description": "Nyalakan atau matikan fitur Penglihatan Atas (Birdseye View).",
|
||||
"label": "Nyalakan Birdseye"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,47 @@
|
||||
{
|
||||
"version": {
|
||||
"label": "Versi konfigurasi"
|
||||
},
|
||||
"audio": {
|
||||
"label": "Deteksi Suara",
|
||||
"enabled": {
|
||||
"label": "Nyalakan Deteksi Suara"
|
||||
},
|
||||
"filters": {
|
||||
"threshold": {
|
||||
"label": "Keyakinan-Suara Minimum"
|
||||
}
|
||||
},
|
||||
"min_volume": {
|
||||
"label": "Volume-Suara Minimum"
|
||||
}
|
||||
},
|
||||
"audio_transcription": {
|
||||
"label": "Transkripsi Suara",
|
||||
"live_enabled": {
|
||||
"label": "Transkripsi Langsung (Live)"
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"label": "Deteksi Objek",
|
||||
"enabled": {
|
||||
"label": "Nyalakan Deteksi Objek"
|
||||
},
|
||||
"stationary": {
|
||||
"classifier": {
|
||||
"label": "Nyalakan Klasifikasi-Visual",
|
||||
"description": "Menggunakan pengklasifikasi visual untuk membedakan objek-objek diam (benar-benar tidak bergerak), meskipun bounding-box kurang stabil atau bergetar (jitter)."
|
||||
}
|
||||
},
|
||||
"fps": {
|
||||
"label": "Kecepatan (FPS) Deteksi",
|
||||
"description": "Kecepatan yang ditargetkan untuk menjalankan Deteksi Objek, dalam satuan frame per second (FPS); nilai lebih rendah mengurangi intensitas proses dan dapat meringangkan beban kerja CPU. Nilai 5 direkomendasikan, sedangakan nilai 10 dianggap sangat tinggi dan hanya digunakan untuk pelacakan (tracking) benda yang bergerak dengan benar-benar cepat."
|
||||
}
|
||||
},
|
||||
"birdseye": {
|
||||
"enabled": {
|
||||
"description": "Nyalakan atau matikan fitur Penglihatan Atas (Birdseye View).",
|
||||
"label": "Nyalakan Birdseye"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,30 +2,128 @@
|
||||
"person": "Orang",
|
||||
"bicycle": "Sepeda",
|
||||
"car": "Mobil",
|
||||
"motorcycle": "Motor",
|
||||
"motorcycle": "Sepeda motor",
|
||||
"airplane": "Pesawat",
|
||||
"bus": "Bis",
|
||||
"bus": "Bus",
|
||||
"train": "Kereta",
|
||||
"boat": "Kapal",
|
||||
"traffic_light": "Lampu Lalu Lintas",
|
||||
"fire_hydrant": "Hidran Kebakaran",
|
||||
"animal": "Binatang",
|
||||
"boat": "Perahu",
|
||||
"traffic_light": "Lampu lalu lintas",
|
||||
"fire_hydrant": "Hidran kebakaran",
|
||||
"animal": "Hewan",
|
||||
"dog": "Anjing",
|
||||
"bark": "Gonggongan",
|
||||
"bark": "Kulit kayu",
|
||||
"cat": "Kucing",
|
||||
"horse": "Kuda",
|
||||
"goat": "Kambing",
|
||||
"sheep": "Domba",
|
||||
"bird": "Burung",
|
||||
"street_sign": "Rambu Jalan",
|
||||
"stop_sign": "Tanda Stop",
|
||||
"parking_meter": "Parkir Meter",
|
||||
"bench": "Kursi",
|
||||
"street_sign": "Rambu jalan",
|
||||
"stop_sign": "Rambu berhenti",
|
||||
"parking_meter": "Meter parkir",
|
||||
"bench": "Bangku",
|
||||
"cow": "Sapi",
|
||||
"elephant": "Gajah",
|
||||
"bear": "Beruang",
|
||||
"zebra": "Zebra",
|
||||
"giraffe": "Jerapah",
|
||||
"hat": "Topi",
|
||||
"backpack": "Tas"
|
||||
"backpack": "Ransel",
|
||||
"mouse": "Mouse",
|
||||
"keyboard": "Keyboard",
|
||||
"vehicle": "Kendaraan",
|
||||
"skateboard": "Papan luncur",
|
||||
"door": "Pintu",
|
||||
"blender": "Blender",
|
||||
"sink": "Wastafel",
|
||||
"hair_dryer": "Pengering rambut",
|
||||
"toothbrush": "Sikat gigi",
|
||||
"scissors": "Gunting",
|
||||
"clock": "Jam",
|
||||
"umbrella": "Payung",
|
||||
"shoe": "Sepatu",
|
||||
"eye_glasses": "Kacamata",
|
||||
"handbag": "Tas tangan",
|
||||
"tie": "Dasi",
|
||||
"suitcase": "Koper",
|
||||
"frisbee": "Frisbee",
|
||||
"skis": "Ski",
|
||||
"snowboard": "Papan seluncur salju",
|
||||
"sports_ball": "Bola olahraga",
|
||||
"kite": "Layang-layang",
|
||||
"baseball_bat": "Tongkat bisbol",
|
||||
"baseball_glove": "Sarung tangan bisbol",
|
||||
"surfboard": "Papan selancar",
|
||||
"tennis_racket": "Raket tenis",
|
||||
"bottle": "Botol",
|
||||
"plate": "Piring",
|
||||
"wine_glass": "Gelas anggur",
|
||||
"cup": "Cangkir",
|
||||
"fork": "Garpu",
|
||||
"knife": "Pisau",
|
||||
"spoon": "Sendok",
|
||||
"bowl": "Mangkuk",
|
||||
"banana": "Pisang",
|
||||
"apple": "Apel",
|
||||
"sandwich": "Sandwich",
|
||||
"orange": "Jeruk",
|
||||
"broccoli": "Brokoli",
|
||||
"carrot": "Wortel",
|
||||
"hot_dog": "Hot dog",
|
||||
"pizza": "Pizza",
|
||||
"donut": "Donat",
|
||||
"cake": "Kue",
|
||||
"chair": "Kursi",
|
||||
"couch": "Sofa",
|
||||
"potted_plant": "Tanaman dalam pot",
|
||||
"bed": "Tempat tidur",
|
||||
"mirror": "Cermin",
|
||||
"dining_table": "Meja makan",
|
||||
"window": "Jendela",
|
||||
"desk": "Meja tulis",
|
||||
"toilet": "Toilet",
|
||||
"tv": "TV",
|
||||
"laptop": "Laptop",
|
||||
"remote": "Remote",
|
||||
"cell_phone": "Ponsel",
|
||||
"microwave": "Microwave",
|
||||
"oven": "Oven",
|
||||
"toaster": "Pemanggang roti",
|
||||
"refrigerator": "Kulkas",
|
||||
"book": "Buku",
|
||||
"vase": "Vas",
|
||||
"teddy_bear": "Boneka beruang",
|
||||
"hair_brush": "Sikat rambut",
|
||||
"squirrel": "Tupai",
|
||||
"deer": "Rusa",
|
||||
"fox": "Rubah",
|
||||
"rabbit": "Kelinci",
|
||||
"raccoon": "Rakuns",
|
||||
"robot_lawnmower": "Mesin pemotong rumput robot",
|
||||
"waste_bin": "Tempat sampah",
|
||||
"on_demand": "Sesuai permintaan",
|
||||
"face": "Wajah",
|
||||
"license_plate": "Pelat nomor",
|
||||
"package": "Paket",
|
||||
"bbq_grill": "Panggangan BBQ",
|
||||
"amazon": "Amazon",
|
||||
"usps": "USPS",
|
||||
"ups": "UPS",
|
||||
"fedex": "FedEx",
|
||||
"dhl": "DHL",
|
||||
"an_post": "An Post",
|
||||
"purolator": "Purolator",
|
||||
"postnl": "PostNL",
|
||||
"nzpost": "NZPost",
|
||||
"postnord": "PostNord",
|
||||
"gls": "GLS",
|
||||
"dpd": "DPD",
|
||||
"canada_post": "Canada Post",
|
||||
"royal_mail": "Royal Mail",
|
||||
"school_bus": "Bus sekolah",
|
||||
"skunk": "Sigung",
|
||||
"kangaroo": "Kanguru",
|
||||
"baby": "Bayi",
|
||||
"baby_stroller": "Kereta dorong bayi",
|
||||
"rickshaw": "Becak",
|
||||
"rodent": "Hewan pengerat"
|
||||
}
|
||||
|
||||
@ -16,7 +16,9 @@
|
||||
}
|
||||
},
|
||||
"timeline.aria": "Pilih timeline",
|
||||
"timeline": "Linimasa",
|
||||
"timeline": {
|
||||
"label": "Linimasa"
|
||||
},
|
||||
"zoomIn": "Perbesar",
|
||||
"zoomOut": "Perkecil",
|
||||
"events": {
|
||||
@ -43,7 +45,9 @@
|
||||
},
|
||||
"documentTitle": "Tinjauan - Frigate",
|
||||
"recordings": {
|
||||
"documentTitle": "Rekaman - Frigate"
|
||||
"documentTitle": "Rekaman - Frigate",
|
||||
"invalidSharedLink": "Tidak dapat membuka tautan rekaman bertanda waktu karena kesalahan penguraian.",
|
||||
"invalidSharedCamera": "Tidak dapat membuka tautan rekaman bertanda waktu karena kamera tidak dikenal atau tidak berwenang."
|
||||
},
|
||||
"calendarFilter": {
|
||||
"last24Hours": "24 Jam Terakhir"
|
||||
@ -54,10 +58,37 @@
|
||||
"button": "Item Batu Untuk Ditinjau",
|
||||
"label": "Lihat item ulasan baru"
|
||||
},
|
||||
"selected_one": "{{count}} terpilih",
|
||||
"selected_other": "{{count}} terpilih",
|
||||
"selected_one": "{{count}} dipilih",
|
||||
"selected_other": "{{count}} dipilih",
|
||||
"camera": "Kamera",
|
||||
"detected": "terdeteksi",
|
||||
"suspiciousActivity": "Aktivitas Mencurigakan",
|
||||
"threateningActivity": "Aktivitas yang Mengancam"
|
||||
"threateningActivity": "Aktivitas yang Mengancam",
|
||||
"select_all": "Semua",
|
||||
"normalActivity": "Normal",
|
||||
"needsReview": "Perlu ditinjau",
|
||||
"securityConcern": "Kendala keamanan",
|
||||
"motionSearch": {
|
||||
"menuItem": "Pencarian gerakan",
|
||||
"openMenu": "Opsi kamera"
|
||||
},
|
||||
"motionPreviews": {
|
||||
"menuItem": "Lihat pratinjau gerakan",
|
||||
"title": "Pratinjau gerakan: {{camera}}",
|
||||
"mobileSettingsTitle": "Setelan Pratinjau Gerakan",
|
||||
"mobileSettingsDesc": "Sesuaikan kecepatan pemutaran dan peredupan, serta pilih tanggal untuk meninjau klip hanya gerakan.",
|
||||
"dim": "Redup",
|
||||
"dimAria": "Sesuaikan intensitas peredupan",
|
||||
"dimDesc": "Tingkatkan peredupan untuk meningkatkan visibilitas area gerakan.",
|
||||
"speed": "Kecepatan",
|
||||
"speedAria": "Pilih kecepatan pemutaran pratinjau",
|
||||
"speedDesc": "Pilih seberapa cepat klip pratinjau diputar.",
|
||||
"back": "Kembali",
|
||||
"empty": "Tidak ada pratinjau tersedia",
|
||||
"noPreview": "Pratinjau tidak tersedia",
|
||||
"seekAria": "Pindahkan {{camera}} pemain ke {{time}}",
|
||||
"filter": "Filter",
|
||||
"filterDesc": "Pilih area untuk hanya menampilkan klip dengan gerakan di wilayah tersebut.",
|
||||
"filterClear": "Hapus"
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,45 +2,262 @@
|
||||
"documentTitle": "Jelajahi - Frigate",
|
||||
"generativeAI": "AI Generatif",
|
||||
"exploreIsUnavailable": {
|
||||
"title": "Penelusuran tidak tersedia",
|
||||
"title": "Jelajah Tidak Tersedia",
|
||||
"embeddingsReindexing": {
|
||||
"context": "Jelajahi dapat digunakan setelah embedding objek yang dilacak selesai di-reindex.",
|
||||
"context": "Jelajah dapat digunakan setelah embedding objek terlacak selesai diindeks ulang.",
|
||||
"startingUp": "Sedang memulai…",
|
||||
"estimatedTime": "Perkiraan waktu tersisa:",
|
||||
"finishingShortly": "Selesai sesaat lagi",
|
||||
"finishingShortly": "Segera selesai",
|
||||
"step": {
|
||||
"thumbnailsEmbedded": "Keluku dilampirkan ",
|
||||
"descriptionsEmbedded": "Deskripsi terlampir: ",
|
||||
"trackedObjectsProcessed": "Objek yang dilacak diproses: "
|
||||
"thumbnailsEmbedded": "Thumbnail yang disematkan: ",
|
||||
"descriptionsEmbedded": "Deskripsi yang disematkan: ",
|
||||
"trackedObjectsProcessed": "Objek terlacak yang diproses: "
|
||||
}
|
||||
},
|
||||
"downloadingModels": {
|
||||
"context": "Frigate sedang mengunduh model embedding yang diperlukan untuk mendukung fitur Pencarian Semantik. Proses ini mungkin memakan waktu beberapa menit tergantung pada kecepatan koneksi jaringan Anda.",
|
||||
"context": "Frigate sedang mengunduh model embedding yang diperlukan untuk mendukung fitur Pencarian Semantik. Ini mungkin memerlukan beberapa menit tergantung pada kecepatan koneksi jaringan Anda.",
|
||||
"setup": {
|
||||
"visionModel": "Model vision",
|
||||
"visionModelFeatureExtractor": "Ekstraktor fitur model visi",
|
||||
"visionModel": "Model visi",
|
||||
"visionModelFeatureExtractor": "Pengekstrak fitur model visi",
|
||||
"textModel": "Model teks",
|
||||
"textTokenizer": "Teks tokenizer"
|
||||
"textTokenizer": "Tokenizer teks"
|
||||
},
|
||||
"tips": {
|
||||
"context": "Anda mungkin ingin mengindeks ulang embeddings dari objek yang Anda lacak setelah model-model tersebut diunduh."
|
||||
"context": "Anda mungkin ingin mengindeks ulang embedding objek terlacak Anda setelah model selesai diunduh."
|
||||
},
|
||||
"error": "Terjadi eror. Periksa log Frigate."
|
||||
"error": "Terjadi kesalahan. Periksa log Frigate."
|
||||
}
|
||||
},
|
||||
"details": {
|
||||
"timestamp": "Stempel waktu"
|
||||
"timestamp": "Cap waktu",
|
||||
"item": {
|
||||
"title": "Detail Item Tinjauan",
|
||||
"desc": "Detail item tinjauan",
|
||||
"button": {
|
||||
"share": "Bagikan item tinjauan ini",
|
||||
"viewInExplore": "Lihat di Jelajah"
|
||||
},
|
||||
"tips": {
|
||||
"mismatch_other": "{{count}} objek yang tidak tersedia terdeteksi dan disertakan dalam item tinjauan ini. Objek-objek tersebut tidak memenuhi syarat sebagai peringatan atau deteksi, atau sudah dibersihkan/dihapus.",
|
||||
"hasMissingObjects": "Sesuaikan konfigurasi Anda jika Anda ingin Frigate menyimpan objek terlacak untuk label berikut: <em>{{objects}}</em>"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"regenerate": "Deskripsi baru telah diminta dari {{provider}}. Tergantung pada kecepatan penyedia Anda, deskripsi baru mungkin memerlukan waktu untuk dibuat ulang.",
|
||||
"updatedSublabel": "Berhasil memperbarui sublabel.",
|
||||
"updatedLPR": "Berhasil memperbarui pelat nomor.",
|
||||
"updatedAttributes": "Berhasil memperbarui atribut.",
|
||||
"audioTranscription": "Berhasil meminta transkripsi audio. Tergantung pada kecepatan server Frigate Anda, transkripsi mungkin memerlukan waktu untuk selesai."
|
||||
},
|
||||
"error": {
|
||||
"regenerate": "Gagal memanggil {{provider}} untuk deskripsi baru: {{errorMessage}}",
|
||||
"updatedSublabelFailed": "Gagal memperbarui sublabel: {{errorMessage}}",
|
||||
"updatedLPRFailed": "Gagal memperbarui pelat nomor: {{errorMessage}}",
|
||||
"updatedAttributesFailed": "Gagal memperbarui atribut: {{errorMessage}}",
|
||||
"audioTranscription": "Gagal meminta transkripsi audio: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"label": "Label",
|
||||
"editSubLabel": {
|
||||
"title": "Edit sublabel",
|
||||
"desc": "Masukkan sublabel baru untuk {{label}} ini",
|
||||
"descNoLabel": "Masukkan sublabel baru untuk objek terlacak ini"
|
||||
},
|
||||
"editLPR": {
|
||||
"title": "Edit pelat nomor",
|
||||
"desc": "Masukkan nilai pelat nomor baru untuk {{label}} ini",
|
||||
"descNoLabel": "Masukkan nilai pelat nomor baru untuk objek terlacak ini"
|
||||
},
|
||||
"editAttributes": {
|
||||
"title": "Edit atribut",
|
||||
"desc": "Pilih atribut klasifikasi untuk {{label}} ini"
|
||||
},
|
||||
"snapshotScore": {
|
||||
"label": "Skor Snapshot"
|
||||
},
|
||||
"topScore": {
|
||||
"label": "Skor Tertinggi",
|
||||
"info": "Skor tertinggi adalah skor median tertinggi untuk objek terlacak, jadi ini mungkin berbeda dari skor yang ditampilkan pada thumbnail hasil pencarian."
|
||||
},
|
||||
"score": {
|
||||
"label": "Skor"
|
||||
},
|
||||
"recognizedLicensePlate": "Pelat Nomor yang Diakui",
|
||||
"attributes": "Atribut Klasifikasi",
|
||||
"estimatedSpeed": "Perkiraan Kecepatan",
|
||||
"objects": "Objek",
|
||||
"camera": "Kamera",
|
||||
"zones": "Zona",
|
||||
"button": {
|
||||
"findSimilar": "Cari yang Serupa",
|
||||
"regenerate": {
|
||||
"title": "Buat Ulang",
|
||||
"label": "Buat ulang deskripsi objek terlacak"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"label": "Deskripsi",
|
||||
"placeholder": "Deskripsi objek terlacak",
|
||||
"aiTips": "Frigate tidak akan meminta deskripsi dari penyedia AI Generatif Anda sampai siklus hidup objek terlacak berakhir."
|
||||
},
|
||||
"expandRegenerationMenu": "Perluas menu pembuatan ulang",
|
||||
"regenerateFromSnapshot": "Buat Ulang dari Snapshot",
|
||||
"regenerateFromThumbnails": "Buat Ulang dari Thumbnail",
|
||||
"tips": {
|
||||
"descriptionSaved": "Berhasil menyimpan deskripsi",
|
||||
"saveDescriptionFailed": "Gagal memperbarui deskripsi: {{errorMessage}}"
|
||||
},
|
||||
"title": {
|
||||
"label": "Judul"
|
||||
},
|
||||
"scoreInfo": "Informasi Skor"
|
||||
},
|
||||
"exploreMore": "Eksplor lebih jauh objek-objek {{label}}",
|
||||
"exploreMore": "Jelajahi lebih banyak objek {{label}}",
|
||||
"trackedObjectDetails": "Detail Objek Terlacak",
|
||||
"type": {
|
||||
"details": "detail",
|
||||
"snapshot": "tangkapan layar",
|
||||
"snapshot": "snapshot",
|
||||
"thumbnail": "thumbnail",
|
||||
"video": "video",
|
||||
"tracking_details": "detail pelacakan"
|
||||
},
|
||||
"trackingDetails": {
|
||||
"title": "Detail Pelacakan"
|
||||
"title": "Detail Pelacakan",
|
||||
"noImageFound": "Tidak ada gambar yang ditemukan untuk cap waktu ini.",
|
||||
"createObjectMask": "Buat Masker Objek",
|
||||
"adjustAnnotationSettings": "Sesuaikan pengaturan anotasi",
|
||||
"scrollViewTips": "Klik untuk melihat momen-momen penting dalam siklus hidup objek ini.",
|
||||
"autoTrackingTips": "Posisi kotak pembatas tidak akan akurat untuk kamera dengan pelacakan otomatis.",
|
||||
"count": "{{first}} dari {{second}}",
|
||||
"trackedPoint": "Titik Terlacak",
|
||||
"lifecycleItemDesc": {
|
||||
"visible": "{{label}} terdeteksi",
|
||||
"entered_zone": "{{label}} memasuki {{zones}}",
|
||||
"active": "{{label}} menjadi aktif",
|
||||
"stationary": "{{label}} menjadi diam",
|
||||
"attribute": {
|
||||
"faceOrLicense_plate": "{{attribute}} terdeteksi untuk {{label}}",
|
||||
"other": "{{label}} dikenali sebagai {{attribute}}"
|
||||
},
|
||||
"gone": "{{label}} pergi",
|
||||
"heard": "{{label}} terdengar",
|
||||
"external": "{{label}} terdeteksi",
|
||||
"header": {
|
||||
"zones": "Zona",
|
||||
"ratio": "Rasio",
|
||||
"area": "Area",
|
||||
"score": "Skor",
|
||||
"computedScore": "Skor Terhitung",
|
||||
"topScore": "Skor Tertinggi",
|
||||
"toggleAdvancedScores": "Alihkan skor lanjutan"
|
||||
}
|
||||
},
|
||||
"annotationSettings": {
|
||||
"title": "Pengaturan Anotasi",
|
||||
"showAllZones": {
|
||||
"title": "Tampilkan Semua Zona",
|
||||
"desc": "Selalu tampilkan zona pada frame tempat objek telah memasuki suatu zona."
|
||||
},
|
||||
"offset": {
|
||||
"label": "Offset Anotasi",
|
||||
"desc": "Data ini berasal dari feed deteksi kamera Anda tetapi ditumpangkan pada gambar dari feed rekaman. Sangat mungkin kedua stream tersebut tidak sinkron sepenuhnya. Akibatnya, kotak pembatas dan rekaman tidak akan sejajar dengan sempurna. Anda dapat menggunakan pengaturan ini untuk menggeser anotasi maju atau mundur dalam waktu agar lebih selaras dengan rekaman video.",
|
||||
"millisecondsToOffset": "Milidetik untuk menggeser anotasi deteksi. <em>Default: 0</em>",
|
||||
"tips": "Turunkan nilainya jika pemutaran video berada di depan kotak dan titik jalur, dan naikkan nilainya jika pemutaran video berada di belakangnya. Nilai ini bisa negatif.",
|
||||
"toast": {
|
||||
"success": "Offset anotasi untuk {{camera}} telah disimpan ke file konfigurasi."
|
||||
}
|
||||
}
|
||||
},
|
||||
"carousel": {
|
||||
"previous": "Slide sebelumnya",
|
||||
"next": "Slide berikutnya"
|
||||
}
|
||||
},
|
||||
"itemMenu": {
|
||||
"downloadVideo": {
|
||||
"label": "Unduh video",
|
||||
"aria": "Unduh video"
|
||||
},
|
||||
"downloadSnapshot": {
|
||||
"label": "Unduh snapshot",
|
||||
"aria": "Unduh snapshot"
|
||||
},
|
||||
"downloadCleanSnapshot": {
|
||||
"label": "Unduh snapshot bersih",
|
||||
"aria": "Unduh snapshot bersih"
|
||||
},
|
||||
"viewTrackingDetails": {
|
||||
"label": "Lihat detail pelacakan",
|
||||
"aria": "Tampilkan detail pelacakan"
|
||||
},
|
||||
"findSimilar": {
|
||||
"label": "Cari yang serupa",
|
||||
"aria": "Cari objek terlacak yang serupa"
|
||||
},
|
||||
"addTrigger": {
|
||||
"label": "Tambahkan pemicu",
|
||||
"aria": "Tambahkan pemicu untuk objek terlacak ini"
|
||||
},
|
||||
"audioTranscription": {
|
||||
"label": "Transkripsikan",
|
||||
"aria": "Minta transkripsi audio"
|
||||
},
|
||||
"submitToPlus": {
|
||||
"label": "Kirim ke Frigate+",
|
||||
"aria": "Kirim ke Frigate Plus"
|
||||
},
|
||||
"viewInHistory": {
|
||||
"label": "Lihat di Riwayat",
|
||||
"aria": "Lihat di Riwayat"
|
||||
},
|
||||
"deleteTrackedObject": {
|
||||
"label": "Hapus objek terlacak ini"
|
||||
},
|
||||
"showObjectDetails": {
|
||||
"label": "Tampilkan jalur objek"
|
||||
},
|
||||
"hideObjectDetails": {
|
||||
"label": "Sembunyikan jalur objek"
|
||||
},
|
||||
"debugReplay": {
|
||||
"label": "Pemutaran Ulang Debug",
|
||||
"aria": "Lihat objek terlacak ini dalam tampilan pemutaran ulang debug"
|
||||
},
|
||||
"more": {
|
||||
"aria": "Lainnya"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"confirmDelete": {
|
||||
"title": "Konfirmasi Hapus",
|
||||
"desc": "Menghapus objek terlacak ini akan menghapus snapshot, embedding yang tersimpan, dan entri detail pelacakan terkait. Rekaman video dari objek terlacak ini di tampilan Riwayat <em>TIDAK</em> akan dihapus.<br /><br />Anda yakin ingin melanjutkan?"
|
||||
},
|
||||
"toast": {
|
||||
"error": "Kesalahan saat menghapus objek terlacak ini: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"noTrackedObjects": "Tidak Ada Objek Terlacak Ditemukan",
|
||||
"fetchingTrackedObjectsFailed": "Kesalahan saat mengambil objek terlacak: {{errorMessage}}",
|
||||
"trackedObjectsCount_other": "{{count}} objek terlacak ",
|
||||
"searchResult": {
|
||||
"tooltip": "Cocok dengan {{type}} pada {{confidence}}%",
|
||||
"previousTrackedObject": "Objek terlacak sebelumnya",
|
||||
"nextTrackedObject": "Objek terlacak berikutnya",
|
||||
"deleteTrackedObject": {
|
||||
"toast": {
|
||||
"success": "Objek terlacak berhasil dihapus.",
|
||||
"error": "Gagal menghapus objek terlacak: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"aiAnalysis": {
|
||||
"title": "Analisis AI"
|
||||
},
|
||||
"concerns": {
|
||||
"label": "Kekhawatiran"
|
||||
},
|
||||
"objectLifecycle": {
|
||||
"noImageFound": "Tidak ada gambar yang ditemukan untuk objek terlacak ini."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,23 +1,128 @@
|
||||
{
|
||||
"documentTitle": "Expor - Frigate",
|
||||
"search": "Cari",
|
||||
"noExports": "Ekspor tidak ditemukan",
|
||||
"deleteExport": "Hapus Ekspor",
|
||||
"deleteExport.desc": "Apakah Anda yakin ingin menghapus {{exportName}}?",
|
||||
"documentTitle": "Ekspor - Frigate",
|
||||
"search": "Pencarian",
|
||||
"noExports": "Tidak ada ekspor ditemukan",
|
||||
"deleteExport": {
|
||||
"label": "Hapus Ekspor"
|
||||
},
|
||||
"deleteExport.desc": "Anda yakin ingin menghapus {{exportName}}?",
|
||||
"editExport": {
|
||||
"title": "Ubah nama ekspor",
|
||||
"title": "Ubah Nama Ekspor",
|
||||
"desc": "Masukkan nama baru untuk ekspor ini.",
|
||||
"saveExport": "Simpan Ekspor"
|
||||
},
|
||||
"toast": {
|
||||
"error": {
|
||||
"renameExportFailed": "Gagal mengganti nama ekspor: {{errorMessage}}"
|
||||
"renameExportFailed": "Gagal mengubah nama ekspor: {{errorMessage}}",
|
||||
"assignCaseFailed": "Gagal memperbarui penetapan kasus: {{errorMessage}}",
|
||||
"caseSaveFailed": "Gagal menyimpan kasus: {{errorMessage}}",
|
||||
"caseDeleteFailed": "Gagal menghapus kasus: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"tooltip": {
|
||||
"shareExport": "Bagikan Ekspor",
|
||||
"downloadVideo": "Unduh Video",
|
||||
"shareExport": "Bagikan ekspor",
|
||||
"downloadVideo": "Unduh video",
|
||||
"editName": "Ubah nama",
|
||||
"deleteExport": "Hapus ekspor"
|
||||
"deleteExport": "Hapus ekspor",
|
||||
"assignToCase": "Tambahkan ke kasus",
|
||||
"removeFromCase": "Hapus dari kasus"
|
||||
},
|
||||
"headings": {
|
||||
"cases": "Kasus",
|
||||
"uncategorizedExports": "Ekspor Tanpa Kategori"
|
||||
},
|
||||
"toolbar": {
|
||||
"newCase": "Kasus Baru",
|
||||
"addExport": "Tambahkan Ekspor",
|
||||
"editCase": "Edit Kasus",
|
||||
"deleteCase": "Hapus Kasus"
|
||||
},
|
||||
"deleteCase": {
|
||||
"label": "Hapus Kasus",
|
||||
"desc": "Anda yakin ingin menghapus {{caseName}}?",
|
||||
"descKeepExports": "Ekspor akan tetap tersedia sebagai ekspor tanpa kategori.",
|
||||
"descDeleteExports": "Semua ekspor dalam kasus ini akan dihapus secara permanen.",
|
||||
"deleteExports": "Hapus juga ekspor"
|
||||
},
|
||||
"caseDialog": {
|
||||
"title": "Tambahkan ke kasus",
|
||||
"description": "Pilih kasus yang sudah ada atau buat yang baru.",
|
||||
"selectLabel": "Kasus",
|
||||
"newCaseOption": "Buat kasus baru",
|
||||
"nameLabel": "Nama kasus",
|
||||
"descriptionLabel": "Deskripsi"
|
||||
},
|
||||
"caseCard": {
|
||||
"emptyCase": "Belum ada ekspor"
|
||||
},
|
||||
"jobCard": {
|
||||
"defaultName": "Ekspor {{camera}}",
|
||||
"queued": "Dalam antrean",
|
||||
"running": "Sedang berjalan",
|
||||
"preparing": "Menyiapkan",
|
||||
"copying": "Menyalin",
|
||||
"encoding": "Menyandi",
|
||||
"encodingRetry": "Menyandi (coba lagi)",
|
||||
"finalizing": "Menyelesaikan"
|
||||
},
|
||||
"caseView": {
|
||||
"noDescription": "Tidak ada deskripsi",
|
||||
"createdAt": "Dibuat {{value}}",
|
||||
"exportCount_one": "1 ekspor",
|
||||
"exportCount_other": "{{count}} ekspor",
|
||||
"cameraCount_one": "1 kamera",
|
||||
"cameraCount_other": "{{count}} kamera",
|
||||
"showMore": "Tampilkan lebih banyak",
|
||||
"showLess": "Tampilkan lebih sedikit",
|
||||
"emptyTitle": "Kasus ini kosong",
|
||||
"emptyDescription": "Tambahkan ekspor tanpa kategori yang sudah ada agar kasus tetap terorganisasi.",
|
||||
"emptyDescriptionNoExports": "Belum ada ekspor tanpa kategori yang tersedia untuk ditambahkan."
|
||||
},
|
||||
"caseEditor": {
|
||||
"createTitle": "Buat Kasus",
|
||||
"editTitle": "Edit Kasus",
|
||||
"namePlaceholder": "Nama kasus",
|
||||
"descriptionPlaceholder": "Tambahkan catatan atau konteks untuk kasus ini"
|
||||
},
|
||||
"addExportDialog": {
|
||||
"title": "Tambahkan Ekspor ke {{caseName}}",
|
||||
"searchPlaceholder": "Cari ekspor tanpa kategori",
|
||||
"empty": "Tidak ada ekspor tanpa kategori yang cocok dengan pencarian ini.",
|
||||
"addButton_one": "Tambahkan 1 Ekspor",
|
||||
"addButton_other": "Tambahkan {{count}} Ekspor",
|
||||
"adding": "Menambahkan..."
|
||||
},
|
||||
"selected_one": "{{count}} dipilih",
|
||||
"selected_other": "{{count}} dipilih",
|
||||
"bulkActions": {
|
||||
"addToCase": "Tambahkan ke Kasus",
|
||||
"moveToCase": "Pindahkan ke Kasus",
|
||||
"removeFromCase": "Hapus dari Kasus",
|
||||
"delete": "Hapus",
|
||||
"deleteNow": "Hapus Sekarang"
|
||||
},
|
||||
"bulkDelete": {
|
||||
"title": "Hapus Ekspor",
|
||||
"desc_one": "Anda yakin ingin menghapus {{count}} ekspor?",
|
||||
"desc_other": "Anda yakin ingin menghapus {{count}} ekspor?"
|
||||
},
|
||||
"bulkRemoveFromCase": {
|
||||
"title": "Hapus dari Kasus",
|
||||
"desc_one": "Hapus {{count}} ekspor dari kasus ini?",
|
||||
"desc_other": "Hapus {{count}} ekspor dari kasus ini?",
|
||||
"descKeepExports": "Ekspor akan dipindahkan ke tanpa kategori.",
|
||||
"descDeleteExports": "Ekspor akan dihapus secara permanen.",
|
||||
"deleteExports": "Hapus ekspor saja"
|
||||
},
|
||||
"bulkToast": {
|
||||
"success": {
|
||||
"delete": "Berhasil menghapus ekspor",
|
||||
"reassign": "Berhasil memperbarui penetapan kasus",
|
||||
"remove": "Berhasil menghapus ekspor dari kasus"
|
||||
},
|
||||
"error": {
|
||||
"deleteFailed": "Gagal menghapus ekspor: {{errorMessage}}",
|
||||
"reassignFailed": "Gagal memperbarui penetapan kasus: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
"subLabelScore": "Skor Sub Label",
|
||||
"face": "Detail Wajah",
|
||||
"scoreInfo": "Skor sub label adalah nilai gabungan dari tingkat keyakinan sistem dalam mengenali wajah. Nilai ini bisa berbeda dengan skor yang terlihat pada gambar cuplikan.",
|
||||
"timestamp": "Stempel waktu",
|
||||
"timestamp": "Cap waktu",
|
||||
"unknown": "Tidak diketahui",
|
||||
"faceDesc": "Detail objek terlacak yang menghasilkan wajah ini"
|
||||
},
|
||||
|
||||
@ -1,56 +1,57 @@
|
||||
{
|
||||
"documentTitle.withCamera": "{{camera}} - Langsung - Frigate",
|
||||
"documentTitle.withCamera": "{{camera}} - Live - Frigate",
|
||||
"documentTitle": {
|
||||
"default": "Siaran Langsung - Frigate"
|
||||
"default": "Live - Frigate"
|
||||
},
|
||||
"lowBandwidthMode": "Mode Bandwith-Rendah",
|
||||
"lowBandwidthMode": "Mode bandwidth rendah",
|
||||
"twoWayTalk": {
|
||||
"enable": "Nyalakan Komunikasi dua arah",
|
||||
"disable": "Nonaktifkan Komunikasi Dua Arah"
|
||||
"enable": "Aktifkan Audio Dua Arah",
|
||||
"disable": "Nonaktifkan Audio Dua Arah"
|
||||
},
|
||||
"cameraAudio": {
|
||||
"enable": "Nyalakan Audio Kamera",
|
||||
"disable": "Matikan Audio Kamera"
|
||||
"enable": "Aktifkan Audio Kamera",
|
||||
"disable": "Nonaktifkan Audio Kamera"
|
||||
},
|
||||
"ptz": {
|
||||
"move": {
|
||||
"clickMove": {
|
||||
"label": "Klik kotak ini untuk menengahkan kamera",
|
||||
"enable": "Aktifkan klik untuk bergerak",
|
||||
"disable": "Non-aktifkan klik untuk bergerak"
|
||||
"label": "Klik pada frame untuk memusatkan kamera",
|
||||
"enable": "Aktifkan klik untuk memindahkan",
|
||||
"disable": "Nonaktifkan klik untuk memindahkan",
|
||||
"enableWithZoom": "Aktifkan klik untuk memindahkan / seret untuk memperbesar"
|
||||
},
|
||||
"left": {
|
||||
"label": "Geser kamera PTZ ke kiri"
|
||||
"label": "Gerakkan kamera PTZ ke kiri"
|
||||
},
|
||||
"up": {
|
||||
"label": "Geser kamera PTZ keatas"
|
||||
"label": "Gerakkan kamera PTZ ke atas"
|
||||
},
|
||||
"down": {
|
||||
"label": "Geser kamera PTZ kebawah"
|
||||
"label": "Gerakkan kamera PTZ ke bawah"
|
||||
},
|
||||
"right": {
|
||||
"label": "Geser kamera PTZ ke kanan"
|
||||
"label": "Gerakkan kamera PTZ ke kanan"
|
||||
}
|
||||
},
|
||||
"zoom": {
|
||||
"in": {
|
||||
"label": "Perbesar kamera PTZ"
|
||||
"label": "Perbesar zoom kamera PTZ"
|
||||
},
|
||||
"out": {
|
||||
"label": "Perkecil kamera PTZ"
|
||||
"label": "Perkecil zoom kamera PTZ"
|
||||
}
|
||||
},
|
||||
"focus": {
|
||||
"in": {
|
||||
"label": "Fokus kamera PTZ kedalam"
|
||||
"label": "Fokuskan kamera PTZ ke dalam"
|
||||
},
|
||||
"out": {
|
||||
"label": "Fokus kamera PTZ keluar"
|
||||
"label": "Fokuskan kamera PTZ ke luar"
|
||||
}
|
||||
},
|
||||
"frame": {
|
||||
"center": {
|
||||
"label": "Klik pada frame untuk menengahkan kamera PTZ"
|
||||
"label": "Klik pada frame untuk memusatkan kamera PTZ"
|
||||
}
|
||||
},
|
||||
"presets": "Preset kamera PTZ"
|
||||
@ -61,10 +62,139 @@
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "Bisukan Semua Kamera",
|
||||
"disable": "Bunyikan Semua Kamera"
|
||||
"disable": "Suarakan Semua Kamera"
|
||||
},
|
||||
"detect": {
|
||||
"enable": "Aktifkan Pendeteksi",
|
||||
"disable": "Nonaktifkan Pendeteksi"
|
||||
"enable": "Aktifkan Deteksi",
|
||||
"disable": "Nonaktifkan Deteksi"
|
||||
},
|
||||
"recording": {
|
||||
"enable": "Aktifkan Perekaman",
|
||||
"disable": "Nonaktifkan Perekaman",
|
||||
"disabledInConfig": "Perekaman harus terlebih dahulu diaktifkan di Pengaturan untuk kamera ini."
|
||||
},
|
||||
"snapshots": {
|
||||
"enable": "Aktifkan Snapshot",
|
||||
"disable": "Nonaktifkan Snapshot"
|
||||
},
|
||||
"snapshot": {
|
||||
"takeSnapshot": "Unduh snapshot instan",
|
||||
"noVideoSource": "Tidak ada sumber video yang tersedia untuk snapshot.",
|
||||
"captureFailed": "Gagal mengambil snapshot.",
|
||||
"downloadStarted": "Pengunduhan snapshot dimulai."
|
||||
},
|
||||
"audioDetect": {
|
||||
"enable": "Aktifkan Deteksi Audio",
|
||||
"disable": "Nonaktifkan Deteksi Audio"
|
||||
},
|
||||
"transcription": {
|
||||
"enable": "Aktifkan Transkripsi Audio Langsung",
|
||||
"disable": "Nonaktifkan Transkripsi Audio Langsung"
|
||||
},
|
||||
"autotracking": {
|
||||
"enable": "Aktifkan Pelacakan Otomatis",
|
||||
"disable": "Nonaktifkan Pelacakan Otomatis"
|
||||
},
|
||||
"streamStats": {
|
||||
"enable": "Tampilkan Statistik Stream",
|
||||
"disable": "Sembunyikan Statistik Stream"
|
||||
},
|
||||
"manualRecording": {
|
||||
"title": "Sesuai Permintaan",
|
||||
"tips": "Unduh snapshot instan atau mulai event manual berdasarkan pengaturan retensi rekaman kamera ini.",
|
||||
"playInBackground": {
|
||||
"label": "Putar di latar belakang",
|
||||
"desc": "Aktifkan opsi ini untuk melanjutkan streaming saat pemutar disembunyikan."
|
||||
},
|
||||
"showStats": {
|
||||
"label": "Tampilkan Statistik",
|
||||
"desc": "Aktifkan opsi ini untuk menampilkan statistik stream sebagai overlay pada umpan kamera."
|
||||
},
|
||||
"debugView": "Tampilan Debug",
|
||||
"start": "Mulai perekaman sesuai permintaan",
|
||||
"started": "Perekaman manual sesuai permintaan dimulai.",
|
||||
"failedToStart": "Gagal memulai perekaman manual sesuai permintaan.",
|
||||
"recordDisabledTips": "Karena perekaman dinonaktifkan atau dibatasi dalam konfigurasi untuk kamera ini, hanya snapshot yang akan disimpan.",
|
||||
"end": "Akhiri perekaman sesuai permintaan",
|
||||
"ended": "Perekaman manual sesuai permintaan diakhiri.",
|
||||
"failedToEnd": "Gagal mengakhiri perekaman manual sesuai permintaan."
|
||||
},
|
||||
"streamingSettings": "Pengaturan Streaming",
|
||||
"notifications": "Notifikasi",
|
||||
"audio": "Audio",
|
||||
"suspend": {
|
||||
"forTime": "Tangguhkan selama: "
|
||||
},
|
||||
"stream": {
|
||||
"title": "Stream",
|
||||
"audio": {
|
||||
"tips": {
|
||||
"title": "Audio harus dikeluarkan oleh kamera Anda dan dikonfigurasi di go2rtc untuk stream ini."
|
||||
},
|
||||
"available": "Audio tersedia untuk stream ini",
|
||||
"unavailable": "Audio tidak tersedia untuk stream ini"
|
||||
},
|
||||
"debug": {
|
||||
"picker": "Pemilihan stream tidak tersedia dalam mode debug. Tampilan debug selalu menggunakan stream yang ditetapkan ke peran detect."
|
||||
},
|
||||
"twoWayTalk": {
|
||||
"tips": "Perangkat Anda harus mendukung fitur ini dan WebRTC harus dikonfigurasi untuk audio dua arah.",
|
||||
"available": "Audio dua arah tersedia untuk stream ini",
|
||||
"unavailable": "Audio dua arah tidak tersedia untuk stream ini"
|
||||
},
|
||||
"lowBandwidth": {
|
||||
"tips": "Tampilan live berada dalam mode bandwidth rendah karena buffering atau kesalahan stream.",
|
||||
"resetStream": "Atur ulang stream"
|
||||
},
|
||||
"playInBackground": {
|
||||
"label": "Putar di latar belakang",
|
||||
"tips": "Aktifkan opsi ini untuk melanjutkan streaming saat pemutar disembunyikan."
|
||||
}
|
||||
},
|
||||
"cameraSettings": {
|
||||
"title": "Pengaturan {{camera}}",
|
||||
"cameraEnabled": "Kamera Diaktifkan",
|
||||
"objectDetection": "Deteksi Objek",
|
||||
"recording": "Perekaman",
|
||||
"snapshots": "Snapshot",
|
||||
"audioDetection": "Deteksi Audio",
|
||||
"transcription": "Transkripsi Audio",
|
||||
"autotracking": "Pelacakan Otomatis"
|
||||
},
|
||||
"history": {
|
||||
"label": "Tampilkan rekaman historis"
|
||||
},
|
||||
"effectiveRetainMode": {
|
||||
"modes": {
|
||||
"all": "Semua",
|
||||
"motion": "Gerakan",
|
||||
"active_objects": "Objek Aktif"
|
||||
}
|
||||
},
|
||||
"editLayout": {
|
||||
"label": "Edit Tata Letak",
|
||||
"group": {
|
||||
"label": "Edit Grup Kamera"
|
||||
},
|
||||
"exitEdit": "Keluar dari Mode Edit"
|
||||
},
|
||||
"noCameras": {
|
||||
"title": "Tidak Ada Kamera yang Dikonfigurasi",
|
||||
"description": "Mulai dengan menghubungkan kamera ke Frigate.",
|
||||
"buttonText": "Tambahkan Kamera",
|
||||
"restricted": {
|
||||
"title": "Tidak Ada Kamera yang Tersedia",
|
||||
"description": "Anda tidak memiliki izin untuk melihat kamera apa pun di grup ini."
|
||||
},
|
||||
"default": {
|
||||
"title": "Tidak Ada Kamera yang Dikonfigurasi",
|
||||
"description": "Mulai dengan menghubungkan kamera ke Frigate.",
|
||||
"buttonText": "Tambahkan Kamera"
|
||||
},
|
||||
"group": {
|
||||
"title": "Tidak Ada Kamera dalam Grup",
|
||||
"description": "Grup kamera ini tidak memiliki kamera yang ditetapkan atau diaktifkan.",
|
||||
"buttonText": "Kelola Grup"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1,73 @@
|
||||
{}
|
||||
{
|
||||
"documentTitle": "Pencarian Gerakan - Frigate",
|
||||
"title": "Pencarian Gerakan",
|
||||
"description": "Gambar poligon untuk menentukan wilayah yang diminati, lalu tentukan rentang waktu untuk mencari perubahan gerakan di dalam wilayah tersebut.",
|
||||
"selectCamera": "Pencarian Gerakan sedang dimuat",
|
||||
"startSearch": "Mulai Pencarian",
|
||||
"searchStarted": "Pencarian dimulai",
|
||||
"searchCancelled": "Pencarian dibatalkan",
|
||||
"cancelSearch": "Batal",
|
||||
"searching": "Pencarian sedang berlangsung.",
|
||||
"searchComplete": "Pencarian selesai",
|
||||
"noResultsYet": "Jalankan pencarian untuk menemukan perubahan gerakan di wilayah yang dipilih",
|
||||
"noChangesFound": "Tidak ada perubahan piksel yang terdeteksi di wilayah yang dipilih",
|
||||
"changesFound_other": "Ditemukan {{count}} perubahan gerakan",
|
||||
"framesProcessed": "{{count}} frame diproses",
|
||||
"jumpToTime": "Lompat ke waktu ini",
|
||||
"results": "Hasil",
|
||||
"showSegmentHeatmap": "Peta panas",
|
||||
"newSearch": "Pencarian Baru",
|
||||
"clearResults": "Hapus Hasil",
|
||||
"clearROI": "Hapus poligon",
|
||||
"polygonControls": {
|
||||
"points_other": "{{count}} titik",
|
||||
"undo": "Urungkan titik terakhir",
|
||||
"reset": "Atur ulang poligon"
|
||||
},
|
||||
"motionHeatmapLabel": "Peta Panas Gerakan",
|
||||
"dialog": {
|
||||
"title": "Pencarian Gerakan",
|
||||
"cameraLabel": "Kamera",
|
||||
"previewAlt": "Pratinjau kamera untuk {{camera}}"
|
||||
},
|
||||
"timeRange": {
|
||||
"title": "Rentang Pencarian",
|
||||
"start": "Waktu mulai",
|
||||
"end": "Waktu selesai"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Pengaturan Pencarian",
|
||||
"parallelMode": "Mode paralel",
|
||||
"parallelModeDesc": "Pindai beberapa segmen rekaman secara bersamaan (lebih cepat, tetapi penggunaan CPU jauh lebih tinggi)",
|
||||
"threshold": "Ambang Sensitivitas",
|
||||
"thresholdDesc": "Nilai yang lebih rendah mendeteksi perubahan yang lebih kecil (1-255)",
|
||||
"minArea": "Luas Perubahan Minimum",
|
||||
"minAreaDesc": "Persentase minimum dari wilayah yang diminati yang harus berubah agar dianggap signifikan",
|
||||
"frameSkip": "Lewati Frame",
|
||||
"frameSkipDesc": "Proses setiap frame ke-N. Atur ini ke frame rate kamera Anda untuk memproses satu frame per detik (misalnya 5 untuk kamera 5 FPS, 30 untuk kamera 30 FPS). Nilai yang lebih tinggi akan lebih cepat, tetapi bisa melewatkan kejadian gerakan singkat.",
|
||||
"maxResults": "Jumlah Hasil Maksimum",
|
||||
"maxResultsDesc": "Berhenti setelah sebanyak ini cap waktu yang cocok"
|
||||
},
|
||||
"errors": {
|
||||
"noCamera": "Silakan pilih kamera",
|
||||
"noROI": "Silakan gambar wilayah yang diminati",
|
||||
"noTimeRange": "Silakan pilih rentang waktu",
|
||||
"invalidTimeRange": "Waktu selesai harus setelah waktu mulai",
|
||||
"searchFailed": "Pencarian gagal: {{message}}",
|
||||
"polygonTooSmall": "Poligon harus memiliki setidaknya 3 titik",
|
||||
"unknown": "Kesalahan tidak diketahui"
|
||||
},
|
||||
"changePercentage": "{{percentage}}% berubah",
|
||||
"metrics": {
|
||||
"title": "Metrik Pencarian",
|
||||
"segmentsScanned": "Segmen dipindai",
|
||||
"segmentsProcessed": "Diproses",
|
||||
"segmentsSkippedInactive": "Dilewati (tidak ada aktivitas)",
|
||||
"segmentsSkippedHeatmap": "Dilewati (tidak ada tumpang tindih ROI)",
|
||||
"fallbackFullRange": "Pemindaian rentang penuh cadangan",
|
||||
"framesDecoded": "Frame didekode",
|
||||
"wallTime": "Waktu pencarian",
|
||||
"segmentErrors": "Kesalahan segmen",
|
||||
"seconds": "{{seconds}} dtk"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1,59 @@
|
||||
{}
|
||||
{
|
||||
"title": "Pemutaran Ulang Debug",
|
||||
"description": "Putar ulang rekaman kamera untuk debugging. Daftar objek menampilkan ringkasan objek terdeteksi yang tertunda waktu, dan tab Pesan menampilkan aliran pesan internal Frigate dari rekaman pemutaran ulang.",
|
||||
"websocket_messages": "Pesan",
|
||||
"dialog": {
|
||||
"title": "Mulai Pemutaran Ulang Debug",
|
||||
"description": "Buat kamera pemutaran ulang sementara yang memutar berulang rekaman historis untuk men-debug masalah deteksi dan pelacakan objek. Kamera pemutaran ulang akan memiliki konfigurasi deteksi yang sama dengan kamera sumber. Pilih rentang waktu untuk memulai.",
|
||||
"camera": "Kamera Sumber",
|
||||
"timeRange": "Rentang Waktu",
|
||||
"preset": {
|
||||
"1m": "1 Menit Terakhir",
|
||||
"5m": "5 Menit Terakhir",
|
||||
"timeline": "Dari Linimasa",
|
||||
"custom": "Kustom"
|
||||
},
|
||||
"startButton": "Mulai Pemutaran Ulang",
|
||||
"selectFromTimeline": "Pilih",
|
||||
"starting": "Memulai pemutaran ulang...",
|
||||
"startLabel": "Mulai",
|
||||
"endLabel": "Selesai",
|
||||
"toast": {
|
||||
"error": "Gagal memulai pemutaran ulang debug: {{error}}",
|
||||
"alreadyActive": "Sesi pemutaran ulang sudah aktif",
|
||||
"stopError": "Gagal menghentikan pemutaran ulang debug: {{error}}",
|
||||
"goToReplay": "Buka Pemutaran Ulang"
|
||||
}
|
||||
},
|
||||
"page": {
|
||||
"noSession": "Tidak Ada Sesi Pemutaran Ulang Debug Aktif",
|
||||
"noSessionDesc": "Mulai Pemutaran Ulang Debug dari tampilan Riwayat dengan mengeklik tombol Aksi di bilah alat dan memilih Pemutaran Ulang Debug.",
|
||||
"goToRecordings": "Buka Riwayat",
|
||||
"preparingClip": "Menyiapkan klip…",
|
||||
"preparingClipDesc": "Frigate sedang menggabungkan rekaman untuk rentang waktu yang dipilih. Ini dapat memakan waktu satu menit untuk rentang yang lebih panjang.",
|
||||
"startingCamera": "Memulai Pemutaran Ulang Debug…",
|
||||
"startError": {
|
||||
"title": "Gagal memulai Pemutaran Ulang Debug",
|
||||
"back": "Kembali ke Riwayat"
|
||||
},
|
||||
"sourceCamera": "Kamera Sumber",
|
||||
"replayCamera": "Kamera Pemutaran Ulang",
|
||||
"initializingReplay": "Menginisialisasi Pemutaran Ulang Debug...",
|
||||
"stoppingReplay": "Menghentikan Pemutaran Ulang Debug...",
|
||||
"stopReplay": "Hentikan Pemutaran Ulang",
|
||||
"confirmStop": {
|
||||
"title": "Hentikan Pemutaran Ulang Debug?",
|
||||
"description": "Ini akan menghentikan sesi dan membersihkan semua data sementara. Anda yakin?",
|
||||
"confirm": "Hentikan Pemutaran Ulang",
|
||||
"cancel": "Batal"
|
||||
},
|
||||
"activity": "Aktivitas",
|
||||
"objects": "Daftar Objek",
|
||||
"audioDetections": "Deteksi Audio",
|
||||
"noActivity": "Tidak ada aktivitas terdeteksi",
|
||||
"activeTracking": "Pelacakan aktif",
|
||||
"noActiveTracking": "Tidak ada pelacakan aktif",
|
||||
"configuration": "Konfigurasi",
|
||||
"configurationDesc": "Sesuaikan secara halus pengaturan deteksi gerakan dan pelacakan objek untuk kamera Pemutaran Ulang Debug. Tidak ada perubahan yang disimpan ke file konfigurasi Frigate Anda."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,36 +1,73 @@
|
||||
{
|
||||
"search": "Cari",
|
||||
"savedSearches": "Simpan Pencarian",
|
||||
"search": "Pencarian",
|
||||
"savedSearches": "Pencarian Tersimpan",
|
||||
"searchFor": "Cari untuk {{inputValue}}",
|
||||
"button": {
|
||||
"clear": "Bersihkan pencarian",
|
||||
"save": "Simpan Pencarian",
|
||||
"clear": "Hapus pencarian",
|
||||
"save": "Simpan pencarian",
|
||||
"delete": "Hapus pencarian yang disimpan",
|
||||
"filterInformation": "Saring Informasi",
|
||||
"filterInformation": "Informasi filter",
|
||||
"filterActive": "Filter aktif"
|
||||
},
|
||||
"trackedObjectId": "Tracked Object ID",
|
||||
"trackedObjectId": "ID Objek yang Dilacak",
|
||||
"filter": {
|
||||
"label": {
|
||||
"cameras": "Kamera",
|
||||
"labels": "Label",
|
||||
"zones": "Zona",
|
||||
"sub_labels": "Sublabel",
|
||||
"sub_labels": "Sub Label",
|
||||
"attributes": "Atribut",
|
||||
"search_type": "Tipe pencarian",
|
||||
"search_type": "Jenis Pencarian",
|
||||
"time_range": "Rentang Waktu",
|
||||
"before": "Sebelum",
|
||||
"after": "Sesudah",
|
||||
"min_score": "Minimal Skor",
|
||||
"max_score": "Maks Skor",
|
||||
"min_speed": "Kecepatan Min",
|
||||
"max_speed": "Kecepatan Maks",
|
||||
"recognized_license_plate": "Plat Kendaraan Dikenali",
|
||||
"has_clip": "Memiliki Klip",
|
||||
"has_snapshot": "Memiliki tangkapan layar"
|
||||
"min_score": "Skor Minimum",
|
||||
"max_score": "Skor Maksimum",
|
||||
"min_speed": "Kecepatan Minimum",
|
||||
"max_speed": "Kecepatan Maksimum",
|
||||
"recognized_license_plate": "Pelat Nomor yang Diakui",
|
||||
"has_clip": "Memiliki Video Klip",
|
||||
"has_snapshot": "Memiliki Snapshot"
|
||||
},
|
||||
"searchType": {
|
||||
"thumbnail": "Tumbnail"
|
||||
"thumbnail": "Gambar Mini",
|
||||
"description": "Deskripsi"
|
||||
},
|
||||
"toast": {
|
||||
"error": {
|
||||
"beforeDateBeLaterAfter": "Tanggal 'before' harus lebih akhir daripada tanggal 'after'.",
|
||||
"afterDatebeEarlierBefore": "Tanggal 'after' harus lebih awal daripada tanggal 'before'.",
|
||||
"minScoreMustBeLessOrEqualMaxScore": "'min_score' harus lebih kecil dari atau sama dengan 'max_score'.",
|
||||
"maxScoreMustBeGreaterOrEqualMinScore": "'max_score' harus lebih besar dari atau sama dengan 'min_score'.",
|
||||
"minSpeedMustBeLessOrEqualMaxSpeed": "'min_speed' harus lebih kecil dari atau sama dengan 'max_speed'.",
|
||||
"maxSpeedMustBeGreaterOrEqualMinSpeed": "'max_speed' harus lebih besar dari atau sama dengan 'min_speed'."
|
||||
}
|
||||
},
|
||||
"tips": {
|
||||
"title": "Cara menggunakan filter teks",
|
||||
"desc": {
|
||||
"text": "Filter membantu Anda mempersempit hasil pencarian. Berikut cara menggunakannya di kolom input:",
|
||||
"step1": "Ketik nama kunci filter diikuti tanda titik dua (misalnya, \"cameras:\").",
|
||||
"step2": "Pilih nilai dari saran atau ketik nilai Anda sendiri.",
|
||||
"step3": "Gunakan beberapa filter dengan menambahkannya satu per satu dengan spasi di antaranya.",
|
||||
"step4": "Filter tanggal (before: dan after:) menggunakan format {{DateFormat}}.",
|
||||
"step5": "Filter rentang waktu menggunakan format {{exampleTime}}.",
|
||||
"step6": "Hapus filter dengan mengklik tanda 'x' di sebelahnya.",
|
||||
"exampleLabel": "Contoh:"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"currentFilterType": "Nilai Filter",
|
||||
"noFilters": "Filter",
|
||||
"activeFilters": "Filter Aktif"
|
||||
}
|
||||
},
|
||||
"similaritySearch": {
|
||||
"title": "Pencarian Kemiripan",
|
||||
"active": "Pencarian kemiripan aktif",
|
||||
"clear": "Hapus pencarian kemiripan"
|
||||
},
|
||||
"placeholder": {
|
||||
"search": "Pencarian…"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,14 @@
|
||||
{
|
||||
"documentTitle": {
|
||||
"cameras": "Status kamera - Frigate",
|
||||
"storage": "Status Penyimpanan - Frigate",
|
||||
"general": "Status umum - Frigate",
|
||||
"cameras": "Statistik Kamera - Frigate",
|
||||
"storage": "Statistik Penyimpanan - Frigate",
|
||||
"general": "Statistik Umum - Frigate",
|
||||
"enrichments": "Statistik Enrichment - Frigate",
|
||||
"logs": {
|
||||
"frigate": "Log Frigate - Frigate",
|
||||
"go2rtc": "Log Go2RTC - Frigate",
|
||||
"nginx": "Log NGINX - Frigate"
|
||||
"nginx": "Log Nginx - Frigate",
|
||||
"websocket": "Log Pesan - Frigate"
|
||||
}
|
||||
},
|
||||
"title": "Sistem",
|
||||
@ -17,32 +18,242 @@
|
||||
"label": "Unduh Log"
|
||||
},
|
||||
"copy": {
|
||||
"label": "Salin ke Clipboard",
|
||||
"success": "Log tersalin ke clipboard",
|
||||
"error": "Tidak dapat menyalin ke clipboard"
|
||||
"label": "Salin ke Papan Klip",
|
||||
"success": "Log berhasil disalin ke papan klip",
|
||||
"error": "Tidak dapat menyalin log ke papan klip"
|
||||
},
|
||||
"type": {
|
||||
"label": "Tipe",
|
||||
"timestamp": "Waktu",
|
||||
"label": "Jenis",
|
||||
"timestamp": "Stempel waktu",
|
||||
"tag": "Tag",
|
||||
"message": "Pesan"
|
||||
},
|
||||
"tips": "Logs sedang berjalan dari server",
|
||||
"tips": "Log sedang dialirkan dari server",
|
||||
"toast": {
|
||||
"error": {
|
||||
"fetchingLogsFailed": "Error saat mengambil log: {{errorMessage}}",
|
||||
"whileStreamingLogs": "Eror saat streaming logs: {{errorMessage}}"
|
||||
"fetchingLogsFailed": "Kesalahan saat mengambil log: {{errorMessage}}",
|
||||
"whileStreamingLogs": "Kesalahan saat mengalirkan log: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"websocket": {
|
||||
"label": "Pesan",
|
||||
"pause": "Jeda",
|
||||
"resume": "Lanjutkan",
|
||||
"clear": "Bersihkan",
|
||||
"filter": {
|
||||
"all": "Semua topik",
|
||||
"topics": "Topik",
|
||||
"events": "Peristiwa",
|
||||
"reviews": "Tinjauan",
|
||||
"classification": "Klasifikasi",
|
||||
"face_recognition": "Pengenalan Wajah",
|
||||
"lpr": "LPR",
|
||||
"camera_activity": "Aktivitas kamera",
|
||||
"system": "Sistem",
|
||||
"camera": "Kamera",
|
||||
"all_cameras": "Semua kamera",
|
||||
"cameras_count_one": "{{count}} Kamera",
|
||||
"cameras_count_other": "{{count}} Kamera"
|
||||
},
|
||||
"empty": "Belum ada pesan yang ditangkap",
|
||||
"count_one": "{{count}} pesan",
|
||||
"count_other": "{{count}} pesan",
|
||||
"expanded": {
|
||||
"payload": "Payload"
|
||||
}
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"title": "Umum",
|
||||
"detector": {
|
||||
"title": "Pendeteksi",
|
||||
"inferenceSpeed": "Pendeteksi Kecepatan Inferensi",
|
||||
"temperature": "Pendeteksi Suhu",
|
||||
"cpuUsage": "Pendeteksi penggunaan CPU",
|
||||
"cpuUsageInformation": "CPU yang digunakan dalam mempersiapkan data masukan dan keluaran ke/dari model deteksi. Nilai ini tidak mengukur penggunaan inferensi, bahkan jika menggunakan GPU atau akselerator."
|
||||
"title": "Detektor",
|
||||
"inferenceSpeed": "Kecepatan Inferensi Detektor",
|
||||
"temperature": "Suhu Detektor",
|
||||
"cpuUsage": "Penggunaan CPU Detektor",
|
||||
"cpuUsageInformation": "CPU yang digunakan untuk menyiapkan data input dan output ke/dari model deteksi. Nilai ini tidak mengukur penggunaan inferensi, meskipun menggunakan GPU atau akselerator.",
|
||||
"memoryUsage": "Penggunaan Memori Detektor"
|
||||
},
|
||||
"hardwareInfo": {
|
||||
"title": "Info Perangkat Keras",
|
||||
"gpuUsage": "Penggunaan GPU",
|
||||
"gpuMemory": "Memori GPU",
|
||||
"gpuEncoder": "Encoder GPU",
|
||||
"gpuCompute": "Komputasi / Enkode GPU",
|
||||
"gpuDecoder": "Decoder GPU",
|
||||
"gpuTemperature": "Suhu GPU",
|
||||
"gpuInfo": {
|
||||
"vainfoOutput": {
|
||||
"title": "Output Vainfo",
|
||||
"returnCode": "Kode Pengembalian: {{code}}",
|
||||
"processOutput": "Output Proses:",
|
||||
"processError": "Kesalahan Proses:"
|
||||
},
|
||||
"nvidiaSMIOutput": {
|
||||
"title": "Output Nvidia SMI",
|
||||
"name": "Nama: {{name}}",
|
||||
"driver": "Driver: {{driver}}",
|
||||
"cudaComputerCapability": "Kemampuan Komputasi CUDA: {{cuda_compute}}",
|
||||
"vbios": "Info VBios: {{vbios}}"
|
||||
},
|
||||
"closeInfo": {
|
||||
"label": "Tutup info GPU"
|
||||
},
|
||||
"copyInfo": {
|
||||
"label": "Salin info GPU"
|
||||
},
|
||||
"toast": {
|
||||
"success": "Info GPU berhasil disalin ke papan klip"
|
||||
}
|
||||
},
|
||||
"npuUsage": "Penggunaan NPU",
|
||||
"npuMemory": "Memori NPU",
|
||||
"npuTemperature": "Suhu NPU",
|
||||
"intelGpuWarning": {
|
||||
"title": "Peringatan Statistik GPU Intel",
|
||||
"message": "Statistik GPU tidak tersedia",
|
||||
"description": "Ini adalah bug yang sudah diketahui pada alat pelaporan statistik GPU Intel (intel_gpu_top) yang dapat rusak dan berulang kali mengembalikan penggunaan GPU sebesar 0% bahkan ketika akselerasi perangkat keras dan deteksi objek berjalan dengan benar pada (i)GPU. Ini bukan bug Frigate. Anda dapat memulai ulang host untuk memperbaiki masalah ini sementara dan memastikan GPU berfungsi dengan benar. Ini tidak memengaruhi kinerja."
|
||||
}
|
||||
},
|
||||
"otherProcesses": {
|
||||
"title": "Proses Lainnya",
|
||||
"processCpuUsage": "Penggunaan CPU Proses",
|
||||
"processMemoryUsage": "Penggunaan Memori Proses",
|
||||
"series": {
|
||||
"go2rtc": "go2rtc",
|
||||
"recording": "perekaman",
|
||||
"review_segment": "segmen tinjauan",
|
||||
"embeddings": "embedding",
|
||||
"audio_detector": "detektor audio"
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"title": "Penyimpanan",
|
||||
"overview": "Ringkasan",
|
||||
"recordings": {
|
||||
"title": "Rekaman",
|
||||
"tips": "Nilai ini menunjukkan total penyimpanan yang digunakan oleh rekaman di basis data Frigate. Frigate tidak melacak penggunaan penyimpanan untuk semua file di disk Anda.",
|
||||
"earliestRecording": "Rekaman paling awal yang tersedia:"
|
||||
},
|
||||
"shm": {
|
||||
"title": "Alokasi SHM (memori bersama)",
|
||||
"warning": "Ukuran SHM saat ini sebesar {{total}}MB terlalu kecil. Tingkatkan menjadi setidaknya {{min_shm}}MB.",
|
||||
"frameLifetime": {
|
||||
"title": "Masa hidup frame",
|
||||
"description": "Setiap kamera memiliki {{frames}} slot frame di memori bersama. Pada laju frame kamera tercepat, setiap frame tersedia selama sekitar {{lifetime}} dtk sebelum ditimpa."
|
||||
}
|
||||
},
|
||||
"cameraStorage": {
|
||||
"title": "Penyimpanan Kamera",
|
||||
"camera": "Kamera",
|
||||
"unusedStorageInformation": "Informasi Penyimpanan Tidak Terpakai",
|
||||
"storageUsed": "Penyimpanan",
|
||||
"percentageOfTotalUsed": "Persentase dari Total",
|
||||
"bandwidth": "Bandwidth",
|
||||
"unused": {
|
||||
"title": "Tidak Terpakai",
|
||||
"tips": "Nilai ini mungkin tidak secara akurat merepresentasikan ruang kosong yang tersedia untuk Frigate jika Anda memiliki file lain yang disimpan di drive selain rekaman Frigate. Frigate tidak melacak penggunaan penyimpanan di luar rekamannya."
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameras": {
|
||||
"title": "Kamera",
|
||||
"overview": "Ringkasan",
|
||||
"info": {
|
||||
"aspectRatio": "rasio aspek",
|
||||
"cameraProbeInfo": "Info Probe Kamera {{camera}}",
|
||||
"streamDataFromFFPROBE": "Data stream diperoleh dengan <code>ffprobe</code>.",
|
||||
"fetching": "Mengambil Data Kamera",
|
||||
"stream": "Stream {{idx}}",
|
||||
"video": "Video:",
|
||||
"codec": "Codec:",
|
||||
"resolution": "Resolusi:",
|
||||
"fps": "FPS:",
|
||||
"unknown": "Tidak diketahui",
|
||||
"audio": "Audio:",
|
||||
"error": "Kesalahan: {{error}}",
|
||||
"tips": {
|
||||
"title": "Info Probe Kamera"
|
||||
}
|
||||
},
|
||||
"framesAndDetections": "Frame / Deteksi",
|
||||
"noCameras": {
|
||||
"title": "Tidak Ada Kamera Ditemukan"
|
||||
},
|
||||
"label": {
|
||||
"camera": "kamera",
|
||||
"detect": "deteksi",
|
||||
"skipped": "dilewati",
|
||||
"ffmpeg": "FFmpeg",
|
||||
"capture": "penangkapan",
|
||||
"overallFramesPerSecond": "jumlah frame per detik keseluruhan",
|
||||
"overallDetectionsPerSecond": "jumlah deteksi per detik keseluruhan",
|
||||
"overallSkippedDetectionsPerSecond": "jumlah deteksi yang dilewati per detik keseluruhan",
|
||||
"cameraFfmpeg": "FFmpeg {{camName}}",
|
||||
"cameraCapture": "penangkapan {{camName}}",
|
||||
"cameraDetect": "deteksi {{camName}}",
|
||||
"cameraGpu": "GPU {{camName}}",
|
||||
"cameraFramesPerSecond": "frame per detik {{camName}}",
|
||||
"cameraDetectionsPerSecond": "deteksi per detik {{camName}}",
|
||||
"cameraSkippedDetectionsPerSecond": "deteksi yang dilewati per detik {{camName}}"
|
||||
},
|
||||
"connectionQuality": {
|
||||
"title": "Kualitas Koneksi",
|
||||
"excellent": "Sangat Baik",
|
||||
"fair": "Cukup",
|
||||
"poor": "Buruk",
|
||||
"unusable": "Tidak Dapat Digunakan",
|
||||
"fps": "FPS",
|
||||
"expectedFps": "FPS yang Diharapkan",
|
||||
"reconnectsLastHour": "Penyambungan ulang (1 jam terakhir)",
|
||||
"stallsLastHour": "Macet (1 jam terakhir)"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"copyToClipboard": "Data probe berhasil disalin ke papan klip."
|
||||
},
|
||||
"error": {
|
||||
"unableToProbeCamera": "Tidak dapat memeriksa kamera: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"lastRefreshed": "Terakhir diperbarui: ",
|
||||
"stats": {
|
||||
"ffmpegHighCpuUsage": "{{camera}} memiliki penggunaan CPU FFmpeg yang tinggi ({{ffmpegAvg}}%)",
|
||||
"detectHighCpuUsage": "{{camera}} memiliki penggunaan CPU deteksi yang tinggi ({{detectAvg}}%)",
|
||||
"healthy": "Sistem sehat",
|
||||
"reindexingEmbeddings": "Mengindeks ulang embedding ({{processed}}% selesai)",
|
||||
"cameraIsOffline": "{{camera}} sedang offline",
|
||||
"detectIsSlow": "{{detect}} lambat ({{speed}} md)",
|
||||
"detectIsVerySlow": "{{detect}} sangat lambat ({{speed}} md)",
|
||||
"shmTooLow": "Alokasi /dev/shm ({{total}} MB) harus ditingkatkan menjadi setidaknya {{min}} MB.",
|
||||
"debugReplayActive": "Sesi pemutaran ulang debug sedang aktif"
|
||||
},
|
||||
"enrichments": {
|
||||
"title": "Enrichment",
|
||||
"infPerSecond": "Inferensi Per Detik",
|
||||
"averageInf": "Waktu Inferensi Rata-rata",
|
||||
"embeddings": {
|
||||
"image_embedding": "Embedding Gambar",
|
||||
"text_embedding": "Embedding Teks",
|
||||
"face_recognition": "Pengenalan Wajah",
|
||||
"plate_recognition": "Pengenalan Plat",
|
||||
"image_embedding_speed": "Kecepatan Embedding Gambar",
|
||||
"face_embedding_speed": "Kecepatan Embedding Wajah",
|
||||
"face_recognition_speed": "Kecepatan Pengenalan Wajah",
|
||||
"plate_recognition_speed": "Kecepatan Pengenalan Plat",
|
||||
"text_embedding_speed": "Kecepatan Embedding Teks",
|
||||
"yolov9_plate_detection_speed": "Kecepatan Deteksi Plat YOLOv9",
|
||||
"yolov9_plate_detection": "Deteksi Plat YOLOv9",
|
||||
"review_description": "Deskripsi Tinjauan",
|
||||
"review_description_speed": "Kecepatan Deskripsi Tinjauan",
|
||||
"review_description_events_per_second": "Deskripsi Tinjauan",
|
||||
"object_description": "Deskripsi Objek",
|
||||
"object_description_speed": "Kecepatan Deskripsi Objek",
|
||||
"object_description_events_per_second": "Deskripsi Objek",
|
||||
"classification": "Klasifikasi {{name}}",
|
||||
"classification_speed": "Kecepatan Klasifikasi {{name}}",
|
||||
"classification_events_per_second": "Peristiwa Klasifikasi {{name}} Per Detik"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -222,7 +222,8 @@
|
||||
"id": "Bahasa Indonesia (Indonesiano)",
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Hrvatski (Croato)",
|
||||
"bs": "Bosanski (Bosniaco)"
|
||||
"bs": "Bosanski (Bosniaco)",
|
||||
"zhHant": "繁體中文 (Cinese Tradizionale)"
|
||||
},
|
||||
"darkMode": {
|
||||
"label": "Modalità scura",
|
||||
@ -333,5 +334,8 @@
|
||||
"internalID": "L'ID interno che Frigate utilizza nella configurazione e nel database"
|
||||
},
|
||||
"no_items": "Nessun elemento",
|
||||
"validation_errors": "Errori di convalida"
|
||||
"validation_errors": "Errori di convalida",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "Salvato — lascia vuoto per mantenere aggiornato"
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,5 +48,6 @@
|
||||
"submitFrigatePlusFailed": "Impossibile inviare il fotogramma a Frigate+"
|
||||
}
|
||||
},
|
||||
"cameraDisabled": "La telecamera è disabilita"
|
||||
"cameraDisabled": "La telecamera è disabilita",
|
||||
"cameraOff": "La telecamera è spenta"
|
||||
}
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
"description": "Il nome della telecamera è obbligatorio"
|
||||
},
|
||||
"friendly_name": {
|
||||
"description": "Nome amichevole della telecamera utilizzato nell'interfaccia utente di Frigate",
|
||||
"label": "Nome amichevole"
|
||||
"description": "Nome descrittivo della telecamera utilizzato nell'interfaccia utente di Frigate",
|
||||
"label": "Nome descrittivo"
|
||||
},
|
||||
"enabled": {
|
||||
"label": "Abilitata",
|
||||
@ -169,6 +169,10 @@
|
||||
"threshold": {
|
||||
"label": "Soglia stazionaria",
|
||||
"description": "Numero di fotogrammi senza cambio di posizione necessari per contrassegnare un oggetto come stazionario."
|
||||
},
|
||||
"max_frames": {
|
||||
"label": "Fotogrammi massimi",
|
||||
"description": "Limita la durata del tracciamento degli oggetti statici prima che vengano scartati."
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -179,7 +183,8 @@
|
||||
"label": "Revisiona"
|
||||
},
|
||||
"profiles": {
|
||||
"label": "Profili"
|
||||
"label": "Profili",
|
||||
"description": "Profili di configurazione denominati con sovrascritture parziali che possono essere attivati in fase di esecuzione."
|
||||
},
|
||||
"record": {
|
||||
"label": "Registrazione",
|
||||
@ -248,7 +253,11 @@
|
||||
"semantic_search": {
|
||||
"label": "Ricerca semantica",
|
||||
"triggers": {
|
||||
"label": "Inneschi"
|
||||
"label": "Inneschi",
|
||||
"friendly_name": {
|
||||
"label": "Nome descrittivo",
|
||||
"description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo innesco."
|
||||
}
|
||||
}
|
||||
},
|
||||
"lpr": {
|
||||
@ -269,7 +278,11 @@
|
||||
"enabled": {
|
||||
"label": "Abilitata"
|
||||
},
|
||||
"label": "Zone"
|
||||
"label": "Zone",
|
||||
"friendly_name": {
|
||||
"label": "Nome zona",
|
||||
"description": "Un nome intuitivo per la zona, visualizzato nell'interfaccia utente di Frigate. Se non specificato, verrà utilizzata una versione formattata del nome della zona."
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"description": "Tipo di telecamera",
|
||||
|
||||
@ -89,11 +89,16 @@
|
||||
"description": "Elenco degli indirizzi IP proxy attendibili utilizzati per determinare l'indirizzo IP del client ai fini della limitazione della velocità."
|
||||
},
|
||||
"roles": {
|
||||
"label": "Mappatura dei ruoli"
|
||||
"label": "Mappatura dei ruoli",
|
||||
"description": "Associa i ruoli agli elenchi delle telecamere. Un elenco vuoto garantisce l'accesso a tutte le telecamere per quel ruolo."
|
||||
},
|
||||
"failed_login_rate_limit": {
|
||||
"label": "Limiti di accesso non riusciti",
|
||||
"description": "Regole di limitazione della frequenza per i tentativi di accesso non riusciti al fine di ridurre gli attacchi di forza bruta."
|
||||
},
|
||||
"hash_iterations": {
|
||||
"description": "Numero di iterazioni PBKDF2-SHA256 da utilizzare per criptare le password utente.",
|
||||
"label": "Iterazioni di crittografia"
|
||||
}
|
||||
},
|
||||
"ffmpeg": {
|
||||
@ -294,6 +299,10 @@
|
||||
"threshold": {
|
||||
"label": "Soglia stazionaria",
|
||||
"description": "Numero di fotogrammi senza cambio di posizione necessari per contrassegnare un oggetto come stazionario."
|
||||
},
|
||||
"max_frames": {
|
||||
"label": "Fotogrammi massimi",
|
||||
"description": "Limita la durata del tracciamento degli oggetti statici prima che vengano scartati."
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -343,7 +352,12 @@
|
||||
"description": "Preferenze dell'interfaccia utente come fuso orario, formato di data/ora e unità di misura."
|
||||
},
|
||||
"profiles": {
|
||||
"label": "Profili"
|
||||
"label": "Profili",
|
||||
"friendly_name": {
|
||||
"label": "Nome descrittivo",
|
||||
"description": "Nome visualizzato per questo profilo nell'interfaccia utente."
|
||||
},
|
||||
"description": "Definizioni di profili denominati con nomi descrittivi. I profili delle telecamere devono fare riferimento ai nomi definiti qui."
|
||||
},
|
||||
"record": {
|
||||
"label": "Registrazione",
|
||||
@ -462,7 +476,11 @@
|
||||
"semantic_search": {
|
||||
"label": "Ricerca semantica",
|
||||
"triggers": {
|
||||
"label": "Inneschi"
|
||||
"label": "Inneschi",
|
||||
"friendly_name": {
|
||||
"label": "Nome descrittivo",
|
||||
"description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo innesco."
|
||||
}
|
||||
},
|
||||
"model_size": {
|
||||
"label": "Dimensioni del modello"
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"detectRequired": "Ad almeno un flusso di ingresso deve essere assegnato il ruolo di 'rilevamento'.",
|
||||
"hwaccelDetectOnly": "Solo il flusso di ingresso con il ruolo di rilevamento può definire argomenti di accelerazione hardware."
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "Deve essere un numero pari."
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,5 +60,13 @@
|
||||
"stats": {
|
||||
"context": "{{tokens}} token",
|
||||
"tokens_per_second": "{{rate}} t/s"
|
||||
},
|
||||
"reasoning": {
|
||||
"active": "Ragionamento…",
|
||||
"show": "Mostra il ragionamento",
|
||||
"hide": "Nascondi il ragionamento"
|
||||
},
|
||||
"thinking": {
|
||||
"toggle": "Alterna ragionamento"
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,7 +40,8 @@
|
||||
"objectDetection": "Rilevamento oggetti",
|
||||
"recording": "Registrazione",
|
||||
"audioDetection": "Rilevamento audio",
|
||||
"transcription": "Trascrizione audio"
|
||||
"transcription": "Trascrizione audio",
|
||||
"camera": "Telecamera"
|
||||
},
|
||||
"history": {
|
||||
"label": "Mostra filmati storici"
|
||||
@ -98,7 +99,9 @@
|
||||
},
|
||||
"camera": {
|
||||
"enable": "Abilita telecamera",
|
||||
"disable": "Disabilita telecamera"
|
||||
"disable": "Disabilita telecamera",
|
||||
"turnOn": "Attiva la telecamera",
|
||||
"turnOff": "Disattiva la telecamera"
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "Muta tutte le telecamere",
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
"globalConfig": "Configurazione globale - Frigate",
|
||||
"cameraConfig": "Configurazione telecamera - Frigate",
|
||||
"maintenance": "Manutenzione - Frigate",
|
||||
"profiles": "Profili - Frigate"
|
||||
"profiles": "Profili - Frigate",
|
||||
"detectorsAndModel": "Rilevatori e modelli - Frigate"
|
||||
},
|
||||
"frigatePlus": {
|
||||
"snapshotConfig": {
|
||||
@ -45,7 +46,7 @@
|
||||
"userModel": "Messa a punto fine",
|
||||
"baseModel": "Modello base"
|
||||
},
|
||||
"availableModels": "Modelli disponibili",
|
||||
"availableModels": "Modelli Frigate+ disponibili",
|
||||
"loadingAvailableModels": "Caricamento dei modelli disponibili…",
|
||||
"supportedDetectors": "Rilevatori supportati",
|
||||
"error": "Impossibile caricare le informazioni sul modello",
|
||||
@ -75,7 +76,8 @@
|
||||
"currentModel": "Modello attuale",
|
||||
"otherModels": "Altri modelli",
|
||||
"configuration": "Configurazione"
|
||||
}
|
||||
},
|
||||
"changeInDetectorsAndModel": "Cambia modello"
|
||||
},
|
||||
"debug": {
|
||||
"timestamp": {
|
||||
@ -169,7 +171,7 @@
|
||||
"defaultName": "Maschera di movimento {{number}}",
|
||||
"name": {
|
||||
"title": "Nome",
|
||||
"description": "Un nome amichevole opzionale per questa maschera di movimento.",
|
||||
"description": "Un nome descrittivo opzionale per questa maschera di movimento.",
|
||||
"placeholder": "Inserisci un nome..."
|
||||
}
|
||||
},
|
||||
@ -341,7 +343,7 @@
|
||||
"name": {
|
||||
"title": "Nome",
|
||||
"placeholder": "Inserisci un nome...",
|
||||
"description": "Un nome amichevole facoltativo per questa maschera oggetto."
|
||||
"description": "Un nome descrittivo facoltativo per questa maschera oggetto."
|
||||
}
|
||||
},
|
||||
"restart_required": "Riavvio richiesto (maschere/zone modificate)",
|
||||
@ -447,7 +449,7 @@
|
||||
"enrichments": "Miglioramenti",
|
||||
"triggers": "Inneschi",
|
||||
"roles": "Ruoli",
|
||||
"cameraManagement": "Gestione",
|
||||
"cameraManagement": "Gestione della telecamera",
|
||||
"cameraReview": "Revisiona",
|
||||
"profiles": "Profili",
|
||||
"general": "Generale",
|
||||
@ -507,7 +509,8 @@
|
||||
"mediaSync": "Sincronizzazione multimediale",
|
||||
"cameraMqtt": "MQTT telecamera",
|
||||
"maintenance": "Manutenzione",
|
||||
"regionGrid": "Griglia di regioni"
|
||||
"regionGrid": "Griglia di regioni",
|
||||
"systemDetectorsAndModel": "Rilevatori e modelli"
|
||||
},
|
||||
"users": {
|
||||
"dialog": {
|
||||
@ -1401,19 +1404,41 @@
|
||||
"selectCamera": "Seleziona una telecamera",
|
||||
"backToSettings": "Torna alle impostazioni della telecamera",
|
||||
"streams": {
|
||||
"title": "Abilita/Disabilita telecamere",
|
||||
"title": "Stato e dettagli della telecamera",
|
||||
"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>",
|
||||
"enableLabel": "Telecamere abilitate",
|
||||
"enableDesc": "Disabilita temporaneamente una telecamera abilitata fino al riavvio di Frigate. La disabilitazione completa di una telecamera interrompe l'elaborazione dei flussi video di tale telecamera da parte di Frigate. Le funzioni di rilevamento, registrazione e correzioni non saranno disponibili.<br /> <em>Nota: questa operazione non disabilita le ritrasmissioni go2rtc.</em>",
|
||||
"enableDesc": "Disabilita temporaneamente una telecamera abilitata fino al riavvio di Frigate. La disabilitazione completa di una telecamera interrompe l'elaborazione dei flussi video di tale telecamera da parte di Frigate. Le funzioni di rilevamento, registrazione e correzioni non saranno disponibili.<br /> <em>Nota: questa operazione non disabilita le ritrasmissioni go2rtc.</em><br /><br />Trascina le schede per riordinare le telecamere nell'interfaccia utente. L'ordine delle telecamere abilitate verrà visualizzato in tutta l'interfaccia utente inclusa la schermata Dal vivo e i menu a tendina di selezione delle telecamere.",
|
||||
"disableLabel": "Telecamere disabilitate",
|
||||
"disableDesc": "Abilita una telecamera attualmente non visibile nell'interfaccia utente e disabilitata nella configurazione. Dopo l'abilitazione è necessario riavviare Frigate.",
|
||||
"enableSuccess": "{{cameraName}} abilitata nella configurazione. Riavvia Frigate per applicare le modifiche.",
|
||||
"enableSuccess": "{{cameraName}} abilitata. Riavvia Frigate per applicare le modifiche.",
|
||||
"friendlyName": {
|
||||
"edit": "Modifica il nome visualizzato della telecamera",
|
||||
"title": "Modifica il nome visualizzato",
|
||||
"description": "Imposta il nome amichevole visualizzato per questa telecamera nell'interfaccia utente di Frigate. Lascia vuoto per utilizzare l'ID della telecamera.",
|
||||
"rename": "Rinomina"
|
||||
}
|
||||
},
|
||||
"reorderHandle": "Trascina per riordinare",
|
||||
"saving": "Salvataggio…",
|
||||
"saved": "Salvato",
|
||||
"details": {
|
||||
"edit": "Modifica i dettagli della telecamera",
|
||||
"title": "Modifica i dettagli della telecamera",
|
||||
"description": "Aggiorna il nome visualizzato e l'URL esterno utilizzati per questa telecamera nell'interfaccia utente di Frigate.",
|
||||
"friendlyNameLabel": "Nome da visualizzare",
|
||||
"friendlyNameHelp": "Nome descrittivo visualizzato per questa telecamera nell'interfaccia utente di Frigate. Lasciare vuoto per utilizzare l'ID della telecamera.",
|
||||
"webuiUrlLabel": "URL dell'interfaccia web della telecamera",
|
||||
"webuiUrlHelp": "URL per accedere direttamente all'interfaccia web della telecamera dalla vista Correzioni. Lasciare vuoto per disabilitare il collegamento.",
|
||||
"webuiUrlInvalid": "Deve essere un URL valido (ad esempio, https://esempio.com)."
|
||||
},
|
||||
"label": "Stato della telecamera",
|
||||
"description": "Imposta lo stato operativo per ciascuna telecamera.<br /><br /><strong>Accesa</strong>: i flussi vengono elaborati normalmente.<br /><strong>Spenta</strong>: mette temporaneamente in pausa l'elaborazione. Non viene mantenuta dopo il riavvio di Frigate.<br /><strong>Disabilitata</strong>: interrompe l'elaborazione e salva la modifica nella configurazione. È necessario riavviare Frigate per riattivare una telecamera disabilitata.<br /><br /><em>Nota: la disabilitazione non influisce sulle ritrasmissioni go2rtc.</em><br /><br />Trascina la maniglia per riordinare le telecamere attive nell'interfaccia utente, inclusi il pannello di controllo Dal vivo e i menu a tendina di selezione della telecamera.",
|
||||
"disabledSubheading": "Disabilitata nella configurazione",
|
||||
"status": {
|
||||
"on": "Accesa",
|
||||
"off": "Spenta",
|
||||
"disabled": "Disabilitata"
|
||||
},
|
||||
"disableSuccess": "{{cameraName}} disabilitata e salvata nella configurazione."
|
||||
},
|
||||
"cameraConfig": {
|
||||
"add": "Aggiungi telecamera",
|
||||
@ -1448,11 +1473,13 @@
|
||||
"enabled": "Abilitato",
|
||||
"title": "Sovrascritture della telecamera del profilo",
|
||||
"selectLabel": "Seleziona il profilo",
|
||||
"description": "Configura quali telecamere vengono abilitate o disabilitate all'attivazione di un profilo. Le telecamere impostate su \"Eredita\" mantengono il loro stato di abilitazione predefinito.",
|
||||
"description": "Configura quali telecamere vengono accese o spente all'attivazione di un profilo. Le telecamere impostate su \"Eredita\" mantengono il loro stato predefinito.",
|
||||
"inherit": "Eredita",
|
||||
"disabled": "Disabilitato"
|
||||
"disabled": "Disabilitato",
|
||||
"on": "Attivato",
|
||||
"off": "Disattivato"
|
||||
},
|
||||
"description": "Aggiungi, modifica ed elimina le telecamere, controlla quali telecamere sono abilitate e configura le impostazioni personalizzate per profilo e tipo di telecamera. Per configurare flussi video, rilevamento, movimento e altre impostazioni specifiche per ciascuna telecamera, seleziona la sezione corrispondente in Configurazione telecamera.",
|
||||
"description": "Aggiungi, modifica ed elimina le telecamere, controlla lo stato di ciascuna telecamera e configura le impostazioni personalizzate per profilo e tipo di telecamera. Per configurare flussi video, rilevamento, movimento e altre impostazioni specifiche per ciascuna telecamera, seleziona la sezione corrispondente in Configurazione telecamera.",
|
||||
"deleteCamera": "Elimina telecamera",
|
||||
"deleteCameraDialog": {
|
||||
"title": "Elimina telecamera",
|
||||
@ -1512,7 +1539,7 @@
|
||||
"videoCopy": "Copia",
|
||||
"hardware": "Accelerazione hardware",
|
||||
"hardwareNone": "Nessuna accelerazione hardware",
|
||||
"hardwareAuto": "Accelerazione hardware automatica",
|
||||
"hardwareAuto": "Automatico (consigliato)",
|
||||
"useFfmpegModule": "Utilizza la modalità di compatibilità (ffmpeg)",
|
||||
"videoH264": "Transcodifica in H.264",
|
||||
"videoH265": "Transcodifica in H.265",
|
||||
@ -1523,7 +1550,15 @@
|
||||
"audioPcma": "Transcodifica in PCM A-law",
|
||||
"audioPcm": "Transcodifica in PCM",
|
||||
"audioMp3": "Transcodifica in MP3",
|
||||
"audioExclude": "Escludi"
|
||||
"audioExclude": "Escludi",
|
||||
"hardwareVaapi": "VAAPI",
|
||||
"hardwareCuda": "CUDA",
|
||||
"hardwareV4l2m2m": "V4L2 M2M",
|
||||
"hardwareDxva2": "DXVA2",
|
||||
"hardwareVideotoolbox": "VideoToolbox",
|
||||
"addVideoCodec": "Aggiungi codec video",
|
||||
"addAudioCodec": "Aggiungi codec audio",
|
||||
"removeCodec": "Rimuovi codec"
|
||||
},
|
||||
"description": "Gestisci le configurazioni del flusso go2rtc per la ritrasmissione delle immagini della telecamera. Ogni flusso ha un nome e uno o più URL sorgente.",
|
||||
"addStream": "Aggiungi flusso",
|
||||
@ -1543,7 +1578,8 @@
|
||||
},
|
||||
"renameStream": "Rinomina flusso",
|
||||
"renameStreamDesc": "Inserisci un nuovo nome per questo flusso. Rinominare un flusso potrebbe causare problemi alle telecamere o ad altri flussi che lo referenziano tramite il suo nome.",
|
||||
"newStreamName": "Nuovo nome del flusso"
|
||||
"newStreamName": "Nuovo nome del flusso",
|
||||
"streamNumber": "Flusso {{index}}"
|
||||
},
|
||||
"configForm": {
|
||||
"sections": {
|
||||
@ -1652,7 +1688,7 @@
|
||||
}
|
||||
},
|
||||
"cameraInputs": {
|
||||
"itemTitle": "Stream {{index}}"
|
||||
"itemTitle": "Flusso {{index}}"
|
||||
},
|
||||
"restartRequiredField": "Riavvio richiesto",
|
||||
"restartRequiredFooter": "Configurazione modificata - Riavvio necessario",
|
||||
@ -1713,9 +1749,14 @@
|
||||
"genaiProviders": "Fornitori di GenAI"
|
||||
},
|
||||
"genaiModel": {
|
||||
"placeholder": "Seleziona il modello…",
|
||||
"search": "Ricerca modelli…",
|
||||
"noModels": "Nessun modello disponibile"
|
||||
"placeholder": "Seleziona o inserisci un modello…",
|
||||
"search": "Cerca o inserisci un modello…",
|
||||
"noModels": "Nessun modello disponibile",
|
||||
"available": "Modelli disponibili",
|
||||
"useCustom": "Utilizza \"{{value}}\"",
|
||||
"refresh": "Aggiorna modelli",
|
||||
"probeFailed": "Impossibile rilevare i modelli",
|
||||
"fetchedModels": "Elenco dei modelli recuperato con successo"
|
||||
},
|
||||
"review": {
|
||||
"title": "Impostazioni di revisione"
|
||||
@ -1737,6 +1778,20 @@
|
||||
},
|
||||
"timezone": {
|
||||
"defaultOption": "Utilizza il fuso orario del browser"
|
||||
},
|
||||
"semanticSearchModelSize": {
|
||||
"notApplicable": "Non applicabile ai fornitori GenAI"
|
||||
},
|
||||
"liveStreams": {
|
||||
"streamNameLabel": "Nome flusso",
|
||||
"streamNamePlaceholder": "p.es., flusso HD principale",
|
||||
"go2rtcStreamLabel": "flusso go2rtc",
|
||||
"go2rtcStreamPlaceholder": "Seleziona un flusso go2rtc",
|
||||
"go2rtcStreamSearch": "Cerca o inserisci il nome di un flusso…",
|
||||
"noGo2rtcStreams": "Nessun flusso go2rtc configurato",
|
||||
"availableStreams": "Flussi disponibili",
|
||||
"useCustom": "Utilizza \"{{value}}\"",
|
||||
"addStream": "Aggiungi flusso"
|
||||
}
|
||||
},
|
||||
"globalConfig": {
|
||||
@ -1886,6 +1941,13 @@
|
||||
"motion": "Movimento",
|
||||
"objects": "Oggetti",
|
||||
"continuous": "Continuo"
|
||||
},
|
||||
"cameraOrder": {
|
||||
"reorderHandle": "Trascina per riordinare",
|
||||
"saving": "Salvataggio…",
|
||||
"saved": "Salvato",
|
||||
"label": "Ordine delle telecamere",
|
||||
"description": "Trascina le telecamere per impostarne l'ordine nella visualizzazione Birdseye."
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
@ -1902,7 +1964,10 @@
|
||||
"saveAllPartial_one": "{{successCount}} sezione su {{totalCount}} salvata. {{failCount}} errore.",
|
||||
"saveAllPartial_many": "{{successCount}} sezioni su {{totalCount}} salvate. {{failCount}} errori.",
|
||||
"saveAllPartial_other": "{{successCount}} sezioni su {{totalCount}} salvate. {{failCount}} errori.",
|
||||
"saveAllFailure": "Impossibile salvare tutte le sezioni."
|
||||
"saveAllFailure": "Impossibile salvare tutte le sezioni.",
|
||||
"saveAllSuccessRestartRequired_one": "Salvata {{count}} sezione correttamente. Riavvia Frigate per applicare le modifiche.",
|
||||
"saveAllSuccessRestartRequired_many": "Salvate {{count}} sezioni correttamente. Riavvia Frigate per applicare le modifiche.",
|
||||
"saveAllSuccessRestartRequired_other": "Salvate {{count}} sezioni correttamente. Riavvia Frigate per applicare le modifiche."
|
||||
},
|
||||
"unsavedChanges": "Hai delle modifiche non salvate",
|
||||
"confirmReset": "Conferma il ripristino",
|
||||
@ -1977,7 +2042,9 @@
|
||||
},
|
||||
"detect": {
|
||||
"fpsGreaterThanFive": "Impostare il valore di FPS rilevato su un valore superiore a 5 non è consigliabile. Valori più elevati potrebbero causare problemi di prestazioni e non apporteranno alcun vantaggio.",
|
||||
"disabled": "Il rilevamento degli oggetti è disabilitato. Le istantanee, gli elementi di revisione e le funzionalità aggiuntive come il riconoscimento facciale, il riconoscimento delle targhe e l'intelligenza artificiale generativa non funzioneranno."
|
||||
"disabled": "Il rilevamento degli oggetti è disabilitato. Le istantanee, gli elementi di revisione e le funzionalità aggiuntive come il riconoscimento facciale, il riconoscimento delle targhe e l'intelligenza artificiale generativa non funzioneranno.",
|
||||
"resolutionShouldBeMultipleOfFour": "Per ottenere risultati ottimali, la larghezza e l'altezza di rilevamento dovrebbero essere multipli di 4. Altri valori pari potrebbero produrre artefatti visivi o una leggera distorsione nel flusso di rilevamento.",
|
||||
"aspectRatioMismatch": "La larghezza e l'altezza inserite non corrispondono al rapporto d'aspetto della risoluzione di rilevamento corrente. Ciò potrebbe produrre un'immagine allungata o distorta."
|
||||
},
|
||||
"objects": {
|
||||
"genaiNoDescriptionsProvider": "Per generare le descrizioni è necessario configurare un provider GenAI con il ruolo 'descrizioni'."
|
||||
@ -2028,5 +2095,35 @@
|
||||
"label": "Nuovo valore",
|
||||
"reset": "Reimposta"
|
||||
}
|
||||
},
|
||||
"menuDot": {
|
||||
"overrideGlobal": "Questa sezione sovrascrive la configurazione globale",
|
||||
"overrideProfile": "Questa sezione viene sovrascritta dal profilo {{profile}}",
|
||||
"unsaved": "Questa sezione contiene modifiche non salvate"
|
||||
},
|
||||
"detectorsAndModel": {
|
||||
"title": "Rilevatori e modelli",
|
||||
"description": "Configura il backend del rilevatore che esegue il rilevamento degli oggetti e il modello che utilizza. Le modifiche vengono salvate insieme in modo che il rilevatore e il modello rimangano sincronizzati.",
|
||||
"cardTitles": {
|
||||
"detector": "Dispositivo di rilevamento",
|
||||
"model": "Modello di rilevamento"
|
||||
},
|
||||
"tabs": {
|
||||
"plus": "Frigate+",
|
||||
"custom": "Modello personalizzato"
|
||||
},
|
||||
"mismatch": {
|
||||
"warning": "Il modello Frigate+ attuale \"{{model}}\" richiede il rilevatore {{required}}. Seleziona un modello compatibile qui sotto oppure passa a Modello personalizzato prima di salvare."
|
||||
},
|
||||
"plusModel": {
|
||||
"requiresDetector": "Richiede: {{detector}}",
|
||||
"noModelSelected": "Seleziona un modello Frigate+"
|
||||
},
|
||||
"toast": {
|
||||
"saveSuccess": "Rilevatori e impostazioni del modello salvati. Riavviare Frigate per applicare le modifiche.",
|
||||
"saveError": "Impossibile salvare le impostazioni del rilevatore e del modello"
|
||||
},
|
||||
"unsavedChanges": "Modifiche al rilevatore e al modello non salvate",
|
||||
"restartRequired": "Riavvio richiesto (rilevatore o modello modificato)"
|
||||
}
|
||||
}
|
||||
|
||||
@ -222,7 +222,7 @@
|
||||
"dubstep": "ダブステップ",
|
||||
"drum_and_bass": "ドラムンベース",
|
||||
"electronica": "エレクトロニカ",
|
||||
"electronic_dance_music": "EDM",
|
||||
"electronic_dance_music": "エレクトロニック・ダンス・ミュージック",
|
||||
"ambient_music": "アンビエント",
|
||||
"trance_music": "トランス",
|
||||
"music_of_latin_america": "ラテン音楽",
|
||||
|
||||
@ -136,11 +136,23 @@
|
||||
"export": "エクスポート",
|
||||
"deleteNow": "今すぐ削除",
|
||||
"next": "次へ",
|
||||
"continue": "続行"
|
||||
"continue": "続行",
|
||||
"add": "追加",
|
||||
"applying": "適用中…",
|
||||
"undo": "元に戻す",
|
||||
"copiedToClipboard": "クリップボードにコピーしました",
|
||||
"modified": "変更あり",
|
||||
"overridden": "上書き済み",
|
||||
"resetToGlobal": "グローバル設定にリセット",
|
||||
"resetToDefault": "デフォルトにリセット",
|
||||
"saveAll": "すべて保存",
|
||||
"savingAll": "すべて保存中…",
|
||||
"undoAll": "すべて元に戻す",
|
||||
"retry": "再試行"
|
||||
},
|
||||
"menu": {
|
||||
"system": "システム",
|
||||
"systemMetrics": "システムモニター",
|
||||
"systemMetrics": "システムメトリクス",
|
||||
"configuration": "設定",
|
||||
"systemLogs": "システムログ",
|
||||
"settings": "設定",
|
||||
@ -235,10 +247,15 @@
|
||||
"withSystem": {
|
||||
"label": "システム設定に従う"
|
||||
},
|
||||
"hr": "Hrvatski (クロアチア語)"
|
||||
"hr": "Hrvatski (クロアチア語)",
|
||||
"bs": "Bosanski (ボスニア語)",
|
||||
"zhHant": "繁體中文 (繁体字中国語)"
|
||||
},
|
||||
"classification": "分類",
|
||||
"profiles": "プロファイル"
|
||||
"profiles": "プロファイル",
|
||||
"actions": "操作",
|
||||
"features": "機能",
|
||||
"chat": "チャット"
|
||||
},
|
||||
"toast": {
|
||||
"copyUrlToClipboard": "URLをクリップボードにコピーしました。",
|
||||
@ -247,7 +264,8 @@
|
||||
"error": {
|
||||
"title": "設定変更の保存に失敗しました: {{errorMessage}}",
|
||||
"noMessage": "設定変更の保存に失敗しました"
|
||||
}
|
||||
},
|
||||
"success": "設定変更を保存しました。"
|
||||
}
|
||||
},
|
||||
"role": {
|
||||
@ -290,5 +308,10 @@
|
||||
"field": {
|
||||
"optional": "任意",
|
||||
"internalID": "Frigate が設定で使用する内部 ID です"
|
||||
},
|
||||
"no_items": "項目がありません",
|
||||
"validation_errors": "入力エラー",
|
||||
"credentialField": {
|
||||
"savedPlaceholder": "保存済み — 変更しない場合は空欄"
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
"password": "パスワード",
|
||||
"login": "ログイン",
|
||||
"errors": {
|
||||
"usernameRequired": "ユーザー名が必要です",
|
||||
"passwordRequired": "パスワードが必要です",
|
||||
"usernameRequired": "ユーザー名は必須です",
|
||||
"passwordRequired": "パスワードは必須です",
|
||||
"rateLimit": "リクエスト制限を超えました。後でもう一度お試しください。",
|
||||
"loginFailed": "ログインに失敗しました",
|
||||
"unknownError": "不明なエラー。ログを確認してください。",
|
||||
|
||||
@ -81,6 +81,7 @@
|
||||
"zones": "ゾーン",
|
||||
"mask": "マスク",
|
||||
"motion": "モーション",
|
||||
"regions": "領域"
|
||||
"regions": "領域",
|
||||
"paths": "軌跡"
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
"plus": {
|
||||
"submitToPlus": {
|
||||
"label": "Frigate+ に送信",
|
||||
"desc": "回避したい場所でのオブジェクトは誤検出ではありません。誤検出として送信するとモデルが混乱します。"
|
||||
"desc": "回避したい場所でのオブジェクトは誤検知ではありません。誤検知として送信するとモデルが混乱します。"
|
||||
},
|
||||
"review": {
|
||||
"question": {
|
||||
@ -62,12 +62,16 @@
|
||||
"queued": "エクスポートがキューに追加されました。進捗状況はエクスポートページで確認できます。",
|
||||
"batchQueuedSuccess_other": "{{count}} 件のエクスポートがキューに登録されました。現在ケースをオープンしています。",
|
||||
"batchQueuedPartial": "{{total}} 件中 {{successful}} 件のエクスポートがキューに追加されました。失敗したカメラ: {{failedCameras}}",
|
||||
"batchQueueFailed": "{{total}} 件のエクスポートをキューに追加できませんでした。失敗したカメラ: {{failedCameras}}"
|
||||
"batchQueueFailed": "{{total}} 件のエクスポートをキューに追加できませんでした。失敗したカメラ: {{failedCameras}}",
|
||||
"batchSuccess_other": "{{count}} 件のエクスポートを開始しました。ケースを開きます。",
|
||||
"batchPartial": "{{total}} 件中 {{successful}} 件のエクスポートを開始しました。失敗したカメラ: {{failedCameras}}",
|
||||
"batchFailed": "{{total}} 件のエクスポートを開始できませんでした。失敗したカメラ: {{failedCameras}}"
|
||||
},
|
||||
"fromTimeline": {
|
||||
"saveExport": "エクスポートを保存",
|
||||
"previewExport": "エクスポートをプレビュー",
|
||||
"queueingExport": "エクスポートをキューイングしています..."
|
||||
"queueingExport": "エクスポートをキューイングしています...",
|
||||
"useThisRange": "この範囲を使用"
|
||||
},
|
||||
"queueing": "エクスポートをキューイングしています...",
|
||||
"multiCamera": {
|
||||
@ -84,7 +88,7 @@
|
||||
"exportButton_other": "{{count}} 台のカメラをエクスポート"
|
||||
},
|
||||
"case": {
|
||||
"newCaseOption": "新しいケースを作成する",
|
||||
"newCaseOption": "新しいケースを作成",
|
||||
"newCaseNamePlaceholder": "新しいケース名",
|
||||
"newCaseDescriptionPlaceholder": "ケースの説明",
|
||||
"label": "ケース",
|
||||
@ -96,7 +100,18 @@
|
||||
"multiCamera": "マルチカメラ"
|
||||
},
|
||||
"multi": {
|
||||
"title_other": "{{count}} 件のレビューをエクスポート"
|
||||
"title_other": "{{count}} 件のレビューをエクスポート",
|
||||
"description": "選択した各レビューをエクスポートします。すべてのエクスポートは 1 つのケースにまとめられます。",
|
||||
"descriptionNoCase": "選択した各レビューをエクスポートします。",
|
||||
"caseNamePlaceholder": "レビューエクスポート - {{date}}",
|
||||
"exportButton_other": "{{count}} 件のレビューをエクスポート",
|
||||
"exportingButton": "エクスポート中...",
|
||||
"toast": {
|
||||
"started_other": "{{count}} 件のエクスポートを開始しました。ケースを開きます。",
|
||||
"startedNoCase_other": "{{count}} 件のエクスポートを開始しました。",
|
||||
"partial": "{{total}} 件中 {{successful}} 件のエクスポートを開始しました。失敗: {{failedItems}}",
|
||||
"failed": "{{total}} 件のエクスポートを開始できませんでした。失敗: {{failedItems}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"streaming": {
|
||||
@ -143,6 +158,14 @@
|
||||
"markAsReviewed": "レビュー済みにする",
|
||||
"deleteNow": "今すぐ削除",
|
||||
"markAsUnreviewed": "未レビューに戻す"
|
||||
},
|
||||
"shareTimestamp": {
|
||||
"label": "タイムスタンプを共有",
|
||||
"title": "タイムスタンプを共有",
|
||||
"description": "現在のプレーヤー位置をタイムスタンプ付き URL で共有するか、任意のタイムスタンプを指定できます。これは公開リンクではなく、Frigate とこのカメラへのアクセス権を持つユーザーのみアクセスできます。",
|
||||
"custom": "カスタムタイムスタンプ",
|
||||
"button": "タイムスタンプ URL を共有",
|
||||
"shareTitle": "Frigate レビュータイムスタンプ: {{camera}}"
|
||||
}
|
||||
},
|
||||
"imagePicker": {
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
"cameras": {
|
||||
"label": "カメラフィルター",
|
||||
"all": {
|
||||
"title": "すべてのカメラ",
|
||||
"title": "全カメラ",
|
||||
"short": "カメラ"
|
||||
}
|
||||
},
|
||||
@ -114,7 +114,7 @@
|
||||
},
|
||||
"trackedObjectDelete": {
|
||||
"title": "削除の確認",
|
||||
"desc": "これら {{objectLength}} 件の追跡オブジェクトを削除すると、スナップショット、保存された埋め込み、関連するオブジェクトのライフサイクル項目が削除されます。履歴ビューの録画映像は削除され<em>ません</em>。<br /><br />続行してもよろしいですか?<br /><br />今後このダイアログを表示しない場合は <em>Shift</em> キーを押しながら操作してください。",
|
||||
"desc": "これら {{objectLength}} 件の追跡オブジェクトを削除すると、スナップショット、保存された埋め込み、関連するオブジェクトのライフサイクル項目が削除されます。履歴ビューの録画映像は<em>削除されません</em>。<br /><br />続行してもよろしいですか?<br /><br />今後このダイアログを表示しない場合は <em>Shift</em> キーを押しながら操作してください。",
|
||||
"toast": {
|
||||
"success": "追跡オブジェクトを削除しました。",
|
||||
"error": "追跡オブジェクトの削除に失敗しました: {{errorMessage}}"
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
},
|
||||
"bandwidth": {
|
||||
"title": "帯域:",
|
||||
"short": "帯域"
|
||||
"short": "帯域幅"
|
||||
},
|
||||
"latency": {
|
||||
"title": "遅延:",
|
||||
@ -48,5 +48,6 @@
|
||||
"error": {
|
||||
"submitFrigatePlusFailed": "フレームの Frigate+ への送信に失敗しました"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameraOff": "カメラはオフです"
|
||||
}
|
||||
|
||||
@ -9,35 +9,39 @@
|
||||
"description": "有効"
|
||||
},
|
||||
"audio": {
|
||||
"label": "音声検出",
|
||||
"label": "音声検知",
|
||||
"enabled": {
|
||||
"label": "音声検知を有効化",
|
||||
"description": "このカメラのオーディオイベント検出を有効または無効にします。"
|
||||
"description": "このカメラの音声イベント検知を有効または無効にします。"
|
||||
},
|
||||
"min_volume": {
|
||||
"label": "最小ボリューム",
|
||||
"description": "オーディオ検出を実行するために必要な最小RMS音量閾値。値を小さくすると感度が高くなります(例:200=高、500=中、1000=低)。"
|
||||
"description": "音声検知を実行するために必要な最小RMS音量閾値。値を小さくすると感度が高くなります(例:200=高、500=中、1000=低)。"
|
||||
},
|
||||
"filters": {
|
||||
"label": "音声フィルタ",
|
||||
"description": "誤検出を減らすために使用される信頼度閾値などのフィルタ設定(オーディオタイプごと)。"
|
||||
"description": "誤検知を減らすために使用される信頼度閾値などのフィルタ設定(オーディオタイプごと)。",
|
||||
"threshold": {
|
||||
"label": "音声の最低信頼度",
|
||||
"description": "音声イベントとしてカウントするために必要な最低信頼度しきい値。"
|
||||
}
|
||||
},
|
||||
"description": "このカメラの音声ベースのイベント検出設定。",
|
||||
"description": "このカメラの音声ベースのイベント検知設定。",
|
||||
"max_not_heard": {
|
||||
"label": "タイムアウト終了",
|
||||
"description": "オーディオイベントが終了するまでの残り秒数(設定されたオーディオタイプを除く)。"
|
||||
"description": "音声検知が終了するまでの残り秒数(設定されたオーディオタイプを除く)。"
|
||||
},
|
||||
"listen": {
|
||||
"label": "リスニングタイプ",
|
||||
"description": "検出対象の音声イベントの種類一覧(例:吠え声、火災報知器、悲鳴、会話、叫び声)。"
|
||||
"description": "検知対象の音声イベントの種類一覧(例:吠え声、火災報知器、悲鳴、会話、叫び声)。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の音声状態",
|
||||
"description": "静的設定ファイルで、音声検出が当初有効にされていたかどうかを示します。"
|
||||
"description": "静的設定ファイルで、音声検知が当初有効にされていたかどうかを示します。"
|
||||
},
|
||||
"num_threads": {
|
||||
"label": "検出スレッド",
|
||||
"description": "音声検出処理に使用するスレッド数。"
|
||||
"label": "検知スレッド",
|
||||
"description": "音声検知処理に使用するスレッド数。"
|
||||
}
|
||||
},
|
||||
"friendly_name": {
|
||||
@ -76,21 +80,874 @@
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"label": "物体検出",
|
||||
"description": "物体検出の実行やトラッカーの初期化に使用される、検出や検出ロールの設定。",
|
||||
"label": "物体検知",
|
||||
"description": "物体検知の実行やトラッカーの初期化に使用される、検知や検知ロールの設定。",
|
||||
"enabled": {
|
||||
"label": "物体検知を有効にする",
|
||||
"description": "このカメラの物体検知機能を有効または無効にします。"
|
||||
},
|
||||
"height": {
|
||||
"label": "高さを検出",
|
||||
"description": "検出ストリームに使用するフレーム高さ(ピクセル)。ネイティブストリーム解像度を使用する場合は、空欄のままにしてください。"
|
||||
"label": "高さを検知",
|
||||
"description": "検知ストリームに使用するフレーム高さ(ピクセル)。ネイティブストリーム解像度を使用する場合は、空欄のままにしてください。"
|
||||
},
|
||||
"width": {
|
||||
"label": "幅を検出"
|
||||
"label": "幅を検知",
|
||||
"description": "検知ストリームで使用するフレーム幅 (ピクセル)。空欄でストリームのネイティブ解像度を使用。"
|
||||
},
|
||||
"fps": {
|
||||
"label": "検知 FPS",
|
||||
"description": "検知を実行する目標 FPS。低くするほど CPU 使用率が下がります(推奨値は 5、極めて高速な物体を追跡する場合のみ最大 10 まで上げてください)。"
|
||||
},
|
||||
"min_initialized": {
|
||||
"label": "最小初期化フレーム数",
|
||||
"description": "追跡オブジェクトを生成するために必要な連続検知ヒット数。値を大きくすると誤初期化が減ります。デフォルトは fps の半分。"
|
||||
},
|
||||
"max_disappeared": {
|
||||
"label": "最大消失フレーム数",
|
||||
"description": "追跡オブジェクトが消失したと判断するまでの未検知フレーム数。"
|
||||
},
|
||||
"stationary": {
|
||||
"label": "静止オブジェクト設定",
|
||||
"description": "一定時間静止しているオブジェクトを検知・管理するための設定。",
|
||||
"interval": {
|
||||
"label": "静止チェック間隔",
|
||||
"description": "静止オブジェクトを確認するための検知を、何フレームおきに実行するか。"
|
||||
},
|
||||
"threshold": {
|
||||
"label": "静止しきい値",
|
||||
"description": "オブジェクトを静止状態とみなすために必要な位置変化のないフレーム数。"
|
||||
},
|
||||
"max_frames": {
|
||||
"label": "最大追跡フレーム",
|
||||
"description": "静止オブジェクトを破棄するまでの追跡フレーム数の上限。",
|
||||
"default": {
|
||||
"label": "デフォルト最大フレーム",
|
||||
"description": "静止オブジェクトの追跡を停止するまでのデフォルト最大フレーム数。"
|
||||
},
|
||||
"objects": {
|
||||
"label": "オブジェクト別最大フレーム",
|
||||
"description": "静止オブジェクト追跡の最大フレーム数をオブジェクトごとに上書きします。"
|
||||
}
|
||||
},
|
||||
"classifier": {
|
||||
"label": "ビジュアル分類器を有効化",
|
||||
"description": "バウンディングボックスが揺らいでも真に静止しているオブジェクトを検知するため、ビジュアル分類器を使用します。"
|
||||
}
|
||||
},
|
||||
"annotation_offset": {
|
||||
"label": "注釈オフセット",
|
||||
"description": "タイムライン上のバウンディングボックスを録画と揃えるため、検知注釈を時間方向にずらすミリ秒数。正負どちらも指定可能。"
|
||||
}
|
||||
},
|
||||
"mqtt": {
|
||||
"label": "MQTT"
|
||||
"label": "MQTT",
|
||||
"description": "MQTT 画像配信の設定。",
|
||||
"enabled": {
|
||||
"label": "画像送信",
|
||||
"description": "このカメラのオブジェクト画像スナップショットを MQTT トピックに配信する機能を有効にします。"
|
||||
},
|
||||
"timestamp": {
|
||||
"label": "タイムスタンプを追加",
|
||||
"description": "MQTT に配信する画像にタイムスタンプを重ねて表示します。"
|
||||
},
|
||||
"bounding_box": {
|
||||
"label": "バウンディングボックスを追加",
|
||||
"description": "MQTT に配信する画像にバウンディングボックスを描画します。"
|
||||
},
|
||||
"crop": {
|
||||
"label": "画像を切り抜き",
|
||||
"description": "MQTT に配信する画像を検知オブジェクトのバウンディングボックスで切り抜きます。"
|
||||
},
|
||||
"height": {
|
||||
"label": "画像の高さ",
|
||||
"description": "MQTT 配信時に画像をリサイズする高さ (ピクセル)。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "MQTT 画像を配信するためにオブジェクトが進入する必要があるゾーン。"
|
||||
},
|
||||
"quality": {
|
||||
"label": "JPEG 品質",
|
||||
"description": "MQTT に配信する画像の JPEG 品質 (0-100)。"
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"label": "通知",
|
||||
"enabled": {
|
||||
"label": "通知を有効化",
|
||||
"description": "このカメラの通知を有効または無効にします。"
|
||||
},
|
||||
"email": {
|
||||
"label": "通知メールアドレス",
|
||||
"description": "プッシュ通知用、または特定の通知プロバイダで必要となるメールアドレス。"
|
||||
},
|
||||
"cooldown": {
|
||||
"label": "クールダウン期間",
|
||||
"description": "受信者への通知連投を避けるための通知間隔(秒)。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の通知状態",
|
||||
"description": "元の静的設定で通知が有効化されていたかを示します。"
|
||||
},
|
||||
"description": "このカメラの通知を有効化・制御する設定。"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"label": "FFmpeg",
|
||||
"description": "FFmpeg の設定。バイナリパス、引数、ハードウェアアクセラレーション、ロール別の出力引数を含みます。",
|
||||
"path": {
|
||||
"label": "FFmpeg パス",
|
||||
"description": "使用する FFmpeg バイナリのパス、またはバージョンエイリアス(「5.0」または「7.0」)。"
|
||||
},
|
||||
"global_args": {
|
||||
"label": "FFmpeg グローバル引数",
|
||||
"description": "FFmpeg プロセスに渡されるグローバル引数。"
|
||||
},
|
||||
"hwaccel_args": {
|
||||
"label": "ハードウェアアクセラレーション引数",
|
||||
"description": "FFmpeg のハードウェアアクセラレーション引数。プロバイダ固有のプリセットの使用を推奨。"
|
||||
},
|
||||
"input_args": {
|
||||
"label": "入力引数",
|
||||
"description": "FFmpeg の入力ストリームに適用される引数。"
|
||||
},
|
||||
"output_args": {
|
||||
"label": "出力引数",
|
||||
"description": "detect や record など、FFmpeg のロール別に使用されるデフォルト出力引数。",
|
||||
"detect": {
|
||||
"label": "検知ロールの出力引数",
|
||||
"description": "detect ロールのストリームに使用されるデフォルト出力引数。"
|
||||
},
|
||||
"record": {
|
||||
"label": "録画ロールの出力引数",
|
||||
"description": "record ロールのストリームに使用されるデフォルト出力引数。"
|
||||
}
|
||||
},
|
||||
"retry_interval": {
|
||||
"label": "FFmpeg 再試行間隔",
|
||||
"description": "カメラストリームの失敗後、再接続を試みるまでの待機秒数。デフォルトは 10 秒。"
|
||||
},
|
||||
"apple_compatibility": {
|
||||
"label": "Apple 互換性",
|
||||
"description": "H.265 録画時に Apple プレーヤーとの互換性向上のため HEVC タグ付けを有効化します。"
|
||||
},
|
||||
"gpu": {
|
||||
"label": "GPU インデックス",
|
||||
"description": "ハードウェアアクセラレーションで使用するデフォルト GPU インデックス。"
|
||||
},
|
||||
"inputs": {
|
||||
"label": "カメラ入力",
|
||||
"description": "このカメラの入力ストリーム定義(パスとロール)のリスト。",
|
||||
"path": {
|
||||
"label": "入力パス",
|
||||
"description": "カメラ入力ストリームの URL またはパス。"
|
||||
},
|
||||
"roles": {
|
||||
"label": "入力ロール",
|
||||
"description": "この入力ストリームのロール。"
|
||||
},
|
||||
"global_args": {
|
||||
"label": "FFmpeg グローバル引数",
|
||||
"description": "この入力ストリームに対する FFmpeg グローバル引数。"
|
||||
},
|
||||
"hwaccel_args": {
|
||||
"label": "ハードウェアアクセラレーション引数",
|
||||
"description": "この入力ストリームのハードウェアアクセラレーション引数。"
|
||||
},
|
||||
"input_args": {
|
||||
"label": "入力引数",
|
||||
"description": "このストリーム固有の入力引数。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"live": {
|
||||
"label": "ライブ再生",
|
||||
"streams": {
|
||||
"label": "ライブストリーム名",
|
||||
"description": "設定済みのストリーム名と、ライブ再生で使用する restream/go2rtc 名のマッピング。"
|
||||
},
|
||||
"height": {
|
||||
"label": "ライブの高さ",
|
||||
"description": "Web UI で jsmpeg ライブストリームを描画する高さ (ピクセル)。検知ストリーム高さ以下である必要があります。"
|
||||
},
|
||||
"quality": {
|
||||
"label": "ライブ品質",
|
||||
"description": "jsmpeg ストリームのエンコード品質 (1 が最高、31 が最低)。"
|
||||
},
|
||||
"description": "ライブストリームの選択・解像度・品質を Web UI から制御する設定。"
|
||||
},
|
||||
"motion": {
|
||||
"label": "モーション検知",
|
||||
"enabled": {
|
||||
"label": "モーション検知を有効化",
|
||||
"description": "このカメラのモーション検知を有効または無効にします。"
|
||||
},
|
||||
"threshold": {
|
||||
"label": "モーションしきい値",
|
||||
"description": "モーション検出器が使用するピクセル差分しきい値。値を大きくすると感度が下がります (範囲 1-255)。"
|
||||
},
|
||||
"lightning_threshold": {
|
||||
"label": "雷検知しきい値",
|
||||
"description": "短時間の照明スパイクを検知して無視するしきい値(値が小さいほど感度が高く、0.3 〜 1.0 が目安)。これはモーション検知を完全に止めるものではなく、しきい値超過後に検出器が追加フレームの解析を停止するだけです。モーションベースの録画はこれらのイベント中も作成されます。"
|
||||
},
|
||||
"skip_motion_threshold": {
|
||||
"label": "モーションスキップしきい値",
|
||||
"description": "0.0 〜 1.0 の値を指定し、1 フレームでそれ以上の割合が変化した場合、検出器はモーションボックスを返さず即座に再キャリブレーションします。雷や嵐などの誤検知を減らし CPU を節約できますが、PTZ カメラのオート追跡などの実イベントを取りこぼす可能性があります。数 MB の録画を捨てるか、数本の短いクリップを確認するかのトレードオフです。無効化するには未設定 (None) のままにします。"
|
||||
},
|
||||
"improve_contrast": {
|
||||
"label": "コントラスト強調",
|
||||
"description": "モーション解析前にフレームのコントラストを強調して検知を補助します。"
|
||||
},
|
||||
"contour_area": {
|
||||
"label": "輪郭面積",
|
||||
"description": "モーション輪郭としてカウントするために必要な最小ピクセル数。"
|
||||
},
|
||||
"delta_alpha": {
|
||||
"label": "デルタアルファ",
|
||||
"description": "モーション計算のフレーム差分で使用されるアルファブレンディング係数。"
|
||||
},
|
||||
"frame_alpha": {
|
||||
"label": "フレームアルファ",
|
||||
"description": "モーション前処理でフレームをブレンドする際に使用するアルファ値。"
|
||||
},
|
||||
"frame_height": {
|
||||
"label": "フレーム高さ",
|
||||
"description": "モーション計算時にフレームをスケーリングする高さ (ピクセル)。"
|
||||
},
|
||||
"mask": {
|
||||
"label": "マスク座標",
|
||||
"description": "領域を含める/除外するモーションマスクポリゴンを定義する x,y 座標の順序付きリスト。"
|
||||
},
|
||||
"mqtt_off_delay": {
|
||||
"label": "MQTT オフ遅延",
|
||||
"description": "最後のモーション検知後、MQTT で「off」状態を発行するまでの待機秒数。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元のモーション状態",
|
||||
"description": "元の静的設定でモーション検知が有効化されていたかを示します。"
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Raw マスク"
|
||||
},
|
||||
"description": "このカメラのモーション検知のデフォルト設定。"
|
||||
},
|
||||
"objects": {
|
||||
"label": "オブジェクト",
|
||||
"description": "追跡するラベルとオブジェクト別フィルタを含む、オブジェクト追跡のデフォルト設定。",
|
||||
"track": {
|
||||
"label": "追跡するオブジェクト",
|
||||
"description": "このカメラで追跡するオブジェクトラベルのリスト。"
|
||||
},
|
||||
"filters": {
|
||||
"label": "オブジェクトフィルタ",
|
||||
"description": "誤検知を減らすために検知オブジェクトに適用するフィルタ(面積、比率、信頼度)。",
|
||||
"min_area": {
|
||||
"label": "最小オブジェクト面積",
|
||||
"description": "このオブジェクト種別に必要なバウンディングボックスの最小面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
|
||||
},
|
||||
"max_area": {
|
||||
"label": "最大オブジェクト面積",
|
||||
"description": "このオブジェクト種別に許容されるバウンディングボックスの最大面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
|
||||
},
|
||||
"min_ratio": {
|
||||
"label": "最小アスペクト比",
|
||||
"description": "対象となるバウンディングボックスに必要な最小の幅/高さ比。"
|
||||
},
|
||||
"max_ratio": {
|
||||
"label": "最大アスペクト比",
|
||||
"description": "対象となるバウンディングボックスに許容される最大の幅/高さ比。"
|
||||
},
|
||||
"threshold": {
|
||||
"label": "信頼度しきい値",
|
||||
"description": "オブジェクトを真陽性とみなすために必要な平均検知信頼度。"
|
||||
},
|
||||
"min_score": {
|
||||
"label": "最低信頼度",
|
||||
"description": "オブジェクトをカウントするために必要な単一フレームでの最低検知信頼度。"
|
||||
},
|
||||
"mask": {
|
||||
"label": "フィルタマスク",
|
||||
"description": "フレーム内でこのフィルタが適用される範囲を定義するポリゴン座標。"
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Raw マスク"
|
||||
}
|
||||
},
|
||||
"mask": {
|
||||
"label": "オブジェクトマスク",
|
||||
"description": "指定領域でオブジェクト検知を行わないようにするためのマスクポリゴン。"
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Raw マスク"
|
||||
},
|
||||
"genai": {
|
||||
"label": "GenAI オブジェクト設定",
|
||||
"description": "追跡オブジェクトの説明生成や、生成 AI へのフレーム送信に関する GenAI オプション。",
|
||||
"enabled": {
|
||||
"label": "GenAI を有効化",
|
||||
"description": "追跡オブジェクトの説明を GenAI で生成する機能を既定で有効にします。"
|
||||
},
|
||||
"use_snapshot": {
|
||||
"label": "スナップショットを使用",
|
||||
"description": "GenAI 説明生成にサムネイルではなくオブジェクトスナップショットを使用します。"
|
||||
},
|
||||
"prompt": {
|
||||
"label": "キャプションプロンプト",
|
||||
"description": "GenAI で説明を生成する際に使用するデフォルトのプロンプトテンプレート。"
|
||||
},
|
||||
"object_prompts": {
|
||||
"label": "オブジェクト別プロンプト",
|
||||
"description": "特定のラベルに対する GenAI 出力をカスタマイズするためのオブジェクト別プロンプト。"
|
||||
},
|
||||
"objects": {
|
||||
"label": "GenAI 対象オブジェクト",
|
||||
"description": "GenAI に既定で送信するオブジェクトラベルのリスト。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "GenAI 説明生成の対象となるためにオブジェクトが進入する必要があるゾーン。"
|
||||
},
|
||||
"debug_save_thumbnails": {
|
||||
"label": "サムネイルを保存",
|
||||
"description": "デバッグや確認のため、GenAI に送信したサムネイルを保存します。"
|
||||
},
|
||||
"send_triggers": {
|
||||
"label": "GenAI 送信トリガー",
|
||||
"description": "フレームを GenAI に送るタイミング(終了時、更新後など)を定義します。",
|
||||
"tracked_object_end": {
|
||||
"label": "終了時に送信",
|
||||
"description": "追跡オブジェクトが終了した時点で GenAI にリクエストを送信します。"
|
||||
},
|
||||
"after_significant_updates": {
|
||||
"label": "早期 GenAI トリガー",
|
||||
"description": "追跡オブジェクトに対して指定回数の重要な更新があった後、GenAI にリクエストを送信します。"
|
||||
}
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の GenAI 状態",
|
||||
"description": "元の静的設定で GenAI が有効化されていたかを示します。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"record": {
|
||||
"label": "録画",
|
||||
"enabled": {
|
||||
"label": "録画を有効化",
|
||||
"description": "このカメラの録画を有効または無効にします。"
|
||||
},
|
||||
"expire_interval": {
|
||||
"label": "録画クリーンアップ間隔",
|
||||
"description": "期限切れ録画セグメントを削除するクリーンアップを実行する間隔 (分)。"
|
||||
},
|
||||
"continuous": {
|
||||
"label": "常時保持",
|
||||
"description": "追跡オブジェクトやモーションに関係なく録画を保持する日数。アラートと検知の録画のみを保持したい場合は 0 を指定します。",
|
||||
"days": {
|
||||
"label": "保持日数",
|
||||
"description": "録画を保持する日数。"
|
||||
}
|
||||
},
|
||||
"motion": {
|
||||
"label": "モーション録画保持",
|
||||
"description": "追跡オブジェクトに関係なくモーションでトリガーされた録画を保持する日数。アラートと検知の録画のみを保持したい場合は 0 を指定します。",
|
||||
"days": {
|
||||
"label": "保持日数",
|
||||
"description": "録画を保持する日数。"
|
||||
}
|
||||
},
|
||||
"detections": {
|
||||
"label": "検知録画保持",
|
||||
"description": "検知イベントの録画保持設定。前後の撮影時間を含みます。",
|
||||
"pre_capture": {
|
||||
"label": "イベント前秒数",
|
||||
"description": "検知イベントの前に録画に含める秒数。"
|
||||
},
|
||||
"post_capture": {
|
||||
"label": "イベント後秒数",
|
||||
"description": "検知イベントの後に録画に含める秒数。"
|
||||
},
|
||||
"retain": {
|
||||
"label": "イベント保持",
|
||||
"description": "検知イベントの録画保持設定。",
|
||||
"days": {
|
||||
"label": "保持日数",
|
||||
"description": "検知イベント録画を保持する日数。"
|
||||
},
|
||||
"mode": {
|
||||
"label": "保持モード",
|
||||
"description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"alerts": {
|
||||
"label": "アラート録画保持",
|
||||
"description": "アラートイベントの録画保持設定。前後の撮影時間を含みます。",
|
||||
"pre_capture": {
|
||||
"label": "イベント前秒数",
|
||||
"description": "アラートイベントの前に録画に含める秒数。"
|
||||
},
|
||||
"post_capture": {
|
||||
"label": "イベント後秒数",
|
||||
"description": "アラートイベントの後に録画に含める秒数。"
|
||||
},
|
||||
"retain": {
|
||||
"label": "イベント保持",
|
||||
"description": "アラートイベントの録画保持設定。",
|
||||
"days": {
|
||||
"label": "保持日数",
|
||||
"description": "アラートイベント録画を保持する日数。"
|
||||
},
|
||||
"mode": {
|
||||
"label": "保持モード",
|
||||
"description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"export": {
|
||||
"label": "エクスポート設定",
|
||||
"description": "タイムラプスやハードウェアアクセラレーションなど、録画をエクスポートする際に使用する設定。",
|
||||
"hwaccel_args": {
|
||||
"label": "エクスポート用 hwaccel 引数",
|
||||
"description": "エクスポート/トランスコード処理で使用するハードウェアアクセラレーション引数。"
|
||||
},
|
||||
"max_concurrent": {
|
||||
"label": "同時エクスポート数の上限",
|
||||
"description": "同時に処理するエクスポートジョブの最大数。"
|
||||
}
|
||||
},
|
||||
"preview": {
|
||||
"label": "プレビュー設定",
|
||||
"description": "UI に表示される録画プレビューの品質を制御する設定。",
|
||||
"quality": {
|
||||
"label": "プレビュー品質",
|
||||
"description": "プレビュー品質レベル (very_low, low, medium, high, very_high)。"
|
||||
}
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の録画状態",
|
||||
"description": "元の静的設定で録画が有効化されていたかを示します。"
|
||||
},
|
||||
"description": "このカメラの録画と保持に関する設定。"
|
||||
},
|
||||
"review": {
|
||||
"label": "レビュー",
|
||||
"alerts": {
|
||||
"label": "アラート設定",
|
||||
"description": "どの追跡オブジェクトがアラートを生成するか、およびアラートの保持方法に関する設定。",
|
||||
"enabled": {
|
||||
"label": "アラートを有効化",
|
||||
"description": "このカメラのアラート生成を有効または無効にします。"
|
||||
},
|
||||
"labels": {
|
||||
"label": "アラートラベル",
|
||||
"description": "アラート対象となるオブジェクトラベルのリスト(例: car, person)。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "アラートとみなされるためにオブジェクトが進入する必要があるゾーン。空欄ですべてのゾーンを許可。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元のアラート状態",
|
||||
"description": "元の静的設定でアラートが有効化されていたかを記録します。"
|
||||
},
|
||||
"cutoff_time": {
|
||||
"label": "アラート打ち切り時間",
|
||||
"description": "アラートを引き起こすアクティビティが途絶えてからアラートを打ち切るまでの待機秒数。"
|
||||
}
|
||||
},
|
||||
"detections": {
|
||||
"label": "検知設定",
|
||||
"description": "どの追跡オブジェクトが(アラートではない)検知を生成するか、および検知の保持方法に関する設定。",
|
||||
"enabled": {
|
||||
"label": "検知を有効化",
|
||||
"description": "このカメラの検知イベントを有効または無効にします。"
|
||||
},
|
||||
"labels": {
|
||||
"label": "検知ラベル",
|
||||
"description": "検知イベントの対象となるオブジェクトラベルのリスト。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "検知とみなされるためにオブジェクトが進入する必要があるゾーン。空欄ですべてのゾーンを許可。"
|
||||
},
|
||||
"cutoff_time": {
|
||||
"label": "検知打ち切り時間",
|
||||
"description": "検知を引き起こすアクティビティが途絶えてから検知を打ち切るまでの待機秒数。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の検知状態",
|
||||
"description": "元の静的設定で検知が有効化されていたかを記録します。"
|
||||
}
|
||||
},
|
||||
"genai": {
|
||||
"label": "GenAI 設定",
|
||||
"description": "レビュー項目の説明やサマリーを生成 AI で作成する機能の制御。",
|
||||
"enabled": {
|
||||
"label": "GenAI 説明を有効化",
|
||||
"description": "レビュー項目の GenAI 生成説明やサマリーを有効または無効にします。"
|
||||
},
|
||||
"alerts": {
|
||||
"label": "アラートに GenAI を使用",
|
||||
"description": "アラート項目の説明を GenAI で生成します。"
|
||||
},
|
||||
"detections": {
|
||||
"label": "検知に GenAI を使用",
|
||||
"description": "検知項目の説明を GenAI で生成します。"
|
||||
},
|
||||
"image_source": {
|
||||
"label": "レビュー画像ソース",
|
||||
"description": "GenAI に送信する画像のソース(「preview」または「recordings」)。「recordings」は高品質ですがトークン消費が増えます。"
|
||||
},
|
||||
"additional_concerns": {
|
||||
"label": "追加の懸念事項",
|
||||
"description": "このカメラのアクティビティ評価時に GenAI に考慮させる追加の懸念や注意事項のリスト。"
|
||||
},
|
||||
"debug_save_thumbnails": {
|
||||
"label": "サムネイルを保存",
|
||||
"description": "デバッグや確認のため、GenAI プロバイダに送信したサムネイルを保存します。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元の GenAI 状態",
|
||||
"description": "元の静的設定で GenAI レビューが有効化されていたかを記録します。"
|
||||
},
|
||||
"preferred_language": {
|
||||
"label": "希望言語",
|
||||
"description": "GenAI プロバイダに生成応答で要求する言語。"
|
||||
},
|
||||
"activity_context_prompt": {
|
||||
"label": "活動コンテキストプロンプト",
|
||||
"description": "GenAI サマリーの文脈として、何が不審な活動で何がそうでないかを記述するカスタムプロンプト。"
|
||||
}
|
||||
},
|
||||
"description": "このカメラの UI 表示・保存で使用するアラート、検知、GenAI レビューサマリーの設定。"
|
||||
},
|
||||
"snapshots": {
|
||||
"label": "スナップショット",
|
||||
"enabled": {
|
||||
"label": "スナップショットを有効化",
|
||||
"description": "このカメラのスナップショット保存を有効または無効にします。"
|
||||
},
|
||||
"timestamp": {
|
||||
"label": "タイムスタンプ重ね合わせ",
|
||||
"description": "API スナップショットにタイムスタンプを重ねて表示します。"
|
||||
},
|
||||
"bounding_box": {
|
||||
"label": "バウンディングボックス重ね合わせ",
|
||||
"description": "API スナップショットに追跡オブジェクトのバウンディングボックスを描画します。"
|
||||
},
|
||||
"crop": {
|
||||
"label": "スナップショットを切り抜き",
|
||||
"description": "API スナップショットを検知オブジェクトのバウンディングボックスで切り抜きます。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "スナップショットを保存するためにオブジェクトが進入する必要があるゾーン。"
|
||||
},
|
||||
"height": {
|
||||
"label": "スナップショット高さ",
|
||||
"description": "API スナップショットをリサイズする高さ (ピクセル)。空欄で元のサイズを維持。"
|
||||
},
|
||||
"retain": {
|
||||
"label": "スナップショット保持",
|
||||
"description": "デフォルト保持日数とオブジェクト別上書きを含む、スナップショット保持設定。",
|
||||
"default": {
|
||||
"label": "デフォルト保持期間",
|
||||
"description": "スナップショットを保持するデフォルト日数。"
|
||||
},
|
||||
"mode": {
|
||||
"label": "保持モード",
|
||||
"description": "保持モード: all(全セグメントを保存)、motion(モーションがあるセグメントを保存)、active_objects(アクティブなオブジェクトを含むセグメントを保存)。"
|
||||
},
|
||||
"objects": {
|
||||
"label": "オブジェクト別保持",
|
||||
"description": "オブジェクトごとのスナップショット保持日数の上書き。"
|
||||
}
|
||||
},
|
||||
"quality": {
|
||||
"label": "スナップショット品質",
|
||||
"description": "保存するスナップショットのエンコード品質 (0-100)。"
|
||||
},
|
||||
"description": "このカメラの追跡オブジェクトに対する API 生成スナップショットの設定。"
|
||||
},
|
||||
"timestamp_style": {
|
||||
"label": "タイムスタンプスタイル",
|
||||
"position": {
|
||||
"label": "タイムスタンプ位置",
|
||||
"description": "画像内のタイムスタンプ位置 (tl/tr/bl/br)。"
|
||||
},
|
||||
"format": {
|
||||
"label": "タイムスタンプ書式",
|
||||
"description": "タイムスタンプに使用する日時書式文字列 (Python datetime 書式コード)。"
|
||||
},
|
||||
"color": {
|
||||
"label": "タイムスタンプ色",
|
||||
"description": "タイムスタンプ文字色の RGB 値 (各 0-255)。",
|
||||
"red": {
|
||||
"label": "赤",
|
||||
"description": "タイムスタンプ色の赤成分 (0-255)。"
|
||||
},
|
||||
"green": {
|
||||
"label": "緑",
|
||||
"description": "タイムスタンプ色の緑成分 (0-255)。"
|
||||
},
|
||||
"blue": {
|
||||
"label": "青",
|
||||
"description": "タイムスタンプ色の青成分 (0-255)。"
|
||||
}
|
||||
},
|
||||
"thickness": {
|
||||
"label": "タイムスタンプ太さ",
|
||||
"description": "タイムスタンプ文字の線の太さ。"
|
||||
},
|
||||
"effect": {
|
||||
"label": "タイムスタンプエフェクト",
|
||||
"description": "タイムスタンプ文字の視覚効果 (none, solid, shadow)。"
|
||||
},
|
||||
"description": "録画とスナップショットの映像内に表示されるタイムスタンプのスタイル設定。"
|
||||
},
|
||||
"semantic_search": {
|
||||
"label": "セマンティック検索",
|
||||
"triggers": {
|
||||
"label": "トリガー",
|
||||
"description": "カメラ別のセマンティック検索トリガーの動作と一致条件。",
|
||||
"friendly_name": {
|
||||
"label": "表示名",
|
||||
"description": "このトリガーの UI 表示用の任意の名前。"
|
||||
},
|
||||
"enabled": {
|
||||
"label": "このトリガーを有効化",
|
||||
"description": "このセマンティック検索トリガーを有効または無効にします。"
|
||||
},
|
||||
"type": {
|
||||
"label": "トリガー種別",
|
||||
"description": "トリガー種別: 「thumbnail」(画像に対する一致)または「description」(テキストに対する一致)。"
|
||||
},
|
||||
"data": {
|
||||
"label": "トリガー内容",
|
||||
"description": "追跡オブジェクトと照合するテキストフレーズまたはサムネイル ID。"
|
||||
},
|
||||
"threshold": {
|
||||
"label": "トリガーしきい値",
|
||||
"description": "このトリガーを発火させるために必要な最低類似度スコア (0-1)。"
|
||||
},
|
||||
"actions": {
|
||||
"label": "トリガーアクション",
|
||||
"description": "トリガー一致時に実行するアクションのリスト (notification, sub_label, attribute)。"
|
||||
}
|
||||
},
|
||||
"description": "オブジェクト埋め込みを構築・クエリして類似項目を見つけるセマンティック検索の設定。"
|
||||
},
|
||||
"face_recognition": {
|
||||
"label": "顔認識",
|
||||
"enabled": {
|
||||
"label": "顔認識を有効化",
|
||||
"description": "顔認識を有効または無効にします。"
|
||||
},
|
||||
"min_area": {
|
||||
"label": "顔の最小面積",
|
||||
"description": "認識を試みるために必要な顔ボックスの最小面積 (ピクセル)。"
|
||||
},
|
||||
"description": "このカメラの顔検知と顔認識の設定。"
|
||||
},
|
||||
"lpr": {
|
||||
"label": "ナンバープレート認識",
|
||||
"description": "ナンバープレート認識の設定。検知しきい値、書式整形、既知ナンバーなどを含みます。",
|
||||
"enabled": {
|
||||
"label": "LPR を有効化",
|
||||
"description": "このカメラで LPR を有効または無効にします。"
|
||||
},
|
||||
"min_area": {
|
||||
"label": "プレート最小面積",
|
||||
"description": "認識を試みるために必要なプレート最小面積 (ピクセル)。"
|
||||
},
|
||||
"enhancement": {
|
||||
"label": "強調レベル",
|
||||
"description": "OCR 前にプレート切り出し画像に適用する強調レベル (0-10)。値を大きくしても常に改善するとは限らず、5 を超えると夜間プレートでのみ有効な場合があるため注意が必要です。"
|
||||
},
|
||||
"expire_time": {
|
||||
"label": "失効秒数",
|
||||
"description": "未検知ナンバーをトラッカーから失効させるまでの秒数(専用 LPR カメラのみ)。"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"label": "プロファイル",
|
||||
"description": "実行時に有効化できる部分上書きを持つ、名前付きの設定プロファイル。"
|
||||
},
|
||||
"onvif": {
|
||||
"label": "ONVIF",
|
||||
"description": "このカメラの ONVIF 接続および PTZ オート追跡の設定。",
|
||||
"host": {
|
||||
"label": "ONVIF ホスト",
|
||||
"description": "このカメラの ONVIF サービスのホスト(オプションでスキーマも)。"
|
||||
},
|
||||
"port": {
|
||||
"label": "ONVIF ポート",
|
||||
"description": "ONVIF サービスのポート番号。"
|
||||
},
|
||||
"user": {
|
||||
"label": "ONVIF ユーザー名",
|
||||
"description": "ONVIF 認証用のユーザー名。ONVIF に admin ユーザーが必要なデバイスもあります。"
|
||||
},
|
||||
"password": {
|
||||
"label": "ONVIF パスワード",
|
||||
"description": "ONVIF 認証用のパスワード。"
|
||||
},
|
||||
"tls_insecure": {
|
||||
"label": "TLS 検証を無効化",
|
||||
"description": "ONVIF の TLS 検証をスキップし、ダイジェスト認証も無効化します(安全でないため、信頼できるネットワークでのみ使用)。"
|
||||
},
|
||||
"profile": {
|
||||
"label": "ONVIF プロファイル",
|
||||
"description": "PTZ 制御に使用する ONVIF メディアプロファイル(トークンまたは名前で指定)。未設定の場合、有効な PTZ 設定を持つ最初のプロファイルが自動選択されます。"
|
||||
},
|
||||
"autotracking": {
|
||||
"label": "オートトラッキング",
|
||||
"description": "PTZ カメラの動作で移動中のオブジェクトを自動追跡し、フレーム中央に保ちます。",
|
||||
"enabled": {
|
||||
"label": "オートトラッキングを有効化",
|
||||
"description": "検知オブジェクトの PTZ オート追跡を有効または無効にします。"
|
||||
},
|
||||
"calibrate_on_startup": {
|
||||
"label": "起動時にキャリブレーション",
|
||||
"description": "追跡精度を向上させるため、起動時に PTZ モーター速度を測定します。キャリブレーション後に movement_weights が設定に書き込まれます。"
|
||||
},
|
||||
"zooming": {
|
||||
"label": "ズームモード",
|
||||
"description": "ズーム動作の制御: disabled (パン/チルトのみ)、absolute (互換性が最も高い)、relative (パン/チルト/ズーム同時)。"
|
||||
},
|
||||
"zoom_factor": {
|
||||
"label": "ズーム倍率",
|
||||
"description": "追跡対象オブジェクトのズームレベルを制御します。値が小さいほど広い範囲を保ち、大きいほどズームインしますが追跡を失う可能性があります。0.1 〜 0.75 の範囲で指定。"
|
||||
},
|
||||
"track": {
|
||||
"label": "追跡対象オブジェクト",
|
||||
"description": "オートトラッキングを発動させるオブジェクト種別のリスト。"
|
||||
},
|
||||
"required_zones": {
|
||||
"label": "必須ゾーン",
|
||||
"description": "オートトラッキング開始前にオブジェクトが進入する必要があるゾーン。"
|
||||
},
|
||||
"return_preset": {
|
||||
"label": "復帰プリセット",
|
||||
"description": "追跡終了後にカメラが戻る、ファームウェアに設定されている ONVIF プリセット名。"
|
||||
},
|
||||
"timeout": {
|
||||
"label": "復帰タイムアウト",
|
||||
"description": "追跡を失ってからカメラをプリセット位置に戻すまでの待機秒数。"
|
||||
},
|
||||
"movement_weights": {
|
||||
"label": "動作重み",
|
||||
"description": "カメラキャリブレーションによって自動生成される値。手動で変更しないでください。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元のオート追跡状態",
|
||||
"description": "オートトラッキングが設定で有効化されていたかを追跡する内部フィールド。"
|
||||
}
|
||||
},
|
||||
"ignore_time_mismatch": {
|
||||
"label": "時刻差異を無視",
|
||||
"description": "ONVIF 通信時に、カメラと Frigate サーバー間の時刻同期差異を無視します。"
|
||||
}
|
||||
},
|
||||
"best_image_timeout": {
|
||||
"label": "ベストイメージタイムアウト",
|
||||
"description": "最高信頼度スコアの画像を取得するまでの待機時間。"
|
||||
},
|
||||
"type": {
|
||||
"label": "カメラタイプ",
|
||||
"description": "カメラタイプ"
|
||||
},
|
||||
"ui": {
|
||||
"label": "カメラ UI",
|
||||
"description": "UI 内でのこのカメラの表示順と表示設定。順序はデフォルトダッシュボードに影響します。より細かい制御にはカメラグループを使用してください。",
|
||||
"order": {
|
||||
"label": "UI 表示順",
|
||||
"description": "UI 内でのカメラの並び順に使用される数値(デフォルトダッシュボードとリスト)。値が大きいほど後ろに表示されます。"
|
||||
},
|
||||
"dashboard": {
|
||||
"label": "UI に表示",
|
||||
"description": "このカメラを Frigate UI 全体に表示するかを切り替えます。無効化した場合、再表示するには設定ファイルを手動編集する必要があります。"
|
||||
}
|
||||
},
|
||||
"webui_url": {
|
||||
"label": "カメラ URL",
|
||||
"description": "システムページからカメラに直接アクセスするための URL"
|
||||
},
|
||||
"zones": {
|
||||
"label": "ゾーン",
|
||||
"description": "ゾーンを使うとフレーム内の特定領域を定義でき、オブジェクトがその領域内にあるかを判定できます。",
|
||||
"friendly_name": {
|
||||
"label": "ゾーン名",
|
||||
"description": "Frigate UI に表示されるユーザー向けのゾーン名。未設定の場合、ゾーン名の整形版が使用されます。"
|
||||
},
|
||||
"enabled": {
|
||||
"label": "有効",
|
||||
"description": "このゾーンを有効または無効にします。無効化したゾーンは実行時に無視されます。"
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "ゾーンの元の状態を保持する。"
|
||||
},
|
||||
"filters": {
|
||||
"label": "ゾーンフィルタ",
|
||||
"description": "このゾーン内のオブジェクトに適用するフィルタ。誤検知を減らすか、ゾーン内に存在するとみなすオブジェクトを制限するために使用します。",
|
||||
"min_area": {
|
||||
"label": "最小オブジェクト面積",
|
||||
"description": "このオブジェクト種別に必要なバウンディングボックスの最小面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
|
||||
},
|
||||
"max_area": {
|
||||
"label": "最大オブジェクト面積",
|
||||
"description": "このオブジェクト種別に許容されるバウンディングボックスの最大面積(ピクセルまたは割合)。ピクセル (int) または割合 (0.000001 〜 0.99 の float) を指定可能。"
|
||||
},
|
||||
"min_ratio": {
|
||||
"label": "最小アスペクト比",
|
||||
"description": "対象となるバウンディングボックスに必要な最小の幅/高さ比。"
|
||||
},
|
||||
"max_ratio": {
|
||||
"label": "最大アスペクト比",
|
||||
"description": "対象となるバウンディングボックスに許容される最大の幅/高さ比。"
|
||||
},
|
||||
"threshold": {
|
||||
"label": "信頼度しきい値",
|
||||
"description": "オブジェクトを真陽性とみなすために必要な平均検知信頼度。"
|
||||
},
|
||||
"min_score": {
|
||||
"label": "最低信頼度",
|
||||
"description": "オブジェクトをカウントするために必要な単一フレームでの最低検知信頼度。"
|
||||
},
|
||||
"mask": {
|
||||
"label": "フィルタマスク",
|
||||
"description": "フレーム内でこのフィルタが適用される範囲を定義するポリゴン座標。"
|
||||
},
|
||||
"raw_mask": {
|
||||
"label": "Raw マスク"
|
||||
}
|
||||
},
|
||||
"coordinates": {
|
||||
"label": "座標",
|
||||
"description": "ゾーン領域を定義するポリゴン座標。カンマ区切り文字列または座標文字列のリスト。座標は相対値 (0-1) または絶対値 (旧形式) で指定。"
|
||||
},
|
||||
"distances": {
|
||||
"label": "実世界の距離",
|
||||
"description": "ゾーン四辺形の各辺に対応する実世界の距離(任意)。速度や距離計算に使用します。設定する場合は必ず 4 つの値が必要です。"
|
||||
},
|
||||
"inertia": {
|
||||
"label": "慣性フレーム数",
|
||||
"description": "オブジェクトをゾーン内に存在するとみなすために、連続して検知される必要があるフレーム数。一時的な検知を除外するのに役立ちます。"
|
||||
},
|
||||
"loitering_time": {
|
||||
"label": "うろつき秒数",
|
||||
"description": "うろつきとみなされるためにオブジェクトがゾーン内にとどまる必要がある秒数。0 でうろつき検知を無効化。"
|
||||
},
|
||||
"speed_threshold": {
|
||||
"label": "最低速度",
|
||||
"description": "ゾーン内に存在するとみなされるためにオブジェクトに必要な最低速度(distances 設定時は実世界単位)。速度ベースのゾーントリガーに使用。"
|
||||
},
|
||||
"objects": {
|
||||
"label": "トリガーオブジェクト",
|
||||
"description": "このゾーンをトリガーできるオブジェクト種別のリスト(labelmap から)。文字列または文字列リストで指定。空ですべてのオブジェクトが対象。"
|
||||
}
|
||||
},
|
||||
"enabled_in_config": {
|
||||
"label": "元のカメラ状態",
|
||||
"description": "カメラの元の状態を保持する。"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
"audio": {
|
||||
"global": {
|
||||
"sensitivity": "グローバル感度",
|
||||
"detection": "グローバル検出"
|
||||
"detection": "グローバル検知"
|
||||
},
|
||||
"cameras": {
|
||||
"detection": "検知",
|
||||
|
||||
@ -28,5 +28,8 @@
|
||||
"detectRequired": "少なくとも1つの入力ストリームに「detect」ロールを割り当てる必要があります。",
|
||||
"hwaccelDetectOnly": "ハードウェアアクセラレーション引数を定義できるのは、detect ロールを持つ入力ストリームのみです。"
|
||||
}
|
||||
},
|
||||
"detect": {
|
||||
"dimensionMustBeEven": "偶数を指定してください。"
|
||||
}
|
||||
}
|
||||
|
||||
@ -116,5 +116,14 @@
|
||||
"nzpost": "NZPost",
|
||||
"postnord": "PostNord",
|
||||
"gls": "GLS",
|
||||
"dpd": "DPD"
|
||||
"dpd": "DPD",
|
||||
"canada_post": "カナダポスト",
|
||||
"royal_mail": "ロイヤルメール",
|
||||
"school_bus": "スクールバス",
|
||||
"skunk": "スカンク",
|
||||
"kangaroo": "カンガルー",
|
||||
"baby": "赤ちゃん",
|
||||
"baby_stroller": "ベビーカー",
|
||||
"rickshaw": "人力車",
|
||||
"rodent": "齧歯類"
|
||||
}
|
||||
|
||||
@ -32,6 +32,41 @@
|
||||
"send": "送信",
|
||||
"suggested_requests": "質問してみてください:",
|
||||
"starting_requests": {
|
||||
"show_recent_events": "最近のイベントを表示"
|
||||
"show_recent_events": "最近のイベントを表示",
|
||||
"show_camera_status": "カメラの状態を表示",
|
||||
"recap": "留守中に何が起きた?",
|
||||
"watch_camera": "カメラの動きを監視"
|
||||
},
|
||||
"starting_requests_prompts": {
|
||||
"show_recent_events": "直近1時間のイベントを見せて",
|
||||
"show_camera_status": "現在のカメラの状態はどうなっていますか?",
|
||||
"recap": "留守中に何が起きた?",
|
||||
"watch_camera": "玄関のカメラを監視して、誰か来たら教えて"
|
||||
},
|
||||
"new_chat": "新しいチャット",
|
||||
"settings": {
|
||||
"title": "チャット設定",
|
||||
"show_stats": {
|
||||
"title": "統計を表示",
|
||||
"desc": "チャット応答の生成速度とコンテキストサイズを表示します。",
|
||||
"while_generating": "生成中のみ",
|
||||
"always": "常に表示"
|
||||
},
|
||||
"auto_scroll": {
|
||||
"title": "自動スクロール",
|
||||
"desc": "新しいメッセージが届いたら自動でスクロールします。"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"context": "{{tokens}} トークン",
|
||||
"tokens_per_second": "{{rate}} t/s"
|
||||
},
|
||||
"reasoning": {
|
||||
"active": "推論中…",
|
||||
"show": "推論を表示",
|
||||
"hide": "推論を非表示"
|
||||
},
|
||||
"thinking": {
|
||||
"toggle": "思考の表示を切替"
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedImage_other": "{{count}} 件の削除された画像",
|
||||
"deletedImage_other": "{{count}} 枚の画像を削除しました",
|
||||
"categorizedImage": "画像の分類に成功しました",
|
||||
"trainedModel": "モデルを正常に学習させました。",
|
||||
"trainingModel": "モデルのトレーニングを正常に開始しました。",
|
||||
@ -35,15 +35,15 @@
|
||||
}
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Classifications,最近の分類結果を選択,,False,train.aria,,",
|
||||
"titleShort": "最近の分類",
|
||||
"title": "最近の分類結果",
|
||||
"aria": "最近の分類結果を選択"
|
||||
},
|
||||
"wizard": {
|
||||
"step1": {
|
||||
"typeObject": "Classification",
|
||||
"typeState": "Classification",
|
||||
"description": "状態モデルは固定カメラ領域の状態変化(例:ドアの開閉)を監視し、オブジェクトモデルは検出されたオブジェクトに分類(例:既知の動物や配達員など)を追加します。",
|
||||
"typeObject": "オブジェクト",
|
||||
"typeState": "状態",
|
||||
"description": "状態モデルは固定カメラ領域の状態変化(例:ドアの開閉)を監視し、オブジェクトモデルは検知されたオブジェクトに分類(例:既知の動物や配達員など)を追加します。",
|
||||
"name": "名前",
|
||||
"namePlaceholder": "モデル名を入力...",
|
||||
"type": "タイプ",
|
||||
@ -58,7 +58,7 @@
|
||||
"states": "状態",
|
||||
"classesTip": "クラスについて",
|
||||
"classesStateDesc": "カメラ領域の状態を定義します。例: ガレージドアの「開」「閉」。",
|
||||
"classesObjectDesc": "検出されたオブジェクトを分類するための、異なるカテゴリを定義します。例:人物の分類として「delivery_person」「resident」「stranger」など。",
|
||||
"classesObjectDesc": "検知されたオブジェクトを分類するための、異なるカテゴリを定義します。例:人物の分類として「delivery_person」「resident」「stranger」など。",
|
||||
"classPlaceholder": "クラス名を入力...",
|
||||
"errors": {
|
||||
"nameRequired": "モデル名は必須です",
|
||||
@ -113,11 +113,16 @@
|
||||
"missingStatesWarning": {
|
||||
"title": "状態の例が不足しています",
|
||||
"description": "最良の結果を得るため、すべての状態の例を選択することを推奨します。すべてを選択しなくても続行できますが、全状態に画像が揃うまでモデルは学習されません。続行後、「最近の分類」から不足分を分類し、学習を行ってください。"
|
||||
},
|
||||
"refreshExamples": "新しい例を生成",
|
||||
"refreshConfirm": {
|
||||
"title": "新しい例を生成しますか?",
|
||||
"description": "この操作により、新しい画像セットが生成され、選択済みのものも含めすべての選択がクリアされます。すべてのクラスについて、再度例を選び直す必要があります。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"details": {
|
||||
"scoreInfo": "このスコアは、このオブジェクトに対するすべての検出結果の分類信頼度の平均を表します。",
|
||||
"scoreInfo": "このスコアは、このオブジェクトに対するすべての検知結果の分類信頼度の平均を表します。",
|
||||
"none": "なし",
|
||||
"unknown": "不明"
|
||||
},
|
||||
@ -172,7 +177,7 @@
|
||||
"noModels": {
|
||||
"object": {
|
||||
"title": "オブジェクト分類モデルがありません",
|
||||
"description": "検出されたオブジェクトを分類するためのカスタムモデルを作成します。",
|
||||
"description": "検知されたオブジェクトを分類するためのカスタムモデルを作成します。",
|
||||
"buttonText": "オブジェクトモデルを作成"
|
||||
},
|
||||
"state": {
|
||||
@ -180,5 +185,7 @@
|
||||
"description": "特定のカメラ領域の状態変化を監視・分類するためのカスタムモデルを作成します。",
|
||||
"buttonText": "状態モデルを作成"
|
||||
}
|
||||
}
|
||||
},
|
||||
"reclassifyImageAs": "画像を次として再分類:",
|
||||
"reclassifyImage": "画像を再分類"
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
{
|
||||
"detections": "検出",
|
||||
"detections": "検知",
|
||||
"motion": {
|
||||
"label": "モーション",
|
||||
"only": "モーションのみ"
|
||||
},
|
||||
"alerts": "アラート",
|
||||
"empty": {
|
||||
"detection": "レビューする検出はありません",
|
||||
"detection": "レビューする検知はありません",
|
||||
"alert": "レビューするアラートはありません",
|
||||
"motion": "モーションデータは見つかりません",
|
||||
"recordingsDisabled": {
|
||||
@ -42,7 +42,7 @@
|
||||
},
|
||||
"selected_one": "{{count}} 選択済み",
|
||||
"selected_other": "{{count}} 選択済み",
|
||||
"detected": "検出",
|
||||
"detected": "検知",
|
||||
"suspiciousActivity": "不審なアクティビティ",
|
||||
"threateningActivity": "脅威となるアクティビティ",
|
||||
"zoomIn": "ズームイン",
|
||||
@ -71,5 +71,24 @@
|
||||
"motionSearch": {
|
||||
"menuItem": "モーション検索",
|
||||
"openMenu": "カメラオプション"
|
||||
},
|
||||
"motionPreviews": {
|
||||
"menuItem": "モーションプレビューを表示",
|
||||
"title": "モーションプレビュー: {{camera}}",
|
||||
"mobileSettingsTitle": "モーションプレビュー設定",
|
||||
"mobileSettingsDesc": "再生速度と暗転具合を調整し、確認したい日付を選んでモーションのみのクリップを再生します。",
|
||||
"dim": "暗転",
|
||||
"dimAria": "暗転の強さを調整",
|
||||
"dimDesc": "暗転を強くするとモーション領域が見やすくなります。",
|
||||
"speed": "速度",
|
||||
"speedAria": "プレビューの再生速度を選択",
|
||||
"speedDesc": "プレビュークリップの再生速度を選びます。",
|
||||
"back": "戻る",
|
||||
"empty": "利用可能なプレビューがありません",
|
||||
"noPreview": "プレビューを利用できません",
|
||||
"seekAria": "{{camera}} のプレーヤーを {{time}} までシーク",
|
||||
"filter": "フィルター",
|
||||
"filterDesc": "領域を選択すると、その領域でモーションが発生したクリップのみが表示されます。",
|
||||
"filterClear": "クリア"
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"viewInExplore": "探索で表示"
|
||||
},
|
||||
"tips": {
|
||||
"mismatch_other": "利用不可のオブジェクトが {{count}} 件、このレビュー項目に含まれています。これらはアラートまたは検出の条件を満たしていないか、既にクリーンアップ/削除されています。",
|
||||
"mismatch_other": "利用不可のオブジェクトが {{count}} 件、このレビュー項目に含まれています。これらはアラートまたは検知の条件を満たしていないか、既にクリーンアップ/削除されています。",
|
||||
"hasMissingObjects": "次のラベルの追跡オブジェクトを保存したい場合は設定を調整してください: <em>{{objects}}</em>"
|
||||
},
|
||||
"toast": {
|
||||
@ -83,7 +83,8 @@
|
||||
"attributes": "分類属性",
|
||||
"title": {
|
||||
"label": "タイトル"
|
||||
}
|
||||
},
|
||||
"scoreInfo": "スコア情報"
|
||||
},
|
||||
"exploreMore": "{{label}} のオブジェクトをさらに探索",
|
||||
"exploreIsUnavailable": {
|
||||
@ -219,12 +220,22 @@
|
||||
},
|
||||
"hideObjectDetails": {
|
||||
"label": "オブジェクトの移動経路を非表示"
|
||||
},
|
||||
"debugReplay": {
|
||||
"label": "デバッグリプレイ",
|
||||
"aria": "この追跡オブジェクトをデバッグリプレイビューで表示"
|
||||
},
|
||||
"more": {
|
||||
"aria": "その他"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"confirmDelete": {
|
||||
"title": "削除の確認",
|
||||
"desc": "この追跡オブジェクトを削除すると、スナップショット、保存された埋め込み、および関連する追跡詳細項目が削除されます。履歴ビューの録画映像は<em>削除されません。</em><br /><br />続行してもよろしいですか?"
|
||||
},
|
||||
"toast": {
|
||||
"error": "この追跡オブジェクトの削除に失敗しました: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"noTrackedObjects": "追跡オブジェクトは見つかりませんでした",
|
||||
@ -257,22 +268,25 @@
|
||||
"count": "{{second}} 件中 {{first}} 件目",
|
||||
"trackedPoint": "追跡ポイント",
|
||||
"lifecycleItemDesc": {
|
||||
"visible": "{{label}} が検出されました",
|
||||
"visible": "{{label}} が検知されました",
|
||||
"entered_zone": "{{label}} が {{zones}} に入りました",
|
||||
"active": "{{label}} がアクティブになりました",
|
||||
"stationary": "{{label}} が静止状態になりました",
|
||||
"attribute": {
|
||||
"faceOrLicense_plate": "{{label}} に {{attribute}} が検出されました",
|
||||
"faceOrLicense_plate": "{{label}} に {{attribute}} が検知されました",
|
||||
"other": "{{label}} は {{attribute}} と認識されました"
|
||||
},
|
||||
"gone": "{{label}} が離脱しました",
|
||||
"heard": "{{label}} の音が検出されました",
|
||||
"external": "{{label}} が検出されました",
|
||||
"heard": "{{label}} の音が検知されました",
|
||||
"external": "{{label}} が検知されました",
|
||||
"header": {
|
||||
"zones": "ゾーン",
|
||||
"ratio": "比率",
|
||||
"area": "面積",
|
||||
"score": "スコア"
|
||||
"score": "スコア",
|
||||
"computedScore": "計算スコア",
|
||||
"topScore": "トップスコア",
|
||||
"toggleAdvancedScores": "詳細スコアを切替"
|
||||
}
|
||||
},
|
||||
"annotationSettings": {
|
||||
@ -283,7 +297,7 @@
|
||||
},
|
||||
"offset": {
|
||||
"label": "注釈オフセット",
|
||||
"millisecondsToOffset": "検出アノテーションをオフセットするミリ秒数です。<em>デフォルト: 0</em>",
|
||||
"millisecondsToOffset": "検知アノテーションをオフセットするミリ秒数です。<em>デフォルト: 0</em>",
|
||||
"toast": {
|
||||
"success": "{{camera}} のアノテーションオフセットが設定ファイルに保存されました。"
|
||||
},
|
||||
|
||||
@ -69,13 +69,14 @@
|
||||
"noDescription": "説明がありません",
|
||||
"exportCount_one": "1 件のエクスポート",
|
||||
"exportCount_other": "{{count}} エクスポート",
|
||||
"cameraCount_other": "{{count}} カメラ",
|
||||
"cameraCount_other": "{{count}} 台のカメラ",
|
||||
"showMore": "さらに表示",
|
||||
"showLess": "表示を減らす",
|
||||
"emptyTitle": "このケースは空です",
|
||||
"emptyDescription": "既存の分類されていないエクスポートを追加して、ケースを整理しましょう。",
|
||||
"emptyDescriptionNoExports": "まだ追加可能な未分類のエクスポートはありません。",
|
||||
"createdAt": "作成日 {{value}}"
|
||||
"createdAt": "作成日 {{value}}",
|
||||
"cameraCount_one": "1 台のカメラ"
|
||||
},
|
||||
"caseEditor": {
|
||||
"createTitle": "ケースを作成",
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
"documentTitle": "顔データベース - Frigate",
|
||||
"uploadFaceImage": {
|
||||
"title": "顔画像をアップロード",
|
||||
"desc": "顔を検出するために画像をアップロードし、{{pageToggle}} に追加します"
|
||||
"desc": "顔を検知するために画像をアップロードし、{{pageToggle}} に追加します"
|
||||
},
|
||||
"collections": "コレクション",
|
||||
"createFaceLibrary": {
|
||||
@ -39,7 +39,11 @@
|
||||
"title": "過去の学習",
|
||||
"aria": "過去の学習を選択",
|
||||
"empty": "最近の顔認識の試行はありません",
|
||||
"titleShort": "Classifications,最近の分類結果を選択,,False,train.aria,,"
|
||||
"titleShort": "最近の分類",
|
||||
"emptyNoLibrary": {
|
||||
"title": "顔画像をアップロード",
|
||||
"description": "顔認識を機能させるには、ライブラリに少なくとも 1 つの顔を追加する必要があります。"
|
||||
}
|
||||
},
|
||||
"selectFace": "顔を選択",
|
||||
"deleteFaceLibrary": {
|
||||
@ -82,7 +86,8 @@
|
||||
"deletedName_other": "{{count}} 件の顔を削除しました。",
|
||||
"renamedFace": "顔の名前を {{name}} に変更しました",
|
||||
"trainedFace": "顔の学習が完了しました。",
|
||||
"updatedFaceScore": "顔のスコアを {{name}} ({{score}})に更新しました。"
|
||||
"updatedFaceScore": "顔のスコアを {{name}} ({{score}})に更新しました。",
|
||||
"reclassifiedFace": "顔を再分類しました。"
|
||||
},
|
||||
"error": {
|
||||
"uploadingImageFailed": "画像のアップロードに失敗しました: {{errorMessage}}",
|
||||
@ -91,7 +96,8 @@
|
||||
"deleteNameFailed": "名前の削除に失敗しました: {{errorMessage}}",
|
||||
"renameFaceFailed": "顔の名前変更に失敗しました: {{errorMessage}}",
|
||||
"trainFailed": "学習に失敗しました: {{errorMessage}}",
|
||||
"updateFaceScoreFailed": "顔スコアの更新に失敗しました: {{errorMessage}}"
|
||||
"updateFaceScoreFailed": "顔スコアの更新に失敗しました: {{errorMessage}}",
|
||||
"reclassifyFailed": "顔の再分類に失敗しました: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"reclassifyFaceAs": "顔を再分類する:",
|
||||
|
||||
@ -58,15 +58,17 @@
|
||||
},
|
||||
"camera": {
|
||||
"enable": "カメラを有効化",
|
||||
"disable": "カメラを無効化"
|
||||
"disable": "カメラを無効化",
|
||||
"turnOn": "カメラをオンにする",
|
||||
"turnOff": "カメラをオフにする"
|
||||
},
|
||||
"muteCameras": {
|
||||
"enable": "全カメラをミュート",
|
||||
"disable": "全カメラのミュートを解除"
|
||||
},
|
||||
"detect": {
|
||||
"enable": "検出を有効化",
|
||||
"disable": "検出を無効化"
|
||||
"enable": "検知を有効化",
|
||||
"disable": "検知を無効化"
|
||||
},
|
||||
"recording": {
|
||||
"enable": "録画を有効化",
|
||||
@ -78,8 +80,8 @@
|
||||
"disable": "スナップショットを無効化"
|
||||
},
|
||||
"audioDetect": {
|
||||
"enable": "音声検出を有効化",
|
||||
"disable": "音声検出を無効化"
|
||||
"enable": "音声検知を有効化",
|
||||
"disable": "音声検知を無効化"
|
||||
},
|
||||
"transcription": {
|
||||
"enable": "ライブ音声文字起こしを有効化",
|
||||
@ -142,18 +144,19 @@
|
||||
"tips": "プレーヤーが非表示でもストリーミングを継続するにはこのオプションを有効にします。"
|
||||
},
|
||||
"debug": {
|
||||
"picker": "デバッグモードではストリームの選択はできません。デバッグビューは常に 検出ロールに割り当てられたストリームを使用します。"
|
||||
"picker": "デバッグモードではストリームの選択はできません。デバッグビューは常に 検知ロールに割り当てられたストリームを使用します。"
|
||||
}
|
||||
},
|
||||
"cameraSettings": {
|
||||
"title": "{{camera}} の設定",
|
||||
"cameraEnabled": "カメラ有効",
|
||||
"objectDetection": "物体検出",
|
||||
"objectDetection": "物体検知",
|
||||
"recording": "録画",
|
||||
"snapshots": "スナップショット",
|
||||
"audioDetection": "音声検出",
|
||||
"audioDetection": "音声検知",
|
||||
"transcription": "音声文字起こし",
|
||||
"autotracking": "オートトラッキング"
|
||||
"autotracking": "オートトラッキング",
|
||||
"camera": "カメラ"
|
||||
},
|
||||
"history": {
|
||||
"label": "履歴映像を表示"
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
"searching": "検索中です。",
|
||||
"searchComplete": "検索完了",
|
||||
"noResultsYet": "選択した領域内の動きの変化を検索します",
|
||||
"noChangesFound": "選択した領域でピクセルの変化は検出されませんでした",
|
||||
"noChangesFound": "選択した領域でピクセルの変化は検知されませんでした",
|
||||
"changesFound_other": "{{count}} 件の動きの変化が見つかりました",
|
||||
"framesProcessed": "{{count}} フレームを処理しました",
|
||||
"jumpToTime": "この時間に移動",
|
||||
@ -37,6 +37,37 @@
|
||||
},
|
||||
"settings": {
|
||||
"title": "検索設定",
|
||||
"parallelMode": "並列モード"
|
||||
"parallelMode": "並列モード",
|
||||
"parallelModeDesc": "複数の録画セグメントを同時にスキャンします(高速ですが CPU 負荷が大幅に増加します)",
|
||||
"threshold": "感度しきい値",
|
||||
"thresholdDesc": "値を小さくするとより小さな変化も検知します (1-255)",
|
||||
"minArea": "最小変化面積",
|
||||
"minAreaDesc": "有意な変化と判定するために必要な関心領域内の最小変化割合",
|
||||
"frameSkip": "フレームスキップ",
|
||||
"frameSkipDesc": "N フレームごとに処理します。カメラのフレームレートと同じ値にすると 1 秒あたり 1 フレーム処理されます(例: 5 FPS のカメラなら 5、30 FPS なら 30)。値を大きくすると高速になりますが、短時間のモーションを取りこぼす可能性があります。",
|
||||
"maxResults": "最大結果数",
|
||||
"maxResultsDesc": "この件数のタイムスタンプにヒットした時点でスキャンを停止します"
|
||||
},
|
||||
"errors": {
|
||||
"noCamera": "カメラを選択してください",
|
||||
"noROI": "関心領域を描画してください",
|
||||
"noTimeRange": "時間範囲を選択してください",
|
||||
"invalidTimeRange": "終了時刻は開始時刻より後である必要があります",
|
||||
"searchFailed": "検索に失敗しました: {{message}}",
|
||||
"polygonTooSmall": "ポリゴンには少なくとも 3 つの点が必要です",
|
||||
"unknown": "不明なエラー"
|
||||
},
|
||||
"changePercentage": "{{percentage}}% 変化",
|
||||
"metrics": {
|
||||
"title": "検索メトリクス",
|
||||
"segmentsScanned": "スキャンしたセグメント",
|
||||
"segmentsProcessed": "処理済み",
|
||||
"segmentsSkippedInactive": "スキップ (アクティビティなし)",
|
||||
"segmentsSkippedHeatmap": "スキップ (関心領域と重なりなし)",
|
||||
"fallbackFullRange": "全範囲スキャンへのフォールバック",
|
||||
"framesDecoded": "デコードしたフレーム",
|
||||
"wallTime": "検索時間",
|
||||
"segmentErrors": "セグメントエラー",
|
||||
"seconds": "{{seconds}} 秒"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
{
|
||||
"title": "デバッグリプレイ",
|
||||
"description": "デバッグ用にカメラの録画をリプレイします。オブジェクトリストには検出されたオブジェクトの遅延サマリーが表示され、「メッセージ」タブにはリプレイ映像からのFrigate内部メッセージのストリームが表示されます。",
|
||||
"description": "デバッグ用にカメラの録画をリプレイします。オブジェクトリストには検知されたオブジェクトの遅延サマリーが表示され、「メッセージ」タブにはリプレイ映像からのFrigate内部メッセージのストリームが表示されます。",
|
||||
"websocket_messages": "メッセージ",
|
||||
"dialog": {
|
||||
"title": "デバッグリプレイを開始",
|
||||
"description": "オブジェクトの検出やトラッキングの問題をデバッグするために、過去の映像をループ再生する一時的なリプレイカメラを作成します。このリプレイカメラは、ソースカメラ(元カメラ)と同じ検出設定を引き継ぎます。開始する時間範囲を選択してください。",
|
||||
"description": "オブジェクトの検知やトラッキングの問題をデバッグするために、過去の映像をループ再生する一時的なリプレイカメラを作成します。このリプレイカメラは、ソースカメラ(元カメラ)と同じ検知設定を引き継ぎます。開始する時間範囲を選択してください。",
|
||||
"camera": "ソースカメラ",
|
||||
"timeRange": "時間範囲",
|
||||
"timeRange": "期間",
|
||||
"preset": {
|
||||
"1m": "直近1分間",
|
||||
"5m": "直近5分間",
|
||||
@ -48,9 +48,9 @@
|
||||
"cancel": "キャンセル"
|
||||
},
|
||||
"activity": "アクティビティ",
|
||||
"objects": "オブジェクトリスト",
|
||||
"audioDetections": "オーディオ検出",
|
||||
"noActivity": "アクティビティは検出されませんでした",
|
||||
"objects": "オブジェクト一覧",
|
||||
"audioDetections": "音声検知",
|
||||
"noActivity": "アクティビティは検知されませんでした",
|
||||
"activeTracking": "アクティブトラッキング",
|
||||
"noActiveTracking": "アクティブトラッキングなし",
|
||||
"configuration": "設定",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@
|
||||
"error": "ログをクリップボードにコピーできませんでした"
|
||||
},
|
||||
"type": {
|
||||
"label": "種類",
|
||||
"label": "タイプ",
|
||||
"timestamp": "タイムスタンプ",
|
||||
"tag": "タグ",
|
||||
"message": "メッセージ"
|
||||
@ -70,7 +70,7 @@
|
||||
"inferenceSpeed": "ディテクタ推論速度",
|
||||
"temperature": "ディテクタ温度",
|
||||
"cpuUsage": "ディテクタの CPU 使用率",
|
||||
"cpuUsageInformation": "検出モデルへの入力/出力データの準備に使用される CPU。GPU やアクセラレータを使用していても、この値は推論の使用量を測定しません。",
|
||||
"cpuUsageInformation": "検知モデルへの入力/出力データの準備に使用される CPU。GPU やアクセラレータを使用していても、この値は推論の使用量を測定しません。",
|
||||
"memoryUsage": "ディテクタのメモリ使用量"
|
||||
},
|
||||
"hardwareInfo": {
|
||||
@ -108,8 +108,11 @@
|
||||
"intelGpuWarning": {
|
||||
"title": "Intel GPU 統計情報の警告",
|
||||
"message": "GPU の統計情報を取得できません",
|
||||
"description": "これは Intel の GPU 統計取得ツール(intel_gpu_top)における既知の不具合です。ハードウェアアクセラレーションやオブジェクト検出が (i)GPU 上で正しく動作している場合でも、GPU 使用率が 0% と繰り返し表示されることがあります。これは Frigate の不具合ではありません。ホストを再起動することで一時的に解消し、GPU が正常に動作していることを確認できます。本問題はパフォーマンスには影響しません。"
|
||||
}
|
||||
"description": "これは Intel の GPU 統計取得ツール(intel_gpu_top)における既知の不具合です。ハードウェアアクセラレーションやオブジェクト検知が (i)GPU 上で正しく動作している場合でも、GPU 使用率が 0% と繰り返し表示されることがあります。これは Frigate の不具合ではありません。ホストを再起動することで一時的に解消し、GPU が正常に動作していることを確認できます。本問題はパフォーマンスには影響しません。"
|
||||
},
|
||||
"gpuCompute": "GPU 演算 / エンコード",
|
||||
"gpuTemperature": "GPU 温度",
|
||||
"npuTemperature": "NPU 温度"
|
||||
},
|
||||
"otherProcesses": {
|
||||
"title": "その他のプロセス",
|
||||
@ -134,7 +137,11 @@
|
||||
},
|
||||
"shm": {
|
||||
"title": "SHM(共有メモリ)の割り当て",
|
||||
"warning": "現在の SHM サイズ {{total}}MB は小さすぎます。少なくとも {{min_shm}}MB に増やしてください。"
|
||||
"warning": "現在の SHM サイズ {{total}}MB は小さすぎます。少なくとも {{min_shm}}MB に増やしてください。",
|
||||
"frameLifetime": {
|
||||
"title": "フレーム保持時間",
|
||||
"description": "各カメラは共有メモリ内に {{frames}} 個のフレームスロットを持ちます。最も高速なカメラのフレームレートでは、各フレームは上書きされるまで約 {{lifetime}} 秒間利用可能です。"
|
||||
}
|
||||
},
|
||||
"cameraStorage": {
|
||||
"title": "カメラストレージ",
|
||||
@ -169,22 +176,23 @@
|
||||
"title": "カメラプローブ情報"
|
||||
}
|
||||
},
|
||||
"framesAndDetections": "フレーム / 検出",
|
||||
"framesAndDetections": "フレーム / 検知",
|
||||
"label": {
|
||||
"camera": "カメラ",
|
||||
"detect": "検出",
|
||||
"detect": "検知",
|
||||
"skipped": "スキップ",
|
||||
"ffmpeg": "FFmpeg",
|
||||
"capture": "キャプチャ",
|
||||
"overallFramesPerSecond": "全体フレーム/秒",
|
||||
"overallDetectionsPerSecond": "全体検出/秒",
|
||||
"overallSkippedDetectionsPerSecond": "全体スキップ検出/秒",
|
||||
"overallDetectionsPerSecond": "全体検知/秒",
|
||||
"overallSkippedDetectionsPerSecond": "全体スキップ検知/秒",
|
||||
"cameraFfmpeg": "{{camName}} FFmpeg",
|
||||
"cameraCapture": "{{camName}} キャプチャ",
|
||||
"cameraDetect": "{{camName}} 検出",
|
||||
"cameraDetect": "{{camName}} 検知",
|
||||
"cameraFramesPerSecond": "{{camName}} フレーム/秒",
|
||||
"cameraDetectionsPerSecond": "{{camName}} 検出/秒",
|
||||
"cameraSkippedDetectionsPerSecond": "{{camName}} スキップ検出/秒"
|
||||
"cameraDetectionsPerSecond": "{{camName}} 検知/秒",
|
||||
"cameraSkippedDetectionsPerSecond": "{{camName}} スキップ検知/秒",
|
||||
"cameraGpu": "{{camName}} GPU"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
@ -193,18 +201,33 @@
|
||||
"error": {
|
||||
"unableToProbeCamera": "カメラをプローブできません: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"noCameras": {
|
||||
"title": "カメラが見つかりません"
|
||||
},
|
||||
"connectionQuality": {
|
||||
"title": "接続品質",
|
||||
"excellent": "非常に良好",
|
||||
"fair": "普通",
|
||||
"poor": "不良",
|
||||
"unusable": "使用不可",
|
||||
"fps": "FPS",
|
||||
"expectedFps": "想定 FPS",
|
||||
"reconnectsLastHour": "再接続回数 (直近1時間)",
|
||||
"stallsLastHour": "ストール回数 (直近1時間)"
|
||||
}
|
||||
},
|
||||
"lastRefreshed": "最終更新: ",
|
||||
"stats": {
|
||||
"ffmpegHighCpuUsage": "{{camera}} の FFmpeg の CPU 使用率が高い({{ffmpegAvg}}%)",
|
||||
"detectHighCpuUsage": "{{camera}} の検出の CPU 使用率が高い({{detectAvg}}%)",
|
||||
"detectHighCpuUsage": "{{camera}} の検知の CPU 使用率が高い({{detectAvg}}%)",
|
||||
"healthy": "システムは正常です",
|
||||
"reindexingEmbeddings": "埋め込みを再インデックス中({{processed}}% 完了)",
|
||||
"cameraIsOffline": "{{camera}} はオフラインです",
|
||||
"detectIsSlow": "{{detect}} が遅い({{speed}} ms)",
|
||||
"detectIsVerySlow": "{{detect}} が非常に遅い({{speed}} ms)",
|
||||
"shmTooLow": "/dev/shm の割り当て({{total}} MB)は少なくとも {{min}} MB に増やす必要があります。"
|
||||
"shmTooLow": "/dev/shm の割り当て({{total}} MB)は少なくとも {{min}} MB に増やす必要があります。",
|
||||
"debugReplayActive": "デバッグリプレイセッションが実行中です"
|
||||
},
|
||||
"enrichments": {
|
||||
"title": "高度解析",
|
||||
@ -219,8 +242,8 @@
|
||||
"face_recognition_speed": "顔認識速度",
|
||||
"plate_recognition_speed": "ナンバープレート認識速度",
|
||||
"text_embedding_speed": "テキスト埋め込み速度",
|
||||
"yolov9_plate_detection_speed": "YOLOv9 ナンバープレート検出速度",
|
||||
"yolov9_plate_detection": "YOLOv9 ナンバープレート検出",
|
||||
"yolov9_plate_detection_speed": "YOLOv9 ナンバープレート検知速度",
|
||||
"yolov9_plate_detection": "YOLOv9 ナンバープレート検知",
|
||||
"review_description": "レビュー説明",
|
||||
"review_description_speed": "レビュー説明の処理速度",
|
||||
"review_description_events_per_second": "レビュー説明",
|
||||
|
||||
7
web/public/locales/km/audio.json
Normal file
7
web/public/locales/km/audio.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"speech": "ការនិយាយ",
|
||||
"babbling": "សំឡេងរំខាន",
|
||||
"yell": "ស្រែក",
|
||||
"bellow": "ប៊ែលឡូវ",
|
||||
"whoop": "អូប"
|
||||
}
|
||||
1
web/public/locales/km/common.json
Normal file
1
web/public/locales/km/common.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
||||
1
web/public/locales/km/components/auth.json
Normal file
1
web/public/locales/km/components/auth.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
||||
1
web/public/locales/km/components/camera.json
Normal file
1
web/public/locales/km/components/camera.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user