mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-12-18 19:16:42 +03:00
Compare commits
46 Commits
576f692dae
...
62bc2aeaab
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62bc2aeaab | ||
|
|
bcff1ee9aa | ||
|
|
ccf17439c7 | ||
|
|
e20c0b99e5 | ||
|
|
da3cdbbdef | ||
|
|
766c619417 | ||
|
|
0f9e910f22 | ||
|
|
24ea361556 | ||
|
|
debdd827b4 | ||
|
|
5c262610a2 | ||
|
|
684f074e48 | ||
|
|
d26984db0e | ||
|
|
c3738b5dbb | ||
|
|
7ad62ea451 | ||
|
|
78c04da114 | ||
|
|
e7c17b9a5d | ||
|
|
04cefd0381 | ||
|
|
f6d8014678 | ||
|
|
8eeae9ac4d | ||
|
|
fec9c415ce | ||
|
|
a6249d61b7 | ||
|
|
b961e61b67 | ||
|
|
f815a462e9 | ||
|
|
796f5965a1 | ||
|
|
8cacb998c9 | ||
|
|
e4f10b2955 | ||
|
|
c413ce5973 | ||
|
|
70b0048fe0 | ||
|
|
c53f5ee9a6 | ||
|
|
e7f9617d93 | ||
|
|
6a3de88fa0 | ||
|
|
8b43935510 | ||
|
|
bf3221deb4 | ||
|
|
a4a0bef2d7 | ||
|
|
5fb5a185e0 | ||
|
|
093891b439 | ||
|
|
e3b46372ab | ||
|
|
e9bb280419 | ||
|
|
f8983cee1e | ||
|
|
8b191c69b1 | ||
|
|
2e622cb54c | ||
|
|
ef171ffd31 | ||
|
|
98731e86f5 | ||
|
|
29bc213c04 | ||
|
|
61549a0151 | ||
|
|
9917fc3169 |
@ -589,7 +589,7 @@ async def no_recordings(
|
|||||||
)
|
)
|
||||||
scale = params.scale
|
scale = params.scale
|
||||||
|
|
||||||
clauses = [(Recordings.start_time > after) & (Recordings.end_time < before)]
|
clauses = [(Recordings.end_time >= after) & (Recordings.start_time <= before)]
|
||||||
if cameras != "all":
|
if cameras != "all":
|
||||||
camera_list = cameras.split(",")
|
camera_list = cameras.split(",")
|
||||||
clauses.append((Recordings.camera << camera_list))
|
clauses.append((Recordings.camera << camera_list))
|
||||||
@ -608,33 +608,39 @@ async def no_recordings(
|
|||||||
# Convert recordings to list of (start, end) tuples
|
# Convert recordings to list of (start, end) tuples
|
||||||
recordings = [(r["start_time"], r["end_time"]) for r in data]
|
recordings = [(r["start_time"], r["end_time"]) for r in data]
|
||||||
|
|
||||||
# Generate all time segments
|
# Iterate through time segments and check if each has any recording
|
||||||
current = after
|
|
||||||
no_recording_segments = []
|
no_recording_segments = []
|
||||||
current_start = None
|
current = after
|
||||||
|
current_gap_start = None
|
||||||
|
|
||||||
while current < before:
|
while current < before:
|
||||||
segment_end = current + scale
|
segment_end = min(current + scale, before)
|
||||||
# Check if segment overlaps with any recording
|
|
||||||
|
# Check if this segment overlaps with any recording
|
||||||
has_recording = any(
|
has_recording = any(
|
||||||
start <= segment_end and end >= current for start, end in recordings
|
rec_start < segment_end and rec_end > current
|
||||||
|
for rec_start, rec_end in recordings
|
||||||
)
|
)
|
||||||
|
|
||||||
if not has_recording:
|
if not has_recording:
|
||||||
if current_start is None:
|
# This segment has no recordings
|
||||||
current_start = current # Start a new gap
|
if current_gap_start is None:
|
||||||
|
current_gap_start = current # Start a new gap
|
||||||
else:
|
else:
|
||||||
if current_start is not None:
|
# This segment has recordings
|
||||||
|
if current_gap_start is not None:
|
||||||
# End the current gap and append it
|
# End the current gap and append it
|
||||||
no_recording_segments.append(
|
no_recording_segments.append(
|
||||||
{"start_time": int(current_start), "end_time": int(current)}
|
{"start_time": int(current_gap_start), "end_time": int(current)}
|
||||||
)
|
)
|
||||||
current_start = None
|
current_gap_start = None
|
||||||
|
|
||||||
current = segment_end
|
current = segment_end
|
||||||
|
|
||||||
# Append the last gap if it exists
|
# Append the last gap if it exists
|
||||||
if current_start is not None:
|
if current_gap_start is not None:
|
||||||
no_recording_segments.append(
|
no_recording_segments.append(
|
||||||
{"start_time": int(current_start), "end_time": int(before)}
|
{"start_time": int(current_gap_start), "end_time": int(before)}
|
||||||
)
|
)
|
||||||
|
|
||||||
return JSONResponse(content=no_recording_segments)
|
return JSONResponse(content=no_recording_segments)
|
||||||
|
|||||||
@ -108,7 +108,7 @@ class GenAIReviewConfig(FrigateBaseModel):
|
|||||||
default="""### Normal Activity Indicators (Level 0)
|
default="""### Normal Activity Indicators (Level 0)
|
||||||
- Known/verified people in any zone
|
- Known/verified people in any zone
|
||||||
- People with pets in residential areas
|
- People with pets in residential areas
|
||||||
- Brief activity near vehicles: approaching vehicles, brief standing, then leaving or entering vehicle (unloading, loading, checking something)
|
- Brief activity near vehicles: approaching vehicles, brief standing, then leaving or entering vehicle (unloading, loading, checking something). Very short sequences (under 15 seconds) of vehicle access during typical hours (6 AM - 10 PM) are almost always normal.
|
||||||
- Deliveries or services: brief approach to doors/porches, standing briefly, placing or retrieving items, then leaving
|
- Deliveries or services: brief approach to doors/porches, standing briefly, placing or retrieving items, then leaving
|
||||||
- Access to private areas: entering back yards, garages, or homes (with or without visible purpose in frame)
|
- Access to private areas: entering back yards, garages, or homes (with or without visible purpose in frame)
|
||||||
- Brief movement through semi-public areas (driveways, front yards) with items or approaching structure/vehicle
|
- Brief movement through semi-public areas (driveways, front yards) with items or approaching structure/vehicle
|
||||||
@ -121,7 +121,7 @@ class GenAIReviewConfig(FrigateBaseModel):
|
|||||||
- Climbing or jumping fences/barriers to access property
|
- Climbing or jumping fences/barriers to access property
|
||||||
- Attempting to conceal actions or items from view
|
- Attempting to conceal actions or items from view
|
||||||
- Prolonged presence without purpose: remaining in same area (near vehicles, private zones) throughout most/all of the sequence without clear activity or task. Brief stops (a few seconds of standing) are normal; sustained presence (most of the duration) without interaction is concerning.
|
- Prolonged presence without purpose: remaining in same area (near vehicles, private zones) throughout most/all of the sequence without clear activity or task. Brief stops (a few seconds of standing) are normal; sustained presence (most of the duration) without interaction is concerning.
|
||||||
- Activity at unusual hours (very late night/early morning) combined with suspicious behavior patterns
|
- Activity at unusual hours (11 PM - 5 AM) combined with suspicious behavior patterns. Normal commute/daytime hours (6 AM - 6 PM) do not increase suspicion by themselves.
|
||||||
|
|
||||||
### Critical Threat Indicators (Level 2)
|
### Critical Threat Indicators (Level 2)
|
||||||
- Holding break-in tools (crowbars, pry bars, bolt cutters)
|
- Holding break-in tools (crowbars, pry bars, bolt cutters)
|
||||||
@ -131,9 +131,11 @@ class GenAIReviewConfig(FrigateBaseModel):
|
|||||||
- Active property damage or theft
|
- Active property damage or theft
|
||||||
|
|
||||||
### Assessment Guidance
|
### Assessment Guidance
|
||||||
When evaluating activity, first check if it matches Normal Activity Indicators. If it clearly matches normal patterns (brief vehicle access, delivery behavior, known people, pet activity), assign Level 0. Only consider Level 1 if the activity shows clear suspicious behaviors that don't fit normal patterns (testing access, stealing items, lingering across many frames without task, forced entry attempts).
|
**Default to Level 0** for brief activity during normal hours. When evaluating, first check if it matches Normal Activity Indicators. Very short sequences (under 15 seconds) of vehicle access, deliveries, or movement through property during typical hours (6 AM - 11 PM) should be Level 0 unless there are clear suspicious actions visible (testing doors, stealing, climbing barriers).
|
||||||
|
|
||||||
These patterns are guidance, not rigid rules. Consider the complete context: time, zone, objects, and sequence of actions. Brief activity with apparent purpose is generally normal. Sustained problematic behavior or clear security violations warrant elevation.""",
|
Only assign Level 1 if the activity shows clear suspicious behaviors: testing access points, stealing items, lingering throughout most of the sequence without task, climbing barriers, or other explicit violations. Brief activity with apparent purpose (approaching vehicle, delivery, passing through) is Level 0.
|
||||||
|
|
||||||
|
Consider duration, time, zone, and actions holistically. Brief is normal; sustained suspicious behavior is concerning.""",
|
||||||
title="Custom activity context prompt defining normal and suspicious activity patterns for this property.",
|
title="Custom activity context prompt defining normal and suspicious activity patterns for this property.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -120,7 +120,7 @@ class ReviewDescriptionProcessor(PostProcessorApi):
|
|||||||
|
|
||||||
thumbs = self.get_recording_frames(
|
thumbs = self.get_recording_frames(
|
||||||
camera,
|
camera,
|
||||||
final_data["start_time"],
|
final_data["start_time"] - buffer_extension,
|
||||||
final_data["end_time"] + buffer_extension,
|
final_data["end_time"] + buffer_extension,
|
||||||
height=480, # Use 480p for good balance between quality and token usage
|
height=480, # Use 480p for good balance between quality and token usage
|
||||||
)
|
)
|
||||||
@ -421,13 +421,12 @@ def run_analysis(
|
|||||||
name = sub_labels_list[i].replace("_", " ").title()
|
name = sub_labels_list[i].replace("_", " ").title()
|
||||||
unified_objects.append(f"{name} ({object_type})")
|
unified_objects.append(f"{name} ({object_type})")
|
||||||
|
|
||||||
# Add non-verified objects as "Unrecognized (type)"
|
|
||||||
for label in objects_list:
|
for label in objects_list:
|
||||||
if "-verified" in label:
|
if "-verified" in label:
|
||||||
continue
|
continue
|
||||||
elif label in labelmap_objects:
|
elif label in labelmap_objects:
|
||||||
object_type = label.replace("_", " ")
|
object_type = label.replace("_", " ").title()
|
||||||
unified_objects.append(f"Unrecognized ({object_type})")
|
unified_objects.append(object_type)
|
||||||
|
|
||||||
analytics_data["unified_objects"] = unified_objects
|
analytics_data["unified_objects"] = unified_objects
|
||||||
|
|
||||||
|
|||||||
@ -21,21 +21,25 @@ def is_arm64_platform() -> bool:
|
|||||||
return machine in ("aarch64", "arm64", "armv8", "armv7l")
|
return machine in ("aarch64", "arm64", "armv8", "armv7l")
|
||||||
|
|
||||||
|
|
||||||
def get_ort_session_options() -> ort.SessionOptions | None:
|
def get_ort_session_options(
|
||||||
|
is_complex_model: bool = False,
|
||||||
|
) -> ort.SessionOptions | None:
|
||||||
"""Get ONNX Runtime session options with appropriate settings.
|
"""Get ONNX Runtime session options with appropriate settings.
|
||||||
|
|
||||||
On ARM/RKNN platforms, use basic optimizations to avoid graph fusion issues
|
Args:
|
||||||
that can break certain models. On amd64, use default optimizations for better performance.
|
is_complex_model: Whether the model needs basic optimization to avoid graph fusion issues.
|
||||||
"""
|
|
||||||
sess_options = None
|
|
||||||
|
|
||||||
if is_arm64_platform():
|
Returns:
|
||||||
|
SessionOptions with appropriate optimization level, or None for default settings.
|
||||||
|
"""
|
||||||
|
if is_complex_model:
|
||||||
sess_options = ort.SessionOptions()
|
sess_options = ort.SessionOptions()
|
||||||
sess_options.graph_optimization_level = (
|
sess_options.graph_optimization_level = (
|
||||||
ort.GraphOptimizationLevel.ORT_ENABLE_BASIC
|
ort.GraphOptimizationLevel.ORT_ENABLE_BASIC
|
||||||
)
|
)
|
||||||
|
return sess_options
|
||||||
|
|
||||||
return sess_options
|
return None
|
||||||
|
|
||||||
|
|
||||||
# Import OpenVINO only when needed to avoid circular dependencies
|
# Import OpenVINO only when needed to avoid circular dependencies
|
||||||
@ -103,6 +107,21 @@ class BaseModelRunner(ABC):
|
|||||||
class ONNXModelRunner(BaseModelRunner):
|
class ONNXModelRunner(BaseModelRunner):
|
||||||
"""Run ONNX models using ONNX Runtime."""
|
"""Run ONNX models using ONNX Runtime."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def is_cpu_complex_model(model_type: str) -> bool:
|
||||||
|
"""Check if model needs basic optimization level to avoid graph fusion issues.
|
||||||
|
|
||||||
|
Some models (like Jina-CLIP) have issues with aggressive optimizations like
|
||||||
|
SimplifiedLayerNormFusion that create or expect nodes that don't exist.
|
||||||
|
"""
|
||||||
|
# Import here to avoid circular imports
|
||||||
|
from frigate.embeddings.types import EnrichmentModelTypeEnum
|
||||||
|
|
||||||
|
return model_type in [
|
||||||
|
EnrichmentModelTypeEnum.jina_v1.value,
|
||||||
|
EnrichmentModelTypeEnum.jina_v2.value,
|
||||||
|
]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def is_migraphx_complex_model(model_type: str) -> bool:
|
def is_migraphx_complex_model(model_type: str) -> bool:
|
||||||
# Import here to avoid circular imports
|
# Import here to avoid circular imports
|
||||||
@ -496,7 +515,9 @@ def get_optimized_runner(
|
|||||||
return ONNXModelRunner(
|
return ONNXModelRunner(
|
||||||
ort.InferenceSession(
|
ort.InferenceSession(
|
||||||
model_path,
|
model_path,
|
||||||
sess_options=get_ort_session_options(),
|
sess_options=get_ort_session_options(
|
||||||
|
ONNXModelRunner.is_cpu_complex_model(model_type)
|
||||||
|
),
|
||||||
providers=providers,
|
providers=providers,
|
||||||
provider_options=options,
|
provider_options=options,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -94,12 +94,13 @@ When forming your description:
|
|||||||
- Note visible details such as clothing, items being carried or placed, tools or equipment present, and how they interact with the property or objects.
|
- Note visible details such as clothing, items being carried or placed, tools or equipment present, and how they interact with the property or objects.
|
||||||
- Consider the full sequence chronologically: what happens from start to finish, how duration and actions relate to the location and objects involved.
|
- Consider the full sequence chronologically: what happens from start to finish, how duration and actions relate to the location and objects involved.
|
||||||
- **Use the actual timestamp provided in "Activity started at"** below for time of day context—do not infer time from image brightness or darkness. Unusual hours (late night/early morning) should increase suspicion when the observable behavior itself appears questionable. However, recognize that some legitimate activities can occur at any hour.
|
- **Use the actual timestamp provided in "Activity started at"** below for time of day context—do not infer time from image brightness or darkness. Unusual hours (late night/early morning) should increase suspicion when the observable behavior itself appears questionable. However, recognize that some legitimate activities can occur at any hour.
|
||||||
- **Weigh all evidence holistically**: Match the activity against both the normal and suspicious patterns above, then evaluate based on the complete context (zone, objects, time, actions). Activities matching normal patterns should be Level 0. Activities matching suspicious indicators should be Level 1. Use your judgment for edge cases.
|
- **Consider duration as a primary factor**: Very short sequences (under 15 seconds) during normal hours (6 AM - 11 PM) are almost always Level 0 unless explicit suspicious actions are visible (testing doors, stealing, climbing). Brief activity with apparent purpose (vehicle access, deliveries, passing through) is normal.
|
||||||
|
- **Weigh all evidence holistically**: Match the activity against both the normal and suspicious patterns above, then evaluate based on the complete context (zone, objects, time, actions, duration). Activities matching normal patterns should be Level 0. Activities matching suspicious indicators should be Level 1. Use your judgment for edge cases.
|
||||||
|
|
||||||
## Response Format
|
## Response Format
|
||||||
|
|
||||||
Your response MUST be a flat JSON object with:
|
Your response MUST be a flat JSON object with:
|
||||||
- `title` (string): A concise, one-sentence title that captures the main activity. Use names from "Objects in Scene" based on what you visually observe. If you see both a recognized name and "Unrecognized" for the same type but visually observe only one person/object, use ONLY the recognized name. Examples: "Joe walking dog in backyard", "Britt near vehicle in driveway", "Joe and an unrecognized person on front porch".
|
- `title` (string): A concise, one-sentence title that captures the main activity. Use names from "Objects in Scene" based on what you visually observe. If you see both a name and an unidentified object of the same type but visually observe only one person/object, use ONLY the name. Examples: "Joe walking dog in backyard", "Joe near vehicle in driveway", "Joe and a person on front porch".
|
||||||
- `scene` (string): A narrative description of what happens across the sequence from start to finish. **Only describe actions you can actually observe happening in the frames provided.** Do not infer or assume actions that aren't visible (e.g., if you see someone walking but never see them sit, don't say they sat down). Include setting, detected objects, and their observable actions. Avoid speculation or filling in assumed behaviors. Your description should align with and support the threat level you assign.
|
- `scene` (string): A narrative description of what happens across the sequence from start to finish. **Only describe actions you can actually observe happening in the frames provided.** Do not infer or assume actions that aren't visible (e.g., if you see someone walking but never see them sit, don't say they sat down). Include setting, detected objects, and their observable actions. Avoid speculation or filling in assumed behaviors. Your description should align with and support the threat level you assign.
|
||||||
- `confidence` (float): 0-1 confidence in your analysis. Higher confidence when objects/actions are clearly visible and context is unambiguous. Lower confidence when the sequence is unclear, objects are partially obscured, or context is ambiguous.
|
- `confidence` (float): 0-1 confidence in your analysis. Higher confidence when objects/actions are clearly visible and context is unambiguous. Lower confidence when the sequence is unclear, objects are partially obscured, or context is ambiguous.
|
||||||
- `potential_threat_level` (integer): 0, 1, or 2 as defined below. Your threat level must be consistent with your scene description and the guidance above.
|
- `potential_threat_level` (integer): 0, 1, or 2 as defined below. Your threat level must be consistent with your scene description and the guidance above.
|
||||||
@ -107,8 +108,8 @@ Your response MUST be a flat JSON object with:
|
|||||||
|
|
||||||
## Threat Level Definitions
|
## Threat Level Definitions
|
||||||
|
|
||||||
- 0 — **Normal activity**: The observable activity matches Normal Activity Indicators (brief vehicle access, deliveries, known people, pet activity, services). The evidence supports a benign explanation when considering zone, objects, time, and actions together. **Brief activities with apparent legitimate purpose are generally Level 0.**
|
- 0 — **Normal activity**: The observable activity matches Normal Activity Indicators (brief vehicle access, deliveries, known people, pet activity, services). **Very short sequences (under 15 seconds) during normal hours (6 AM - 11 PM) with apparent purpose (vehicle access, deliveries, passing through) are Level 0.** Brief activities are generally normal.
|
||||||
- 1 — **Potentially suspicious**: The observable activity matches Suspicious Activity Indicators (testing access, stealing items, climbing barriers, lingering without interaction across multiple frames, unusual hours with suspicious behavior). The activity shows concerning patterns that warrant human review. **Requires clear suspicious behavior, not just ambiguity.**
|
- 1 — **Potentially suspicious**: The observable activity matches Suspicious Activity Indicators (testing access, stealing items, climbing barriers, lingering throughout most of sequence without task, unusual hours 11 PM - 5 AM with suspicious behavior). **Requires clear suspicious actions visible in frames, not just ambiguity or brief presence.**
|
||||||
- 2 — **Immediate threat**: Clear evidence of active criminal activity, forced entry, break-in, vandalism, aggression, weapons, theft in progress, or property damage.
|
- 2 — **Immediate threat**: Clear evidence of active criminal activity, forced entry, break-in, vandalism, aggression, weapons, theft in progress, or property damage.
|
||||||
|
|
||||||
## Sequence Details
|
## Sequence Details
|
||||||
@ -119,11 +120,11 @@ Your response MUST be a flat JSON object with:
|
|||||||
|
|
||||||
## Objects in Scene
|
## Objects in Scene
|
||||||
|
|
||||||
Each line represents a detection state, not necessarily unique individuals. Named objects are recognized/verified identities; "Unrecognized" indicates objects detected but not identified.
|
Each line represents a detection state, not necessarily unique individuals. Objects with names in parentheses (e.g., "Name (person)") are verified identities. Objects without names (e.g., "Person") are detected but not identified.
|
||||||
|
|
||||||
**CRITICAL: When you see both recognized and unrecognized entries of the same type (e.g., "Name (person)" and "Unrecognized (person)"), visually count how many distinct people/objects you actually see based on appearance and clothing. If you observe only ONE person throughout the sequence, use ONLY the recognized name (e.g., "Name"), not "Unrecognized". The same person may be recognized in some frames but not others. Only describe both recognized and unrecognized if you visually see MULTIPLE distinct people with clearly different appearances.**
|
**CRITICAL: When you see both recognized and unrecognized entries of the same type (e.g., "Joe (person)" and "Person"), visually count how many distinct people/objects you actually see based on appearance and clothing. If you observe only ONE person throughout the sequence, use ONLY the recognized name (e.g., "Joe"). The same person may be recognized in some frames but not others. Only describe both if you visually see MULTIPLE distinct people with clearly different appearances.**
|
||||||
|
|
||||||
**Note: "Unrecognized" is NOT an indicator of suspicious activity—it simply means the system hasn't identified that object.**
|
**Note: Unidentified objects (without names) are NOT indicators of suspicious activity—they simply mean the system hasn't identified that object.**
|
||||||
{get_objects_list()}
|
{get_objects_list()}
|
||||||
|
|
||||||
## Important Notes
|
## Important Notes
|
||||||
@ -164,10 +165,8 @@ Each line represents a detection state, not necessarily unique individuals. Name
|
|||||||
try:
|
try:
|
||||||
metadata = ReviewMetadata.model_validate_json(clean_json)
|
metadata = ReviewMetadata.model_validate_json(clean_json)
|
||||||
|
|
||||||
if any(
|
# If any verified objects (contain parentheses with name), set to 0
|
||||||
not obj.startswith("Unrecognized")
|
if any("(" in obj for obj in review_data["unified_objects"]):
|
||||||
for obj in review_data["unified_objects"]
|
|
||||||
):
|
|
||||||
metadata.potential_threat_level = 0
|
metadata.potential_threat_level = 0
|
||||||
|
|
||||||
metadata.time = review_data["start"]
|
metadata.time = review_data["start"]
|
||||||
|
|||||||
1
web/public/locales/ab/views/classificationModel.json
Normal file
1
web/public/locales/ab/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/ar/views/classificationModel.json
Normal file
1
web/public/locales/ar/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/bg/views/classificationModel.json
Normal file
1
web/public/locales/bg/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -425,5 +425,79 @@
|
|||||||
"radio": "Ràdio",
|
"radio": "Ràdio",
|
||||||
"pink_noise": "Soroll rosa",
|
"pink_noise": "Soroll rosa",
|
||||||
"power_windows": "Finestres elèctriques",
|
"power_windows": "Finestres elèctriques",
|
||||||
"artillery_fire": "Foc d'artilleria"
|
"artillery_fire": "Foc d'artilleria",
|
||||||
|
"sodeling": "Cant a la tirolesa",
|
||||||
|
"vibration": "Vibració",
|
||||||
|
"throbbing": "Palpitant",
|
||||||
|
"cacophony": "Cacofonia",
|
||||||
|
"sidetone": "To local",
|
||||||
|
"distortion": "Distorsió",
|
||||||
|
"mains_hum": "brunzit",
|
||||||
|
"noise": "Soroll",
|
||||||
|
"echo": "Echo",
|
||||||
|
"reverberation": "Reverberació",
|
||||||
|
"inside": "Interior",
|
||||||
|
"pulse": "Pols",
|
||||||
|
"outside": "Fora",
|
||||||
|
"chirp_tone": "To de grinyol",
|
||||||
|
"harmonic": "Harmònic",
|
||||||
|
"sine_wave": "Ona sinus",
|
||||||
|
"crunch": "Cruixit",
|
||||||
|
"hum": "Taral·lejar",
|
||||||
|
"plop": "Chof",
|
||||||
|
"clickety_clack": "Clic-Clac",
|
||||||
|
"clicking": "Clicant",
|
||||||
|
"clatter": "Soroll",
|
||||||
|
"chird": "Piular",
|
||||||
|
"liquid": "Líquid",
|
||||||
|
"splash": "Xof",
|
||||||
|
"slosh": "Xip-xap",
|
||||||
|
"boing": "Boing",
|
||||||
|
"zing": "Fiu",
|
||||||
|
"rumble": "Bum-bum",
|
||||||
|
"sizzle": "Xiu-xiu",
|
||||||
|
"whir": "Brrrm",
|
||||||
|
"rustle": "Fru-Fru",
|
||||||
|
"creak": "Clic-clac",
|
||||||
|
"clang": "Clang",
|
||||||
|
"squish": "Xaf",
|
||||||
|
"drip": "Plic-plic",
|
||||||
|
"pour": "Glug-glug",
|
||||||
|
"trickle": "Xiulet",
|
||||||
|
"gush": "Xuuuix",
|
||||||
|
"fill": "Glug-glug",
|
||||||
|
"ding": "Ding",
|
||||||
|
"ping": "Ping",
|
||||||
|
"beep": "Bip",
|
||||||
|
"squeal": "Xiscle",
|
||||||
|
"crumpling": "Arrugant-se",
|
||||||
|
"rub": "Fregar",
|
||||||
|
"scrape": "Raspar",
|
||||||
|
"scratch": "Rasca",
|
||||||
|
"whip": "Fuet",
|
||||||
|
"bouncing": "Rebotant",
|
||||||
|
"breaking": "Trencant",
|
||||||
|
"smash": "Aixafar",
|
||||||
|
"whack": "Cop",
|
||||||
|
"slap": "Bufetada",
|
||||||
|
"bang": "Bang",
|
||||||
|
"basketball_bounce": "Rebot de bàsquet",
|
||||||
|
"chorus_effect": "Efecte de cor",
|
||||||
|
"effects_unit": "Unitat d'Efectes",
|
||||||
|
"electronic_tuner": "Afinador electrònic",
|
||||||
|
"thunk": "Bruix",
|
||||||
|
"thump": "Cop fort",
|
||||||
|
"whoosh": "Xiuxiueig",
|
||||||
|
"arrow": "Fletxa",
|
||||||
|
"sonar": "Sonar",
|
||||||
|
"boiling": "Bullint",
|
||||||
|
"stir": "Remenar",
|
||||||
|
"pump": "Bomba",
|
||||||
|
"spray": "Esprai",
|
||||||
|
"shofar": "Xofar",
|
||||||
|
"crushing": "Aixafament",
|
||||||
|
"change_ringing": "Toc de campanes",
|
||||||
|
"flap": "Cop de peu",
|
||||||
|
"roll": "Rodament",
|
||||||
|
"tearing": "Esquinçat"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"loginFailed": "Error en l'inici de sessió",
|
"loginFailed": "Error en l'inici de sessió",
|
||||||
"unknownError": "Error desconegut. Comproveu els registres.",
|
"unknownError": "Error desconegut. Comproveu els registres.",
|
||||||
"webUnknownError": "Error desconegut. Comproveu els registres de la consola."
|
"webUnknownError": "Error desconegut. Comproveu els registres de la consola."
|
||||||
}
|
},
|
||||||
|
"firstTimeLogin": "Intentar iniciar sessió per primera vegada? Les credencials s'imprimeixen als registres de Frigate."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@
|
|||||||
"export": "Exportar",
|
"export": "Exportar",
|
||||||
"selectOrExport": "Seleccionar o exportar",
|
"selectOrExport": "Seleccionar o exportar",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Exportació inciada amb èxit. Pots veure l'arxiu a la carpeta /exports.",
|
"success": "Exportació inciada amb èxit. Pots veure l'arxiu a la pàgina d'exportacions.",
|
||||||
"error": {
|
"error": {
|
||||||
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
|
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
|
||||||
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
|
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
|
||||||
|
|||||||
135
web/public/locales/ca/views/classificationModel.json
Normal file
135
web/public/locales/ca/views/classificationModel.json
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Models de classificació",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Suprimeix les imatges de classificació",
|
||||||
|
"renameCategory": "Reanomena la classe",
|
||||||
|
"deleteCategory": "Suprimeix la classe",
|
||||||
|
"deleteImages": "Suprimeix les imatges",
|
||||||
|
"trainModel": "Model de tren"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "Classe suprimida",
|
||||||
|
"deletedImage": "Imatges suprimides",
|
||||||
|
"categorizedImage": "Imatge classificada amb èxit",
|
||||||
|
"trainedModel": "Model entrenat amb èxit.",
|
||||||
|
"trainingModel": "S'ha iniciat amb èxit la formació de models."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "No s'ha pogut suprimir: {{errorMessage}}",
|
||||||
|
"deleteCategoryFailed": "No s'ha pogut suprimir la classe: {{errorMessage}}",
|
||||||
|
"categorizeFailed": "No s'ha pogut categoritzar la imatge: {{errorMessage}}",
|
||||||
|
"trainingFailed": "No s'ha pogut iniciar l'entrenament del model: {{errorMessage}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleteCategory": {
|
||||||
|
"title": "Suprimeix la classe",
|
||||||
|
"desc": "Esteu segur que voleu suprimir la classe {{name}}? Això suprimirà permanentment totes les imatges associades i requerirà tornar a entrenar el model."
|
||||||
|
},
|
||||||
|
"deleteDatasetImages": {
|
||||||
|
"title": "Suprimeix les imatges del conjunt de dades",
|
||||||
|
"desc": "Esteu segur que voleu suprimir {{count}} imatges de {{dataset}}? Aquesta acció no es pot desfer i requerirà tornar a entrenar el model."
|
||||||
|
},
|
||||||
|
"deleteTrainImages": {
|
||||||
|
"title": "Suprimeix les imatges del tren",
|
||||||
|
"desc": "Esteu segur que voleu suprimir {{count}} imatges? Aquesta acció no es pot desfer."
|
||||||
|
},
|
||||||
|
"renameCategory": {
|
||||||
|
"title": "Reanomena la classe",
|
||||||
|
"desc": "Introduïu un nom nou per {{name}}. Se us requerirà que torneu a entrenar el model per al canvi de nom a afectar."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
|
||||||
|
},
|
||||||
|
"train": {
|
||||||
|
"title": "Classificacions recents",
|
||||||
|
"aria": "Selecciona les classificacions recents"
|
||||||
|
},
|
||||||
|
"categories": "Classes",
|
||||||
|
"createCategory": {
|
||||||
|
"new": "Crea una classe nova"
|
||||||
|
},
|
||||||
|
"categorizeImageAs": "Classifica la imatge com a:",
|
||||||
|
"categorizeImage": "Classifica la imatge",
|
||||||
|
"noModels": {
|
||||||
|
"object": {
|
||||||
|
"title": "No hi ha models de classificació d'objectes",
|
||||||
|
"description": "Crea un model personalitzat per classificar els objectes detectats.",
|
||||||
|
"buttonText": "Crea un model d'objecte"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"title": "Cap model de classificació d'estat",
|
||||||
|
"description": "Crea un model personalitzat per a monitoritzar i classificar els canvis d'estat en àrees de càmera específiques.",
|
||||||
|
"buttonText": "Crea un model d'estat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Crea una classificació nova",
|
||||||
|
"steps": {
|
||||||
|
"nameAndDefine": "Nom i definició",
|
||||||
|
"stateArea": "Àrea estatal",
|
||||||
|
"chooseExamples": "Trieu exemples"
|
||||||
|
},
|
||||||
|
"step1": {
|
||||||
|
"description": "Els models estatals monitoritzen àrees de càmera fixes per als canvis (p. ex., porta oberta/tancada). Els models d'objectes afegeixen classificacions als objectes detectats (per exemple, animals coneguts, persones de lliurament, etc.).",
|
||||||
|
"name": "Nom",
|
||||||
|
"namePlaceholder": "Introduïu el nom del model...",
|
||||||
|
"type": "Tipus",
|
||||||
|
"typeState": "Estat",
|
||||||
|
"typeObject": "Objecte",
|
||||||
|
"objectLabel": "Etiqueta de l'objecte",
|
||||||
|
"objectLabelPlaceholder": "Selecciona el tipus d'objecte...",
|
||||||
|
"classificationType": "Tipus de classificació",
|
||||||
|
"classificationTypeTip": "Apreneu sobre els tipus de classificació",
|
||||||
|
"classificationTypeDesc": "Les subetiquetes afegeixen text addicional a l'etiqueta de l'objecte (p. ex., 'Person: UPS'). Els atributs són metadades cercables emmagatzemades per separat a les metadades de l'objecte.",
|
||||||
|
"classificationSubLabel": "Subetiqueta",
|
||||||
|
"classificationAttribute": "Atribut",
|
||||||
|
"classes": "Classes",
|
||||||
|
"classesTip": "Aprèn sobre les classes",
|
||||||
|
"classesStateDesc": "Defineix els diferents estats en què pot estar la teva àrea de càmera. Per exemple: \"obert\" i \"tancat\" per a una porta de garatge.",
|
||||||
|
"classesObjectDesc": "Defineix les diferents categories en què classificar els objectes detectats. Per exemple: 'lliuramentpersonpersona', 'resident', 'amenaça' per a la classificació de persones.",
|
||||||
|
"classPlaceholder": "Introduïu el nom de la classe...",
|
||||||
|
"errors": {
|
||||||
|
"nameRequired": "Es requereix el nom del model",
|
||||||
|
"nameLength": "El nom del model ha de tenir 64 caràcters o menys",
|
||||||
|
"nameOnlyNumbers": "El nom del model no pot contenir només números",
|
||||||
|
"classRequired": "Es requereix com a mínim 1 classe",
|
||||||
|
"classesUnique": "Els noms de classe han de ser únics",
|
||||||
|
"stateRequiresTwoClasses": "Els models d'estat requereixen almenys 2 classes",
|
||||||
|
"objectLabelRequired": "Seleccioneu una etiqueta d'objecte",
|
||||||
|
"objectTypeRequired": "Seleccioneu un tipus de classificació"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Seleccioneu les càmeres i definiu l'àrea a monitoritzar per a cada càmera. El model classificarà l'estat d'aquestes àrees.",
|
||||||
|
"cameras": "Càmeres",
|
||||||
|
"selectCamera": "Selecciona la càmera",
|
||||||
|
"noCameras": "Feu clic a + per a afegir càmeres",
|
||||||
|
"selectCameraPrompt": "Seleccioneu una càmera de la llista per definir la seva àrea de monitoratge"
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"selectImagesPrompt": "Selecciona totes les imatges amb: {{className}}",
|
||||||
|
"selectImagesDescription": "Feu clic a les imatges per a seleccionar-les. Feu clic a Continua quan hàgiu acabat amb aquesta classe.",
|
||||||
|
"generating": {
|
||||||
|
"title": "S'estan generant imatges de mostra",
|
||||||
|
"description": "Frigate està traient imatges representatives dels vostres enregistraments. Això pot trigar un moment..."
|
||||||
|
},
|
||||||
|
"training": {
|
||||||
|
"title": "Model d'entrenament",
|
||||||
|
"description": "El teu model s'està entrenant en segon pla. Tanqueu aquest diàleg i el vostre model començarà a funcionar tan aviat com s'hagi completat l'entrenament."
|
||||||
|
},
|
||||||
|
"retryGenerate": "Torna a provar la generació",
|
||||||
|
"noImages": "No s'ha generat cap imatge de mostra",
|
||||||
|
"classifying": "Classificació i formació...",
|
||||||
|
"trainingStarted": "L'entrenament s'ha iniciat amb èxit",
|
||||||
|
"errors": {
|
||||||
|
"noCameras": "No s'ha configurat cap càmera",
|
||||||
|
"noObjectLabel": "No s'ha seleccionat cap etiqueta d'objecte",
|
||||||
|
"generateFailed": "No s'han pogut generar exemples: {{error}}",
|
||||||
|
"generationFailed": "Ha fallat la generació. Torneu-ho a provar.",
|
||||||
|
"classifyFailed": "No s'han pogut classificar les imatges: {{error}}"
|
||||||
|
},
|
||||||
|
"generateSuccess": "Imatges de mostra generades amb èxit"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -36,5 +36,17 @@
|
|||||||
"selected_one": "{{count}} seleccionats",
|
"selected_one": "{{count}} seleccionats",
|
||||||
"selected_other": "{{count}} seleccionats",
|
"selected_other": "{{count}} seleccionats",
|
||||||
"suspiciousActivity": "Activitat sospitosa",
|
"suspiciousActivity": "Activitat sospitosa",
|
||||||
"threateningActivity": "Activitat amenaçadora"
|
"threateningActivity": "Activitat amenaçadora",
|
||||||
|
"detail": {
|
||||||
|
"noDataFound": "No hi ha dades detallades a revisar",
|
||||||
|
"trackedObject_one": "objecte",
|
||||||
|
"aria": "Canvia la vista de detall",
|
||||||
|
"trackedObject_other": "objectes",
|
||||||
|
"noObjectDetailData": "No hi ha dades de detall d'objecte disponibles.",
|
||||||
|
"label": "Detall"
|
||||||
|
},
|
||||||
|
"objectTrack": {
|
||||||
|
"clickToSeek": "Feu clic per cercar aquesta hora",
|
||||||
|
"trackedPoint": "Punt de seguiment"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -206,13 +206,23 @@
|
|||||||
"audioTranscription": {
|
"audioTranscription": {
|
||||||
"label": "Transcriu",
|
"label": "Transcriu",
|
||||||
"aria": "Demanar una transcripció d'audio"
|
"aria": "Demanar una transcripció d'audio"
|
||||||
|
},
|
||||||
|
"showObjectDetails": {
|
||||||
|
"label": "Mostra la ruta de l'objecte"
|
||||||
|
},
|
||||||
|
"hideObjectDetails": {
|
||||||
|
"label": "Amaga la ruta de l'objecte"
|
||||||
|
},
|
||||||
|
"viewTrackingDetails": {
|
||||||
|
"label": "Veure detalls de seguiment",
|
||||||
|
"aria": "Mostra els detalls de seguiment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noTrackedObjects": "No s'han trobat objectes rastrejats",
|
"noTrackedObjects": "No s'han trobat objectes rastrejats",
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"confirmDelete": {
|
"confirmDelete": {
|
||||||
"title": "Confirmar la supressió",
|
"title": "Confirmar la supressió",
|
||||||
"desc": "Eliminant aquest objecte seguit borrarà l'snapshot, qualsevol embedding gravat, i qualsevol objecte associat. Les imatges gravades d'aquest objecte seguit en l'historial <em>NO</em> seràn eliminades.<br /><br />Estas segur que vols continuar?"
|
"desc": "Eliminant aquest objecte seguit borrarà l'snapshot, qualsevol embedding gravat, i qualsevol detall de seguiment. Les imatges gravades d'aquest objecte seguit en l'historial <em>NO</em> seràn eliminades.<br /><br />Estas segur que vols continuar?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fetchingTrackedObjectsFailed": "Error al obtenir objectes rastrejats: {{errorMessage}}",
|
"fetchingTrackedObjectsFailed": "Error al obtenir objectes rastrejats: {{errorMessage}}",
|
||||||
@ -224,5 +234,53 @@
|
|||||||
},
|
},
|
||||||
"concerns": {
|
"concerns": {
|
||||||
"label": "Preocupacions"
|
"label": "Preocupacions"
|
||||||
|
},
|
||||||
|
"trackingDetails": {
|
||||||
|
"title": "Detalls de seguiment",
|
||||||
|
"noImageFound": "No s'ha trobat cap imatge amb aquesta hora.",
|
||||||
|
"createObjectMask": "Crear màscara d'objecte",
|
||||||
|
"adjustAnnotationSettings": "Ajustar configuració d'anotacions",
|
||||||
|
"scrollViewTips": "Desplaça per veure els moments significants del cicle de vida d'aquest objecte.",
|
||||||
|
"autoTrackingTips": "Limitar les posicións de la caixa serà inacurat per càmeras de seguiment automàtic.",
|
||||||
|
"count": "{{first}} de {{second}}",
|
||||||
|
"trackedPoint": "Punt Seguit",
|
||||||
|
"lifecycleItemDesc": {
|
||||||
|
"visible": "{{label}} detectat",
|
||||||
|
"entered_zone": "{{label}} ha entrat a {{zones}}",
|
||||||
|
"active": "{{label}} ha esdevingut actiu",
|
||||||
|
"stationary": "{{label}} ha esdevingut estacionari",
|
||||||
|
"attribute": {
|
||||||
|
"faceOrLicense_plate": "{{attribute}} detectat per {{label}}",
|
||||||
|
"other": "{{label}} reconegut com a {{attribute}}"
|
||||||
|
},
|
||||||
|
"gone": "{{label}} esquerra",
|
||||||
|
"heard": "{{label}} sentit",
|
||||||
|
"external": "{{label}} detectat",
|
||||||
|
"header": {
|
||||||
|
"zones": "Zones",
|
||||||
|
"ratio": "Ràtio",
|
||||||
|
"area": "Àrea"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"annotationSettings": {
|
||||||
|
"title": "Configuració d'anotacions",
|
||||||
|
"showAllZones": {
|
||||||
|
"title": "Mostra totes les Zones",
|
||||||
|
"desc": "Mostra sempre les zones amb marcs on els objectes hagin entrat a la zona."
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"label": "Òfset d'Anotació",
|
||||||
|
"desc": "Aquestes dades provenen del flux de detecció de la càmera, però se superposen a les imatges del flux de gravació. És poc probable que els dos fluxos estiguin perfectament sincronitzats. Com a resultat, el quadre delimitador i el metratge no s'alinearan perfectament. Tanmateix, es pot utilitzar el camp <code>annotation_offset</code> per ajustar-ho.",
|
||||||
|
"millisecondsToOffset": "Millisegons per l'òfset de detecció d'anotacions per. <em>Per defecte: 0</em>",
|
||||||
|
"tips": "CONSELL: Imagineu-vos que hi ha un clip d'esdeveniment amb una persona caminant d'esquerra a dreta. Si el quadre delimitador de la cronologia de l'esdeveniment està constantment a l'esquerra de la persona, aleshores s'hauria de disminuir el valor. De la mateixa manera, si una persona camina d'esquerra a dreta i el quadre delimitador està constantment per davant de la persona, aleshores s'hauria d'augmentar el valor.",
|
||||||
|
"toast": {
|
||||||
|
"success": "L'Òfset d'anotació per a {{camera}} s'ha desat al fitxer de configuració. Reinicieu Frigate per aplicar els canvis."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"carousel": {
|
||||||
|
"previous": "Diapositiva anterior",
|
||||||
|
"next": "Dispositiva posterior"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,13 +12,13 @@
|
|||||||
"collections": "Col·leccions",
|
"collections": "Col·leccions",
|
||||||
"train": {
|
"train": {
|
||||||
"empty": "No hi ha intents recents de reconeixement de rostres",
|
"empty": "No hi ha intents recents de reconeixement de rostres",
|
||||||
"title": "Entrenar",
|
"title": "Reconeixements recents",
|
||||||
"aria": "Seleccionar entrenament"
|
"aria": "Selecciona els reconeixements recents"
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"addFace": "Guia per a agregar una nova colecció a la biblioteca de rostres.",
|
"addFace": "Afegiu una col·lecció nova a la biblioteca de cares pujant la vostra primera imatge.",
|
||||||
"placeholder": "Introduïu un nom per a aquesta col·lecció",
|
"placeholder": "Introduïu un nom per a aquesta col·lecció",
|
||||||
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guionets."
|
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
|
||||||
},
|
},
|
||||||
"documentTitle": "Biblioteca de rostres - Frigate",
|
"documentTitle": "Biblioteca de rostres - Frigate",
|
||||||
"uploadFaceImage": {
|
"uploadFaceImage": {
|
||||||
@ -54,7 +54,7 @@
|
|||||||
"selectImage": "Siusplau, selecciona un fixer d'imatge."
|
"selectImage": "Siusplau, selecciona un fixer d'imatge."
|
||||||
},
|
},
|
||||||
"maxSize": "Mida màxima: {{size}}MB",
|
"maxSize": "Mida màxima: {{size}}MB",
|
||||||
"dropInstructions": "Arrastra una imatge aquí, o fes clic per a selccionar-ne una"
|
"dropInstructions": "Arrossegueu i deixeu anar o enganxeu una imatge aquí, o feu clic per seleccionar"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"uploadImage": "Pujar imatge",
|
"uploadImage": "Pujar imatge",
|
||||||
|
|||||||
@ -86,8 +86,8 @@
|
|||||||
"disable": "Amaga estadístiques de la transmissió"
|
"disable": "Amaga estadístiques de la transmissió"
|
||||||
},
|
},
|
||||||
"manualRecording": {
|
"manualRecording": {
|
||||||
"title": "Gravació sota demanda",
|
"title": "Sota demanda",
|
||||||
"tips": "Iniciar un event manual basat en els paràmetres de retenció de gravació per aquesta càmera.",
|
"tips": "Baixeu una instantània o inicieu un esdeveniment manual basat en la configuració de retenció d'enregistrament d'aquesta càmera.",
|
||||||
"playInBackground": {
|
"playInBackground": {
|
||||||
"label": "Reproduir en segon pla",
|
"label": "Reproduir en segon pla",
|
||||||
"desc": "Habilita aquesta opció per a continuar la transmissió quan el reproductor està amagat."
|
"desc": "Habilita aquesta opció per a continuar la transmissió quan el reproductor està amagat."
|
||||||
@ -178,6 +178,8 @@
|
|||||||
"downloadStarted": "Inici de baixada d'instantània."
|
"downloadStarted": "Inici de baixada d'instantània."
|
||||||
},
|
},
|
||||||
"noCameras": {
|
"noCameras": {
|
||||||
"title": "Sense càmeres per configurar"
|
"title": "No s'ha configurat cap càmera",
|
||||||
|
"description": "Comenceu connectant una càmera a Frigate.",
|
||||||
|
"buttonText": "Afegeix una càmera"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,7 +114,8 @@
|
|||||||
"mustBeAtLeastTwoCharacters": "El nom de la zona ha de contenir com a mínim 2 caràcters.",
|
"mustBeAtLeastTwoCharacters": "El nom de la zona ha de contenir com a mínim 2 caràcters.",
|
||||||
"mustNotContainPeriod": "El nom de la zona no pot contenir punts.",
|
"mustNotContainPeriod": "El nom de la zona no pot contenir punts.",
|
||||||
"alreadyExists": "Ja existeix una zona amb aquest nom per a aquesta càmera.",
|
"alreadyExists": "Ja existeix una zona amb aquest nom per a aquesta càmera.",
|
||||||
"mustNotBeSameWithCamera": "El nom de la zona no pot ser el mateix que el nom de la càmera."
|
"mustNotBeSameWithCamera": "El nom de la zona no pot ser el mateix que el nom de la càmera.",
|
||||||
|
"mustHaveAtLeastOneLetter": "El nom de la zona ha de tenir almenys una lletra."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inertia": {
|
"inertia": {
|
||||||
@ -163,7 +164,7 @@
|
|||||||
"name": {
|
"name": {
|
||||||
"inputPlaceHolder": "Introduïu un nom…",
|
"inputPlaceHolder": "Introduïu un nom…",
|
||||||
"title": "Nom",
|
"title": "Nom",
|
||||||
"tips": "El nom ha de tenir almenys 2 caràcters i no pot coincidir amb el nom d'una càmera ni amb el d'una altra zona."
|
"tips": "El nom ha de tenir almenys 2 caràcters, ha de tenir almenys una lletra, i no ha de ser el nom d'una càmera o una altra zona."
|
||||||
},
|
},
|
||||||
"label": "Zones",
|
"label": "Zones",
|
||||||
"desc": {
|
"desc": {
|
||||||
@ -749,6 +750,11 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"min": "S'ha de seleccionar una acció com a mínim."
|
"min": "S'ha de seleccionar una acció com a mínim."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"friendly_name": {
|
||||||
|
"title": "Nom amistós",
|
||||||
|
"placeholder": "Nom o descripció d'aquest disparador",
|
||||||
|
"description": "Un nom opcional amistós o text descriptiu per a aquest activador."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -769,7 +775,11 @@
|
|||||||
"title": "Gestió de disparadors",
|
"title": "Gestió de disparadors",
|
||||||
"desc": "Gestionar els disparadors de {{camera}}. Usa les tipus de miniatures per disparar miniatures similars a l'objecte a seguir seleccionat, i el tipus de descripció per disparar en cas de descripcions similars a l'especificada."
|
"desc": "Gestionar els disparadors de {{camera}}. Usa les tipus de miniatures per disparar miniatures similars a l'objecte a seguir seleccionat, i el tipus de descripció per disparar en cas de descripcions similars a l'especificada."
|
||||||
},
|
},
|
||||||
"addTrigger": "Afegir disaprador"
|
"addTrigger": "Afegir disaprador",
|
||||||
|
"semanticSearch": {
|
||||||
|
"desc": "La cerca semàntica ha d'estar activada per a utilitzar els activadors.",
|
||||||
|
"title": "La cerca semàntica està desactivada"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"roles": {
|
"roles": {
|
||||||
"dialog": {
|
"dialog": {
|
||||||
@ -836,10 +846,223 @@
|
|||||||
"description": "Seguiu els passos de sota per afegir una nova càmera a la instal·lació.",
|
"description": "Seguiu els passos de sota per afegir una nova càmera a la instal·lació.",
|
||||||
"steps": {
|
"steps": {
|
||||||
"nameAndConnection": "Nom i connexió",
|
"nameAndConnection": "Nom i connexió",
|
||||||
"streamConfiguration": "Configuració de stream"
|
"streamConfiguration": "Configuració de stream",
|
||||||
|
"validationAndTesting": "Validació i proves"
|
||||||
},
|
},
|
||||||
"step1": {
|
"step1": {
|
||||||
"cameraBrand": "Marca de la càmera"
|
"cameraBrand": "Marca de la càmera",
|
||||||
|
"description": "Introduïu els detalls de la càmera i proveu la connexió.",
|
||||||
|
"cameraName": "Nom de la càmera",
|
||||||
|
"cameraNamePlaceholder": "p. ex., vista general de la porta davantera o de la barra posterior",
|
||||||
|
"host": "Adreça de l'amfitrió/IP",
|
||||||
|
"port": "Port",
|
||||||
|
"username": "Nom d'usuari",
|
||||||
|
"usernamePlaceholder": "Opcional",
|
||||||
|
"password": "Contrasenya",
|
||||||
|
"passwordPlaceholder": "Opcional",
|
||||||
|
"selectTransport": "Selecciona el protocol de transport",
|
||||||
|
"brandInformation": "Informació de marca",
|
||||||
|
"brandUrlFormat": "Per a càmeres amb el format d'URL RTSP com: {{exampleUrl}}",
|
||||||
|
"customUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta",
|
||||||
|
"testConnection": "Prova la connexió",
|
||||||
|
"testSuccess": "Prova de connexió correcta!",
|
||||||
|
"testFailed": "Ha fallat la prova de connexió. Si us plau, comproveu la vostra entrada i torneu-ho a provar.",
|
||||||
|
"streamDetails": "Detalls del flux",
|
||||||
|
"warnings": {
|
||||||
|
"noSnapshot": "No s'ha pogut obtenir una instantània del flux configurat."
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"brandOrCustomUrlRequired": "Seleccioneu una marca de càmera amb host/IP o trieu 'Altres' amb un URL personalitzat",
|
||||||
|
"nameRequired": "Es requereix el nom de la càmera",
|
||||||
|
"nameLength": "El nom de la càmera ha de tenir 64 caràcters o menys",
|
||||||
|
"invalidCharacters": "El nom de la càmera conté caràcters no vàlids",
|
||||||
|
"nameExists": "El nom de la càmera ja existeix",
|
||||||
|
"brands": {
|
||||||
|
"reolink-rtsp": "No es recomana Reolink RST. Es recomana habilitar HTTP a la configuració de la càmera i reiniciar l'assistent de la càmera."
|
||||||
|
},
|
||||||
|
"customUrlRtspRequired": "Els URL personalitzats han de començar amb \"rtsp://\". Es requereix configuració manual per a fluxos de càmera no RTSP."
|
||||||
|
},
|
||||||
|
"selectBrand": "Seleccioneu la marca de la càmera per a la plantilla d'URL",
|
||||||
|
"customUrl": "URL de flux personalitzat",
|
||||||
|
"docs": {
|
||||||
|
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
||||||
|
},
|
||||||
|
"testing": {
|
||||||
|
"probingMetadata": "S'estan provant les metadades de la càmera...",
|
||||||
|
"fetchingSnapshot": "S'està recuperant la instantània de la càmera..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"failure": "SS'ha produït un error en desar {{cameraName}}.",
|
||||||
|
"success": "S'ha desat correctament la càmera nova {{cameraName}}."
|
||||||
|
},
|
||||||
|
"testResultLabels": {
|
||||||
|
"resolution": "Resolució",
|
||||||
|
"video": "Vídeo",
|
||||||
|
"audio": "Àudio",
|
||||||
|
"fps": "FPS"
|
||||||
|
},
|
||||||
|
"commonErrors": {
|
||||||
|
"noUrl": "Proporcioneu un URL de flux vàlid",
|
||||||
|
"testFailed": "Ha fallat la prova de flux: {{error}}"
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Configura els rols de flux i afegeix fluxos addicionals per a la càmera.",
|
||||||
|
"streamsTitle": "Fluxos de la càmera",
|
||||||
|
"addStream": "Afegeix un flux",
|
||||||
|
"addAnotherStream": "Afegeix un altre flux",
|
||||||
|
"streamTitle": "Flux {{number}}",
|
||||||
|
"streamUrl": "URL del flux",
|
||||||
|
"url": "URL",
|
||||||
|
"resolution": "Resolució",
|
||||||
|
"selectResolution": "Selecciona la resolució",
|
||||||
|
"quality": "Qualitat",
|
||||||
|
"selectQuality": "Selecciona la qualitat",
|
||||||
|
"roleLabels": {
|
||||||
|
"detect": "Detecció d'objectes",
|
||||||
|
"record": "Enregistrament",
|
||||||
|
"audio": "Àudio"
|
||||||
|
},
|
||||||
|
"testStream": "Prova la connexió",
|
||||||
|
"testSuccess": "Prova de flux amb èxit!",
|
||||||
|
"testFailed": "Ha fallat la prova del flux",
|
||||||
|
"testFailedTitle": "Ha fallat la prova",
|
||||||
|
"connected": "Connectat",
|
||||||
|
"notConnected": "No connectat",
|
||||||
|
"featuresTitle": "Característiques",
|
||||||
|
"go2rtc": "Redueix les connexions a la càmera",
|
||||||
|
"detectRoleWarning": "Almenys un flux ha de tenir el rol de \"detecte\" per continuar.",
|
||||||
|
"rolesPopover": {
|
||||||
|
"title": "Rols de flux",
|
||||||
|
"detect": "Canal principal per a la detecció d'objectes.",
|
||||||
|
"record": "Desa els segments del canal de vídeo basats en la configuració.",
|
||||||
|
"audio": "Canal per a la detecció basada en àudio."
|
||||||
|
},
|
||||||
|
"featuresPopover": {
|
||||||
|
"title": "Característiques del flux",
|
||||||
|
"description": "Utilitzeu el restreaming go2rtc per reduir les connexions a la càmera."
|
||||||
|
},
|
||||||
|
"roles": "Rols",
|
||||||
|
"streamUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta"
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"none": "Cap",
|
||||||
|
"error": "Error",
|
||||||
|
"saveAndApply": "Desa una càmera nova",
|
||||||
|
"saveError": "Configuració no vàlida. Si us plau, comproveu la configuració.",
|
||||||
|
"issues": {
|
||||||
|
"title": "Validació del flux",
|
||||||
|
"videoCodecGood": "El còdec de vídeo és {{codec}}.",
|
||||||
|
"audioCodecGood": "El còdec d'àudio és {{codec}}.",
|
||||||
|
"noAudioWarning": "No s'ha detectat cap àudio per a aquest flux, els enregistraments no tindran àudio.",
|
||||||
|
"audioCodecRecordError": "El còdec d'àudio AAC és necessari per a suportar l'àudio en els enregistraments.",
|
||||||
|
"audioCodecRequired": "Es requereix un flux d'àudio per admetre la detecció d'àudio.",
|
||||||
|
"restreamingWarning": "Reduir les connexions a la càmera per al flux de registre pot augmentar lleugerament l'ús de la CPU.",
|
||||||
|
"dahua": {
|
||||||
|
"substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Dahua / Amcrest / EmpireTech suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
|
||||||
|
},
|
||||||
|
"hikvision": {
|
||||||
|
"substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Hikvision suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
|
||||||
|
},
|
||||||
|
"resolutionHigh": "Una resolució de {{resolution}} pot causar un ús més gran dels recursos.",
|
||||||
|
"resolutionLow": "Una resolució de {{resolution}} pot ser massa baixa per a la detecció fiable d'objectes petits."
|
||||||
|
},
|
||||||
|
"description": "Validació i anàlisi final abans de desar la nova càmera. Connecta cada flux abans de desar-lo.",
|
||||||
|
"validationTitle": "Validació del flux",
|
||||||
|
"connectAllStreams": "Connecta tots els fluxos",
|
||||||
|
"reconnectionSuccess": "S'ha reconnectat correctament.",
|
||||||
|
"reconnectionPartial": "Alguns fluxos no s'han pogut tornar a connectar.",
|
||||||
|
"streamUnavailable": "La vista prèvia del flux no està disponible",
|
||||||
|
"reload": "Torna a carregar",
|
||||||
|
"connecting": "Connectant...",
|
||||||
|
"streamTitle": "Flux {{number}}",
|
||||||
|
"valid": "Vàlid",
|
||||||
|
"failed": "Ha fallat",
|
||||||
|
"notTested": "No provat",
|
||||||
|
"connectStream": "Connecta",
|
||||||
|
"connectingStream": "Connectant",
|
||||||
|
"disconnectStream": "Desconnecta",
|
||||||
|
"estimatedBandwidth": "Amplada de banda estimad",
|
||||||
|
"roles": "Rols",
|
||||||
|
"streamValidated": "El flux {{number}} s'ha validat correctament",
|
||||||
|
"streamValidationFailed": "Ha fallat la validació del flux {{number}}"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"cameraManagement": {
|
||||||
|
"title": "Gestiona les càmeres",
|
||||||
|
"addCamera": "Afegeix una càmera nova",
|
||||||
|
"editCamera": "Edita la càmera:",
|
||||||
|
"selectCamera": "Selecciona una càmera",
|
||||||
|
"backToSettings": "Torna a la configuració de la càmera",
|
||||||
|
"streams": {
|
||||||
|
"title": "Habilita / Inhabilita les càmeres",
|
||||||
|
"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>"
|
||||||
|
},
|
||||||
|
"cameraConfig": {
|
||||||
|
"add": "Afegeix una càmera",
|
||||||
|
"edit": "Edita la càmera",
|
||||||
|
"description": "Configura la configuració de la càmera, incloses les entrades i els rols de flux.",
|
||||||
|
"name": "Nom de la càmera",
|
||||||
|
"nameRequired": "Es requereix el nom de la càmera",
|
||||||
|
"nameLength": "El nom de la càmera ha de tenir menys de 64 caràcters.",
|
||||||
|
"namePlaceholder": "p. ex., vista general de la porta davantera o de la barra posterior",
|
||||||
|
"enabled": "Habilitat",
|
||||||
|
"ffmpeg": {
|
||||||
|
"inputs": "Fluxos d'entrada",
|
||||||
|
"path": "Camí del flux",
|
||||||
|
"pathRequired": "Es requereix un camí de flux",
|
||||||
|
"pathPlaceholder": "rtsp://...",
|
||||||
|
"rolesRequired": "Es requereix almenys un rol",
|
||||||
|
"rolesUnique": "Cada rol (àudio, detecta, registra) només es pot assignar a un flux",
|
||||||
|
"addInput": "Afegeix un flux d'entrada",
|
||||||
|
"removeInput": "Elimina el flux d'entrada",
|
||||||
|
"inputsRequired": "Es requereix com a mínim un flux d'entrada",
|
||||||
|
"roles": "Rols"
|
||||||
|
},
|
||||||
|
"go2rtcStreams": "go2rtc Fluxos",
|
||||||
|
"streamUrls": "URL de flux",
|
||||||
|
"addUrl": "Afegeix un URL",
|
||||||
|
"addGo2rtcStream": "Afegeix go2rtc flux",
|
||||||
|
"toast": {
|
||||||
|
"success": "La càmera {{cameraName}} s'ha desat correctament"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cameraReview": {
|
||||||
|
"object_descriptions": {
|
||||||
|
"title": "Descripcions d'objectes generadors d'IA",
|
||||||
|
"desc": "Activa/desactiva temporalment les descripcions d'objectes generatius d'IA per a aquesta càmera. Quan està desactivat, les descripcions generades per IA no se sol·licitaran per als objectes rastrejats en aquesta càmera."
|
||||||
|
},
|
||||||
|
"review_descriptions": {
|
||||||
|
"title": "Descripcions de la IA generativa",
|
||||||
|
"desc": "Activa/desactiva temporalment les descripcions de revisió de la IA generativa per a aquesta càmera. Quan està desactivat, les descripcions generades per IA no se sol·licitaran per als elements de revisió d'aquesta càmera."
|
||||||
|
},
|
||||||
|
"review": {
|
||||||
|
"title": "Revisió",
|
||||||
|
"desc": "Activa/desactiva temporalment les alertes i deteccions d'aquesta càmera fins que es reiniciï Frigate. Si està desactivat, no es generaran nous elements de revisió. ",
|
||||||
|
"alerts": "Alertes. ",
|
||||||
|
"detections": "Deteccions. "
|
||||||
|
},
|
||||||
|
"reviewClassification": {
|
||||||
|
"title": "Revisió de la classificació",
|
||||||
|
"desc": "Frigate categoritza els articles de revisió com Alertes i Deteccions. Per defecte, tots els objectes <em>persona</em> i <em>cotxe</em> es consideren Alertes. Podeu refinar la categorització dels elements de revisió configurant-los les zones requerides.",
|
||||||
|
"noDefinedZones": "No hi ha zones definides per a aquesta càmera.",
|
||||||
|
"selectAlertsZones": "Selecciona zones per a les alertes",
|
||||||
|
"selectDetectionsZones": "Selecció de zones per a les deteccions",
|
||||||
|
"limitDetections": "Limita les deteccions a zones específiques",
|
||||||
|
"toast": {
|
||||||
|
"success": "S'ha desat la configuració de la classificació de la revisió. Reinicia la fragata per aplicar canvis."
|
||||||
|
},
|
||||||
|
"unsavedChanges": "Paràmetres de classificació de revisions sense desar per {{camera}}",
|
||||||
|
"objectAlertsTips": "Totes els objectes {{alertsLabels}} de {{cameraName}} es mostraran com avisos.",
|
||||||
|
"zoneObjectAlertsTips": "Tots els objectes{{alertsLabels}} detectats en {{zone}} de {{cameraName}} es mostraran com a avisos.",
|
||||||
|
"objectDetectionsTips": "Tots els objectes {{detectionsLabels}} que no estiguin categoritzats de {{cameraName}} es mostraran com a Deteccions independentment de la zona on es trobin.",
|
||||||
|
"zoneObjectDetectionsTips": {
|
||||||
|
"text": "Tots els objectes {{detectionsLabels}} no categoritzats a {{zone}} de {{cameraName}} es mostraran com a Deteccions.",
|
||||||
|
"notSelectDetections": "Tots els objectes {{detectionsLabels}} detectats a {{zone}} de{{cameraName}} no categoritzats com a alertes es mostraran com a Deteccions independentment de la zona on es trobin.",
|
||||||
|
"regardlessOfZoneObjectDetectionsTips": "Tots els objectes {{detectionsLabels}} que no estiguin categoritzats de {{cameraName}} es mostraran com a Deteccions independentment de la zona on es trobin."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"title": "Paràmetres de Revisió de la Càmera"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
web/public/locales/cs/views/classificationModel.json
Normal file
1
web/public/locales/cs/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/da/views/classificationModel.json
Normal file
1
web/public/locales/da/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/de/views/classificationModel.json
Normal file
1
web/public/locales/de/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/el/views/classificationModel.json
Normal file
1
web/public/locales/el/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -43,6 +43,7 @@
|
|||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"title": "Recent Classifications",
|
"title": "Recent Classifications",
|
||||||
|
"titleShort": "Recent",
|
||||||
"aria": "Select Recent Classifications"
|
"aria": "Select Recent Classifications"
|
||||||
},
|
},
|
||||||
"categories": "Classes",
|
"categories": "Classes",
|
||||||
|
|||||||
@ -47,6 +47,10 @@
|
|||||||
"playAlertVideos": {
|
"playAlertVideos": {
|
||||||
"label": "Play Alert Videos",
|
"label": "Play Alert Videos",
|
||||||
"desc": "By default, recent alerts on the Live dashboard play as small looping videos. Disable this option to only show a static image of recent alerts on this device/browser."
|
"desc": "By default, recent alerts on the Live dashboard play as small looping videos. Disable this option to only show a static image of recent alerts on this device/browser."
|
||||||
|
},
|
||||||
|
"displayCameraNames": {
|
||||||
|
"label": "Always Show Camera Names",
|
||||||
|
"desc": "Always show the camera names in a chip in the multi-camera live view dashboard."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"storedLayouts": {
|
"storedLayouts": {
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"loginFailed": "Error de inicio de sesión"
|
"loginFailed": "Error de inicio de sesión"
|
||||||
},
|
},
|
||||||
"password": "Contraseña",
|
"password": "Contraseña",
|
||||||
"login": "Iniciar sesión"
|
"login": "Iniciar sesión",
|
||||||
|
"firstTimeLogin": "¿Estás tratando de iniciar sesión por primera vez? Las credenciales están impresas en los registros de Frigate."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
web/public/locales/es/views/classificationModel.json
Normal file
1
web/public/locales/es/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -10,7 +10,9 @@
|
|||||||
"general": "Configuración General - Frigate",
|
"general": "Configuración General - Frigate",
|
||||||
"frigatePlus": "Configuración de Frigate+ - Frigate",
|
"frigatePlus": "Configuración de Frigate+ - Frigate",
|
||||||
"notifications": "Configuración de Notificaciones - Frigate",
|
"notifications": "Configuración de Notificaciones - Frigate",
|
||||||
"enrichments": "Configuración de Análisis Avanzado - Frigate"
|
"enrichments": "Configuración de Análisis Avanzado - Frigate",
|
||||||
|
"cameraManagement": "Administrar Cámaras - Frigate",
|
||||||
|
"cameraReview": "Revisar Configuración de Cámaras - Frigate"
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"cameras": "Configuración de Cámara",
|
"cameras": "Configuración de Cámara",
|
||||||
@ -24,7 +26,8 @@
|
|||||||
"notifications": "Notificaciones",
|
"notifications": "Notificaciones",
|
||||||
"enrichments": "Análisis avanzado",
|
"enrichments": "Análisis avanzado",
|
||||||
"triggers": "Disparadores",
|
"triggers": "Disparadores",
|
||||||
"roles": "Rols"
|
"roles": "Rols",
|
||||||
|
"cameraManagement": "Administración"
|
||||||
},
|
},
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"unsavedChanges": {
|
"unsavedChanges": {
|
||||||
|
|||||||
22
web/public/locales/fa/views/classificationModel.json
Normal file
22
web/public/locales/fa/views/classificationModel.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "حذف تصاویر طبقه بندی",
|
||||||
|
"renameCategory": "تغییر نام کلاس",
|
||||||
|
"deleteCategory": "حذف کردن کلاس",
|
||||||
|
"deleteImages": "حذف کردن عکس ها",
|
||||||
|
"trainModel": "مدل آموزش"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "کلاس حذف شده",
|
||||||
|
"deletedImage": "عکس های حذف شده",
|
||||||
|
"categorizedImage": "تصویر طبقه بندی شده",
|
||||||
|
"trainedModel": "مدل آموزش دیده شده.",
|
||||||
|
"trainingModel": "آموزش دادن مدل با موفقیت شروع شد."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "حذف نشد:{{پیغام خطا}}",
|
||||||
|
"deleteCategoryFailed": "کلاس حذف نشد:{{پیغام خطا}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"generativeAI": "هوش مصنوعی تولید کننده"
|
"generativeAI": "هوش مصنوعی تولید کننده",
|
||||||
|
"documentTitle": "کاوش کردن - فرایگیت"
|
||||||
}
|
}
|
||||||
|
|||||||
1
web/public/locales/fi/views/classificationModel.json
Normal file
1
web/public/locales/fi/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"speech": "Conversation",
|
"speech": "Parole",
|
||||||
"babbling": "Babillage",
|
"babbling": "Babillage",
|
||||||
"yell": "Crier",
|
"yell": "Cri",
|
||||||
"bicycle": "Vélo",
|
"bicycle": "Vélo",
|
||||||
"car": "Voiture",
|
"car": "Voiture",
|
||||||
"bellow": "Ci-dessous",
|
"bellow": "Beuglement",
|
||||||
"whispering": "Chuchotement",
|
"whispering": "Chuchotement",
|
||||||
"laughter": "Rires",
|
"laughter": "Rires",
|
||||||
"snicker": "Ricanement",
|
"snicker": "Ricanement",
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"bus": "Bus",
|
"bus": "Bus",
|
||||||
"train": "Train",
|
"train": "Train",
|
||||||
"motorcycle": "Moto",
|
"motorcycle": "Moto",
|
||||||
"whoop": "Cri",
|
"whoop": "Cri strident",
|
||||||
"sigh": "Soupir",
|
"sigh": "Soupir",
|
||||||
"singing": "Chant",
|
"singing": "Chant",
|
||||||
"choir": "Chorale",
|
"choir": "Chorale",
|
||||||
@ -22,7 +22,7 @@
|
|||||||
"mantra": "Mantra",
|
"mantra": "Mantra",
|
||||||
"child_singing": "Chant d'enfant",
|
"child_singing": "Chant d'enfant",
|
||||||
"bird": "Oiseau",
|
"bird": "Oiseau",
|
||||||
"cat": "chat",
|
"cat": "Chat",
|
||||||
"synthetic_singing": "Chant synthétique",
|
"synthetic_singing": "Chant synthétique",
|
||||||
"rapping": "Rap",
|
"rapping": "Rap",
|
||||||
"horse": "Cheval",
|
"horse": "Cheval",
|
||||||
@ -31,15 +31,15 @@
|
|||||||
"whistling": "Sifflement",
|
"whistling": "Sifflement",
|
||||||
"breathing": "Respiration",
|
"breathing": "Respiration",
|
||||||
"snoring": "Ronflement",
|
"snoring": "Ronflement",
|
||||||
"gasp": "Souffle",
|
"gasp": "Souffle coupé",
|
||||||
"pant": "halètement",
|
"pant": "halètement",
|
||||||
"snort": "Reniflement",
|
"snort": "Ébrouement",
|
||||||
"camera": "Caméra",
|
"camera": "Caméra",
|
||||||
"cough": "Toussotement",
|
"cough": "Toux",
|
||||||
"groan": "Gémissement",
|
"groan": "Gémissement",
|
||||||
"grunt": "Grognement",
|
"grunt": "Grognement",
|
||||||
"throat_clearing": "Éclaircissement de la gorge",
|
"throat_clearing": "Raclement de gorge",
|
||||||
"wheeze": "Respiration bruyante",
|
"wheeze": "Respiration sifflante",
|
||||||
"sneeze": "Éternuement",
|
"sneeze": "Éternuement",
|
||||||
"sniff": "Reniflement",
|
"sniff": "Reniflement",
|
||||||
"chewing": "Mastication",
|
"chewing": "Mastication",
|
||||||
@ -72,7 +72,7 @@
|
|||||||
"burping": "Rots",
|
"burping": "Rots",
|
||||||
"fart": "Pet",
|
"fart": "Pet",
|
||||||
"crowd": "Foule",
|
"crowd": "Foule",
|
||||||
"children_playing": "Enfants en train de jouer",
|
"children_playing": "Jeux d'enfants",
|
||||||
"animal": "Animal",
|
"animal": "Animal",
|
||||||
"bark": "Aboiement",
|
"bark": "Aboiement",
|
||||||
"pig": "Cochon",
|
"pig": "Cochon",
|
||||||
@ -80,7 +80,7 @@
|
|||||||
"chicken": "Poulet",
|
"chicken": "Poulet",
|
||||||
"turkey": "Dinde",
|
"turkey": "Dinde",
|
||||||
"duck": "Canard",
|
"duck": "Canard",
|
||||||
"goose": "Dindon",
|
"goose": "Oie",
|
||||||
"wild_animals": "Animaux Sauvages",
|
"wild_animals": "Animaux Sauvages",
|
||||||
"crow": "Corbeau",
|
"crow": "Corbeau",
|
||||||
"dogs": "Chiens",
|
"dogs": "Chiens",
|
||||||
@ -99,31 +99,31 @@
|
|||||||
"vehicle": "Véhicule",
|
"vehicle": "Véhicule",
|
||||||
"skateboard": "Skateboard",
|
"skateboard": "Skateboard",
|
||||||
"door": "Porte",
|
"door": "Porte",
|
||||||
"blender": "Mixer",
|
"blender": "Mixeur",
|
||||||
"hair_dryer": "Sèche cheveux",
|
"hair_dryer": "Sèche-cheveux",
|
||||||
"toothbrush": "Brosse à dents",
|
"toothbrush": "Brosse à dents",
|
||||||
"sink": "Lavabo",
|
"sink": "Évier",
|
||||||
"scissors": "Paire de ciseaux",
|
"scissors": "Ciseaux",
|
||||||
"humming": "Bourdonnement",
|
"humming": "Bourdonnement",
|
||||||
"shuffle": "Mélanger",
|
"shuffle": "Pas traînants",
|
||||||
"footsteps": "Pas",
|
"footsteps": "Bruits de pas",
|
||||||
"hiccup": "Hoquet",
|
"hiccup": "Hoquet",
|
||||||
"finger_snapping": "Claquement de doigts",
|
"finger_snapping": "Claquement de doigts",
|
||||||
"clapping": "Claquements",
|
"clapping": "Claquements",
|
||||||
"applause": "Applaudissements",
|
"applause": "Applaudissements",
|
||||||
"heartbeat": "Battements de coeur",
|
"heartbeat": "Battements de coeur",
|
||||||
"cheering": "Applaudissement",
|
"cheering": "Acclamations",
|
||||||
"electric_shaver": "Rasoir électrique",
|
"electric_shaver": "Rasoir électrique",
|
||||||
"truck": "Camion",
|
"truck": "Camion",
|
||||||
"run": "Démarrer",
|
"run": "Course",
|
||||||
"biting": "Mordre",
|
"biting": "Mordre",
|
||||||
"stomach_rumble": "Gargouillements d'estomac",
|
"stomach_rumble": "Gargouillements d'estomac",
|
||||||
"hands": "Mains",
|
"hands": "Mains",
|
||||||
"heart_murmur": "Souffle au cœur",
|
"heart_murmur": "Souffle au cœur",
|
||||||
"chatter": "Bavarder",
|
"chatter": "Bavardage",
|
||||||
"pets": "Animaux de compagnie",
|
"pets": "Animaux de compagnie",
|
||||||
"yip": "Ouais",
|
"yip": "Jappement",
|
||||||
"howl": "Hurler",
|
"howl": "Hurlement",
|
||||||
"growling": "Grondement",
|
"growling": "Grondement",
|
||||||
"whimper_dog": "Gémissements de chien",
|
"whimper_dog": "Gémissements de chien",
|
||||||
"purr": "Ronronnements",
|
"purr": "Ronronnements",
|
||||||
@ -132,8 +132,8 @@
|
|||||||
"livestock": "Bétail",
|
"livestock": "Bétail",
|
||||||
"neigh": "Hennissement",
|
"neigh": "Hennissement",
|
||||||
"quack": "Coin-coin",
|
"quack": "Coin-coin",
|
||||||
"honk": "Klaxon",
|
"honk": "Cacardement",
|
||||||
"roaring_cats": "Feulements",
|
"roaring_cats": "Rugissement de félins",
|
||||||
"roar": "Rugissements",
|
"roar": "Rugissements",
|
||||||
"chirp": "Gazouillis",
|
"chirp": "Gazouillis",
|
||||||
"squawk": "Braillement",
|
"squawk": "Braillement",
|
||||||
@ -191,7 +191,7 @@
|
|||||||
"steelpan": "Pan",
|
"steelpan": "Pan",
|
||||||
"orchestra": "Orchestre",
|
"orchestra": "Orchestre",
|
||||||
"brass_instrument": "Cuivres",
|
"brass_instrument": "Cuivres",
|
||||||
"french_horn": "Cor français",
|
"french_horn": "Cor d'harmonie",
|
||||||
"trumpet": "Trompette",
|
"trumpet": "Trompette",
|
||||||
"bowed_string_instrument": "Instrument à cordes frottées",
|
"bowed_string_instrument": "Instrument à cordes frottées",
|
||||||
"string_section": "Section des cordes",
|
"string_section": "Section des cordes",
|
||||||
@ -247,7 +247,7 @@
|
|||||||
"sad_music": "Musique triste",
|
"sad_music": "Musique triste",
|
||||||
"tender_music": "Musique tendre",
|
"tender_music": "Musique tendre",
|
||||||
"exciting_music": "Musique stimulante",
|
"exciting_music": "Musique stimulante",
|
||||||
"angry_music": "Musique énervée",
|
"angry_music": "Musique agressive",
|
||||||
"scary_music": "Musique effrayante",
|
"scary_music": "Musique effrayante",
|
||||||
"wind": "Vent",
|
"wind": "Vent",
|
||||||
"rustling_leaves": "Bruissements de feuilles",
|
"rustling_leaves": "Bruissements de feuilles",
|
||||||
@ -277,7 +277,7 @@
|
|||||||
"skidding": "Dérapage",
|
"skidding": "Dérapage",
|
||||||
"tire_squeal": "Crissements de pneu",
|
"tire_squeal": "Crissements de pneu",
|
||||||
"car_passing_by": "Passage de voiture",
|
"car_passing_by": "Passage de voiture",
|
||||||
"race_car": "Course de voitures",
|
"race_car": "Voiture de course",
|
||||||
"air_brake": "Frein pneumatique",
|
"air_brake": "Frein pneumatique",
|
||||||
"air_horn": "Klaxon à air",
|
"air_horn": "Klaxon à air",
|
||||||
"reversing_beeps": "Bips de marche arrière",
|
"reversing_beeps": "Bips de marche arrière",
|
||||||
@ -311,7 +311,7 @@
|
|||||||
"squeak": "Grincement",
|
"squeak": "Grincement",
|
||||||
"cupboard_open_or_close": "Ouverture ou fermeture de placard",
|
"cupboard_open_or_close": "Ouverture ou fermeture de placard",
|
||||||
"drawer_open_or_close": "Ouverture ou fermeture de tiroir",
|
"drawer_open_or_close": "Ouverture ou fermeture de tiroir",
|
||||||
"dishes": "Plats",
|
"dishes": "Bruit de vaisselle",
|
||||||
"cutlery": "Couverts",
|
"cutlery": "Couverts",
|
||||||
"chopping": "Hacher",
|
"chopping": "Hacher",
|
||||||
"frying": "Friture",
|
"frying": "Friture",
|
||||||
@ -324,7 +324,7 @@
|
|||||||
"zipper": "Fermeture éclair",
|
"zipper": "Fermeture éclair",
|
||||||
"keys_jangling": "Tintements de clés",
|
"keys_jangling": "Tintements de clés",
|
||||||
"coin": "Pièce de monnaie",
|
"coin": "Pièce de monnaie",
|
||||||
"shuffling_cards": "Mélange de cartes",
|
"shuffling_cards": "Battement de cartes",
|
||||||
"typing": "Frappe au clavier",
|
"typing": "Frappe au clavier",
|
||||||
"typewriter": "Machine à écrire",
|
"typewriter": "Machine à écrire",
|
||||||
"writing": "Écriture",
|
"writing": "Écriture",
|
||||||
@ -414,27 +414,27 @@
|
|||||||
"idling": "Ralenti",
|
"idling": "Ralenti",
|
||||||
"radio": "Radio",
|
"radio": "Radio",
|
||||||
"telephone": "Téléphone",
|
"telephone": "Téléphone",
|
||||||
"bow_wow": "Ouaf ouaf",
|
"bow_wow": "Aboiement",
|
||||||
"hiss": "Sifflement",
|
"hiss": "Sifflement",
|
||||||
"clip_clop": "Clic-clac",
|
"clip_clop": "Clic-clac",
|
||||||
"cattle": "Bétail",
|
"cattle": "Bétail",
|
||||||
"moo": "Meuglement",
|
"moo": "Meuglement",
|
||||||
"cowbell": "Clochette",
|
"cowbell": "Clochette",
|
||||||
"oink": "Grouin-grouin",
|
"oink": "Grouin-grouin",
|
||||||
"bleat": "Bêler",
|
"bleat": "Bêlement",
|
||||||
"fowl": "Volaille",
|
"fowl": "Volaille",
|
||||||
"cluck": "Gloussement",
|
"cluck": "Gloussement",
|
||||||
"cock_a_doodle_doo": "Cocorico",
|
"cock_a_doodle_doo": "Cocorico",
|
||||||
"gobble": "Glouglou",
|
"gobble": "Glouglou",
|
||||||
"chird": "Accord",
|
"chird": "Accord",
|
||||||
"change_ringing": "Changer la sonnerie",
|
"change_ringing": "Carillon de cloches",
|
||||||
"sodeling": "Sodèle",
|
"sodeling": "Sodèle",
|
||||||
"shofar": "Choffar",
|
"shofar": "Choffar",
|
||||||
"liquid": "Liquide",
|
"liquid": "Liquide",
|
||||||
"splash": "Éclabousser",
|
"splash": "Éclaboussure",
|
||||||
"slosh": "Patauger",
|
"slosh": "Clapotis",
|
||||||
"squish": "Gargouillis",
|
"squish": "Bruit de pataugeage",
|
||||||
"drip": "Goutte",
|
"drip": "Goutte à goutte",
|
||||||
"trickle": "Filet",
|
"trickle": "Filet",
|
||||||
"gush": "Jet",
|
"gush": "Jet",
|
||||||
"fill": "Remplir",
|
"fill": "Remplir",
|
||||||
@ -446,46 +446,58 @@
|
|||||||
"pour": "Verser",
|
"pour": "Verser",
|
||||||
"sonar": "Sonar",
|
"sonar": "Sonar",
|
||||||
"whoosh": "Whoosh",
|
"whoosh": "Whoosh",
|
||||||
"thump": "Cogner",
|
"thump": "Coup sourd",
|
||||||
"thunk": "Je pense",
|
"thunk": "Bruit sourd",
|
||||||
"electronic_tuner": "Accordeur électronique",
|
"electronic_tuner": "Accordeur électronique",
|
||||||
"effects_unit": "Unité d'effets",
|
"effects_unit": "Unité d'effets",
|
||||||
"chorus_effect": "Effet de chœur",
|
"chorus_effect": "Effet de chœur",
|
||||||
"basketball_bounce": "Rebond de basket-ball",
|
"basketball_bounce": "Rebond de basket-ball",
|
||||||
"bang": "Claquer",
|
"bang": "Détonation",
|
||||||
"slap": "Gifler",
|
"slap": "Gifle",
|
||||||
"whack": "Battre",
|
"whack": "Coup sec",
|
||||||
"smash": "Fracasser",
|
"smash": "Fracasser",
|
||||||
"breaking": "Rupture",
|
"breaking": "Bruit de casse",
|
||||||
"bouncing": "Rebondir",
|
"bouncing": "Rebondissement",
|
||||||
"whip": "Fouet",
|
"whip": "Fouet",
|
||||||
"flap": "Rabat",
|
"flap": "Battement",
|
||||||
"scratch": "Gratter",
|
"scratch": "Grattement",
|
||||||
"scrape": "Gratter",
|
"scrape": "Raclement",
|
||||||
"rub": "Frotter",
|
"rub": "Frottement",
|
||||||
"roll": "Rouler",
|
"roll": "Roulement",
|
||||||
"crushing": "Écrasement",
|
"crushing": "Écrasement",
|
||||||
"crumpling": "Froissement",
|
"crumpling": "Froissement",
|
||||||
"tearing": "Déchirure",
|
"tearing": "Déchirure",
|
||||||
"beep": "Bip",
|
"beep": "Bip",
|
||||||
"ping": "Ping",
|
"ping": "Ping",
|
||||||
"ding": "Ding",
|
"ding": "Ding",
|
||||||
"clang": "Bruit",
|
"clang": "Bruit métallique",
|
||||||
"squeal": "Hurler",
|
"squeal": "Grincement",
|
||||||
"creak": "Craquer",
|
"creak": "Craquer",
|
||||||
"rustle": "Bruissement",
|
"rustle": "Bruissement",
|
||||||
"whir": "Vrombissement",
|
"whir": "Vrombissement",
|
||||||
"clatter": "Bruit",
|
"clatter": "Bruit",
|
||||||
"sizzle": "Grésiller",
|
"sizzle": "Grésillement",
|
||||||
"clicking": "En cliquant",
|
"clicking": "Cliquetis",
|
||||||
"clickety_clack": "Clic-clac",
|
"clickety_clack": "Clic-clac",
|
||||||
"rumble": "Gronder",
|
"rumble": "Grondement",
|
||||||
"plop": "Ploc",
|
"plop": "Ploc",
|
||||||
"hum": "Hum",
|
"hum": "Hum",
|
||||||
"harmonic": "Harmonique",
|
"harmonic": "Harmonique",
|
||||||
"outside": "Extérieur",
|
"outside": "Extérieur",
|
||||||
"reverberation": "Réverbération",
|
"reverberation": "Réverbération",
|
||||||
"echo": "Echo",
|
"echo": "Écho",
|
||||||
"distortion": "Distorsion",
|
"distortion": "Distorsion",
|
||||||
"vibration": "Vibration"
|
"vibration": "Vibration",
|
||||||
|
"zing": "Sifflement",
|
||||||
|
"crunch": "Croque",
|
||||||
|
"sine_wave": "Onde sinusoïdale",
|
||||||
|
"chirp_tone": "Gazouillis",
|
||||||
|
"pulse": "Impulsion",
|
||||||
|
"inside": "Intérieur",
|
||||||
|
"noise": "Bruit",
|
||||||
|
"mains_hum": "Bourdonnement du secteur",
|
||||||
|
"sidetone": "Retour de voix",
|
||||||
|
"cacophony": "Cacophonie",
|
||||||
|
"throbbing": "Pulsation",
|
||||||
|
"boing": "Boing"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"time": {
|
"time": {
|
||||||
"untilForRestart": "Jusqu'au redémarrage de Frigate.",
|
"untilForRestart": "Jusqu'au redémarrage de Frigate",
|
||||||
"untilRestart": "Jusqu'au redémarrage",
|
"untilRestart": "Jusqu'au redémarrage",
|
||||||
"untilForTime": "Jusqu'à {{time}}",
|
"untilForTime": "Jusqu'à {{time}}",
|
||||||
"justNow": "À l'instant",
|
"justNow": "À l'instant",
|
||||||
@ -22,10 +22,10 @@
|
|||||||
"pm": "PM",
|
"pm": "PM",
|
||||||
"am": "AM",
|
"am": "AM",
|
||||||
"yr": "{{time}} a",
|
"yr": "{{time}} a",
|
||||||
"year_one": "{{time}} année",
|
"year_one": "{{time}} an",
|
||||||
"year_many": "{{time}} années",
|
"year_many": "{{time}} ans",
|
||||||
"year_other": "{{time}} années",
|
"year_other": "{{time}} ans",
|
||||||
"mo": "{{time}} m",
|
"mo": "{{time}} mois",
|
||||||
"month_one": "{{time}} mois",
|
"month_one": "{{time}} mois",
|
||||||
"month_many": "{{time}} mois",
|
"month_many": "{{time}} mois",
|
||||||
"month_other": "{{time}} mois",
|
"month_other": "{{time}} mois",
|
||||||
@ -33,7 +33,7 @@
|
|||||||
"second_one": "{{time}} seconde",
|
"second_one": "{{time}} seconde",
|
||||||
"second_many": "{{time}} secondes",
|
"second_many": "{{time}} secondes",
|
||||||
"second_other": "{{time}} secondes",
|
"second_other": "{{time}} secondes",
|
||||||
"m": "{{time}} mn",
|
"m": "{{time}} min",
|
||||||
"hour_one": "{{time}} heure",
|
"hour_one": "{{time}} heure",
|
||||||
"hour_many": "{{time}} heures",
|
"hour_many": "{{time}} heures",
|
||||||
"hour_other": "{{time}} heures",
|
"hour_other": "{{time}} heures",
|
||||||
@ -65,23 +65,23 @@
|
|||||||
},
|
},
|
||||||
"formattedTimestampHourMinute": {
|
"formattedTimestampHourMinute": {
|
||||||
"24hour": "HH:mm",
|
"24hour": "HH:mm",
|
||||||
"12hour": "HH:mm aaa"
|
"12hour": "HH:mm"
|
||||||
},
|
},
|
||||||
"formattedTimestampMonthDay": "d MMM",
|
"formattedTimestampMonthDay": "d MMM",
|
||||||
"formattedTimestampFilename": {
|
"formattedTimestampFilename": {
|
||||||
"12hour": "dd-MM-yy-HH-mm-ss-a",
|
"12hour": "dd-MM-yy-HH-mm-ss",
|
||||||
"24hour": "dd-MM-yy-HH-mm-ss"
|
"24hour": "dd-MM-yy-HH-mm-ss"
|
||||||
},
|
},
|
||||||
"formattedTimestampMonthDayHourMinute": {
|
"formattedTimestampMonthDayHourMinute": {
|
||||||
"12hour": "d MMM, HH:mm aaa",
|
"12hour": "d MMM, HH:mm",
|
||||||
"24hour": "d MMM, HH:mm"
|
"24hour": "d MMM, HH:mm"
|
||||||
},
|
},
|
||||||
"formattedTimestampHourMinuteSecond": {
|
"formattedTimestampHourMinuteSecond": {
|
||||||
"24hour": "HH:mm:ss",
|
"24hour": "HH:mm:ss",
|
||||||
"12hour": "HH:mm:ss aaa"
|
"12hour": "HH:mm:ss"
|
||||||
},
|
},
|
||||||
"formattedTimestampMonthDayYearHourMinute": {
|
"formattedTimestampMonthDayYearHourMinute": {
|
||||||
"12hour": "d MMM yyyy, HH:mm aaa",
|
"12hour": "d MMM yyyy, HH:mm",
|
||||||
"24hour": "d MMM yyyy, HH:mm"
|
"24hour": "d MMM yyyy, HH:mm"
|
||||||
},
|
},
|
||||||
"formattedTimestampMonthDayYear": {
|
"formattedTimestampMonthDayYear": {
|
||||||
@ -98,16 +98,16 @@
|
|||||||
"close": "Fermer",
|
"close": "Fermer",
|
||||||
"copy": "Copier",
|
"copy": "Copier",
|
||||||
"back": "Retour",
|
"back": "Retour",
|
||||||
"history": "Historique",
|
"history": "Chronologie",
|
||||||
"pictureInPicture": "Image en incrustation",
|
"pictureInPicture": "Image dans l'image",
|
||||||
"twoWayTalk": "Conversation bidirectionnelle",
|
"twoWayTalk": "Conversation bidirectionnelle",
|
||||||
"off": "Inactif",
|
"off": "OFF",
|
||||||
"edit": "Editer",
|
"edit": "Modifier",
|
||||||
"copyCoordinates": "Copier les coordonnées",
|
"copyCoordinates": "Copier les coordonnées",
|
||||||
"delete": "Supprimer",
|
"delete": "Supprimer",
|
||||||
"yes": "Oui",
|
"yes": "Oui",
|
||||||
"no": "Non",
|
"no": "Non",
|
||||||
"unsuspended": "Reprendre",
|
"unsuspended": "Réactiver",
|
||||||
"play": "Lire",
|
"play": "Lire",
|
||||||
"unselect": "Désélectionner",
|
"unselect": "Désélectionner",
|
||||||
"suspended": "Suspendu",
|
"suspended": "Suspendu",
|
||||||
@ -120,7 +120,7 @@
|
|||||||
"next": "Suivant",
|
"next": "Suivant",
|
||||||
"exitFullscreen": "Sortir du mode plein écran",
|
"exitFullscreen": "Sortir du mode plein écran",
|
||||||
"cameraAudio": "Son de la caméra",
|
"cameraAudio": "Son de la caméra",
|
||||||
"on": "Actif",
|
"on": "ON",
|
||||||
"export": "Exporter",
|
"export": "Exporter",
|
||||||
"deleteNow": "Supprimer maintenant",
|
"deleteNow": "Supprimer maintenant",
|
||||||
"download": "Télécharger",
|
"download": "Télécharger",
|
||||||
@ -142,14 +142,14 @@
|
|||||||
"nl": "Nederlands (Néerlandais)",
|
"nl": "Nederlands (Néerlandais)",
|
||||||
"sv": "Svenska (Suédois)",
|
"sv": "Svenska (Suédois)",
|
||||||
"cs": "Čeština (Tchèque)",
|
"cs": "Čeština (Tchèque)",
|
||||||
"nb": "Norsk Bokmål (Bokmål Norvégien)",
|
"nb": "Norsk Bokmål (Norvégien Bokmål)",
|
||||||
"ko": "한국어 (Coréen)",
|
"ko": "한국어 (Coréen)",
|
||||||
"fa": "فارسی (Perse)",
|
"fa": "فارسی (Persan)",
|
||||||
"pl": "Polski (Polonais)",
|
"pl": "Polski (Polonais)",
|
||||||
"el": "Ελληνικά (Grec)",
|
"el": "Ελληνικά (Grec)",
|
||||||
"ro": "Română (Roumain)",
|
"ro": "Română (Roumain)",
|
||||||
"hu": "Magyar (Hongrois)",
|
"hu": "Magyar (Hongrois)",
|
||||||
"he": "עברית (Hebreu)",
|
"he": "עברית (Hébreu)",
|
||||||
"ru": "Русский (Russe)",
|
"ru": "Русский (Russe)",
|
||||||
"de": "Deutsch (Allemand)",
|
"de": "Deutsch (Allemand)",
|
||||||
"es": "Español (Espagnol)",
|
"es": "Español (Espagnol)",
|
||||||
@ -163,14 +163,14 @@
|
|||||||
"yue": "粵語 (Cantonais)",
|
"yue": "粵語 (Cantonais)",
|
||||||
"th": "ไทย (Thai)",
|
"th": "ไทย (Thai)",
|
||||||
"ca": "Català (Catalan)",
|
"ca": "Català (Catalan)",
|
||||||
"ptBR": "Português brasileiro (portugais brésilien)",
|
"ptBR": "Português brasileiro (Portugais brésilien)",
|
||||||
"sr": "Српски (Serbe)",
|
"sr": "Српски (Serbe)",
|
||||||
"sl": "Slovenščina (slovène)",
|
"sl": "Slovenščina (Slovène)",
|
||||||
"lt": "Lietuvių (lithuanien)",
|
"lt": "Lietuvių (Lithuanien)",
|
||||||
"bg": "Български (bulgare)",
|
"bg": "Български (Bulgare)",
|
||||||
"gl": "Galego (galicien)",
|
"gl": "Galego (Galicien)",
|
||||||
"id": "Bahasa Indonesia (indonésien)",
|
"id": "Bahasa Indonesia (Indonésien)",
|
||||||
"ur": "اردو (ourdou)"
|
"ur": "اردو (Ourdou)"
|
||||||
},
|
},
|
||||||
"appearance": "Apparence",
|
"appearance": "Apparence",
|
||||||
"darkMode": {
|
"darkMode": {
|
||||||
@ -181,7 +181,7 @@
|
|||||||
},
|
},
|
||||||
"label": "Mode sombre"
|
"label": "Mode sombre"
|
||||||
},
|
},
|
||||||
"review": "Revue d'événements",
|
"review": "Événements",
|
||||||
"explore": "Explorer",
|
"explore": "Explorer",
|
||||||
"export": "Exporter",
|
"export": "Exporter",
|
||||||
"user": {
|
"user": {
|
||||||
@ -199,18 +199,18 @@
|
|||||||
},
|
},
|
||||||
"system": "Système",
|
"system": "Système",
|
||||||
"help": "Aide",
|
"help": "Aide",
|
||||||
"configurationEditor": "Editeur de configuration",
|
"configurationEditor": "Éditeur de configuration",
|
||||||
"theme": {
|
"theme": {
|
||||||
"contrast": "Contraste élevé",
|
"contrast": "Contraste élevé",
|
||||||
"blue": "Bleu",
|
"blue": "Bleu",
|
||||||
"green": "Vert",
|
"green": "Vert",
|
||||||
"nord": "Nord",
|
"nord": "Nord",
|
||||||
"red": "Rouge",
|
"red": "Rouge",
|
||||||
"default": "Défaut",
|
"default": "Par défaut",
|
||||||
"label": "Thème",
|
"label": "Thème",
|
||||||
"highcontrast": "Contraste élevé"
|
"highcontrast": "Contraste élevé"
|
||||||
},
|
},
|
||||||
"systemMetrics": "Indicateurs systèmes",
|
"systemMetrics": "Métriques du système",
|
||||||
"settings": "Paramètres",
|
"settings": "Paramètres",
|
||||||
"withSystem": "Système",
|
"withSystem": "Système",
|
||||||
"restart": "Redémarrer Frigate",
|
"restart": "Redémarrer Frigate",
|
||||||
@ -224,7 +224,7 @@
|
|||||||
"allCameras": "Toutes les caméras",
|
"allCameras": "Toutes les caméras",
|
||||||
"title": "Direct"
|
"title": "Direct"
|
||||||
},
|
},
|
||||||
"uiPlayground": "Gestion de l'interface",
|
"uiPlayground": "Bac à sable de l'interface",
|
||||||
"faceLibrary": "Bibliothèque de visages",
|
"faceLibrary": "Bibliothèque de visages",
|
||||||
"languages": "Langues"
|
"languages": "Langues"
|
||||||
},
|
},
|
||||||
@ -233,16 +233,16 @@
|
|||||||
"title": "Enregistrer",
|
"title": "Enregistrer",
|
||||||
"error": {
|
"error": {
|
||||||
"noMessage": "Echec lors de l'enregistrement des changements de configuration",
|
"noMessage": "Echec lors de l'enregistrement des changements de configuration",
|
||||||
"title": "Echec lors de l'enregistrement des changements de configuration : {{errorMessage}}"
|
"title": "Échec de l'enregistrement des changements de configuration : {{errorMessage}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"copyUrlToClipboard": "Lien copié dans le presse-papier."
|
"copyUrlToClipboard": "URL copiée dans le presse-papiers"
|
||||||
},
|
},
|
||||||
"role": {
|
"role": {
|
||||||
"title": "Rôle",
|
"title": "Rôle",
|
||||||
"viewer": "Observateur",
|
"viewer": "Observateur",
|
||||||
"admin": "Administrateur",
|
"admin": "Administrateur",
|
||||||
"desc": "Les administrateurs accèdent à l'ensemble des fonctionnalités de l'interface Frigate. Les observateurs sont limités à la consultation des caméras, de la revue d'événements, et à l'historique des enregistrements dans l'interface utilisateur."
|
"desc": "Les administrateurs ont un accès complet à toutes les fonctionnalités de l'interface Frigate. Les observateurs sont limités à la consultation des caméras, des événements, et à l'historique des enregistrements dans l'interface."
|
||||||
},
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"next": {
|
"next": {
|
||||||
@ -266,10 +266,13 @@
|
|||||||
"accessDenied": {
|
"accessDenied": {
|
||||||
"title": "Accès refusé",
|
"title": "Accès refusé",
|
||||||
"documentTitle": "Accès refusé - Frigate",
|
"documentTitle": "Accès refusé - Frigate",
|
||||||
"desc": "Vous n'avez pas l'autorisation de voir cette page."
|
"desc": "Vous n'avez pas l'autorisation de consulter cette page."
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"back": "Retour"
|
"back": "Retour",
|
||||||
|
"hide": "Masquer {{item}}",
|
||||||
|
"show": "Afficher {{item}}",
|
||||||
|
"ID": "ID"
|
||||||
},
|
},
|
||||||
"unit": {
|
"unit": {
|
||||||
"speed": {
|
"speed": {
|
||||||
@ -291,5 +294,13 @@
|
|||||||
},
|
},
|
||||||
"information": {
|
"information": {
|
||||||
"pixels": "{{area}}px"
|
"pixels": "{{area}}px"
|
||||||
|
},
|
||||||
|
"field": {
|
||||||
|
"optional": "Facultatif",
|
||||||
|
"internalID": "L'ID interne utilisée par Frigate dans la configuration et la base de donnêes"
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"two": "{{0}} et {{1}}",
|
||||||
|
"many": "{{items}}, et {{last}}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,16 @@
|
|||||||
{
|
{
|
||||||
"form": {
|
"form": {
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"login": "Identifiant",
|
"login": "Connexion",
|
||||||
"user": "Nom d'utilisateur",
|
"user": "Nom d'utilisateur",
|
||||||
"errors": {
|
"errors": {
|
||||||
"unknownError": "Erreur inconnue. Vérifiez les journaux.",
|
"unknownError": "Erreur inconnue. Vérifiez les journaux.",
|
||||||
"webUnknownError": "Erreur inconnue. Vérifiez les journaux de la console.",
|
"webUnknownError": "Erreur inconnue. Vérifiez les journaux de la console.",
|
||||||
"passwordRequired": "Un mot de passe est requis",
|
"passwordRequired": "Mot de passe est requis",
|
||||||
"loginFailed": "Échec de l'authentification",
|
"loginFailed": "Échec de l'authentification",
|
||||||
"usernameRequired": "Un nom d'utilisateur est requis",
|
"usernameRequired": "Nom d'utilisateur requis",
|
||||||
"rateLimit": "Nombre d'essais dépassé. Réessayez plus tard."
|
"rateLimit": "Trop de tentatives. Veuillez réessayer plus tard."
|
||||||
}
|
},
|
||||||
|
"firstTimeLogin": "Première connexion ? Vos identifiants se trouvent dans les journaux de Frigate."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,38 +1,38 @@
|
|||||||
{
|
{
|
||||||
"group": {
|
"group": {
|
||||||
"edit": "Éditer le groupe de caméras",
|
"edit": "Modifier le groupe de caméras",
|
||||||
"label": "Groupe de caméras",
|
"label": "Groupes de caméras",
|
||||||
"add": "Ajouter un groupe de caméras",
|
"add": "Ajouter un groupe de caméras",
|
||||||
"delete": {
|
"delete": {
|
||||||
"label": "Supprimer le groupe de caméras",
|
"label": "Supprimer le groupe de caméras",
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"title": "Confirmer la suppression",
|
"title": "Confirmez la suppression",
|
||||||
"desc": "Êtes-vous sûr de vouloir supprimer le groupe de caméras <em>{{name}}</em> ?"
|
"desc": "Êtes-vous sûr de vouloir supprimer le groupe de caméras <em>{{name}}</em> ?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"placeholder": "Saisissez un nom…",
|
"placeholder": "Saisissez un nom.",
|
||||||
"label": "Nom",
|
"label": "Nom",
|
||||||
"errorMessage": {
|
"errorMessage": {
|
||||||
"mustLeastCharacters": "Le nom du groupe de caméras doit comporter au moins 2 caractères.",
|
"mustLeastCharacters": "Le nom du groupe de caméras doit comporter au moins 2 caractères.",
|
||||||
"exists": "Le nom du groupe de caméras existe déjà.",
|
"exists": "Le nom du groupe de caméras existe déjà.",
|
||||||
"nameMustNotPeriod": "Le nom de groupe de caméras ne doit pas contenir de période.",
|
"nameMustNotPeriod": "Le nom de groupe de caméras ne doit pas contenir de point.",
|
||||||
"invalid": "Nom de groupe de caméras invalide."
|
"invalid": "Nom de groupe de caméras invalide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cameras": {
|
"cameras": {
|
||||||
"label": "Caméras",
|
"label": "Caméras",
|
||||||
"desc": "Sélectionner les caméras pour ce groupe."
|
"desc": "Sélectionnez les caméras pour ce groupe."
|
||||||
},
|
},
|
||||||
"success": "Le groupe de caméras ({{name}}) a été enregistré.",
|
"success": "Le groupe de caméras ({{name}}) a été enregistré.",
|
||||||
"icon": "Icône",
|
"icon": "Icône",
|
||||||
"camera": {
|
"camera": {
|
||||||
"setting": {
|
"setting": {
|
||||||
"label": "Paramètres de flux de caméra",
|
"label": "Paramètres du flux de la caméra",
|
||||||
"title": "Paramètres de flux de {{cameraName}}",
|
"title": "Paramètres du flux de {{cameraName}}",
|
||||||
"audioIsUnavailable": "L'audio n'est pas disponible pour ce flux",
|
"audioIsUnavailable": "L'audio n'est pas disponible pour ce flux.",
|
||||||
"audioIsAvailable": "L'audio est disponible pour ce flux",
|
"audioIsAvailable": "L'audio est disponible pour ce flux.",
|
||||||
"desc": "Modifie les options du flux temps réel pour le tableau de bord de ce groupe de caméras. <em>Ces paramètres sont spécifiques à un périphérique et/ou navigateur.</em>",
|
"desc": "Modifier les options du flux temps réel pour le tableau de bord de ce groupe de caméras. <em>Ces paramètres sont spécifiques à l'appareil ou au navigateur.</em>",
|
||||||
"audio": {
|
"audio": {
|
||||||
"tips": {
|
"tips": {
|
||||||
"document": "Lire la documentation ",
|
"document": "Lire la documentation ",
|
||||||
@ -40,32 +40,32 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"streamMethod": {
|
"streamMethod": {
|
||||||
"label": "Méthode de streaming",
|
"label": "Méthode de diffusion",
|
||||||
"method": {
|
"method": {
|
||||||
"noStreaming": {
|
"noStreaming": {
|
||||||
"label": "Pas de diffusion",
|
"label": "Aucune diffusion",
|
||||||
"desc": "Les images provenant de la caméra ne seront mises à jour qu'une fois par minute et il n'y aura pas de diffusion en direct."
|
"desc": "Les images provenant de la caméra ne seront mises à jour qu'une fois par minute et il n'y aura aucune diffusion en direct."
|
||||||
},
|
},
|
||||||
"smartStreaming": {
|
"smartStreaming": {
|
||||||
"label": "Diffusion intelligente (recommandé)",
|
"label": "Diffusion intelligente (recommandée)",
|
||||||
"desc": "La diffusion intelligente mettra à jour les images de la caméra une fois par minute lorsqu'aucune activité n'est détectée afin de conserver la bande-passante et les ressources. Quand une activité est détectée, le flux bascule automatiquement en diffusion temps réel."
|
"desc": "La diffusion intelligente mettra à jour l'image de la caméra une fois par minute lorsqu'aucune activité n'est détectée, afin de préserver la bande passante et les ressources. Quand une activité est détectée, l'image bascule automatiquement en flux temps réel."
|
||||||
},
|
},
|
||||||
"continuousStreaming": {
|
"continuousStreaming": {
|
||||||
"label": "Diffusion en continu",
|
"label": "Diffusion en continu",
|
||||||
"desc": {
|
"desc": {
|
||||||
"title": "L'image de la caméra sera toujours un flux temps réel lorsqu'elle est visible dans le tableau de bord, même si aucune activité n'est détectée.",
|
"title": "L'image de la caméra sera toujours un flux temps réel lorsqu'elle est visible dans le tableau de bord, même si aucune activité n'est détectée.",
|
||||||
"warning": "La diffusion en continu peut engendrer une bande-passante élevée et des problèmes de performance. A utiliser avec précaution."
|
"warning": "La diffusion en continu peut entraîner une consommation de bande passante élevée et des problèmes de performance. À utiliser avec prudence."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"placeholder": "Choisissez une méthode de diffusion"
|
"placeholder": "Choisissez une méthode de diffusion."
|
||||||
},
|
},
|
||||||
"compatibilityMode": {
|
"compatibilityMode": {
|
||||||
"label": "Mode de compatibilité",
|
"label": "Mode de compatibilité",
|
||||||
"desc": "Activer cette option uniquement si votre flux temps réel affiche des erreurs chromatiques et a une ligne diagonale sur le côté droit de l'image."
|
"desc": "Activez cette option uniquement si votre flux temps réel affiche des artefacts chromatiques et présente une ligne diagonale sur le côté droit de l'image."
|
||||||
},
|
},
|
||||||
"stream": "Flux",
|
"stream": "Flux",
|
||||||
"placeholder": "Choisissez un flux"
|
"placeholder": "Choisissez un flux."
|
||||||
},
|
},
|
||||||
"birdseye": "Birdseye"
|
"birdseye": "Birdseye"
|
||||||
}
|
}
|
||||||
@ -80,7 +80,7 @@
|
|||||||
"label": "Paramètres",
|
"label": "Paramètres",
|
||||||
"hideOptions": "Masquer les options"
|
"hideOptions": "Masquer les options"
|
||||||
},
|
},
|
||||||
"boundingBox": "Boîte de délimitation",
|
"boundingBox": "Cadre de détection",
|
||||||
"zones": "Zones",
|
"zones": "Zones",
|
||||||
"regions": "Régions"
|
"regions": "Régions"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
"restart": {
|
"restart": {
|
||||||
"title": "Êtes-vous sûr de vouloir redémarrer Frigate ?",
|
"title": "Êtes-vous sûr de vouloir redémarrer Frigate ?",
|
||||||
"restarting": {
|
"restarting": {
|
||||||
"title": "Frigate redémarre",
|
"title": "Redémarrage de Frigate en cours",
|
||||||
"content": "Actualisation de la page dans {{countdown}} secondes.",
|
"content": "Cette page sera rechargée dans {{countdown}} secondes.",
|
||||||
"button": "Forcer l'actualisation maintenant"
|
"button": "Forcer l'actualisation maintenant"
|
||||||
},
|
},
|
||||||
"button": "Redémarrer"
|
"button": "Redémarrer"
|
||||||
@ -31,10 +31,10 @@
|
|||||||
"submitted": "Soumis"
|
"submitted": "Soumis"
|
||||||
},
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"label": "Confirmez ce libellé pour Frigate+",
|
"label": "Confirmez cette étiquette pour Frigate+.",
|
||||||
"ask_an": "Est-ce que cet objet est un(e) <code>{{label}}</code> ?",
|
"ask_an": "Cet objet est-il un(e) <code>{{label}}</code> ?",
|
||||||
"ask_a": "Est-ce que cet objet est un(e) <code>{{label}}</code> ?",
|
"ask_a": "Cet objet est-il un(e) <code>{{label}}</code> ?",
|
||||||
"ask_full": "Est-ce-que cet objet est un(e) <code>{{translatedLabel}}</code> ?"
|
"ask_full": "Cet objet est-il un(e) <code>{{translatedLabel}}</code> ?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -61,25 +61,25 @@
|
|||||||
"selectOrExport": "Sélectionner ou exporter",
|
"selectOrExport": "Sélectionner ou exporter",
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"failed": "Échec du démarrage de l'export : {{error}}",
|
"failed": "Échec du démarrage de l'exportation : {{error}}",
|
||||||
"endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début",
|
"endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début.",
|
||||||
"noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide"
|
"noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide."
|
||||||
},
|
},
|
||||||
"success": "Exportation démarrée avec succès. Consultez le fichier dans le dossier /exports."
|
"success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations."
|
||||||
},
|
},
|
||||||
"select": "Sélectionner",
|
"select": "Sélectionner",
|
||||||
"name": {
|
"name": {
|
||||||
"placeholder": "Nommer l'export"
|
"placeholder": "Nommer l'exportation"
|
||||||
},
|
},
|
||||||
"export": "Exporter",
|
"export": "Exporter",
|
||||||
"fromTimeline": {
|
"fromTimeline": {
|
||||||
"saveExport": "Enregistrer l'export",
|
"saveExport": "Enregistrer l'exportation",
|
||||||
"previewExport": "Prévisualiser l'export"
|
"previewExport": "Aperçu de l'exportation"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"saveSearch": {
|
"saveSearch": {
|
||||||
"desc": "Donnez un nom à cette recherche enregistrée.",
|
"desc": "Saisissez un nom pour cette recherche enregistrée.",
|
||||||
"label": "Enregistrer la recherche",
|
"label": "Enregistrer la recherche",
|
||||||
"success": "La recherche ({{searchName}}) a été enregistrée.",
|
"success": "La recherche ({{searchName}}) a été enregistrée.",
|
||||||
"button": {
|
"button": {
|
||||||
@ -88,7 +88,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"overwrite": "{{searchName}} existe déjà. L'enregistrement écrasera la recherche existante.",
|
"overwrite": "{{searchName}} existe déjà. L'enregistrement écrasera la recherche existante.",
|
||||||
"placeholder": "Saisissez un nom pour votre recherche"
|
"placeholder": "Saisissez un nom pour votre recherche."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"streaming": {
|
"streaming": {
|
||||||
@ -102,33 +102,34 @@
|
|||||||
},
|
},
|
||||||
"showStats": {
|
"showStats": {
|
||||||
"label": "Afficher les statistiques du flux",
|
"label": "Afficher les statistiques du flux",
|
||||||
"desc": "Activez cette option pour montrer les statistiques de diffusion en incrustation sur le flux vidéo de la caméra."
|
"desc": "Activez cette option pour afficher les statistiques de diffusion en incrustation sur le flux vidéo de la caméra."
|
||||||
},
|
},
|
||||||
"debugView": "Affichage de débogage"
|
"debugView": "Affichage de débogage"
|
||||||
},
|
},
|
||||||
"recording": {
|
"recording": {
|
||||||
"confirmDelete": {
|
"confirmDelete": {
|
||||||
"desc": {
|
"desc": {
|
||||||
"selected": "Êtes-vous sûr(e) de vouloir supprimer toutes les vidéos enregistrées associées à cet élément de la revue d'événements ? <br /><br />Maintenez la touche <em>Maj</em> enfoncée pour éviter cette boîte de dialogue à l'avenir."
|
"selected": "Êtes-vous sûr(e) de vouloir supprimer toutes les vidéos enregistrées associées à cet événement ? <br /><br />Maintenez la touche <em>Maj</em> enfoncée pour éviter cette boîte de dialogue à l'avenir."
|
||||||
},
|
},
|
||||||
"title": "Confirmer la suppression",
|
"title": "Confirmer la suppression",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Les vidéos associées aux éléments de revue d'événements sélectionnés ont été supprimées.",
|
"success": "Les vidéos associées aux événements sélectionnés ont été supprimées.",
|
||||||
"error": "Échec de la suppression : {{error}}"
|
"error": "Échec de la suppression : {{error}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"export": "Exporter",
|
"export": "Exporter",
|
||||||
"markAsReviewed": "Marquer comme passé en revue",
|
"markAsReviewed": "Marquer comme vérifié",
|
||||||
"deleteNow": "Supprimer maintenant",
|
"deleteNow": "Supprimer maintenant",
|
||||||
"markAsUnreviewed": "Marqué comme non passé en revue"
|
"markAsUnreviewed": "Marquer comme non vérifié"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"imagePicker": {
|
"imagePicker": {
|
||||||
"selectImage": "Sélectionnez une vignette d'objet suivi",
|
"selectImage": "Sélectionnez une vignette d'objet suivi.",
|
||||||
"search": {
|
"search": {
|
||||||
"placeholder": "Chercher par libellé ou sous-libellé..."
|
"placeholder": "Rechercher par étiquette ou sous-étiquette"
|
||||||
},
|
},
|
||||||
"noImages": "Aucune vignette trouvée pour cette caméra"
|
"noImages": "Aucune vignette trouvée pour cette caméra",
|
||||||
|
"unknownLabel": "Image de déclencheur enregistrée"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"labels": {
|
"labels": {
|
||||||
"label": "Libellés",
|
"label": "Étiquettes",
|
||||||
"all": {
|
"all": {
|
||||||
"title": "Tous les libellés",
|
"title": "Toutes les étiquettes",
|
||||||
"short": "Libellés"
|
"short": "Étiquettes"
|
||||||
},
|
},
|
||||||
"count": "{{count}} Étiquettes",
|
"count": "{{count}} Étiquettes",
|
||||||
"count_one": "{{count}} libellé",
|
"count_one": "{{count}} étiquette",
|
||||||
"count_other": "{{count}} libellés"
|
"count_other": "{{count}} étiquettes"
|
||||||
},
|
},
|
||||||
"filter": "Filtre",
|
"filter": "Filtre",
|
||||||
"zones": {
|
"zones": {
|
||||||
@ -22,16 +22,16 @@
|
|||||||
"title": "Toutes les dates",
|
"title": "Toutes les dates",
|
||||||
"short": "Dates"
|
"short": "Dates"
|
||||||
},
|
},
|
||||||
"selectPreset": "Sélectionnez un préréglage…"
|
"selectPreset": "Sélectionnez un préréglage."
|
||||||
},
|
},
|
||||||
"more": "Plus de filtres",
|
"more": "Plus de filtres",
|
||||||
"reset": {
|
"reset": {
|
||||||
"label": "Réinitialiser les filtres aux valeurs par défaut"
|
"label": "Réinitialiser les filtres aux valeurs par défaut"
|
||||||
},
|
},
|
||||||
"timeRange": "Plage de temps",
|
"timeRange": "Plage horaire",
|
||||||
"subLabels": {
|
"subLabels": {
|
||||||
"label": "Sous-libellés",
|
"label": "Sous-étiquettes",
|
||||||
"all": "Tous les sous-libellés"
|
"all": "Toutes les sous-étiquettes"
|
||||||
},
|
},
|
||||||
"score": "Score",
|
"score": "Score",
|
||||||
"estimatedSpeed": "Vitesse estimée ({{unit}})",
|
"estimatedSpeed": "Vitesse estimée ({{unit}})",
|
||||||
@ -50,9 +50,9 @@
|
|||||||
"tips": "Vous devez d'abord filtrer les objets suivis qui ont un instantané.<br /><br />Les objets suivis sans instantané ne peuvent pas être soumis à Frigate+.",
|
"tips": "Vous devez d'abord filtrer les objets suivis qui ont un instantané.<br /><br />Les objets suivis sans instantané ne peuvent pas être soumis à Frigate+.",
|
||||||
"label": "Soumis à Frigate+"
|
"label": "Soumis à Frigate+"
|
||||||
},
|
},
|
||||||
"hasVideoClip": "A un clip vidéo",
|
"hasVideoClip": "Avec une séquence vidéo",
|
||||||
"hasSnapshot": "A un instantané",
|
"hasSnapshot": "Avec un instantané",
|
||||||
"label": "Fonctionnalités"
|
"label": "Caractéristiques"
|
||||||
},
|
},
|
||||||
"explore": {
|
"explore": {
|
||||||
"settings": {
|
"settings": {
|
||||||
@ -61,7 +61,7 @@
|
|||||||
"title": "Vue par défaut",
|
"title": "Vue par défaut",
|
||||||
"summary": "Résumé",
|
"summary": "Résumé",
|
||||||
"unfilteredGrid": "Grille non filtrée",
|
"unfilteredGrid": "Grille non filtrée",
|
||||||
"desc": "Lorsqu'aucun filtre n'est sélectionné, affiche un résumé des objets suivis les plus récents par libellé, ou affiche une grille non filtrée."
|
"desc": "Lorsqu'aucun filtre n'est sélectionné, afficher un résumé des objets suivis les plus récents par étiquette, ou afficher une grille non filtrée"
|
||||||
},
|
},
|
||||||
"gridColumns": {
|
"gridColumns": {
|
||||||
"desc": "Sélectionner le nombre de colonnes dans la vue grille.",
|
"desc": "Sélectionner le nombre de colonnes dans la vue grille.",
|
||||||
@ -70,7 +70,7 @@
|
|||||||
"searchSource": {
|
"searchSource": {
|
||||||
"label": "Source de recherche",
|
"label": "Source de recherche",
|
||||||
"options": {
|
"options": {
|
||||||
"thumbnailImage": "Image de miniature",
|
"thumbnailImage": "Miniature",
|
||||||
"description": "Description"
|
"description": "Description"
|
||||||
},
|
},
|
||||||
"desc": "Choisissez si vous souhaitez rechercher les miniatures ou les descriptions de vos objets suivis."
|
"desc": "Choisissez si vous souhaitez rechercher les miniatures ou les descriptions de vos objets suivis."
|
||||||
@ -83,7 +83,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"review": {
|
"review": {
|
||||||
"showReviewed": "Montrer les éléments passés en revue"
|
"showReviewed": "Afficher les éléments vérifiés"
|
||||||
},
|
},
|
||||||
"cameras": {
|
"cameras": {
|
||||||
"label": "Filtre des caméras",
|
"label": "Filtre des caméras",
|
||||||
@ -101,27 +101,27 @@
|
|||||||
"title": "Chargement",
|
"title": "Chargement",
|
||||||
"desc": "Lorsque le volet de journalisation est défilé jusqu'en bas, les nouveaux enregistrements s'affichent automatiquement au fur et à mesure qu'ils sont ajoutés."
|
"desc": "Lorsque le volet de journalisation est défilé jusqu'en bas, les nouveaux enregistrements s'affichent automatiquement au fur et à mesure qu'ils sont ajoutés."
|
||||||
},
|
},
|
||||||
"label": "Niveau de journalisation du filtre",
|
"label": "Filtrer par niveau de journal",
|
||||||
"disableLogStreaming": "Désactiver la diffusion des journaux",
|
"disableLogStreaming": "Désactiver le flux des journaux",
|
||||||
"allLogs": "Tous les journaux"
|
"allLogs": "Tous les journaux"
|
||||||
},
|
},
|
||||||
"recognizedLicensePlates": {
|
"recognizedLicensePlates": {
|
||||||
"placeholder": "Tapez pour rechercher des plaques d'immatriculation…",
|
"placeholder": "Tapez pour rechercher des plaques d'immatriculation.",
|
||||||
"noLicensePlatesFound": "Aucune plaque d'immatriculation trouvée.",
|
"noLicensePlatesFound": "Aucune plaque d'immatriculation trouvée",
|
||||||
"loading": "Chargement des plaques d'immatriculation reconnues…",
|
"loading": "Chargement des plaques d'immatriculation reconnues…",
|
||||||
"title": "Plaques d'immatriculation reconnues",
|
"title": "Plaques d'immatriculation reconnues",
|
||||||
"loadFailed": "Échec du chargement des plaques d'immatriculation reconnues.",
|
"loadFailed": "Échec du chargement des plaques d'immatriculation reconnues.",
|
||||||
"selectPlatesFromList": "Sélectionner une ou plusieurs plaques d'immatriculation dans la liste.",
|
"selectPlatesFromList": "Sélectionnez une ou plusieurs plaques d'immatriculation dans la liste.",
|
||||||
"selectAll": "Tout sélectionner",
|
"selectAll": "Tout sélectionner",
|
||||||
"clearAll": "Tout effacer"
|
"clearAll": "Tout désélectionner"
|
||||||
},
|
},
|
||||||
"trackedObjectDelete": {
|
"trackedObjectDelete": {
|
||||||
"title": "Confirmer la suppression",
|
"title": "Confirmer la suppression",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Les objets suivis ont été supprimés avec succès.",
|
"success": "Objets suivis supprimés avec succès.",
|
||||||
"error": "Échec de la suppression des objets suivis : {{errorMessage}}"
|
"error": "Échec de la suppression des objets suivis : {{errorMessage}}"
|
||||||
},
|
},
|
||||||
"desc": "Supprimer ces objets suivis {{objectLength}} retirera l'instantané, les représentations numériques enregistrées et les entrées du cycle de vie de l'objet associées. Les séquences enregistrées de ces objets suivis dans la vue Historique <em>NE</em> seront <em>PAS</em> supprimées.<br /><br />Voulez-vous vraiment continuer ?<br /><br />Maintenez la touche <em>Maj</em> enfoncée pour ignorer cette boîte de dialogue à l'avenir."
|
"desc": "La suppression de ces {{objectLength}} objets suivis retirera l'instantané, les embeddings enregistrés et les entrées du cycle de vie de l'objet associées. Les séquences enregistrées de ces objets suivis dans la vue Chronologie <em>NE</em> seront <em>PAS</em> supprimées.<br /><br />Voulez-vous vraiment continuer?<br /><br />Maintenez la touche <em>Maj</em> enfoncée pour ignorer cette boîte de dialogue à l'avenir."
|
||||||
},
|
},
|
||||||
"zoneMask": {
|
"zoneMask": {
|
||||||
"filterBy": "Filtrer par masque de zone"
|
"filterBy": "Filtrer par masque de zone"
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"iconPicker": {
|
"iconPicker": {
|
||||||
"search": {
|
"search": {
|
||||||
"placeholder": "Rechercher une icône…"
|
"placeholder": "Rechercher une icône"
|
||||||
},
|
},
|
||||||
"selectIcon": "Sélectionnez une icône"
|
"selectIcon": "Sélectionnez une icône."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"downloadVideo": {
|
"downloadVideo": {
|
||||||
"label": "Télécharger la vidéo",
|
"label": "Télécharger la vidéo",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Le téléchargement de la vidéo de votre élément de la revue d'événements a commencé."
|
"success": "Le téléchargement de la vidéo de votre événement a commencé."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,8 +10,8 @@
|
|||||||
"title": "Flux hors ligne",
|
"title": "Flux hors ligne",
|
||||||
"desc": "Aucune image n'a été reçue sur le flux de <code>détection</code> de la caméra {{cameraName}}. Vérifiez le journal d'erreurs."
|
"desc": "Aucune image n'a été reçue sur le flux de <code>détection</code> de la caméra {{cameraName}}. Vérifiez le journal d'erreurs."
|
||||||
},
|
},
|
||||||
"livePlayerRequiredIOSVersion": "iOS 17.1 ou une version supérieure est requis pour ce type de flux en direct.",
|
"livePlayerRequiredIOSVersion": "iOS 17.1 ou une version supérieure est requise pour ce type de flux en direct.",
|
||||||
"cameraDisabled": "La caméra est désactivée",
|
"cameraDisabled": "La caméra est désactivée.",
|
||||||
"stats": {
|
"stats": {
|
||||||
"streamType": {
|
"streamType": {
|
||||||
"title": "Type de flux :",
|
"title": "Type de flux :",
|
||||||
@ -37,7 +37,7 @@
|
|||||||
"title": "Images perdues :"
|
"title": "Images perdues :"
|
||||||
},
|
},
|
||||||
"decodedFrames": "Images décodées :",
|
"decodedFrames": "Images décodées :",
|
||||||
"droppedFrameRate": "Proportion d'images perdues :",
|
"droppedFrameRate": "Taux d'images perdues :",
|
||||||
"totalFrames": "Total images :"
|
"totalFrames": "Total images :"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
|
|||||||
@ -9,17 +9,17 @@
|
|||||||
"boat": "Bateau",
|
"boat": "Bateau",
|
||||||
"traffic_light": "Feu de circulation",
|
"traffic_light": "Feu de circulation",
|
||||||
"fire_hydrant": "Bouche d'incendie",
|
"fire_hydrant": "Bouche d'incendie",
|
||||||
"street_sign": "Plaque de rue",
|
"street_sign": "Panneau de signalisation",
|
||||||
"parking_meter": "Parcmètre",
|
"parking_meter": "Parcmètre",
|
||||||
"bench": "Banc",
|
"bench": "Banc",
|
||||||
"bird": "Oiseau",
|
"bird": "Oiseau",
|
||||||
"cat": "chat",
|
"cat": "Chat",
|
||||||
"stop_sign": "Panneau de stop",
|
"stop_sign": "Panneau de stop",
|
||||||
"dog": "Chien",
|
"dog": "Chien",
|
||||||
"horse": "Cheval",
|
"horse": "Cheval",
|
||||||
"sheep": "Mouton",
|
"sheep": "Mouton",
|
||||||
"cow": "Vache",
|
"cow": "Vache",
|
||||||
"elephant": "Eléphant",
|
"elephant": "Éléphant",
|
||||||
"bear": "Ours",
|
"bear": "Ours",
|
||||||
"zebra": "Zèbre",
|
"zebra": "Zèbre",
|
||||||
"hat": "Chapeau",
|
"hat": "Chapeau",
|
||||||
@ -27,10 +27,10 @@
|
|||||||
"suitcase": "Valise",
|
"suitcase": "Valise",
|
||||||
"frisbee": "Frisbee",
|
"frisbee": "Frisbee",
|
||||||
"skis": "Skis",
|
"skis": "Skis",
|
||||||
"snowboard": "Surf des neiges",
|
"snowboard": "Snowboard",
|
||||||
"sports_ball": "Ballon des sports",
|
"sports_ball": "Ballon de sport",
|
||||||
"kite": "Cerf-volant",
|
"kite": "Cerf-volant",
|
||||||
"baseball_bat": "Batte de base-ball",
|
"baseball_bat": "Batte de baseball",
|
||||||
"umbrella": "Parapluie",
|
"umbrella": "Parapluie",
|
||||||
"giraffe": "Girafe",
|
"giraffe": "Girafe",
|
||||||
"eye_glasses": "Lunettes",
|
"eye_glasses": "Lunettes",
|
||||||
@ -42,7 +42,7 @@
|
|||||||
"baseball_glove": "Gant de baseball",
|
"baseball_glove": "Gant de baseball",
|
||||||
"skateboard": "Skateboard",
|
"skateboard": "Skateboard",
|
||||||
"surfboard": "Planche de surf",
|
"surfboard": "Planche de surf",
|
||||||
"tennis_racket": "Raquette de Tennis",
|
"tennis_racket": "Raquette de tennis",
|
||||||
"plate": "Assiette",
|
"plate": "Assiette",
|
||||||
"cup": "Tasse",
|
"cup": "Tasse",
|
||||||
"banana": "Banane",
|
"banana": "Banane",
|
||||||
@ -63,7 +63,7 @@
|
|||||||
"toaster": "Grille-pain",
|
"toaster": "Grille-pain",
|
||||||
"book": "Livre",
|
"book": "Livre",
|
||||||
"teddy_bear": "Ours en peluche",
|
"teddy_bear": "Ours en peluche",
|
||||||
"blender": "Mixer",
|
"blender": "Mixeur",
|
||||||
"toothbrush": "Brosse à dents",
|
"toothbrush": "Brosse à dents",
|
||||||
"hair_brush": "Brosse à cheveux",
|
"hair_brush": "Brosse à cheveux",
|
||||||
"vehicle": "Véhicule",
|
"vehicle": "Véhicule",
|
||||||
@ -92,7 +92,7 @@
|
|||||||
"refrigerator": "Réfrigérateur",
|
"refrigerator": "Réfrigérateur",
|
||||||
"bark": "Aboiement",
|
"bark": "Aboiement",
|
||||||
"oven": "Four",
|
"oven": "Four",
|
||||||
"scissors": "Paire de ciseaux",
|
"scissors": "Ciseaux",
|
||||||
"toilet": "Toilettes",
|
"toilet": "Toilettes",
|
||||||
"carrot": "Carotte",
|
"carrot": "Carotte",
|
||||||
"bed": "Lit",
|
"bed": "Lit",
|
||||||
@ -100,11 +100,11 @@
|
|||||||
"fork": "Fourchette",
|
"fork": "Fourchette",
|
||||||
"squirrel": "Écureuil",
|
"squirrel": "Écureuil",
|
||||||
"microwave": "Micro-ondes",
|
"microwave": "Micro-ondes",
|
||||||
"hair_dryer": "Sèche cheveux",
|
"hair_dryer": "Sèche-cheveux",
|
||||||
"bowl": "Bol",
|
"bowl": "Bol",
|
||||||
"spoon": "Cuillère",
|
"spoon": "Cuillère",
|
||||||
"sandwich": "Sandwich",
|
"sandwich": "Sandwich",
|
||||||
"sink": "Lavabo",
|
"sink": "Évier",
|
||||||
"broccoli": "Brocoli",
|
"broccoli": "Brocoli",
|
||||||
"knife": "Couteau",
|
"knife": "Couteau",
|
||||||
"nzpost": "NZPost",
|
"nzpost": "NZPost",
|
||||||
|
|||||||
135
web/public/locales/fr/views/classificationModel.json
Normal file
135
web/public/locales/fr/views/classificationModel.json
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Modèles de classification",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Supprimer les images de classification",
|
||||||
|
"renameCategory": "Renommer la classe",
|
||||||
|
"deleteCategory": "Supprimer la classe",
|
||||||
|
"deleteImages": "Supprimer les images",
|
||||||
|
"trainModel": "Entraîner le modèle"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "Classe supprimée",
|
||||||
|
"deletedImage": "Images supprimées",
|
||||||
|
"categorizedImage": "Image classifiée avec succès",
|
||||||
|
"trainedModel": "Modèle entraîné avec succès.",
|
||||||
|
"trainingModel": "L'entraînement du modèle a démarré avec succès."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "Échec de la suppression : {{errorMessage}}",
|
||||||
|
"deleteCategoryFailed": "Échec de la suppression de la classe : {{errorMessage}}",
|
||||||
|
"categorizeFailed": "Échec de la catégorisation de l'image : {{errorMessage}}",
|
||||||
|
"trainingFailed": "Échec du démarrage de l'entraînement du modèle : {{errorMessage}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleteCategory": {
|
||||||
|
"title": "Supprimer la classe",
|
||||||
|
"desc": "Êtes-vous sûr de vouloir supprimer la classe {{name}} ? Cette action supprimera définitivement toutes les images associées et nécessitera un réentraînement du modèle."
|
||||||
|
},
|
||||||
|
"deleteDatasetImages": {
|
||||||
|
"title": "Supprimer les images du jeu de données",
|
||||||
|
"desc": "Êtes-vous sûr de vouloir supprimer {{count}} images du jeu de données {{dataset}} ? Cette action est irréversible et nécessitera un réentraînement du modèle."
|
||||||
|
},
|
||||||
|
"deleteTrainImages": {
|
||||||
|
"title": "Supprimer les images d'entraînement",
|
||||||
|
"desc": "Êtes-vous sûr de vouloir supprimer {{count}} images ? Cette action est irréversible."
|
||||||
|
},
|
||||||
|
"renameCategory": {
|
||||||
|
"title": "Renommer la classe",
|
||||||
|
"desc": "Saisissez un nouveau nom pour {{name}}. Vous devrez réentraîner le modèle pour que le changement de nom prenne effet."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
|
||||||
|
},
|
||||||
|
"train": {
|
||||||
|
"title": "Classifications récentes",
|
||||||
|
"aria": "Sélectionner des classifications récentes"
|
||||||
|
},
|
||||||
|
"categories": "Classes",
|
||||||
|
"createCategory": {
|
||||||
|
"new": "Créer une nouvelle classe"
|
||||||
|
},
|
||||||
|
"categorizeImageAs": "Classifier comme :",
|
||||||
|
"categorizeImage": "Classifier l'image",
|
||||||
|
"noModels": {
|
||||||
|
"object": {
|
||||||
|
"title": "Aucun modèle de classification d'objets",
|
||||||
|
"description": "Créer un modèle personnalisé pour classifier les objets détectés",
|
||||||
|
"buttonText": "Créer un modèle d'objets"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"title": "Aucun modèle de classification d'états",
|
||||||
|
"description": "Créer un modèle personnalisé pour surveiller et classifier les changements d'état dans des zones de caméra spécifiques",
|
||||||
|
"buttonText": "Créer un modèle d'états"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Créer une nouvelle classification",
|
||||||
|
"steps": {
|
||||||
|
"nameAndDefine": "Nom et définition",
|
||||||
|
"stateArea": "Zone d'état",
|
||||||
|
"chooseExamples": "Choisir des exemples"
|
||||||
|
},
|
||||||
|
"step1": {
|
||||||
|
"description": "Les modèles d'état surveillent des zones de caméra fixes pour détecter des changements (par ex., porte ouverte/fermée). Les modèles d'objets ajoutent des classifications aux objets détectés (par ex., animaux connus, livreurs, etc.).",
|
||||||
|
"name": "Nom",
|
||||||
|
"namePlaceholder": "Saisissez un nom de modèle.",
|
||||||
|
"type": "Type",
|
||||||
|
"typeState": "État",
|
||||||
|
"typeObject": "Objet",
|
||||||
|
"objectLabel": "Étiquette d'objet",
|
||||||
|
"objectLabelPlaceholder": "Sélectionnez un type d'objet.",
|
||||||
|
"classificationType": "Type de classification",
|
||||||
|
"classificationTypeTip": "En savoir plus sur les types de classification",
|
||||||
|
"classificationTypeDesc": "Les sous-étiquettes ajoutent du texte supplémentaire à l'étiquette d'objet (par ex., « Personne : UPS »). Les attributs sont des métadonnées recherchables stockées séparément dans les métadonnées de l'objet.",
|
||||||
|
"classificationSubLabel": "Sous-étiquette",
|
||||||
|
"classificationAttribute": "Attribut",
|
||||||
|
"classes": "Classes",
|
||||||
|
"classesTip": "En savoir plus sur les classes",
|
||||||
|
"classesStateDesc": "Définissez les différents états que votre zone de caméra peut avoir. Par exemple : « ouvert » et « fermé » pour une porte de garage.",
|
||||||
|
"classesObjectDesc": "Définissez les différentes catégories pour classifier les objets détectés. Par exemple : « livreur », « résident », « inconnu » pour la classification des personnes.",
|
||||||
|
"classPlaceholder": "Saisissez le nom de la classe.",
|
||||||
|
"errors": {
|
||||||
|
"nameRequired": "Le nom du modèle est requis.",
|
||||||
|
"nameLength": "Le nom du modèle ne doit pas dépasser 64 caractères.",
|
||||||
|
"nameOnlyNumbers": "Le nom du modèle ne peut pas contenir uniquement des chiffres.",
|
||||||
|
"classRequired": "Au moins une classe est requise.",
|
||||||
|
"classesUnique": "Les noms de classe doivent être uniques.",
|
||||||
|
"stateRequiresTwoClasses": "Les modèles d'état nécessitent au moins deux classes.",
|
||||||
|
"objectLabelRequired": "Veuillez sélectionner une étiquette d'objet.",
|
||||||
|
"objectTypeRequired": "Veuillez sélectionner un type de classification."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Sélectionnez les caméras et définissez la zone à surveiller pour chaque caméra. Le modèle classifiera l'état de ces zones.",
|
||||||
|
"cameras": "Caméras",
|
||||||
|
"selectCamera": "Sélectionner une caméra",
|
||||||
|
"noCameras": "Cliquez sur + pour ajouter des caméras.",
|
||||||
|
"selectCameraPrompt": "Sélectionnez une caméra dans la liste pour définir sa zone de surveillance."
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"selectImagesPrompt": "Sélectionner toutes les images contenant : {{className}}",
|
||||||
|
"selectImagesDescription": "Cliquez sur les images pour les sélectionner. Cliquez sur Continuer lorsque vous avez terminé avec cette classe.",
|
||||||
|
"generating": {
|
||||||
|
"title": "Génération d'images d'exemple en cours",
|
||||||
|
"description": "Frigate récupère des images représentatives à partir de vos enregistrements. Cela peut prendre un moment..."
|
||||||
|
},
|
||||||
|
"training": {
|
||||||
|
"title": "Entraînement du modèle",
|
||||||
|
"description": "Votre modèle est en cours d'entraînement en arrière-plan. Fermez cette boîte de dialogue. Votre modèle se lancera dès que l'entraînement sera terminé."
|
||||||
|
},
|
||||||
|
"retryGenerate": "Réessayer la génération",
|
||||||
|
"noImages": "Aucune image d'exemple générée",
|
||||||
|
"classifying": "Classification et entraînement en cours...",
|
||||||
|
"trainingStarted": "Entraînement démarré avec succès",
|
||||||
|
"errors": {
|
||||||
|
"noCameras": "Aucune caméra n'est configurée.",
|
||||||
|
"noObjectLabel": "Aucune étiquette d'objet sélectionnée",
|
||||||
|
"generateFailed": "Échec de la génération des exemples : {{error}}",
|
||||||
|
"generationFailed": "Échec de la génération. Veuillez réessayer.",
|
||||||
|
"classifyFailed": "Échec de la classification des images : {{error}}"
|
||||||
|
},
|
||||||
|
"generateSuccess": "Génération des images d'exemple réussie"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@
|
|||||||
"configEditor": "Éditeur de configuration",
|
"configEditor": "Éditeur de configuration",
|
||||||
"documentTitle": "Éditeur de configuration - Frigate",
|
"documentTitle": "Éditeur de configuration - Frigate",
|
||||||
"copyConfig": "Copier la configuration",
|
"copyConfig": "Copier la configuration",
|
||||||
"saveOnly": "Enregistrer seulement",
|
"saveOnly": "Enregistrer uniquement",
|
||||||
"saveAndRestart": "Enregistrer et redémarrer",
|
"saveAndRestart": "Enregistrer et redémarrer",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": {
|
"success": {
|
||||||
|
|||||||
@ -2,22 +2,22 @@
|
|||||||
"detections": "Détections",
|
"detections": "Détections",
|
||||||
"motion": {
|
"motion": {
|
||||||
"label": "Mouvement",
|
"label": "Mouvement",
|
||||||
"only": "Mouvement seulement"
|
"only": "Mouvement uniquement"
|
||||||
},
|
},
|
||||||
"alerts": "Alertes",
|
"alerts": "Alertes",
|
||||||
"allCameras": "Toutes les caméras",
|
"allCameras": "Toutes les caméras",
|
||||||
"empty": {
|
"empty": {
|
||||||
"alert": "Il n'y a aucune alerte à passer en revue",
|
"alert": "Il n'y a aucune alerte à examiner.",
|
||||||
"detection": "Il n'y a aucune détection à passer en revue",
|
"detection": "Il n'y a aucune détection à examiner.",
|
||||||
"motion": "Aucune donnée de mouvement trouvée"
|
"motion": "Aucune donnée de mouvement trouvée"
|
||||||
},
|
},
|
||||||
"timeline": "Chronologie",
|
"timeline": "Chronologie",
|
||||||
"events": {
|
"events": {
|
||||||
"label": "Événements",
|
"label": "Événements",
|
||||||
"aria": "Sélectionner les événements",
|
"aria": "Sélectionner les événements",
|
||||||
"noFoundForTimePeriod": "Aucun événement trouvé pour cette plage de temps."
|
"noFoundForTimePeriod": "Aucun événement n'a été trouvé pour cette plage de temps."
|
||||||
},
|
},
|
||||||
"documentTitle": "Revue d'événements -Frigate",
|
"documentTitle": "Événements - Frigate",
|
||||||
"recordings": {
|
"recordings": {
|
||||||
"documentTitle": "Enregistrements - Frigate"
|
"documentTitle": "Enregistrements - Frigate"
|
||||||
},
|
},
|
||||||
@ -25,17 +25,29 @@
|
|||||||
"last24Hours": "Dernières 24 heures"
|
"last24Hours": "Dernières 24 heures"
|
||||||
},
|
},
|
||||||
"timeline.aria": "Sélectionner une chronologie",
|
"timeline.aria": "Sélectionner une chronologie",
|
||||||
"markAsReviewed": "Marqué comme passé en revue",
|
"markAsReviewed": "Marquer comme vérifié",
|
||||||
"newReviewItems": {
|
"newReviewItems": {
|
||||||
"button": "Nouveaux éléments à passer en revue",
|
"button": "Nouveaux événements à examiner",
|
||||||
"label": "Afficher les nouveaux éléments de la revue d'événements"
|
"label": "Afficher les nouveaux événements"
|
||||||
},
|
},
|
||||||
"camera": "Caméra",
|
"camera": "Caméra",
|
||||||
"markTheseItemsAsReviewed": "Marquer ces éléments comme passés en revue",
|
"markTheseItemsAsReviewed": "Marquer ces éléments comme vérifiés",
|
||||||
"selected": "{{count}} sélectionné(s)",
|
"selected": "{{count}} sélectionné(s)",
|
||||||
"selected_other": "{{count}} sélectionné(s)",
|
"selected_other": "{{count}} sélectionné(s)",
|
||||||
"selected_one": "{{count}} sélectionné(s)",
|
"selected_one": "{{count}} sélectionné(s)",
|
||||||
"detected": "détecté",
|
"detected": "détecté",
|
||||||
"suspiciousActivity": "Activité suspecte",
|
"suspiciousActivity": "Activité suspecte",
|
||||||
"threateningActivity": "Activité menaçante"
|
"threateningActivity": "Activité menaçante",
|
||||||
|
"detail": {
|
||||||
|
"noDataFound": "Aucun détail à examiner",
|
||||||
|
"aria": "Activer/désactiver la vue détaillée",
|
||||||
|
"trackedObject_one": "objet",
|
||||||
|
"trackedObject_other": "objets",
|
||||||
|
"noObjectDetailData": "Aucun détail d'objet disponible",
|
||||||
|
"label": "Détail"
|
||||||
|
},
|
||||||
|
"objectTrack": {
|
||||||
|
"trackedPoint": "Point suivi",
|
||||||
|
"clickToSeek": "Cliquez pour atteindre ce moment."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,17 +5,17 @@
|
|||||||
"title": "L'exploration est indisponible",
|
"title": "L'exploration est indisponible",
|
||||||
"embeddingsReindexing": {
|
"embeddingsReindexing": {
|
||||||
"estimatedTime": "Temps restant estimé :",
|
"estimatedTime": "Temps restant estimé :",
|
||||||
"finishingShortly": "Termine bientôt",
|
"finishingShortly": "Bientôt fini",
|
||||||
"context": "L'exploration peut être utilisée une fois la réindexation des représentations numériques des objets suivis terminée.",
|
"context": "L'exploration peut être utilisée une fois la réindexation des embeddings des objets suivis terminée.",
|
||||||
"startingUp": "Démarrage…",
|
"startingUp": "Démarrage…",
|
||||||
"step": {
|
"step": {
|
||||||
"thumbnailsEmbedded": "Miniatures intégrées : ",
|
"thumbnailsEmbedded": "Embeddings des miniatures : ",
|
||||||
"descriptionsEmbedded": "Descriptions intégrées : ",
|
"descriptionsEmbedded": "Embeddings des descriptions : ",
|
||||||
"trackedObjectsProcessed": "Objets suivis traités : "
|
"trackedObjectsProcessed": "Objets suivis traités : "
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"downloadingModels": {
|
"downloadingModels": {
|
||||||
"context": "Frigate télécharge les modèles de représentations numériques nécessaires pour prendre en charge la fonctionnalité de recherche sémantique. Cette opération peut prendre plusieurs minutes selon la vitesse de votre connexion réseau.",
|
"context": "Frigate télécharge les modèles d'embeddings nécessaires pour prendre en charge la fonctionnalité de recherche sémantique. Cette opération peut prendre plusieurs minutes selon la vitesse de votre connexion réseau.",
|
||||||
"setup": {
|
"setup": {
|
||||||
"visionModelFeatureExtractor": "Extracteur de caractéristiques de modèle de vision",
|
"visionModelFeatureExtractor": "Extracteur de caractéristiques de modèle de vision",
|
||||||
"textTokenizer": "Tokeniseur de texte",
|
"textTokenizer": "Tokeniseur de texte",
|
||||||
@ -24,50 +24,50 @@
|
|||||||
},
|
},
|
||||||
"tips": {
|
"tips": {
|
||||||
"documentation": "Lire la documentation",
|
"documentation": "Lire la documentation",
|
||||||
"context": "Une fois les modèles téléchargés, il est conseillé de réindexer vos objets suivis."
|
"context": "Une fois les modèles téléchargés, il est conseillé de réindexer les embeddings de vos objets suivis."
|
||||||
},
|
},
|
||||||
"error": "Une erreur est survenue. Vérifier les journaux Frigate."
|
"error": "Une erreur est survenue. Vérifiez les journaux Frigate."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"details": {
|
"details": {
|
||||||
"timestamp": "Horodatage",
|
"timestamp": "Horodatage",
|
||||||
"item": {
|
"item": {
|
||||||
"title": "Détails de l'élément de la revue d'événements",
|
"title": "Détails de l'événement",
|
||||||
"button": {
|
"button": {
|
||||||
"share": "Partager cet élément de la revue d'événements",
|
"share": "Partager cet événement",
|
||||||
"viewInExplore": "Afficher dans Explorer"
|
"viewInExplore": "Afficher dans Explorer"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": {
|
"success": {
|
||||||
"regenerate": "Une nouvelle description a été demandée à {{provider}}. Selon la vitesse de votre fournisseur, la régénération de la nouvelle description peut prendre un certain temps.",
|
"regenerate": "Une nouvelle description a été demandée à {{provider}}. Selon la vitesse de votre fournisseur, la régénération de la nouvelle description peut prendre un certain temps.",
|
||||||
"updatedSublabel": "Sous-libellé mis à jour avec succès.",
|
"updatedSublabel": "Sous-étiquette mise à jour avec succès",
|
||||||
"updatedLPR": "Plaque d'immatriculation mise à jour avec succès.",
|
"updatedLPR": "Plaque d'immatriculation mise à jour avec succès",
|
||||||
"audioTranscription": "Requête de la transcription audio réussie."
|
"audioTranscription": "Transcription audio demandée avec succès"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"regenerate": "Échec de l'appel de {{provider}} pour une nouvelle description : {{errorMessage}}",
|
"regenerate": "Échec de l'appel de {{provider}} pour une nouvelle description : {{errorMessage}}",
|
||||||
"updatedSublabelFailed": "Échec de la mise à jour du sous-libellé : {{errorMessage}}",
|
"updatedSublabelFailed": "Échec de la mise à jour de la sous-étiquette : {{errorMessage}}",
|
||||||
"updatedLPRFailed": "Échec de la mise à jour de la plaque d'immatriculation : {{errorMessage}}",
|
"updatedLPRFailed": "Échec de la mise à jour de la plaque d'immatriculation : {{errorMessage}}",
|
||||||
"audioTranscription": "Échec de la requête de transcription audio : {{errorMessage}}"
|
"audioTranscription": "Échec de la demande de transcription audio : {{errorMessage}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tips": {
|
"tips": {
|
||||||
"mismatch_one": "{{count}} objet indisponible a été détecté et intégré dans cet élément de la revue d'événements. Cet objet n'a pas été qualifié comme une alerte ou une détection, ou a déjà été nettoyé / supprimé.",
|
"mismatch_one": "{{count}} objet indisponible a été détecté et intégré dans cet événement. Cet objet n'a pas été qualifié comme une alerte ou une détection, ou a déjà été nettoyé / supprimé.",
|
||||||
"mismatch_many": "{{count}} objets indisponibles ont été détectés et intégrés dans cet élément de la revue d'événements. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
|
"mismatch_many": "{{count}} objets indisponibles ont été détectés et intégrés dans cet événement. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
|
||||||
"mismatch_other": "{{count}} objets indisponibles ont été détectés et intégrés dans cet élément de la revue d'événements. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
|
"mismatch_other": "{{count}} objets indisponibles ont été détectés et intégrés dans cet événement. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
|
||||||
"hasMissingObjects": "Ajustez votre configuration si vous souhaitez que Frigate enregistre les objets suivis pour les libellés suivants : <em>{{objects}}</em>"
|
"hasMissingObjects": "Ajustez votre configuration si vous souhaitez que Frigate enregistre les objets suivis pour les étiquettes suivantes : <em>{{objects}}</em>"
|
||||||
},
|
},
|
||||||
"desc": "Détails de l'élément de la revue d'événements"
|
"desc": "Détails de l'événement"
|
||||||
},
|
},
|
||||||
"label": "Libellé",
|
"label": "Étiquette",
|
||||||
"editSubLabel": {
|
"editSubLabel": {
|
||||||
"title": "Modifier le sous-libellé",
|
"title": "Modifier la sous-étiquette",
|
||||||
"desc": "Saisissez un nouveau sous-libellé pour {{label}}",
|
"desc": "Saisissez une nouvelle sous-étiquette pour {{label}}.",
|
||||||
"descNoLabel": "Entrer un nouveau sous-libellé pour cet objet suivi"
|
"descNoLabel": "Saisissez une nouvelle sous-étiquette pour cet objet suivi."
|
||||||
},
|
},
|
||||||
"topScore": {
|
"topScore": {
|
||||||
"label": "Meilleur score",
|
"label": "Meilleur score",
|
||||||
"info": "Le score le plus élevé est le score médian le plus haut pour l'objet suivi ; il peut donc différer du score affiché sur la miniature du résultat de recherche."
|
"info": "Le meilleur score correspond au score médian le plus élevé de l'objet suivi, il peut donc différer du score affiché sur la miniature du résultat de recherche."
|
||||||
},
|
},
|
||||||
"objects": "Objets",
|
"objects": "Objets",
|
||||||
"button": {
|
"button": {
|
||||||
@ -86,8 +86,8 @@
|
|||||||
"regenerateFromThumbnails": "Générer à nouveau à partir des miniatures",
|
"regenerateFromThumbnails": "Générer à nouveau à partir des miniatures",
|
||||||
"editLPR": {
|
"editLPR": {
|
||||||
"title": "Modifier la plaque d'immatriculation",
|
"title": "Modifier la plaque d'immatriculation",
|
||||||
"desc": "Saisissez une nouvelle valeur de plaque d'immatriculation pour {{label}}",
|
"desc": "Saisissez une nouvelle valeur de plaque d'immatriculation pour {{label}}.",
|
||||||
"descNoLabel": "Saisir une nouvelle valeur de plaque d'immatriculation pour cet objet suivi"
|
"descNoLabel": "Saisissez une nouvelle valeur de plaque d'immatriculation pour cet objet suivi."
|
||||||
},
|
},
|
||||||
"recognizedLicensePlate": "Plaque d'immatriculation reconnue",
|
"recognizedLicensePlate": "Plaque d'immatriculation reconnue",
|
||||||
"estimatedSpeed": "Vitesse estimée",
|
"estimatedSpeed": "Vitesse estimée",
|
||||||
@ -120,8 +120,8 @@
|
|||||||
"autoTrackingTips": "Les positions des cadres englobants seront imprécises pour les caméras à suivi automatique.",
|
"autoTrackingTips": "Les positions des cadres englobants seront imprécises pour les caméras à suivi automatique.",
|
||||||
"lifecycleItemDesc": {
|
"lifecycleItemDesc": {
|
||||||
"visible": "{{label}} détecté",
|
"visible": "{{label}} détecté",
|
||||||
"entered_zone": "{{label}} est entré dans {{zones}}",
|
"entered_zone": "{{label}} est entré dans {{zones}}.",
|
||||||
"stationary": "{{label}} est devenu stationnaire",
|
"stationary": "{{label}} est devenu stationnaire.",
|
||||||
"attribute": {
|
"attribute": {
|
||||||
"other": "{{label}} reconnu comme {{attribute}}",
|
"other": "{{label}} reconnu comme {{attribute}}",
|
||||||
"faceOrLicense_plate": "{{attribute}} détecté pour {{label}}"
|
"faceOrLicense_plate": "{{attribute}} détecté pour {{label}}"
|
||||||
@ -129,7 +129,7 @@
|
|||||||
"gone": "{{label}} parti",
|
"gone": "{{label}} parti",
|
||||||
"heard": "{{label}} entendu",
|
"heard": "{{label}} entendu",
|
||||||
"external": "{{label}} détecté",
|
"external": "{{label}} détecté",
|
||||||
"active": "{{label}} est devenu actif",
|
"active": "{{label}} est devenu actif.",
|
||||||
"header": {
|
"header": {
|
||||||
"zones": "Zones",
|
"zones": "Zones",
|
||||||
"area": "Aire",
|
"area": "Aire",
|
||||||
@ -139,7 +139,7 @@
|
|||||||
"annotationSettings": {
|
"annotationSettings": {
|
||||||
"title": "Paramètres d'annotation",
|
"title": "Paramètres d'annotation",
|
||||||
"showAllZones": {
|
"showAllZones": {
|
||||||
"title": "Montrer toutes les zones",
|
"title": "Afficher toutes les zones",
|
||||||
"desc": "Afficher systématiquement les zones sur les images quand des objets y sont entrés"
|
"desc": "Afficher systématiquement les zones sur les images quand des objets y sont entrés"
|
||||||
},
|
},
|
||||||
"offset": {
|
"offset": {
|
||||||
@ -175,8 +175,8 @@
|
|||||||
"label": "Visualiser le cycle de vie de l'objet"
|
"label": "Visualiser le cycle de vie de l'objet"
|
||||||
},
|
},
|
||||||
"viewInHistory": {
|
"viewInHistory": {
|
||||||
"label": "Afficher dans l'historique",
|
"label": "Afficher dans la chronologie",
|
||||||
"aria": "Afficher dans l'historique"
|
"aria": "Afficher dans la chronologie"
|
||||||
},
|
},
|
||||||
"downloadVideo": {
|
"downloadVideo": {
|
||||||
"label": "Télécharger la vidéo",
|
"label": "Télécharger la vidéo",
|
||||||
@ -196,12 +196,22 @@
|
|||||||
"audioTranscription": {
|
"audioTranscription": {
|
||||||
"label": "Transcrire",
|
"label": "Transcrire",
|
||||||
"aria": "Demander une transcription audio"
|
"aria": "Demander une transcription audio"
|
||||||
|
},
|
||||||
|
"showObjectDetails": {
|
||||||
|
"label": "Afficher le parcours de l'objet"
|
||||||
|
},
|
||||||
|
"hideObjectDetails": {
|
||||||
|
"label": "Masquer le parcours de l'objet"
|
||||||
|
},
|
||||||
|
"viewTrackingDetails": {
|
||||||
|
"label": "Voir les détails du suivi",
|
||||||
|
"aria": "Afficher les détails du suivi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"confirmDelete": {
|
"confirmDelete": {
|
||||||
"title": "Confirmer la suppression",
|
"title": "Confirmer la suppression",
|
||||||
"desc": "La suppression de cet objet suivi supprime l'instantané, les représentations numériques enregistrées et les entrées du cycle de vie de l'objet associé. Les images enregistrées de cet objet suivi dans la vue Historique <em>NE</em> seront <em>PAS</em> supprimées.<br /><br />Êtes-vous sûr de vouloir continuer ?"
|
"desc": "La suppression de cet objet suivi supprime l'instantané, les embeddings enregistrés et les entrées du cycle de vie de l'objet associé. Les images enregistrées de cet objet suivi dans la vue Chronologie <em>NE</em> seront <em>PAS</em> supprimées.<br /><br />Êtes-vous sûr de vouloir continuer ?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noTrackedObjects": "Aucun objet suivi trouvé",
|
"noTrackedObjects": "Aucun objet suivi trouvé",
|
||||||
@ -223,6 +233,54 @@
|
|||||||
"title": "Analyse IA"
|
"title": "Analyse IA"
|
||||||
},
|
},
|
||||||
"concerns": {
|
"concerns": {
|
||||||
"label": "Préoccupations"
|
"label": "Points de vigilance"
|
||||||
|
},
|
||||||
|
"trackingDetails": {
|
||||||
|
"title": "Détails du suivi",
|
||||||
|
"noImageFound": "Aucune image trouvée pour cet horodatage",
|
||||||
|
"createObjectMask": "Créer un masque d'objet",
|
||||||
|
"adjustAnnotationSettings": "Ajuster les paramètres d'annotation",
|
||||||
|
"scrollViewTips": "Défilez pour voir les moments significatifs du cycle de vie de cet objet.",
|
||||||
|
"autoTrackingTips": "Les positions des cadres de détection seront imprécises pour les caméras à suivi automatique.",
|
||||||
|
"count": "{{first}} sur {{second}}",
|
||||||
|
"trackedPoint": "Point suivi",
|
||||||
|
"lifecycleItemDesc": {
|
||||||
|
"visible": "{{label}} détecté",
|
||||||
|
"entered_zone": "{{label}} est entré(e) dans {{zones}}.",
|
||||||
|
"active": "{{label}} est devenu(e) actif(ve).",
|
||||||
|
"stationary": "{{label}} s'est immobilisé(e)",
|
||||||
|
"attribute": {
|
||||||
|
"faceOrLicense_plate": "Détection de {{attribute}} pour {{label}}",
|
||||||
|
"other": "{{label}} reconnu(e) comme {{attribute}}"
|
||||||
|
},
|
||||||
|
"gone": "Sortie de {{label}}",
|
||||||
|
"heard": "{{label}} entendu(e)",
|
||||||
|
"external": "{{label}} détecté(e)",
|
||||||
|
"header": {
|
||||||
|
"zones": "Zones",
|
||||||
|
"ratio": "Ratio",
|
||||||
|
"area": "Surface"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"annotationSettings": {
|
||||||
|
"offset": {
|
||||||
|
"desc": "Ces données proviennent du flux de détection de votre caméra mais sont superposées aux images du flux d'enregistrement. Il est peu probable que les deux flux soient parfaitement synchronisés. Par conséquent, le cadre de détection et l'enregistrement ne seront pas parfaitement alignés. Cependant, le champ <code>annotation_offset</code> peut être utilisé pour corriger cela.",
|
||||||
|
"millisecondsToOffset": "Millisecondes de décalage pour les annotations de détection. <em>Par défaut : 0</em>",
|
||||||
|
"tips": "ASTUCE : Imaginez une séquence d'événement avec une personne marchant de gauche à droite. Si le cadre de détection sur la chronologie de l'événement est constamment à gauche de la personne, la valeur doit être diminuée. De même, si une personne marche de gauche à droite et que le cadre de détection est constamment devant la personne, la valeur doit être augmentée.",
|
||||||
|
"toast": {
|
||||||
|
"success": "Le décalage des annotations pour {{camera}} a été sauvegardé dans le fichier de configuration. Redémarrez Frigate pour appliquer vos modifications."
|
||||||
|
},
|
||||||
|
"label": "Décalage d'annotation"
|
||||||
|
},
|
||||||
|
"title": "Paramètres d'annotation",
|
||||||
|
"showAllZones": {
|
||||||
|
"title": "Afficher toutes les zones",
|
||||||
|
"desc": "Toujours afficher les zones sur les images lorsqu'un objet pénètre une zone"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"carousel": {
|
||||||
|
"previous": "Diapositive précédente",
|
||||||
|
"next": "Diapositive suivante"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,23 @@
|
|||||||
{
|
{
|
||||||
"documentTitle": "Exporter - Frigate",
|
"documentTitle": "Exports - Frigate",
|
||||||
"search": "Rechercher",
|
"search": "Rechercher",
|
||||||
"noExports": "Aucun export trouvé",
|
"noExports": "Aucune exportation trouvée",
|
||||||
"deleteExport": "Supprimer l'export",
|
"deleteExport": "Supprimer l'exportation",
|
||||||
"deleteExport.desc": "Êtes-vous sûr de vouloir supprimer {{exportName}}?",
|
"deleteExport.desc": "Êtes-vous sûr de vouloir supprimer {{exportName}} ?",
|
||||||
"editExport": {
|
"editExport": {
|
||||||
"title": "Renommer l'export",
|
"title": "Renommer l'exportation",
|
||||||
"desc": "Saisissez un nouveau nom pour cet export.",
|
"desc": "Saisissez un nouveau nom pour cette exportation.",
|
||||||
"saveExport": "Enregistrer l'export"
|
"saveExport": "Enregistrer l'exportation"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"renameExportFailed": "Échec du renommage de l'export : {{errorMessage}}"
|
"renameExportFailed": "Échec du renommage de l'exportation : {{errorMessage}}"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"shareExport": "Partager l'exportation",
|
||||||
|
"downloadVideo": "Télécharger la vidéo",
|
||||||
|
"editName": "Modifier le nom",
|
||||||
|
"deleteExport": "Supprimer l'exportation"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"description": {
|
"description": {
|
||||||
"addFace": "Guide pour ajouter une nouvelle collection à la bibliothèque de visages",
|
"addFace": "Ajoutez une nouvelle collection à la bibliothèque de visages en téléversant votre première image.",
|
||||||
"placeholder": "Saisissez un nom pour cette collection",
|
"placeholder": "Saisissez un nom pour cette collection.",
|
||||||
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
|
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
|
||||||
},
|
},
|
||||||
"details": {
|
"details": {
|
||||||
@ -17,18 +17,18 @@
|
|||||||
"documentTitle": "Bibliothèque de visages - Frigate",
|
"documentTitle": "Bibliothèque de visages - Frigate",
|
||||||
"uploadFaceImage": {
|
"uploadFaceImage": {
|
||||||
"title": "Téléverser l'image du visage",
|
"title": "Téléverser l'image du visage",
|
||||||
"desc": "Téléversez une image pour rechercher des visages et l'inclure dans {{pageToggle}}"
|
"desc": "Téléversez une image pour rechercher des visages et l'inclure dans {{pageToggle}}."
|
||||||
},
|
},
|
||||||
"createFaceLibrary": {
|
"createFaceLibrary": {
|
||||||
"title": "Créer une collection",
|
"title": "Créer une collection",
|
||||||
"desc": "Créer une nouvelle collection",
|
"desc": "Créer une nouvelle collection",
|
||||||
"new": "Créer un nouveau visage",
|
"new": "Créer un nouveau visage",
|
||||||
"nextSteps": "Pour construire une base solide :<li>Utilisez l'onglet Entraîner pour sélectionner et entraîner des images pour chaque personne détectée.</li><li>Privilégiez les images de face pour de meilleurs résultats ; évitez d'utiliser des images d'entraînement où les visages sont capturés de biais.</li></ul>"
|
"nextSteps": "Pour construire une base solide :<li>Utilisez l'onglet Reconnaissances récentes pour sélectionner et entraîner des images pour chaque personne détectée.</li><li>Privilégiez les images de face pour de meilleurs résultats et évitez d'entraîner le modèle avec des images où les visages sont de biais.</li></ul>"
|
||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"title": "Entraîner",
|
"title": "Reconnaissances récentes",
|
||||||
"aria": "Sélectionner entraîner",
|
"aria": "Sélectionnez des reconnaissances récentes.",
|
||||||
"empty": "Il n'y a pas de tentatives récentes de reconnaissance faciale"
|
"empty": "Il n'y a pas de tentatives récentes de reconnaissance faciale."
|
||||||
},
|
},
|
||||||
"selectFace": "Sélectionner un visage",
|
"selectFace": "Sélectionner un visage",
|
||||||
"button": {
|
"button": {
|
||||||
@ -41,12 +41,12 @@
|
|||||||
},
|
},
|
||||||
"selectItem": "Sélectionner {{item}}",
|
"selectItem": "Sélectionner {{item}}",
|
||||||
"deleteFaceLibrary": {
|
"deleteFaceLibrary": {
|
||||||
"title": "Supprimer un nom",
|
"title": "Supprimer le nom",
|
||||||
"desc": "Etes-vous certain de vouloir supprimer la collection {{name}} ? Cette action supprimera définitivement tous les visages associés."
|
"desc": "Êtes-vous certain de vouloir supprimer la collection {{name}} ? Cette action supprimera définitivement tous les visages associés."
|
||||||
},
|
},
|
||||||
"imageEntry": {
|
"imageEntry": {
|
||||||
"dropActive": "Déposez l'image ici…",
|
"dropActive": "Déposez l'image ici.",
|
||||||
"dropInstructions": "Glissez-déposez ou coller une image ici, ou cliquez pour la sélectionner",
|
"dropInstructions": "Glissez-déposez ou collez une image ici, ou cliquez pour la sélectionner.",
|
||||||
"maxSize": "Taille max : {{size}}Mo",
|
"maxSize": "Taille max : {{size}}Mo",
|
||||||
"validation": {
|
"validation": {
|
||||||
"selectImage": "Veuillez sélectionner un fichier image."
|
"selectImage": "Veuillez sélectionner un fichier image."
|
||||||
@ -58,30 +58,30 @@
|
|||||||
"deletedName_one": "{{count}} visage a été supprimé avec succès.",
|
"deletedName_one": "{{count}} visage a été supprimé avec succès.",
|
||||||
"deletedName_many": "{{count}} visages ont été supprimés avec succès.",
|
"deletedName_many": "{{count}} visages ont été supprimés avec succès.",
|
||||||
"deletedName_other": "{{count}} visages ont été supprimés avec succès.",
|
"deletedName_other": "{{count}} visages ont été supprimés avec succès.",
|
||||||
"uploadedImage": "Image téléversée avec succès.",
|
"uploadedImage": "Image téléversée avec succès",
|
||||||
"addFaceLibrary": "{{name}} a été ajouté avec succès à la bibliothèque de visages !",
|
"addFaceLibrary": "{{name}} a été ajouté avec succès à la bibliothèque de visages !",
|
||||||
"updatedFaceScore": "Score du visage mis à jour avec succès.",
|
"updatedFaceScore": "Score du visage mis à jour avec succès",
|
||||||
"deletedFace_one": "{{count}} visage a été supprimé avec succès.",
|
"deletedFace_one": "{{count}} visage supprimé avec succès",
|
||||||
"deletedFace_many": "{{count}} visages ont été supprimés avec succès.",
|
"deletedFace_many": "{{count}} visages supprimés avec succès",
|
||||||
"deletedFace_other": "{{count}} visages ont été supprimés avec succès.",
|
"deletedFace_other": "{{count}} visages supprimés avec succès",
|
||||||
"trainedFace": "Visage entraîné avec succès.",
|
"trainedFace": "Visage entraîné avec succès",
|
||||||
"renamedFace": "Visage renommé avec succés en {{name}}"
|
"renamedFace": "Visage renommé avec succès en {{name}}"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"uploadingImageFailed": "Échec du téléversement de l'image : {{errorMessage}}",
|
"uploadingImageFailed": "Échec du téléversement de l'image : {{errorMessage}}",
|
||||||
"deleteFaceFailed": "Échec de la suppression : {{errorMessage}}",
|
"deleteFaceFailed": "Échec de la suppression : {{errorMessage}}",
|
||||||
"trainFailed": "Échec de l'entrainement : {{errorMessage}}",
|
"trainFailed": "Échec de l'entraînement : {{errorMessage}}",
|
||||||
"updateFaceScoreFailed": "Échec de la mise à jour du score du visage : {{errorMessage}}",
|
"updateFaceScoreFailed": "Échec de la mise à jour du score du visage : {{errorMessage}}",
|
||||||
"addFaceLibraryFailed": "Échec du nommage du visage : {{errorMessage}}",
|
"addFaceLibraryFailed": "Échec de l'attribution du nom au visage : {{errorMessage}}",
|
||||||
"deleteNameFailed": "Échec de la suppression du nom : {{errorMessage}}",
|
"deleteNameFailed": "Échec de la suppression du nom : {{errorMessage}}",
|
||||||
"renameFaceFailed": "Échec du renommage du visage : {{errorMessage}}"
|
"renameFaceFailed": "Échec du changement de nom du visage : {{errorMessage}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"trainFaceAs": "Entraîner le visage comme :",
|
"trainFaceAs": "Entraîner le visage comme :",
|
||||||
"trainFace": "Entraîner un visage",
|
"trainFace": "Entraîner le visage",
|
||||||
"steps": {
|
"steps": {
|
||||||
"uploadFace": "Téléverser une image de visage",
|
"uploadFace": "Téléverser une image de visage",
|
||||||
"faceName": "Entrer un nom pour le visage",
|
"faceName": "Saisissez le nom du visage.",
|
||||||
"nextSteps": "Prochaines étapes",
|
"nextSteps": "Prochaines étapes",
|
||||||
"description": {
|
"description": {
|
||||||
"uploadFace": "Téléversez une image de {{name}} qui montre son visage de face. L'image n'a pas besoin d'être recadrée pour ne montrer que son visage."
|
"uploadFace": "Téléversez une image de {{name}} qui montre son visage de face. L'image n'a pas besoin d'être recadrée pour ne montrer que son visage."
|
||||||
@ -89,7 +89,7 @@
|
|||||||
},
|
},
|
||||||
"renameFace": {
|
"renameFace": {
|
||||||
"title": "Renommer le visage",
|
"title": "Renommer le visage",
|
||||||
"desc": "Saisissez un nouveau nom pour {{name}}"
|
"desc": "Saisissez un nouveau nom pour {{name}}."
|
||||||
},
|
},
|
||||||
"collections": "Collections",
|
"collections": "Collections",
|
||||||
"deleteFaceAttempts": {
|
"deleteFaceAttempts": {
|
||||||
@ -98,6 +98,6 @@
|
|||||||
"desc_many": "Êtes-vous sûr de vouloir supprimer {{count}} visages ? Cette action est irréversible.",
|
"desc_many": "Êtes-vous sûr de vouloir supprimer {{count}} visages ? Cette action est irréversible.",
|
||||||
"desc_other": "Êtes-vous sûr de vouloir supprimer {{count}} visages ? Cette action est irréversible."
|
"desc_other": "Êtes-vous sûr de vouloir supprimer {{count}} visages ? Cette action est irréversible."
|
||||||
},
|
},
|
||||||
"nofaces": "Pas de visage disponible",
|
"nofaces": "Aucun visage disponible",
|
||||||
"pixels": "{{area}} pixels"
|
"pixels": "{{area}} pixels"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"documentTitle": "Direct - Frigate",
|
"documentTitle": "Direct - Frigate",
|
||||||
"lowBandwidthMode": "Mode faible bande-passante",
|
"lowBandwidthMode": "Mode bande passante faible",
|
||||||
"documentTitle.withCamera": "{{camera}} - Direct - Frigate",
|
"documentTitle.withCamera": "{{camera}} - Direct - Frigate",
|
||||||
"twoWayTalk": {
|
"twoWayTalk": {
|
||||||
"disable": "Désactiver la conversation bidirectionnelle",
|
"disable": "Désactiver la conversation bidirectionnelle",
|
||||||
@ -14,17 +14,17 @@
|
|||||||
"move": {
|
"move": {
|
||||||
"clickMove": {
|
"clickMove": {
|
||||||
"label": "Cliquez dans le cadre pour centrer la caméra",
|
"label": "Cliquez dans le cadre pour centrer la caméra",
|
||||||
"enable": "Activer le click pour déplacer",
|
"enable": "Activer le clic pour déplacer",
|
||||||
"disable": "Désactiver le click pour déplacer"
|
"disable": "Désactiver le clic pour déplacer"
|
||||||
},
|
},
|
||||||
"left": {
|
"left": {
|
||||||
"label": "Déplacer la caméra PTZ sur la gauche"
|
"label": "Déplacer la caméra PTZ vers la gauche"
|
||||||
},
|
},
|
||||||
"up": {
|
"up": {
|
||||||
"label": "Déplacer la caméra PTZ vers le haut"
|
"label": "Déplacer la caméra PTZ vers le haut"
|
||||||
},
|
},
|
||||||
"right": {
|
"right": {
|
||||||
"label": "Déplacer la caméra PTZ sur la droite"
|
"label": "Déplacer la caméra PTZ vers la droite"
|
||||||
},
|
},
|
||||||
"down": {
|
"down": {
|
||||||
"label": "Déplacer la caméra PTZ vers le bas"
|
"label": "Déplacer la caméra PTZ vers le bas"
|
||||||
@ -32,18 +32,18 @@
|
|||||||
},
|
},
|
||||||
"zoom": {
|
"zoom": {
|
||||||
"in": {
|
"in": {
|
||||||
"label": "Zoomer avant de la caméra PTZ"
|
"label": "Zoom avant sur la caméra PTZ"
|
||||||
},
|
},
|
||||||
"out": {
|
"out": {
|
||||||
"label": "Zoom arrière de la caméra PTZ"
|
"label": "Zoom arrière sur la caméra PTZ"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"frame": {
|
"frame": {
|
||||||
"center": {
|
"center": {
|
||||||
"label": "Cliquez dans le cadre pour centrer la caméra PTZ"
|
"label": "Cliquez dans le cadre pour centrer la caméra PTZ."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"presets": "Paramètres prédéfinis pour les caméras PTZ",
|
"presets": "Préréglages de la caméra PTZ",
|
||||||
"focus": {
|
"focus": {
|
||||||
"in": {
|
"in": {
|
||||||
"label": "Mise au point rapprochée de la caméra PTZ"
|
"label": "Mise au point rapprochée de la caméra PTZ"
|
||||||
@ -79,51 +79,51 @@
|
|||||||
},
|
},
|
||||||
"manualRecording": {
|
"manualRecording": {
|
||||||
"playInBackground": {
|
"playInBackground": {
|
||||||
"label": "Jouer en arrière plan",
|
"label": "Jouer en arrière-plan",
|
||||||
"desc": "Activer cette option pour continuer à streamer lorsque le lecteur est masqué."
|
"desc": "Activez cette option pour continuer à diffuser lorsque le lecteur est masqué."
|
||||||
},
|
},
|
||||||
"showStats": {
|
"showStats": {
|
||||||
"label": "Afficher les statistiques",
|
"label": "Afficher les statistiques",
|
||||||
"desc": "Activer cette option pour afficher les statistiques de flux en surimpression sur le flux de la caméra."
|
"desc": "Activez cette option pour afficher les statistiques de flux en surimpression sur le flux de la caméra."
|
||||||
},
|
},
|
||||||
"debugView": "Vue de débogage",
|
"debugView": "Vue de débogage",
|
||||||
"start": "Démarrer l'enregistrement à la demande",
|
"start": "Démarrer l'enregistrement à la demande",
|
||||||
"failedToStart": "Echec du démarrage de l'enregistrement à la demande manuel.",
|
"failedToStart": "Échec du démarrage de l'enregistrement manuel à la demande",
|
||||||
"end": "Terminer l'enregistrement à la demande",
|
"end": "Terminer l'enregistrement à la demande",
|
||||||
"ended": "Enregistrement à la demande terminé.",
|
"ended": "Enregistrement manuel à la demande terminé",
|
||||||
"failedToEnd": "Impossible de terminer l'enregistrement manuel à la demande.",
|
"failedToEnd": "Impossible de terminer l'enregistrement manuel à la demande",
|
||||||
"started": "Enregistrement à la demande démarré.",
|
"started": "Enregistrement manuel à la demande démarré",
|
||||||
"recordDisabledTips": "Puisque l'enregistrement est désactivé ou restreint dans la configuration de cette caméra, seul un instantané sera enregistré.",
|
"recordDisabledTips": "Puisque l'enregistrement est désactivé ou restreint dans la configuration de cette caméra, seul un instantané sera enregistré.",
|
||||||
"title": "À la demande",
|
"title": "À la demande",
|
||||||
"tips": "Téléchargez un instantané immédiat ou démarrez un événement manuel en fonction des paramètres de conservation d'enregistrement de cette caméra."
|
"tips": "Téléchargez un instantané ou démarrez un événement manuel en fonction des paramètres de conservation des enregistrements de cette caméra."
|
||||||
},
|
},
|
||||||
"streamingSettings": "Paramètres de streaming",
|
"streamingSettings": "Paramètres de diffusion",
|
||||||
"notifications": "Notifications",
|
"notifications": "Notifications",
|
||||||
"suspend": {
|
"suspend": {
|
||||||
"forTime": "Mettre en pause pour : "
|
"forTime": "Mettre en pause pour : "
|
||||||
},
|
},
|
||||||
"stream": {
|
"stream": {
|
||||||
"audio": {
|
"audio": {
|
||||||
"available": "Audio disponible pour ce flux",
|
"available": "L'audio est disponible pour ce flux",
|
||||||
"tips": {
|
"tips": {
|
||||||
"documentation": "Lire la documentation ",
|
"documentation": "Lire la documentation ",
|
||||||
"title": "L'audio doit être capté par votre caméra et configuré dans go2rtc pour ce flux."
|
"title": "L'audio doit provenir de votre caméra et être configuré dans go2rtc pour ce flux."
|
||||||
},
|
},
|
||||||
"unavailable": "Audio non disponible pour ce flux"
|
"unavailable": "L'audio n'est pas disponible pour ce flux"
|
||||||
},
|
},
|
||||||
"twoWayTalk": {
|
"twoWayTalk": {
|
||||||
"tips": "Votre périphérique doit supporter la fonctionnalité et WebRTC doit être configuré pour supporter la conversation bidirectionnelle.",
|
"tips": "Votre appareil doit prendre en charge cette fonctionnalité et WebRTC doit être configuré pour la conversation bidirectionnelle.",
|
||||||
"tips.documentation": "Lire la documention ",
|
"tips.documentation": "Lire la documention ",
|
||||||
"available": "Conversation bidirectionnelle disponible pour ce flux",
|
"available": "Conversation bidirectionnelle disponible pour ce flux",
|
||||||
"unavailable": "Conversation bidirectionnelle non disponible pour ce flux"
|
"unavailable": "Conversation bidirectionnelle non disponible pour ce flux"
|
||||||
},
|
},
|
||||||
"lowBandwidth": {
|
"lowBandwidth": {
|
||||||
"tips": "La vue temps réel est en mode faible bande passante à cause d'erreurs de cache ou de flux.",
|
"tips": "La vue temps réel est en mode bande passante faible à cause de problèmes de mise en mémoire tampon ou d'erreurs de flux.",
|
||||||
"resetStream": "Réinitialiser le flux"
|
"resetStream": "Réinitialiser le flux"
|
||||||
},
|
},
|
||||||
"playInBackground": {
|
"playInBackground": {
|
||||||
"tips": "Activer cette option pour continuer le streaming lorsque le lecteur est masqué.",
|
"tips": "Activez cette option pour continuer la diffusion lorsque le lecteur est masqué.",
|
||||||
"label": "Jouer en arrière plan"
|
"label": "Jouer en arrière-plan"
|
||||||
},
|
},
|
||||||
"title": "Flux",
|
"title": "Flux",
|
||||||
"debug": {
|
"debug": {
|
||||||
@ -141,7 +141,7 @@
|
|||||||
"transcription": "Transcription audio"
|
"transcription": "Transcription audio"
|
||||||
},
|
},
|
||||||
"history": {
|
"history": {
|
||||||
"label": "Afficher l'historique de capture"
|
"label": "Afficher les vidéos archivées"
|
||||||
},
|
},
|
||||||
"effectiveRetainMode": {
|
"effectiveRetainMode": {
|
||||||
"modes": {
|
"modes": {
|
||||||
@ -165,21 +165,21 @@
|
|||||||
"group": {
|
"group": {
|
||||||
"label": "Modifier le groupe de caméras"
|
"label": "Modifier le groupe de caméras"
|
||||||
},
|
},
|
||||||
"exitEdit": "Quitter l'édition"
|
"exitEdit": "Quitter le mode édition"
|
||||||
},
|
},
|
||||||
"transcription": {
|
"transcription": {
|
||||||
"enable": "Activer la transcription audio en direct",
|
"enable": "Activer la transcription audio en direct",
|
||||||
"disable": "Désactiver la transcription audio en direct"
|
"disable": "Désactiver la transcription audio en direct"
|
||||||
},
|
},
|
||||||
"noCameras": {
|
"noCameras": {
|
||||||
"title": "Aucune caméra configurée",
|
"title": "Aucune caméra n'est configurée",
|
||||||
"description": "Pour commencer, connectez une caméra.",
|
"description": "Pour commencer, connectez une caméra à Frigate.",
|
||||||
"buttonText": "Ajouter une caméra"
|
"buttonText": "Ajouter une caméra"
|
||||||
},
|
},
|
||||||
"snapshot": {
|
"snapshot": {
|
||||||
"takeSnapshot": "Télécharger un instantané immédiat",
|
"takeSnapshot": "Télécharger un instantané",
|
||||||
"noVideoSource": "Aucune source disponible pour un instantané.",
|
"noVideoSource": "Aucune source vidéo disponible pour l'instantané",
|
||||||
"captureFailed": "Échec de la capture d'instantané.",
|
"captureFailed": "Échec de la capture de l'instantané",
|
||||||
"downloadStarted": "Démarrage du téléchargement de l'instantané."
|
"downloadStarted": "Téléchargement de l'instantané démarré"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"export": "Exporter",
|
"export": "Exports",
|
||||||
"calendar": "Calendrier",
|
"calendar": "Calendrier",
|
||||||
"filter": "Filtre",
|
"filter": "Filtre",
|
||||||
"filters": "Filtres",
|
"filters": "Filtres",
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"noValidTimeSelected": "Pas de période valide sélectionnée",
|
"noValidTimeSelected": "Aucune plage horaire valide sélectionnée",
|
||||||
"endTimeMustAfterStartTime": "L'heure de fin doit être après l'heure de début"
|
"endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"savedSearches": "Recherches enregistrées",
|
"savedSearches": "Recherches enregistrées",
|
||||||
"search": "Rechercher",
|
"search": "Rechercher",
|
||||||
"searchFor": "Chercher {{inputValue}}",
|
"searchFor": "Rechercher {{inputValue}}",
|
||||||
"button": {
|
"button": {
|
||||||
"clear": "Effacer la recherche",
|
"clear": "Effacer la recherche",
|
||||||
"filterInformation": "Filtrer les informations",
|
"filterInformation": "Filtrer les informations",
|
||||||
@ -13,19 +13,19 @@
|
|||||||
"filter": {
|
"filter": {
|
||||||
"label": {
|
"label": {
|
||||||
"zones": "Zones",
|
"zones": "Zones",
|
||||||
"sub_labels": "Sous-libellés",
|
"sub_labels": "Sous-étiquettes",
|
||||||
"search_type": "Type de recherche",
|
"search_type": "Type de recherche",
|
||||||
"time_range": "Plage de temps",
|
"time_range": "Plage horaire",
|
||||||
"labels": "Libellés",
|
"labels": "Étiquettes",
|
||||||
"cameras": "Caméras",
|
"cameras": "Caméras",
|
||||||
"after": "Après",
|
"after": "Après",
|
||||||
"before": "Avant",
|
"before": "Avant",
|
||||||
"min_speed": "Vitesse minimum",
|
"min_speed": "Vitesse minimale",
|
||||||
"max_speed": "Vitesse maximum",
|
"max_speed": "Vitesse maximale",
|
||||||
"min_score": "Score minimum",
|
"min_score": "Score minimum",
|
||||||
"recognized_license_plate": "Plaques d'immatriculation reconnues",
|
"recognized_license_plate": "Plaque d'immatriculation reconnue",
|
||||||
"has_clip": "Contient un clip",
|
"has_clip": "Avec une séquence vidéo",
|
||||||
"has_snapshot": "Contient un instantané",
|
"has_snapshot": "Avec un instantané",
|
||||||
"max_score": "Score maximum"
|
"max_score": "Score maximum"
|
||||||
},
|
},
|
||||||
"searchType": {
|
"searchType": {
|
||||||
@ -34,11 +34,11 @@
|
|||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"beforeDateBeLaterAfter": "La date de début « avant » doit être postérieure à la date « après ».",
|
"beforeDateBeLaterAfter": "La date « avant » doit être postérieure à la date « après ».",
|
||||||
"afterDatebeEarlierBefore": "La date « après » doit être antérieure à la date « avant ».",
|
"afterDatebeEarlierBefore": "La date « après » doit être antérieure à la date « avant ».",
|
||||||
"minScoreMustBeLessOrEqualMaxScore": "Le « min_score » doit être inférieur ou égal au « max_score ».",
|
"minScoreMustBeLessOrEqualMaxScore": "Le « min_score » doit être inférieur ou égal au « max_score ».",
|
||||||
"maxScoreMustBeGreaterOrEqualMinScore": "Le « max_score » doit être supérieur ou égal au « min_score ».",
|
"maxScoreMustBeGreaterOrEqualMinScore": "Le « max_score » doit être supérieur ou égal au « min_score ».",
|
||||||
"minSpeedMustBeLessOrEqualMaxSpeed": "La « vitesse_min » doit être inférieure ou égale à la « vitesse_max ».",
|
"minSpeedMustBeLessOrEqualMaxSpeed": "La vitesse minimale doit être inférieure ou égale à la vitesse maximale.",
|
||||||
"maxSpeedMustBeGreaterOrEqualMinSpeed": "La « vitesse maximale » doit être supérieure ou égale à la « vitesse minimale »."
|
"maxSpeedMustBeGreaterOrEqualMinSpeed": "La « vitesse maximale » doit être supérieure ou égale à la « vitesse minimale »."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -54,11 +54,11 @@
|
|||||||
"example": "Exemple: <code className=\"text-primary\">cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM </code>",
|
"example": "Exemple: <code className=\"text-primary\">cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM </code>",
|
||||||
"step": "<ul className=\"list-disc pl-5 text-sm text-primary-variant\"><li>Saisissez un nom de filtre suivi de deux points (par exemple, «cameras:»).</li><li>Sélectionnez une valeur parmi les suggestions ou saisissez la vôtre.</li><li>Utilisez plusieurs filtres en les ajoutant les uns après les autres, en laissant un espace entre eux.</li><li>Les filtres de date (avant: et après:) utilisent le format <em>{{DateFormat}}</em>.</li><li>Le filtre de plage horaire utilise le format <em>{{exampleTime}}</em>.</li><li>Supprimez les filtres en cliquant sur le «x» à côté d'eux.</li></ul>",
|
"step": "<ul className=\"list-disc pl-5 text-sm text-primary-variant\"><li>Saisissez un nom de filtre suivi de deux points (par exemple, «cameras:»).</li><li>Sélectionnez une valeur parmi les suggestions ou saisissez la vôtre.</li><li>Utilisez plusieurs filtres en les ajoutant les uns après les autres, en laissant un espace entre eux.</li><li>Les filtres de date (avant: et après:) utilisent le format <em>{{DateFormat}}</em>.</li><li>Le filtre de plage horaire utilise le format <em>{{exampleTime}}</em>.</li><li>Supprimez les filtres en cliquant sur le «x» à côté d'eux.</li></ul>",
|
||||||
"step1": "Saisissez un nom de clé de filtre suivi de deux points (par exemple, \"cameras:\").",
|
"step1": "Saisissez un nom de clé de filtre suivi de deux points (par exemple, \"cameras:\").",
|
||||||
"step2": "Sélectionnez une valeur pour la suggestion ou saisissez la vôtre.",
|
"step2": "Sélectionnez une valeur parmi les suggestions ou saisissez la vôtre.",
|
||||||
"step3": "Utilisez plusieurs filtres en les ajoutant les uns après les autres avec un espace entre eux.",
|
"step3": "Utilisez plusieurs filtres en les ajoutant les uns après les autres avec un espace entre eux.",
|
||||||
"step5": "Le filtre de plage horaire utilise le format {{exampleTime}}.",
|
"step5": "Le filtre de plage horaire utilise le format {{exampleTime}}.",
|
||||||
"step6": "Supprimez les filtres en cliquant sur le ' x' à côté d'eux.",
|
"step6": "Supprimez les filtres en cliquant sur le \"x\" à côté d'eux.",
|
||||||
"step4": "Filtres de dates (avant : et après :) utilisez le format {{DateFormat}}.",
|
"step4": "Les filtres de dates (avant : et après :) utilisent le format {{DateFormat}}.",
|
||||||
"exampleLabel": "Exemple :"
|
"exampleLabel": "Exemple :"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"authentication": "Paramètres d'authentification - Frigate",
|
"authentication": "Paramètres d'authentification - Frigate",
|
||||||
"camera": "Paramètres des caméras - Frigate",
|
"camera": "Paramètres des caméras - Frigate",
|
||||||
"classification": "Paramètres de classification - Frigate",
|
"classification": "Paramètres de classification - Frigate",
|
||||||
"motionTuner": "Réglages du mouvement - Frigate",
|
"motionTuner": "Réglage de la détection de mouvement - Frigate",
|
||||||
"general": "Paramètres généraux - Frigate",
|
"general": "Paramètres généraux - Frigate",
|
||||||
"masksAndZones": "Éditeur de masques et de zones - Frigate",
|
"masksAndZones": "Éditeur de masques et de zones - Frigate",
|
||||||
"object": "Débogage - Frigate",
|
"object": "Débogage - Frigate",
|
||||||
@ -12,13 +12,13 @@
|
|||||||
"notifications": "Paramètres de notification - Frigate",
|
"notifications": "Paramètres de notification - Frigate",
|
||||||
"enrichments": "Paramètres d'enrichissements - Frigate",
|
"enrichments": "Paramètres d'enrichissements - Frigate",
|
||||||
"cameraManagement": "Gestion des caméras - Frigate",
|
"cameraManagement": "Gestion des caméras - Frigate",
|
||||||
"cameraReview": "Paramètres de revue des caméras - Frigate"
|
"cameraReview": "Paramètres des événements de caméra - Frigate"
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"ui": "Interface utilisateur",
|
"ui": "Interface utilisateur",
|
||||||
"classification": "Classification",
|
"classification": "Classification",
|
||||||
"masksAndZones": "Masques / Zones",
|
"masksAndZones": "Masques / Zones",
|
||||||
"motionTuner": "Réglages du mouvement",
|
"motionTuner": "Réglage de la détection de mouvement",
|
||||||
"debug": "Débogage",
|
"debug": "Débogage",
|
||||||
"cameras": "Paramètres des caméras",
|
"cameras": "Paramètres des caméras",
|
||||||
"users": "Utilisateurs",
|
"users": "Utilisateurs",
|
||||||
@ -28,7 +28,7 @@
|
|||||||
"triggers": "Déclencheurs",
|
"triggers": "Déclencheurs",
|
||||||
"roles": "Rôles",
|
"roles": "Rôles",
|
||||||
"cameraManagement": "Gestion",
|
"cameraManagement": "Gestion",
|
||||||
"cameraReview": "Revue"
|
"cameraReview": "Événements"
|
||||||
},
|
},
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"unsavedChanges": {
|
"unsavedChanges": {
|
||||||
@ -49,7 +49,7 @@
|
|||||||
"desc": "Basculez automatiquement vers la vue en direct d'une caméra lorsqu'une activité est détectée. La désactivation de cette option limite la mise à jour des images statiques de la caméra sur le tableau de bord en direct à une fois par minute seulement."
|
"desc": "Basculez automatiquement vers la vue en direct d'une caméra lorsqu'une activité est détectée. La désactivation de cette option limite la mise à jour des images statiques de la caméra sur le tableau de bord en direct à une fois par minute seulement."
|
||||||
},
|
},
|
||||||
"playAlertVideos": {
|
"playAlertVideos": {
|
||||||
"label": "Lire les vidéos d'alertes",
|
"label": "Lire les vidéos d'alerte",
|
||||||
"desc": "Par défaut, les alertes récentes du tableau de bord en direct sont diffusées sous forme de petites vidéos en boucle. Désactivez cette option pour afficher uniquement une image statique des alertes récentes sur cet appareil/navigateur."
|
"desc": "Par défaut, les alertes récentes du tableau de bord en direct sont diffusées sous forme de petites vidéos en boucle. Désactivez cette option pour afficher uniquement une image statique des alertes récentes sur cet appareil/navigateur."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -67,13 +67,13 @@
|
|||||||
"title": "Visionneuse d'enregistrements",
|
"title": "Visionneuse d'enregistrements",
|
||||||
"defaultPlaybackRate": {
|
"defaultPlaybackRate": {
|
||||||
"label": "Vitesse de lecture par défaut",
|
"label": "Vitesse de lecture par défaut",
|
||||||
"desc": "Vitesse de lecture par défaut pour la lecture des enregistrements."
|
"desc": "Vitesse de lecture par défaut pour la lecture des enregistrements"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"calendar": {
|
"calendar": {
|
||||||
"firstWeekday": {
|
"firstWeekday": {
|
||||||
"label": "Premier jour de la semaine",
|
"label": "Premier jour de la semaine",
|
||||||
"desc": "Le jour du début de semaine du calendrier de la revue d'évènements.",
|
"desc": "Le jour du début de la semaine du calendrier des événements",
|
||||||
"sunday": "Dimanche",
|
"sunday": "Dimanche",
|
||||||
"monday": "Lundi"
|
"monday": "Lundi"
|
||||||
},
|
},
|
||||||
@ -132,7 +132,7 @@
|
|||||||
},
|
},
|
||||||
"cameras": {
|
"cameras": {
|
||||||
"title": "Caméras",
|
"title": "Caméras",
|
||||||
"noCameras": "Aucune caméra disponible",
|
"noCameras": "Aucune caméra n'est disponible",
|
||||||
"desc": "Sélectionnez les caméras pour lesquelles activer les notifications."
|
"desc": "Sélectionnez les caméras pour lesquelles activer les notifications."
|
||||||
},
|
},
|
||||||
"deviceSpecific": "Paramètres spécifiques de l'appareil",
|
"deviceSpecific": "Paramètres spécifiques de l'appareil",
|
||||||
@ -142,12 +142,12 @@
|
|||||||
"registerDevice": "Enregistrer cet appareil",
|
"registerDevice": "Enregistrer cet appareil",
|
||||||
"unregisterDevice": "Désenregistrer cet appareil",
|
"unregisterDevice": "Désenregistrer cet appareil",
|
||||||
"sendTestNotification": "Envoyer une notification de test",
|
"sendTestNotification": "Envoyer une notification de test",
|
||||||
"unsavedChanges": "Modifications des notifications non enregistrés",
|
"unsavedChanges": "Modifications des notifications non enregistrées",
|
||||||
"unsavedRegistrations": "Enregistrements des notifications non enregistrés"
|
"unsavedRegistrations": "Enregistrements des notifications non enregistrés"
|
||||||
},
|
},
|
||||||
"frigatePlus": {
|
"frigatePlus": {
|
||||||
"apiKey": {
|
"apiKey": {
|
||||||
"notValidated": "La clé API Frigate+ n'est pas détectée ou non validée",
|
"notValidated": "La clé API Frigate+ n'est pas détectée ou n'est pas validée.",
|
||||||
"title": "Clé API Frigate+",
|
"title": "Clé API Frigate+",
|
||||||
"validated": "La clé API Frigate+ est détectée et validée",
|
"validated": "La clé API Frigate+ est détectée et validée",
|
||||||
"desc": "La clé API Frigate+ permet l'intégration avec le service Frigate+.",
|
"desc": "La clé API Frigate+ permet l'intégration avec le service Frigate+.",
|
||||||
@ -156,12 +156,12 @@
|
|||||||
"title": "Paramètres Frigate+",
|
"title": "Paramètres Frigate+",
|
||||||
"snapshotConfig": {
|
"snapshotConfig": {
|
||||||
"documentation": "Lire la documentation",
|
"documentation": "Lire la documentation",
|
||||||
"desc": "La soumission à Frigate+ nécessite que les instantanés et les instantanés <code>clean_copy</code> soient activés dans votre configuration.",
|
"desc": "La soumission à Frigate+ nécessite à la fois que les instantanés et les instantanés <code>clean_copy</code> soient activés dans votre configuration.",
|
||||||
"title": "Configuration de l'instantané",
|
"title": "Configuration des instantanés",
|
||||||
"table": {
|
"table": {
|
||||||
"snapshots": "Instantanés",
|
"snapshots": "Instantanés",
|
||||||
"camera": "Caméra",
|
"camera": "Caméra",
|
||||||
"cleanCopySnapshots": "<code>clean_copy</code> Instantanés"
|
"cleanCopySnapshots": "Instantanés <code>clean_copy</code>"
|
||||||
},
|
},
|
||||||
"cleanCopyWarning": "Certaines caméras ont des instantanés activés, mais la copie propre est désactivée. Vous devez activer <code>clean_copy</code> dans votre configuration d'instantanés pour pouvoir envoyer les images de ces caméras à Frigate+."
|
"cleanCopyWarning": "Certaines caméras ont des instantanés activés, mais la copie propre est désactivée. Vous devez activer <code>clean_copy</code> dans votre configuration d'instantanés pour pouvoir envoyer les images de ces caméras à Frigate+."
|
||||||
},
|
},
|
||||||
@ -172,7 +172,7 @@
|
|||||||
"supportedDetectors": "Détecteurs pris en charge",
|
"supportedDetectors": "Détecteurs pris en charge",
|
||||||
"loading": "Chargement des informations du modèle…",
|
"loading": "Chargement des informations du modèle…",
|
||||||
"title": "Informations sur le modèle",
|
"title": "Informations sur le modèle",
|
||||||
"trainDate": "Date d'entrainement",
|
"trainDate": "Date d'entraînement",
|
||||||
"error": "Échec du chargement des informations du modèle",
|
"error": "Échec du chargement des informations du modèle",
|
||||||
"availableModels": "Modèles disponibles",
|
"availableModels": "Modèles disponibles",
|
||||||
"dimensions": "Dimensions",
|
"dimensions": "Dimensions",
|
||||||
@ -188,7 +188,7 @@
|
|||||||
"error": "Échec de l'enregistrement des modifications de configuration : {{errorMessage}}"
|
"error": "Échec de l'enregistrement des modifications de configuration : {{errorMessage}}"
|
||||||
},
|
},
|
||||||
"restart_required": "Redémarrage requis (modèle Frigate+ changé)",
|
"restart_required": "Redémarrage requis (modèle Frigate+ changé)",
|
||||||
"unsavedChanges": "Modifications de paramètres de Frigate+ non enregistrés"
|
"unsavedChanges": "Modifications de paramètres de Frigate+ non enregistrées"
|
||||||
},
|
},
|
||||||
"classification": {
|
"classification": {
|
||||||
"title": "Paramètres de classification",
|
"title": "Paramètres de classification",
|
||||||
@ -332,7 +332,8 @@
|
|||||||
"mustNotBeSameWithCamera": "Le nom de la zone ne doit pas être le même que le nom de la caméra.",
|
"mustNotBeSameWithCamera": "Le nom de la zone ne doit pas être le même que le nom de la caméra.",
|
||||||
"mustNotContainPeriod": "Le nom de la zone ne doit pas contenir de points.",
|
"mustNotContainPeriod": "Le nom de la zone ne doit pas contenir de points.",
|
||||||
"hasIllegalCharacter": "Le nom de la zone contient des caractères interdits.",
|
"hasIllegalCharacter": "Le nom de la zone contient des caractères interdits.",
|
||||||
"alreadyExists": "Une zone portant ce nom existe déjà pour cette caméra."
|
"alreadyExists": "Une zone portant ce nom existe déjà pour cette caméra.",
|
||||||
|
"mustHaveAtLeastOneLetter": "Le nom de la zone doit comporter au moins une lettre."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"distance": {
|
"distance": {
|
||||||
@ -356,7 +357,7 @@
|
|||||||
},
|
},
|
||||||
"snapPoints": {
|
"snapPoints": {
|
||||||
"true": "Points d'accrochage",
|
"true": "Points d'accrochage",
|
||||||
"false": "Ne cassez pas les points"
|
"false": "Ne pas réunir les points"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"loiteringTime": {
|
"loiteringTime": {
|
||||||
@ -371,7 +372,7 @@
|
|||||||
},
|
},
|
||||||
"speed": {
|
"speed": {
|
||||||
"error": {
|
"error": {
|
||||||
"mustBeGreaterOrEqualTo": "Le seuil de vitesse soit être égal ou supérieur à 0.1."
|
"mustBeGreaterOrEqualTo": "Le seuil de vitesse doit être supérieur ou égal à 0.1."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -385,12 +386,12 @@
|
|||||||
"edit": "Modifier une zone",
|
"edit": "Modifier une zone",
|
||||||
"name": {
|
"name": {
|
||||||
"title": "Nom",
|
"title": "Nom",
|
||||||
"inputPlaceHolder": "Entrer un nom…",
|
"inputPlaceHolder": "Saisissez un nom.",
|
||||||
"tips": "Le nom doit comporter au moins 2 caractères et ne doit pas être le nom d'une caméra ou d'une autre zone."
|
"tips": "Le nom doit comporter au moins 2 caractères, dont une lettre, et ne doit pas être le nom d'une caméra ou d'une autre zone."
|
||||||
},
|
},
|
||||||
"loiteringTime": {
|
"loiteringTime": {
|
||||||
"desc": "Définit une durée minimale en secondes pendant laquelle l'objet doit rester dans la zone pour qu'elle s'active. <em>Par défaut : 0</em>",
|
"desc": "Définit une durée minimale en secondes pendant laquelle l'objet doit rester dans la zone pour qu'elle s'active. <em>Par défaut : 0</em>",
|
||||||
"title": "Temps de latence"
|
"title": "Temps de maraudage"
|
||||||
},
|
},
|
||||||
"speedEstimation": {
|
"speedEstimation": {
|
||||||
"title": "Estimation de la vitesse",
|
"title": "Estimation de la vitesse",
|
||||||
@ -416,7 +417,7 @@
|
|||||||
"point_other": "{{count}} points",
|
"point_other": "{{count}} points",
|
||||||
"label": "Zones",
|
"label": "Zones",
|
||||||
"inertia": {
|
"inertia": {
|
||||||
"desc": "Spécifie le nombre d'images qu'un objet doit avoir dans une zone avant d'être considéré comme faisant partie de la zone. <em>Par défaut : 3</em>",
|
"desc": "Spécifie le nombre d'images pendant lesquelles un objet doit être dans une zone avant d'être considéré comme y étant. <em>Par défaut : 3</em>",
|
||||||
"title": "Inertie"
|
"title": "Inertie"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
@ -431,7 +432,7 @@
|
|||||||
},
|
},
|
||||||
"motionMasks": {
|
"motionMasks": {
|
||||||
"label": "Masque de mouvement",
|
"label": "Masque de mouvement",
|
||||||
"documentTitle": "Modifier masque de mouvement - Frigate",
|
"documentTitle": "Modifier le masque de mouvement - Frigate",
|
||||||
"context": {
|
"context": {
|
||||||
"documentation": "Lire la documentation",
|
"documentation": "Lire la documentation",
|
||||||
"title": "Les masques de mouvement servent à empêcher les mouvements indésirables de déclencher la détection (par exemple : branches d'arbres, horodatage des caméras). Ils doivent être utilisés <em>avec parcimonie</em>, car un surmasquage complique le suivi des objets."
|
"title": "Les masques de mouvement servent à empêcher les mouvements indésirables de déclencher la détection (par exemple : branches d'arbres, horodatage des caméras). Ils doivent être utilisés <em>avec parcimonie</em>, car un surmasquage complique le suivi des objets."
|
||||||
@ -459,7 +460,7 @@
|
|||||||
"add": "Nouveau masque de mouvement"
|
"add": "Nouveau masque de mouvement"
|
||||||
},
|
},
|
||||||
"objectMasks": {
|
"objectMasks": {
|
||||||
"label": "Masques de l'objet",
|
"label": "Masques d'objet",
|
||||||
"desc": {
|
"desc": {
|
||||||
"documentation": "Documentation",
|
"documentation": "Documentation",
|
||||||
"title": "Les masques de filtrage d'objets sont utilisés pour filtrer les faux positifs pour un type d'objet donné en fonction de l'emplacement."
|
"title": "Les masques de filtrage d'objets sont utilisés pour filtrer les faux positifs pour un type d'objet donné en fonction de l'emplacement."
|
||||||
@ -481,7 +482,7 @@
|
|||||||
"point_many": "{{count}} points",
|
"point_many": "{{count}} points",
|
||||||
"point_other": "{{count}} points",
|
"point_other": "{{count}} points",
|
||||||
"add": "Ajouter un masque d'objet",
|
"add": "Ajouter un masque d'objet",
|
||||||
"documentTitle": "Modifier le masque de l'objet - Frigate",
|
"documentTitle": "Modifier le masque d'objet - Frigate",
|
||||||
"context": "Les masques de filtrage d'objets sont utilisés pour filtrer les faux positifs pour un type d'objet donné en fonction de l'emplacement."
|
"context": "Les masques de filtrage d'objets sont utilisés pour filtrer les faux positifs pour un type d'objet donné en fonction de l'emplacement."
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
@ -503,7 +504,7 @@
|
|||||||
"title": "Réglage de la détection de mouvement",
|
"title": "Réglage de la détection de mouvement",
|
||||||
"desc": {
|
"desc": {
|
||||||
"documentation": "Lisez le guide de réglage de mouvement",
|
"documentation": "Lisez le guide de réglage de mouvement",
|
||||||
"title": "Frigate utilise la détection de mouvement comme première ligne de contrôle pour voir s'il se passe quelque chose dans l'image qui mérite d'être vérifié avec la détection d'objet."
|
"title": "Frigate utilise la détection de mouvement comme première ligne de contrôle pour voir s'il se passe quelque chose dans l'image qui mérite d'être vérifié avec la détection d'objets."
|
||||||
},
|
},
|
||||||
"Threshold": {
|
"Threshold": {
|
||||||
"title": "Seuil",
|
"title": "Seuil",
|
||||||
@ -526,12 +527,12 @@
|
|||||||
"debugging": "Débogage",
|
"debugging": "Débogage",
|
||||||
"objectList": "Liste d'objets",
|
"objectList": "Liste d'objets",
|
||||||
"boundingBoxes": {
|
"boundingBoxes": {
|
||||||
"title": "Cadres de délimitation",
|
"title": "Cadres de détection",
|
||||||
"colors": {
|
"colors": {
|
||||||
"label": "Couleurs du cadre de délimitation d'un objet",
|
"label": "Couleurs des cadres de détection d'objet",
|
||||||
"info": "<li>Au démarrage, différentes couleurs seront attribuées à chaque libellé d'objet</li><li>Une fine ligne bleu foncé indique que l'objet n'est pas détecté à ce moment précis</li><li>Une fine ligne grise indique que l'objet est détecté comme étant stationnaire</li><li>Une ligne épaisse indique que l'objet fait l'objet d'un suivi automatique (lorsqu'il est activé)</li>"
|
"info": "<li>Au démarrage, différentes couleurs seront attribuées à chaque étiquette d'objet</li><li>Une fine ligne bleu foncé indique que cet objet n'est pas détecté à ce moment précis</li><li>Une fine ligne grise indique que cet objet est détecté comme étant immobile</li><li>Une ligne épaisse indique que cet objet fait l'objet d'un suivi automatique (lorsqu'il est activé)</li>"
|
||||||
},
|
},
|
||||||
"desc": "Afficher les cadres de délimitation autour des objets suivis"
|
"desc": "Afficher les cadres de détection autour des objets suivis"
|
||||||
},
|
},
|
||||||
"timestamp": {
|
"timestamp": {
|
||||||
"title": "Horodatage",
|
"title": "Horodatage",
|
||||||
@ -548,11 +549,11 @@
|
|||||||
"motion": {
|
"motion": {
|
||||||
"desc": "Afficher des cadres autour des zones où un mouvement est détecté",
|
"desc": "Afficher des cadres autour des zones où un mouvement est détecté",
|
||||||
"title": "Cadres de mouvement",
|
"title": "Cadres de mouvement",
|
||||||
"tips": "<p><strong>Cadres de mouvement</strong></p><br><p>Des cadres rouges seront superposées sur les zones de l'image où un mouvement est actuellement détecté</p>"
|
"tips": "<p><strong>Cadres de mouvement</strong></p><br><p>Des cadres rouges seront superposés sur les zones de l'image où un mouvement est actuellement détecté</p>"
|
||||||
},
|
},
|
||||||
"regions": {
|
"regions": {
|
||||||
"title": "Régions",
|
"title": "Régions",
|
||||||
"desc": "Afficher une boîte de la région d'intérêt envoyée au détecteur d'objet",
|
"desc": "Afficher un cadre de la région d'intérêt envoyée au détecteur d'objet",
|
||||||
"tips": "<p><strong>Cadres de région</strong></p><br><p>Des cadres verts lumineux seront superposés sur les zones d'intérêt de l'image qui sont envoyées au détecteur d'objets.</p>"
|
"tips": "<p><strong>Cadres de région</strong></p><br><p>Des cadres verts lumineux seront superposés sur les zones d'intérêt de l'image qui sont envoyées au détecteur d'objets.</p>"
|
||||||
},
|
},
|
||||||
"objectShapeFilterDrawing": {
|
"objectShapeFilterDrawing": {
|
||||||
@ -569,9 +570,9 @@
|
|||||||
"detectorDesc": "Frigate utilise vos détecteurs ({{detectors}}) pour détecter les objets dans le flux vidéo de votre caméra.",
|
"detectorDesc": "Frigate utilise vos détecteurs ({{detectors}}) pour détecter les objets dans le flux vidéo de votre caméra.",
|
||||||
"desc": "La vue de débogage affiche en temps réel les objets suivis et leurs statistiques. La liste des objets affiche un résumé différé des objets détectés.",
|
"desc": "La vue de débogage affiche en temps réel les objets suivis et leurs statistiques. La liste des objets affiche un résumé différé des objets détectés.",
|
||||||
"paths": {
|
"paths": {
|
||||||
"title": "Chemins",
|
"title": "Trajets",
|
||||||
"desc": "Montrer les points notables du chemin de l'objet suivi",
|
"desc": "Afficher les points notables du trajet de l'objet suivi",
|
||||||
"tips": "<p><strong>Chemins</strong></p><br><p>Les lignes et les cercles indiqueront les points notables des déplacements de l'objet suivi pendant son cycle de vie.</p>"
|
"tips": "<p><strong>Trajets</strong></p><br><p>Les lignes et les cercles indiqueront les points notables où l'objet suivi s'est déplacé pendant son cycle de vie.</p>"
|
||||||
},
|
},
|
||||||
"audio": {
|
"audio": {
|
||||||
"title": "Audio",
|
"title": "Audio",
|
||||||
@ -580,7 +581,7 @@
|
|||||||
"currentRMS": "RMS actuel",
|
"currentRMS": "RMS actuel",
|
||||||
"currentdbFS": "dbFS actuel"
|
"currentdbFS": "dbFS actuel"
|
||||||
},
|
},
|
||||||
"openCameraWebUI": "Ouvre l'interface Web de {{camera}}"
|
"openCameraWebUI": "Ouvrir l'interface Web de {{camera}}"
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"title": "Utilisateurs",
|
"title": "Utilisateurs",
|
||||||
@ -617,34 +618,34 @@
|
|||||||
"form": {
|
"form": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "Nom d'utilisateur",
|
"title": "Nom d'utilisateur",
|
||||||
"placeholder": "Entrez le nom d'utilisateur",
|
"placeholder": "Saisir le nom d'utilisateur",
|
||||||
"desc": "Seules les lettres, les chiffres, les points et les traits de soulignement sont autorisés."
|
"desc": "Seules les lettres, les chiffres, les points et les traits de soulignement sont autorisés."
|
||||||
},
|
},
|
||||||
"password": {
|
"password": {
|
||||||
"strength": {
|
"strength": {
|
||||||
"weak": "Faible",
|
"weak": "Faible",
|
||||||
"title": "Sécurité du mot de passe : ",
|
"title": "Niveau de sécurité du mot de passe : ",
|
||||||
"medium": "Moyen",
|
"medium": "Moyen",
|
||||||
"strong": "Fort",
|
"strong": "Fort",
|
||||||
"veryStrong": "Très fort"
|
"veryStrong": "Très fort"
|
||||||
},
|
},
|
||||||
"match": "Les mots de passe correspondent",
|
"match": "Les mots de passe correspondent",
|
||||||
"notMatch": "Les mots de passe ne correspondent pas",
|
"notMatch": "Les mots de passe ne correspondent pas.",
|
||||||
"placeholder": "Entrez le mot de passe",
|
"placeholder": "Saisir le mot de passe",
|
||||||
"title": "Mot de passe",
|
"title": "Mot de passe",
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"title": "Confirmez le mot de passe",
|
"title": "Confirmer le mot de passe",
|
||||||
"placeholder": "Confirmez le mot de passe"
|
"placeholder": "Confirmer le mot de passe"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"newPassword": {
|
"newPassword": {
|
||||||
"title": "Nouveau mot de passe",
|
"title": "Nouveau mot de passe",
|
||||||
"placeholder": "Entrez le nouveau mot de passe",
|
"placeholder": "Saisissez le nouveau mot de passe.",
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"placeholder": "Ré-entrez le nouveau mot de passe"
|
"placeholder": "Confirmez le nouveau mot de passe."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"usernameIsRequired": "Le nom d'utilisateur est requis",
|
"usernameIsRequired": "Nom d'utilisateur requis",
|
||||||
"passwordIsRequired": "Mot de passe requis"
|
"passwordIsRequired": "Mot de passe requis"
|
||||||
},
|
},
|
||||||
"deleteUser": {
|
"deleteUser": {
|
||||||
@ -654,7 +655,7 @@
|
|||||||
},
|
},
|
||||||
"passwordSetting": {
|
"passwordSetting": {
|
||||||
"updatePassword": "Mettre à jour le mot de passe pour {{username}}",
|
"updatePassword": "Mettre à jour le mot de passe pour {{username}}",
|
||||||
"setPassword": "Définir le mot de passe",
|
"setPassword": "Configurer un mot de passe",
|
||||||
"desc": "Créez un mot de passe fort pour sécuriser ce compte.",
|
"desc": "Créez un mot de passe fort pour sécuriser ce compte.",
|
||||||
"doNotMatch": "Les mots de passe ne correspondent pas",
|
"doNotMatch": "Les mots de passe ne correspondent pas",
|
||||||
"cannotBeEmpty": "Le mot de passe ne peut être vide"
|
"cannotBeEmpty": "Le mot de passe ne peut être vide"
|
||||||
@ -667,7 +668,7 @@
|
|||||||
"admin": "Administrateur",
|
"admin": "Administrateur",
|
||||||
"adminDesc": "Accès complet à l'ensemble des fonctionnalités.",
|
"adminDesc": "Accès complet à l'ensemble des fonctionnalités.",
|
||||||
"viewer": "Observateur",
|
"viewer": "Observateur",
|
||||||
"viewerDesc": "Limité aux tableaux de bord Direct, Revue d'événements, Explorer et Exports.",
|
"viewerDesc": "Limité aux tableaux de bord Direct, Événements, Explorer et Exports.",
|
||||||
"customDesc": "Rôle personnalisé avec accès spécifique à la caméra"
|
"customDesc": "Rôle personnalisé avec accès spécifique à la caméra"
|
||||||
},
|
},
|
||||||
"select": "Sélectionnez un rôle"
|
"select": "Sélectionnez un rôle"
|
||||||
@ -675,7 +676,7 @@
|
|||||||
"createUser": {
|
"createUser": {
|
||||||
"title": "Créer un nouvel utilisateur",
|
"title": "Créer un nouvel utilisateur",
|
||||||
"desc": "Ajoutez un nouveau compte utilisateur et spécifiez un rôle pour accéder aux zones de l'interface utilisateur Frigate.",
|
"desc": "Ajoutez un nouveau compte utilisateur et spécifiez un rôle pour accéder aux zones de l'interface utilisateur Frigate.",
|
||||||
"usernameOnlyInclude": "Le nom d'utilisateur ne peut inclure que des lettres, des chiffres, . ou _",
|
"usernameOnlyInclude": "Le nom d'utilisateur ne peut inclure que des lettres, des chiffres, des points (.) ou des traits de soulignement (_).",
|
||||||
"confirmPassword": "Veuillez confirmer votre mot de passe"
|
"confirmPassword": "Veuillez confirmer votre mot de passe"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -684,26 +685,26 @@
|
|||||||
"title": "Paramètres d'enrichissements",
|
"title": "Paramètres d'enrichissements",
|
||||||
"birdClassification": {
|
"birdClassification": {
|
||||||
"title": "Identification des oiseaux",
|
"title": "Identification des oiseaux",
|
||||||
"desc": "L'identification des oiseaux est réalisée à l'aide d'un modèle TensorFlow quantifié. Lorsqu'un oiseau est reconnu, son nom commun est automatiquement ajouté comme sous-libellé. Cette information est intégréesà l'interface utilisateur, aux filtres de recherche et aux notifications."
|
"desc": "L'identification des oiseaux est réalisée à l'aide d'un modèle TensorFlow quantifié. Lorsqu'un oiseau est reconnu, son nom commun est automatiquement ajouté comme sous-étiquette. Cette information est intégrée à l'interface utilisateur, aux filtres de recherche et aux notifications."
|
||||||
},
|
},
|
||||||
"semanticSearch": {
|
"semanticSearch": {
|
||||||
"title": "Recherche sémantique",
|
"title": "Recherche sémantique",
|
||||||
"readTheDocumentation": "Lire la documentation",
|
"readTheDocumentation": "Lire la documentation",
|
||||||
"reindexNow": {
|
"reindexNow": {
|
||||||
"label": "Réindexer maintenant",
|
"label": "Réindexer maintenant",
|
||||||
"desc": "La réindexation va régénérer les représentations numériques pour tous les objets suivis. Ce processus s'exécute en arrière-plan et peut saturer votre processeur et prendre un temps considérable, en fonction du nombre d'objets suivis.",
|
"desc": "La réindexation va régénérer les embeddings pour tous les objets suivis. Ce processus s'exécute en arrière-plan et peut saturer votre processeur et prendre un temps considérable en fonction du nombre d'objets suivis.",
|
||||||
"confirmTitle": "Confirmez la réindexation",
|
"confirmTitle": "Confirmer la réindexation",
|
||||||
"confirmButton": "Réindexer",
|
"confirmButton": "Réindexer",
|
||||||
"success": "La réindexation a démarré avec succès.",
|
"success": "La réindexation a démarré avec succès.",
|
||||||
"alreadyInProgress": "La réindexation est déjà en cours.",
|
"alreadyInProgress": "La réindexation est déjà en cours.",
|
||||||
"error": "Échec du démarrage de la réindexation : {{errorMessage}}",
|
"error": "Échec du démarrage de la réindexation : {{errorMessage}}",
|
||||||
"confirmDesc": "Êtes-vous sûr de vouloir réindexer tous les représentations numériques des objets suivis ? Ce processus s'exécutera en arrière-plan, mais il pourrait saturer votre processeur et prendre un temps considérable. Vous pouvez suivre la progression sur la page Explorer."
|
"confirmDesc": "Êtes-vous sûr de vouloir réindexer tous les embeddings des objets suivis ? Ce processus s'exécutera en arrière-plan, mais il pourrait saturer votre processeur et prendre un temps considérable. Vous pouvez suivre la progression sur la page Explorer."
|
||||||
},
|
},
|
||||||
"modelSize": {
|
"modelSize": {
|
||||||
"desc": "La taille du modèle utilisé pour les représentations numériques de recherche sémantique.",
|
"desc": "La taille du modèle utilisé pour les embeddings de recherche sémantique",
|
||||||
"small": {
|
"small": {
|
||||||
"title": "petit",
|
"title": "petit",
|
||||||
"desc": "Utiliser <em>petit</em> emploie une version quantifiée du modèle qui utilise moins de mémoire et s'exécute plus rapidement sur le processeur avec une différence négligeable dans la qualité des représentations numériques."
|
"desc": "Utiliser <em>petit</em> emploie une version quantifiée du modèle qui utilise moins de mémoire et s'exécute plus rapidement sur le processeur avec une différence négligeable dans la qualité des embeddings."
|
||||||
},
|
},
|
||||||
"large": {
|
"large": {
|
||||||
"title": "grand",
|
"title": "grand",
|
||||||
@ -711,7 +712,7 @@
|
|||||||
},
|
},
|
||||||
"label": "Taille du modèle"
|
"label": "Taille du modèle"
|
||||||
},
|
},
|
||||||
"desc": "La recherche sémantique de Frigate vous permet de retrouver les objets suivis dans votre revue d'évènements en utilisant soit l'image elle-même, soit une description textuelle définie par l'utilisateur, soit une description générée automatiquement."
|
"desc": "La recherche sémantique de Frigate vous permet de retrouver les objets suivis dans vos événements en utilisant soit l'image elle-même, soit une description textuelle définie par l'utilisateur, soit une description générée automatiquement."
|
||||||
},
|
},
|
||||||
"unsavedChanges": "Modifications non enregistrées des paramètres d'enrichissements",
|
"unsavedChanges": "Modifications non enregistrées des paramètres d'enrichissements",
|
||||||
"faceRecognition": {
|
"faceRecognition": {
|
||||||
@ -719,33 +720,33 @@
|
|||||||
"readTheDocumentation": "Lire la documentation",
|
"readTheDocumentation": "Lire la documentation",
|
||||||
"modelSize": {
|
"modelSize": {
|
||||||
"label": "Taille du modèle",
|
"label": "Taille du modèle",
|
||||||
"desc": "La taille du modèle utilisé pour la reconnaissance faciale.",
|
"desc": "La taille du modèle utilisé pour la reconnaissance faciale",
|
||||||
"small": {
|
"small": {
|
||||||
"title": "petit",
|
"title": "petit",
|
||||||
"desc": "Utiliser <em>petit</em> emploie un modèle de représentation numérique faciale FaceNet qui s'exécute efficacement sur la plupart des processeurs."
|
"desc": "Utiliser <em>petit</em> emploie un modèle d'embedding facial FaceNet qui s'exécute efficacement sur la plupart des processeurs."
|
||||||
},
|
},
|
||||||
"large": {
|
"large": {
|
||||||
"title": "grand",
|
"title": "grand",
|
||||||
"desc": "Utiliser <em>grand</em> emploie un modèle de représentation numérique faciale ArcFace et s'exécutera automatiquement sur le GPU si disponible."
|
"desc": "Utiliser <em>grand</em> emploie un modèle d'embedding facial ArcFace et s'exécutera automatiquement sur le GPU si disponible."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"desc": "La reconnaissance faciale permet à Frigate d'identifier les individus par leur nom. Dès qu'un visage est reconnu, Frigate associe ce nom comme sous-libellé à l'événement. Ces informations sont ensuite intégrées dans l'interface utilisateur, les options de filtrage et les notifications."
|
"desc": "La reconnaissance faciale permet à Frigate d'identifier les individus par leur nom. Dès qu'un visage est reconnu, Frigate associe ce nom comme sous-étiquette à l'événement. Ces informations sont ensuite intégrées dans l'interface utilisateur, les options de filtrage et les notifications."
|
||||||
},
|
},
|
||||||
"licensePlateRecognition": {
|
"licensePlateRecognition": {
|
||||||
"title": "Reconnaissance des plaques d'immatriculation",
|
"title": "Reconnaissance des plaques d'immatriculation",
|
||||||
"readTheDocumentation": "Lire la documentation",
|
"readTheDocumentation": "Lire la documentation",
|
||||||
"desc": "Frigate identifie les plaques d'immatriculation des véhicules et peut automatiquement insérer les caractères détectés dans le champ recognized_license_plate. Il est également capable d'assigner un nom familier comme sous-libellé aux objets de type \"voiture\". Par exemple, cette fonction est souvent utilisée pour lire les plaques des véhicules empruntant une allée ou une rue."
|
"desc": "Frigate identifie les plaques d'immatriculation des véhicules et peut automatiquement insérer les caractères détectés dans le champ recognized_license_plate. Il est également capable d'assigner un nom familier comme sous-étiquette aux objets de type \"voiture\". Par exemple, cette fonction est souvent utilisée pour lire les plaques des véhicules empruntant une allée ou une rue."
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": "Échec de l'enregistrement des modifications de configuration : {{errorMessage}}",
|
"error": "Échec de l'enregistrement des modifications de configuration : {{errorMessage}}",
|
||||||
"success": "Les paramètres d'enrichissements ont été enregistrés. Redémarrez Frigate pour appliquer les modifications."
|
"success": "Les paramètres d'enrichissements ont été enregistrés. Redémarrez Frigate pour appliquer vos modifications."
|
||||||
},
|
},
|
||||||
"restart_required": "Redémarrage nécessaire (paramètres d'enrichissements modifiés)"
|
"restart_required": "Redémarrage nécessaire (paramètres d'enrichissements modifiés)"
|
||||||
},
|
},
|
||||||
"triggers": {
|
"triggers": {
|
||||||
"documentTitle": "Déclencheurs",
|
"documentTitle": "Déclencheurs",
|
||||||
"management": {
|
"management": {
|
||||||
"title": "Gestion des déclencheurs",
|
"title": "Déclencheurs",
|
||||||
"desc": "Gérer les déclencheurs pour {{camera}}. Utilisez le type vignette pour déclencher à partir de vignettes similaires à l'objet suivi sélectionné. Utilisez le type description pour déclencher à partir de textes de description similaires que vous avez spécifiés."
|
"desc": "Gérer les déclencheurs pour {{camera}}. Utilisez le type vignette pour déclencher à partir de vignettes similaires à l'objet suivi sélectionné. Utilisez le type description pour déclencher à partir de textes de description similaires que vous avez spécifiés."
|
||||||
},
|
},
|
||||||
"addTrigger": "Ajouter un déclencheur",
|
"addTrigger": "Ajouter un déclencheur",
|
||||||
@ -756,7 +757,7 @@
|
|||||||
"threshold": "Seuil",
|
"threshold": "Seuil",
|
||||||
"actions": "Actions",
|
"actions": "Actions",
|
||||||
"noTriggers": "Aucun déclencheur configuré pour cette caméra.",
|
"noTriggers": "Aucun déclencheur configuré pour cette caméra.",
|
||||||
"edit": "Éditer",
|
"edit": "Modifier",
|
||||||
"deleteTrigger": "Supprimer le déclencheur",
|
"deleteTrigger": "Supprimer le déclencheur",
|
||||||
"lastTriggered": "Dernier déclencheur"
|
"lastTriggered": "Dernier déclencheur"
|
||||||
},
|
},
|
||||||
@ -774,8 +775,8 @@
|
|||||||
"desc": "Créer un déclencheur pour la caméra {{camera}}"
|
"desc": "Créer un déclencheur pour la caméra {{camera}}"
|
||||||
},
|
},
|
||||||
"editTrigger": {
|
"editTrigger": {
|
||||||
"title": "Éditer le déclencheur",
|
"title": "Modifier le déclencheur",
|
||||||
"desc": "Éditer les paramètres du déclencheur de la caméra {{camera}}"
|
"desc": "Modifier les paramètres du déclencheur de la caméra {{camera}}"
|
||||||
},
|
},
|
||||||
"deleteTrigger": {
|
"deleteTrigger": {
|
||||||
"title": "Supprimer le déclencheur",
|
"title": "Supprimer le déclencheur",
|
||||||
@ -784,25 +785,28 @@
|
|||||||
"form": {
|
"form": {
|
||||||
"name": {
|
"name": {
|
||||||
"title": "Nom",
|
"title": "Nom",
|
||||||
"placeholder": "Entrez le nom du déclencheur",
|
"placeholder": "Nommez ce déclencheur",
|
||||||
"error": {
|
"error": {
|
||||||
"minLength": "Le nom soit comporter au moins deux caractères.",
|
"minLength": "Le champ doit comporter au moins deux caractères.",
|
||||||
"invalidCharacters": "Le nom peut contenir uniquement des lettres, des nombres, des tirets bas, et des tirets.",
|
"invalidCharacters": "Le champ peut contenir uniquement des lettres, des nombres, des tirets bas, et des tirets.",
|
||||||
"alreadyExists": "Un déclencheur avec le même nom existe déjà pour cette caméra."
|
"alreadyExists": "Un déclencheur avec le même nom existe déjà pour cette caméra."
|
||||||
}
|
},
|
||||||
|
"description": "Saisissez un nom ou une description unique pour identifier ce déclencheur."
|
||||||
},
|
},
|
||||||
"enabled": {
|
"enabled": {
|
||||||
"description": "Activer ou désactiver ce déclencheur"
|
"description": "Activer ou désactiver ce déclencheur"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"title": "Type",
|
"title": "Type",
|
||||||
"placeholder": "Sélectionner un type de déclencheur"
|
"placeholder": "Sélectionner un type de déclencheur",
|
||||||
|
"description": "Déclencher lorsqu'une description d'objet suivi similaire est détectée",
|
||||||
|
"thumbnail": "Déclencher lorsqu'une vignette d'objet suivi similaire est détectée"
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"title": "Contenu",
|
"title": "Contenu",
|
||||||
"imagePlaceholder": "Sélectionner une image",
|
"imagePlaceholder": "Sélectionner une vignette",
|
||||||
"textPlaceholder": "Saisir le contenu du texte",
|
"textPlaceholder": "Saisir le contenu du texte",
|
||||||
"imageDesc": "Sélectionnez une image pour déclencher cette action lorsqu'une image similaire est détectée.",
|
"imageDesc": "Seules les 100 vignettes les plus récentes sont affichées. Si vous ne trouvez pas la vignette souhaitée, veuillez consulter les objets précédents dans Explorer et configurer un déclencheur à partir de ce menu.",
|
||||||
"textDesc": "Entrez un texte pour déclencher cette action lorsqu'une description similaire d'objet suivi est détectée.",
|
"textDesc": "Entrez un texte pour déclencher cette action lorsqu'une description similaire d'objet suivi est détectée.",
|
||||||
"error": {
|
"error": {
|
||||||
"required": "Le contenu est requis."
|
"required": "Le contenu est requis."
|
||||||
@ -813,7 +817,8 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"min": "Le seuil doit être au moins 0",
|
"min": "Le seuil doit être au moins 0",
|
||||||
"max": "Le seuil peut être au plus 1"
|
"max": "Le seuil peut être au plus 1"
|
||||||
}
|
},
|
||||||
|
"desc": "Définissez le seuil de similarité pour ce déclencheur. Un seuil plus élevé signifie qu'une correspondance plus exacte est requise pour activer le déclencheur."
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"title": "Actions",
|
"title": "Actions",
|
||||||
@ -844,12 +849,29 @@
|
|||||||
"semanticSearch": {
|
"semanticSearch": {
|
||||||
"title": "La recherche sémantique est désactivée",
|
"title": "La recherche sémantique est désactivée",
|
||||||
"desc": "La recherche sémantique doit être activée pour utiliser les déclencheurs."
|
"desc": "La recherche sémantique doit être activée pour utiliser les déclencheurs."
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Créer un déclencheur",
|
||||||
|
"step1": {
|
||||||
|
"description": "Configurez les paramètres de base pour votre déclencheur."
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Configurez le contenu qui déclenchera cette action."
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"description": "Configurez le seuil et les actions pour ce déclencheur."
|
||||||
|
},
|
||||||
|
"steps": {
|
||||||
|
"nameAndType": "Nom et type",
|
||||||
|
"configureData": "Configuration des données",
|
||||||
|
"thresholdAndActions": "Seuil et actions"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"roles": {
|
"roles": {
|
||||||
"management": {
|
"management": {
|
||||||
"title": "Gestion des rôles de visionnage",
|
"title": "Gestion des rôles Observateur",
|
||||||
"desc": "Gérer les rôles personnalisés de visionnage et leurs permissions d'accès aux caméras pour cette instance de Frigate."
|
"desc": "Gérer les rôles Observateur personnalisés et leurs permissions d'accès aux caméras pour cette instance de Frigate."
|
||||||
},
|
},
|
||||||
"addRole": "Ajouter un rôle",
|
"addRole": "Ajouter un rôle",
|
||||||
"table": {
|
"table": {
|
||||||
@ -857,7 +879,7 @@
|
|||||||
"cameras": "Caméras",
|
"cameras": "Caméras",
|
||||||
"actions": "Actions",
|
"actions": "Actions",
|
||||||
"noRoles": "Aucun rôle personnalisé trouvé.",
|
"noRoles": "Aucun rôle personnalisé trouvé.",
|
||||||
"editCameras": "Éditer les caméras",
|
"editCameras": "Modifier les caméras",
|
||||||
"deleteRole": "Supprimer le rôle"
|
"deleteRole": "Supprimer le rôle"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
@ -865,7 +887,7 @@
|
|||||||
"createRole": "Rôle {{role}} créé avec succès",
|
"createRole": "Rôle {{role}} créé avec succès",
|
||||||
"updateCameras": "Caméras mis à jour pour le rôle {{role}}",
|
"updateCameras": "Caméras mis à jour pour le rôle {{role}}",
|
||||||
"deleteRole": "Rôle {{role}} supprimé avec succès",
|
"deleteRole": "Rôle {{role}} supprimé avec succès",
|
||||||
"userRolesUpdated": "{{count}} utilisateurs affectés à ce rôle ont été mis à jour avec des droits 'visionnage', et ont accès à toutes les caméras."
|
"userRolesUpdated": "{{count}} utilisateurs affectés à ce rôle ont été mis à jour avec des droits \"Observateur\", et ont accès à toutes les caméras."
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"createRoleFailed": "Échec dans la création du rôle : {{errorMessage}}",
|
"createRoleFailed": "Échec dans la création du rôle : {{errorMessage}}",
|
||||||
@ -880,22 +902,22 @@
|
|||||||
"desc": "Ajouter un nouveau rôle et définir les permissions d'accès à la caméra."
|
"desc": "Ajouter un nouveau rôle et définir les permissions d'accès à la caméra."
|
||||||
},
|
},
|
||||||
"editCameras": {
|
"editCameras": {
|
||||||
"title": "Editer les caméras du rôle",
|
"title": "Modifier les caméras du rôle",
|
||||||
"desc": "Mettre à jour les accès aux caméras pour le rôle <strong>{{role}}</strong>."
|
"desc": "Mettre à jour les accès aux caméras pour le rôle <strong>{{role}}</strong>."
|
||||||
},
|
},
|
||||||
"deleteRole": {
|
"deleteRole": {
|
||||||
"title": "Suppression du rôle",
|
"title": "Suppression du rôle",
|
||||||
"desc": "Cette action est irréversible. Elle supprimera définitivement le rôle et tous les utilisateurs associés seront affectés au rôle 'visionnage', avec un accès à toutes les caméras.",
|
"desc": "Cette action est irréversible. Elle supprimera définitivement le rôle et tous les utilisateurs associés seront affectés au rôle \"Observateur\", avec un accès à toutes les caméras.",
|
||||||
"warn": "Êtes-vous sûr de vouloir supprimer <strong>{{role}}</strong> ?",
|
"warn": "Êtes-vous sûr de vouloir supprimer <strong>{{role}}</strong> ?",
|
||||||
"deleting": "En cours de suppression..."
|
"deleting": "En cours de suppression..."
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"role": {
|
"role": {
|
||||||
"title": "Nom du rôle",
|
"title": "Nom du rôle",
|
||||||
"placeholder": "Saisissez un nom de rôle",
|
"placeholder": "Saisissez un nom de rôle.",
|
||||||
"desc": "Seuls les lettres, nombres, points et tirets bas sont autorisés.",
|
"desc": "Seuls les lettres, les chiffres, les points et les traits de soulignement sont autorisés.",
|
||||||
"roleIsRequired": "Un nom de rôle est requis",
|
"roleIsRequired": "Un nom de rôle est requis",
|
||||||
"roleOnlyInclude": "Le nom de rôle peut uniquement contenir des lettres, nombres, . ou _",
|
"roleOnlyInclude": "Le nom de rôle ne peut inclure que des lettres, des chiffres, des points (.) ou des traits de soulignement (_).",
|
||||||
"roleExists": "Un rôle avec ce nom existe déjà."
|
"roleExists": "Un rôle avec ce nom existe déjà."
|
||||||
},
|
},
|
||||||
"cameras": {
|
"cameras": {
|
||||||
@ -915,8 +937,8 @@
|
|||||||
"validationAndTesting": "Validation et tests"
|
"validationAndTesting": "Validation et tests"
|
||||||
},
|
},
|
||||||
"save": {
|
"save": {
|
||||||
"success": "Réussite de l'enregistrement de la nouvelle caméra {{cameraName}}.",
|
"success": "Nouvelle caméra {{cameraName}} enregistrée avec succès",
|
||||||
"failure": "Échec lors de l'enregistrement de {{cameraName}}."
|
"failure": "Échec lors de l'enregistrement de {{cameraName}}"
|
||||||
},
|
},
|
||||||
"testResultLabels": {
|
"testResultLabels": {
|
||||||
"resolution": "Résolution",
|
"resolution": "Résolution",
|
||||||
@ -925,102 +947,107 @@
|
|||||||
"fps": "FPS"
|
"fps": "FPS"
|
||||||
},
|
},
|
||||||
"commonErrors": {
|
"commonErrors": {
|
||||||
"noUrl": "Saisissez une URL de flux valide s'il vous plait",
|
"noUrl": "Veuillez saisir une URL de flux valide.",
|
||||||
"testFailed": "Échec du test de flux : {{error}}"
|
"testFailed": "Échec du test de flux : {{error}}"
|
||||||
},
|
},
|
||||||
"step1": {
|
"step1": {
|
||||||
"description": "Saisissez les détails de votre caméra et testez la connexion.",
|
"description": "Saisissez les détails de votre caméra et testez la connexion.",
|
||||||
"cameraName": "Nom de la caméra",
|
"cameraName": "Nom de la caméra",
|
||||||
"cameraNamePlaceholder": "par exemple, porte-entree ou Apercu Arriere_Cour",
|
"cameraNamePlaceholder": "par ex., porte_entree ou apercu_cour_arriere",
|
||||||
"host": "Hôte / Adresse IP",
|
"host": "Hôte / Adresse IP",
|
||||||
"port": "Port",
|
"port": "Port",
|
||||||
"username": "Nom d'utilisateur",
|
"username": "Nom d'utilisateur",
|
||||||
"usernamePlaceholder": "Facultatif",
|
"usernamePlaceholder": "Facultatif",
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"passwordPlaceholder": "Facultatif",
|
"passwordPlaceholder": "Facultatif",
|
||||||
"selectTransport": "Sélectionnez le protocole de transport",
|
"selectTransport": "Sélectionnez le protocole de transport.",
|
||||||
"cameraBrand": "Marque de la caméra",
|
"cameraBrand": "Marque de la caméra",
|
||||||
"selectBrand": "Sélectionnez la marque de la caméra pour le modèle de l'URL",
|
"selectBrand": "Sélectionnez la marque de la caméra pour déterminer la forme de l'URL.",
|
||||||
"customUrl": "URL de flux personnalisé",
|
"customUrl": "URL de flux personnalisé",
|
||||||
"brandInformation": "Information sur la marque",
|
"brandInformation": "Information sur la marque",
|
||||||
"brandUrlFormat": "Pour les caméras avec un format d'URL RTSP comme : {{exampleUrl}}",
|
"brandUrlFormat": "Pour les caméras avec un format d'URL RTSP comme : {{exampleUrl}}",
|
||||||
"customUrlPlaceholder": "rtsp://nomutilisateur:motdepasse@hote:port/chemin",
|
"customUrlPlaceholder": "rtsp://nomutilisateur:motdepasse@hote:port/chemin",
|
||||||
"testConnection": "Tester la connexion",
|
"testConnection": "Tester la connexion",
|
||||||
"testSuccess": "Test de connexion réussi !",
|
"testSuccess": "Test de connexion réussi !",
|
||||||
"testFailed": "Échec du test de connexion. Veuillez vérifier votre saisie et réessayer.",
|
"testFailed": "Échec du test de connexion. Veuillez vérifier votre saisie et réessayez.",
|
||||||
"streamDetails": "Détails du flux",
|
"streamDetails": "Détails du flux",
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"noSnapshot": "Impossible de récupérer un instantané à partir du flux configuré."
|
"noSnapshot": "Impossible de récupérer un instantané à partir du flux configuré"
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
"brandOrCustomUrlRequired": "Sélectionnez une marque de caméra avec hôte/IP ou choisissez « Autre » avec une URL personnalisée",
|
"brandOrCustomUrlRequired": "Sélectionnez une marque de caméra avec hôte/IP ou choisissez « Autre » avec une URL personnalisée.",
|
||||||
"nameRequired": "Le nom de la caméra est requis",
|
"nameRequired": "Le nom de la caméra est requis.",
|
||||||
"nameLength": "Le nom de la caméra doit comporter 64 caractères ou moins",
|
"nameLength": "Le nom de la caméra ne doit pas dépasser 64 caractères.",
|
||||||
"invalidCharacters": "Le nom de la caméra contient des caractères non valides",
|
"invalidCharacters": "Le nom de la caméra contient des caractères invalides.",
|
||||||
"nameExists": "Le nom de la caméra existe déjà",
|
"nameExists": "Ce nom de caméra est déjà utilisé.",
|
||||||
"brands": {
|
"brands": {
|
||||||
"reolink-rtsp": "Reolink RTSP n'est pas recommandé. Il est recommandé d'activer le protocole HTTP dans les paramètres de la caméra et de redémarrer l'assistant."
|
"reolink-rtsp": "Le protocole RTSP de Reolink est déconseillé. Activez le protocole HTTP dans les paramètres du firmware de la caméra, puis relancez l'assistant."
|
||||||
}
|
},
|
||||||
|
"customUrlRtspRequired": "Les URL personnalisées doivent commencer par \"rtsp://\". Une configuration manuelle est requise pour les flux de caméra non-RTSP."
|
||||||
},
|
},
|
||||||
"docs": {
|
"docs": {
|
||||||
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
||||||
|
},
|
||||||
|
"testing": {
|
||||||
|
"probingMetadata": "Vérification des métadonnées de la caméra en cours...",
|
||||||
|
"fetchingSnapshot": "Récupération de l'instantané de la caméra en cours..."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"step2": {
|
"step2": {
|
||||||
"description": "Configurez les rôles du flux et ajoutez des flux supplémentaires pour votre caméra.",
|
"description": "Définissez les rôles du flux et ajoutez des flux supplémentaires pour votre caméra.",
|
||||||
"streamsTitle": "Flux de caméra",
|
"streamsTitle": "Flux de caméra",
|
||||||
"addStream": "Ajouter un flux",
|
"addStream": "Ajouter un flux",
|
||||||
"addAnotherStream": "Ajouter un autre flux",
|
"addAnotherStream": "Ajouter un autre flux",
|
||||||
"streamTitle": "Flux {{number}}",
|
"streamTitle": "Flux {{number}}",
|
||||||
"streamUrl": "URL du flux",
|
"streamUrl": "URL du flux",
|
||||||
"streamUrlPlaceholder": "rtsp://username:password@host:port/path",
|
"streamUrlPlaceholder": "rtsp://nomutilisateur:motdepasse@hote:port/chemin",
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"resolution": "Résolution",
|
"resolution": "Résolution",
|
||||||
"selectResolution": "Sélectionnez la résolution",
|
"selectResolution": "Sélectionnez la résolution.",
|
||||||
"quality": "Qualité",
|
"quality": "Qualité",
|
||||||
"selectQuality": "Sélectionnez la qualité",
|
"selectQuality": "Sélectionnez la qualité.",
|
||||||
"roles": "Rôles",
|
"roles": "Rôles",
|
||||||
"roleLabels": {
|
"roleLabels": {
|
||||||
"record": "Enregistrement",
|
"record": "Enregistrement",
|
||||||
"audio": "Audio",
|
"audio": "Audio",
|
||||||
"detect": "Détection d'objet"
|
"detect": "Détection d'objets"
|
||||||
},
|
},
|
||||||
"testStream": "Tester la connexion",
|
"testStream": "Tester la connexion",
|
||||||
"testSuccess": "Test de diffusion réussi !",
|
"testSuccess": "Test du flux réussi !",
|
||||||
"testFailed": "Le test du flux a échoué",
|
"testFailed": "Échec du test du flux",
|
||||||
"testFailedTitle": "Échec du test",
|
"testFailedTitle": "Échec du test",
|
||||||
"connected": "Connecté",
|
"connected": "Connecté",
|
||||||
"notConnected": "Non connecté",
|
"notConnected": "Non connecté",
|
||||||
"featuresTitle": "Caractéristiques",
|
"featuresTitle": "Caractéristiques",
|
||||||
"go2rtc": "Réduire les connexions à la caméra",
|
"go2rtc": "Réduire le nombre de connexions à la caméra",
|
||||||
"detectRoleWarning": "Au moins un flux doit avoir le rôle « détecter » pour continuer.",
|
"detectRoleWarning": "Pour continuer, au moins un flux doit avoir le rôle \"détection\".",
|
||||||
"rolesPopover": {
|
"rolesPopover": {
|
||||||
"title": "Rôles du flux",
|
"title": "Rôles du flux",
|
||||||
"detect": "Flux principal pour la détection d'objets.",
|
"detect": "Flux principal pour la détection d'objets",
|
||||||
"record": "Enregistre des segments du flux vidéo en fonction des paramètres de configuration.",
|
"record": "Enregistre des extraits du flux vidéo en fonction des paramètres de configuration.",
|
||||||
"audio": "Flux pour la détection basée sur l'audio."
|
"audio": "Flux pour la détection audio"
|
||||||
},
|
},
|
||||||
"featuresPopover": {
|
"featuresPopover": {
|
||||||
"title": "Fonctionnalités du flux",
|
"title": "Fonctionnalités du flux",
|
||||||
"description": "Utilisez le flux go2rtc pour réduire le nombre de connexions à votre caméra."
|
"description": "Utilisez la rediffusion du flux go2rtc pour réduire le nombre de connexions à votre caméra."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"step3": {
|
"step3": {
|
||||||
"description": "Validation finale et analyse avant d'enregistrer votre nouvelle caméra. Connectez chaque flux avant d'enregistrer.",
|
"description": "Validation et analyse finales avant l'enregistrement de votre nouvelle caméra. Connectez chaque flux avant d'enregistrer.",
|
||||||
"validationTitle": "Validation du flux",
|
"validationTitle": "Validation du flux",
|
||||||
"connectAllStreams": "Connecter tous les flux",
|
"connectAllStreams": "Connecter tous les flux",
|
||||||
"reconnectionSuccess": "Reconnexion réussie.",
|
"reconnectionSuccess": "Reconnexion réussie.",
|
||||||
"reconnectionPartial": "Certains flux n'ont pas pu se reconnecter.",
|
"reconnectionPartial": "La reconnexion de certains flux a échoué.",
|
||||||
"streamUnavailable": "Aperçu du flux indisponible",
|
"streamUnavailable": "Aperçu du flux indisponible",
|
||||||
"reload": "Recharger",
|
"reload": "Recharger",
|
||||||
"connecting": "Connexion...",
|
"connecting": "Connexion en cours...",
|
||||||
"streamTitle": "Flux {{number}}",
|
"streamTitle": "Flux {{number}}",
|
||||||
"failed": "Échoué",
|
"failed": "Échec",
|
||||||
"notTested": "Non testé",
|
"notTested": "Non testé",
|
||||||
"connectStream": "Connecter",
|
"connectStream": "Connecter",
|
||||||
"connectingStream": "Connexion",
|
"connectingStream": "Connexion en cours",
|
||||||
"disconnectStream": "Déconnecter",
|
"disconnectStream": "Déconnecter",
|
||||||
"estimatedBandwidth": "Bande passante estimée",
|
"estimatedBandwidth": "Débit estimé",
|
||||||
"roles": "Rôles",
|
"roles": "Rôles",
|
||||||
"none": "Aucun",
|
"none": "Aucun",
|
||||||
"error": "Erreur",
|
"error": "Erreur",
|
||||||
@ -1032,34 +1059,36 @@
|
|||||||
"title": "Validation du flux",
|
"title": "Validation du flux",
|
||||||
"videoCodecGood": "Le codec vidéo est {{codec}}.",
|
"videoCodecGood": "Le codec vidéo est {{codec}}.",
|
||||||
"audioCodecGood": "Le codec audio est {{codec}}.",
|
"audioCodecGood": "Le codec audio est {{codec}}.",
|
||||||
"noAudioWarning": "Aucun audio détecté pour ce flux, les enregistrements n'auront pas d'audio.",
|
"noAudioWarning": "Aucun son n'est détecté sur ce flux, les enregistrements seront muets.",
|
||||||
"audioCodecRecordError": "Le codec audio AAC est requis pour prendre en charge l'audio dans les enregistrements.",
|
"audioCodecRecordError": "Le codec audio AAC est requis pour la prise en charge du son dans les enregistrements.",
|
||||||
"audioCodecRequired": "Un flux audio est requis pour prendre en charge la détection audio.",
|
"audioCodecRequired": "Un flux audio est requis pour prendre en charge la détection audio.",
|
||||||
"restreamingWarning": "La réduction des connexions à la caméra pour le flux d'enregistrement peut augmenter légèrement l'utilisation du processeur.",
|
"restreamingWarning": "La réduction des connexions à la caméra pour le flux d'enregistrement peut augmenter légèrement l'utilisation du processeur.",
|
||||||
"dahua": {
|
"dahua": {
|
||||||
"substreamWarning": "Le sous-flux 1 est verrouillé en basse résolution. De nombreuses caméras Dahua / Amcrest / EmpireTech prennent en charge des sous-flux supplémentaires qui doivent être activés dans les paramètres de la caméra. Il est recommandé de vérifier et d'utiliser ces flux s'ils sont disponibles."
|
"substreamWarning": "Le flux secondaire 1 est limité en basse résolution. De nombreuses caméras (Dahua, Amcrest, EmpireTech...) proposent des flux supplémentaires qu'il suffit d'activer dans leurs propres paramètres. Il est recommandé de vérifier leur disponibilité et de les utiliser."
|
||||||
},
|
},
|
||||||
"hikvision": {
|
"hikvision": {
|
||||||
"substreamWarning": "Le sous-flux 1 est verrouillé en basse résolution. De nombreuses caméras Hikvision prennent en charge des sous-flux supplémentaires qui doivent être activés dans les paramètres de la caméra. Il est recommandé de vérifier et d'utiliser ces flux s'ils sont disponibles."
|
"substreamWarning": "Le flux secondaire 1 est limité en basse résolution. De nombreuses caméras Hikvision proposent des flux supplémentaires qu'il suffit d'activer dans leurs propres paramètres. Il est recommandé de vérifier leur disponibilité et de les utiliser."
|
||||||
}
|
},
|
||||||
|
"resolutionHigh": "La résolution {{resolution}} risque d'augmenter l'utilisation des ressources.",
|
||||||
|
"resolutionLow": "La résolution {{resolution}} risque d'être trop faible pour détecter les petits objets de manière fiable."
|
||||||
},
|
},
|
||||||
"valid": "Validation"
|
"valid": "Valide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cameraManagement": {
|
"cameraManagement": {
|
||||||
"title": "Gérer les caméras",
|
"title": "Gérer les caméras",
|
||||||
"addCamera": "Ajouter une nouvelle caméra",
|
"addCamera": "Ajouter une nouvelle caméra",
|
||||||
"editCamera": "Modifier la caméra:",
|
"editCamera": "Modifier la caméra :",
|
||||||
"selectCamera": "Sélectionnez une caméra",
|
"selectCamera": "Sélectionnez une caméra",
|
||||||
"backToSettings": "Retour aux paramètres de la caméra",
|
"backToSettings": "Retour aux paramètres de la caméra",
|
||||||
"streams": {
|
"streams": {
|
||||||
"title": "Activer/Désactiver les caméras",
|
"title": "Activer / désactiver les caméras",
|
||||||
"desc": "Désactivez temporairement une caméra jusqu'au redémarrage de Frigate. La désactivation d'une caméra interrompt complètement le traitement des flux de cette caméra par Frigate. La détection, l'enregistrement et le débogage seront indisponibles.<br /><em>Remarque : Ceci ne désactive pas les rediffusions go2rtc.</em>"
|
"desc": "Désactive temporairement une caméra jusqu'au redémarrage de Frigate. La désactivation d'une caméra interrompt complètement le traitement des flux de la caméra par Frigate. La détection, l'enregistrement et le débogage deviennent alors indisponibles.<br /><em>Remarque : cela n'affecte pas les rediffusions des flux go2rtc.</em>"
|
||||||
},
|
},
|
||||||
"cameraConfig": {
|
"cameraConfig": {
|
||||||
"add": "Ajouter une caméra",
|
"add": "Ajouter une caméra",
|
||||||
"edit": "Modifier la caméra",
|
"edit": "Modifier la caméra",
|
||||||
"description": "Configurez les paramètres de la caméra, y compris les entrées de flux et les rôles.",
|
"description": "Configurez les paramètres de la caméra, notamment les flux entrants et les rôles.",
|
||||||
"name": "Nom de la caméra",
|
"name": "Nom de la caméra",
|
||||||
"nameRequired": "Le nom de la caméra est requis",
|
"nameRequired": "Le nom de la caméra est requis",
|
||||||
"nameLength": "Le nom de la caméra doit comporter moins de 64 caractères.",
|
"nameLength": "Le nom de la caméra doit comporter moins de 64 caractères.",
|
||||||
@ -1068,7 +1097,7 @@
|
|||||||
"ffmpeg": {
|
"ffmpeg": {
|
||||||
"inputs": "Flux d'entrée",
|
"inputs": "Flux d'entrée",
|
||||||
"path": "Chemin du flux",
|
"path": "Chemin du flux",
|
||||||
"pathRequired": "Le chemin du flux est requis",
|
"pathRequired": "Chemin du flux requis",
|
||||||
"pathPlaceholder": "rtsp://...",
|
"pathPlaceholder": "rtsp://...",
|
||||||
"roles": "Rôles",
|
"roles": "Rôles",
|
||||||
"rolesRequired": "Au moins un rôle est requis",
|
"rolesRequired": "Au moins un rôle est requis",
|
||||||
@ -1078,7 +1107,7 @@
|
|||||||
"inputsRequired": "Au moins un flux d'entrée est requis"
|
"inputsRequired": "Au moins un flux d'entrée est requis"
|
||||||
},
|
},
|
||||||
"go2rtcStreams": "Flux go2rtc",
|
"go2rtcStreams": "Flux go2rtc",
|
||||||
"streamUrls": "URLs des flux",
|
"streamUrls": "URL des flux",
|
||||||
"addUrl": "Ajouter une URL",
|
"addUrl": "Ajouter une URL",
|
||||||
"addGo2rtcStream": "Ajouter un flux go2rtc",
|
"addGo2rtcStream": "Ajouter un flux go2rtc",
|
||||||
"toast": {
|
"toast": {
|
||||||
@ -1087,39 +1116,39 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cameraReview": {
|
"cameraReview": {
|
||||||
"title": "Paramètres d'examen de la caméra",
|
"title": "Paramètres des événements de la caméra",
|
||||||
"object_descriptions": {
|
"object_descriptions": {
|
||||||
"title": "Descriptions d'objets IA génératives",
|
"title": "Descriptions d'objets par l'IA générative",
|
||||||
"desc": "Activez/désactivez temporairement les descriptions d'objets générées par l'IA pour cette caméra. Si elles sont désactivées, les descriptions générées par l'IA ne seront pas demandées pour les objets suivis par cette caméra."
|
"desc": "Active ou désactive temporairement les descriptions d'objets générées par l'IA générative pour cette caméra. Lorsque cette option est désactivée, aucune description par l'IA n'est générée pour les objets suivis sur cette caméra."
|
||||||
},
|
},
|
||||||
"review_descriptions": {
|
"review_descriptions": {
|
||||||
"title": "Descriptions des évaluations de l'IA générative",
|
"title": "Descriptions des événements par l'IA générative",
|
||||||
"desc": "Activez/désactivez temporairement les descriptions d'évaluation génératrices par l'IA pour cette caméra. Si elles sont désactivées, les descriptions générées par l'IA ne seront pas demandées pour les éléments d'évaluation de cette caméra."
|
"desc": "Active ou désactive temporairement les descriptions par l'IA générative pour cette caméra. Lorsque cette option est désactivée, aucune description par l'IA ne sera générée pour les événements de cette caméra."
|
||||||
},
|
},
|
||||||
"review": {
|
"review": {
|
||||||
"title": "Revoir",
|
"title": "Événements",
|
||||||
"desc": "Activez/désactivez temporairement les alertes et les détections pour cette caméra jusqu'au redémarrage de Frigate. Une fois désactivée, aucun nouvel élément d'analyse ne sera généré. ",
|
"desc": "Active ou désactive temporairement les alertes et les détections pour cette caméra jusqu'au redémarrage de Frigate. Lorsque cette option est désactivée, aucun nouvel événement n'est généré. ",
|
||||||
"alerts": "Alertes. ",
|
"alerts": "Alertes ",
|
||||||
"detections": "Détections. "
|
"detections": "Détections "
|
||||||
},
|
},
|
||||||
"reviewClassification": {
|
"reviewClassification": {
|
||||||
"title": "Classement des avis",
|
"title": "Classification des événements",
|
||||||
"desc": "Frigate catégorise les éléments d'évaluation en alertes et détections. Par défaut, tous les objets <em>personne</em> et <em>voiture</em> sont considérés comme des alertes. Vous pouvez affiner la catégorisation de vos éléments d'évaluation en configurant les zones requises.",
|
"desc": "Frigate classe les événements en deux catégories : \"Alertes\" et \"Détections\". Par défaut, les objets de type <em>personne</em> et <em>voiture</em> sont considérés comme des \"Alertes\". Vous pouvez affiner cette classification en définissant des zones spécifiques pour chaque objet.",
|
||||||
"noDefinedZones": "Aucune zone n'est définie pour cette caméra.",
|
"noDefinedZones": "Aucune zone n'est définie pour cette caméra.",
|
||||||
"objectAlertsTips": "Tous les objets {{alertsLabels}} sur {{cameraName}} seront affichés sous forme d'alertes.",
|
"objectAlertsTips": "Sur la caméra {{cameraName}}, tous les objets {{alertsLabels}} apparaîtront en tant qu'\"Alertes\".",
|
||||||
"zoneObjectAlertsTips": "Tous les objets {{alertsLabels}} détectés dans {{zone}} sur {{cameraName}} seront affichés sous forme d'alertes.",
|
"zoneObjectAlertsTips": "Sur la caméra {{cameraName}}, tous les objets {{alertsLabels}} détectés dans la zone {{zone}} apparaîtront en tant qu'\"Alertes\".",
|
||||||
"objectDetectionsTips": "Tous les objets {{detectionsLabels}} non classés sur {{cameraName}} seront affichés comme détections, quelle que soit la zone dans laquelle ils se trouvent.",
|
"objectDetectionsTips": "Sur la caméra {{cameraName}}, tous les objets {{detectionsLabels}} non catégorisés apparaîtront en tant que \"Détections\", peu importe leur zone.",
|
||||||
"zoneObjectDetectionsTips": {
|
"zoneObjectDetectionsTips": {
|
||||||
"text": "Tous les objets {{detectionsLabels}} non classés dans {{zone}} sur {{cameraName}} seront affichés comme détections.",
|
"text": "Sur la caméra {{cameraName}}, tous les objets {{detectionsLabels}} non catégorisés dans la zone {{zone}} apparaîtront en tant que \"Détections\".",
|
||||||
"notSelectDetections": "Tous les objets {{detectionsLabels}} détectés dans {{zone}} sur {{cameraName}} non classés comme alertes seront affichés comme détections, quelle que soit la zone dans laquelle ils se trouvent.",
|
"notSelectDetections": "Sur la caméra {{cameraName}}, tous les objets {{detectionsLabels}} détectés dans la zone {{zone}} qui ne sont pas catégorisés comme \"Alertes\" apparaîtront en tant que \"Détections\", et ce, quelle que soit leur zone.",
|
||||||
"regardlessOfZoneObjectDetectionsTips": "Tous les objets {{detectionsLabels}} non classés sur {{cameraName}} seront affichés comme détections, quelle que soit la zone dans laquelle ils se trouvent."
|
"regardlessOfZoneObjectDetectionsTips": "Sur la caméra {{cameraName}}, tous les objets {{detectionsLabels}} non catégorisés apparaîtront en tant que \"Détections\", peu importe leur zone."
|
||||||
},
|
},
|
||||||
"unsavedChanges": "Paramètres de classification des avis non enregistrés pour {{camera}}",
|
"unsavedChanges": "Paramètres de classification des événements non enregistrés pour {{camera}}",
|
||||||
"selectAlertsZones": "Sélectionnez les zones pour les alertes",
|
"selectAlertsZones": "Sélectionnez les zones pour les alertes",
|
||||||
"selectDetectionsZones": "Sélectionner les zones pour les détections",
|
"selectDetectionsZones": "Sélectionner les zones pour les détections",
|
||||||
"limitDetections": "Limiter les détections à des zones spécifiques",
|
"limitDetections": "Limiter les détections à des zones spécifiques",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "La configuration de la classification a été enregistrée. Redémarrez Frigate pour appliquer les modifications."
|
"success": "La configuration de la classification des événements a été enregistrée. Redémarrez Frigate pour appliquer les modifications."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,8 +18,8 @@
|
|||||||
},
|
},
|
||||||
"copy": {
|
"copy": {
|
||||||
"label": "Copier dans le presse-papiers",
|
"label": "Copier dans le presse-papiers",
|
||||||
"success": "Journaux copiés vers le presse-papiers",
|
"success": "Journaux copiés dans le presse-papiers",
|
||||||
"error": "Échec du copiage des journaux dans le presse-papiers"
|
"error": "Échec de la copie des journaux dans le presse-papiers"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"label": "Type",
|
"label": "Type",
|
||||||
@ -27,7 +27,7 @@
|
|||||||
"tag": "Balise",
|
"tag": "Balise",
|
||||||
"message": "Message"
|
"message": "Message"
|
||||||
},
|
},
|
||||||
"tips": "Les logs sont diffusés en continu depuis le serveur",
|
"tips": "Les journaux sont diffusés en continu depuis le serveur",
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"fetchingLogsFailed": "Erreur lors de la récupération des logs : {{errorMessage}}",
|
"fetchingLogsFailed": "Erreur lors de la récupération des logs : {{errorMessage}}",
|
||||||
@ -40,23 +40,23 @@
|
|||||||
"detector": {
|
"detector": {
|
||||||
"title": "Détecteurs",
|
"title": "Détecteurs",
|
||||||
"inferenceSpeed": "Vitesse d'inférence du détecteur",
|
"inferenceSpeed": "Vitesse d'inférence du détecteur",
|
||||||
"cpuUsage": "Utilisation processeur du détecteur",
|
"cpuUsage": "Utilisation CPU du détecteur",
|
||||||
"memoryUsage": "Utilisation mémoire du détecteur",
|
"memoryUsage": "Utilisation mémoire du détecteur",
|
||||||
"temperature": "Température du détecteur",
|
"temperature": "Température du détecteur",
|
||||||
"cpuUsageInformation": "Utilisation du processeur pour préparer les données avant et après leur passage dans les modèles de détection. Cette valeur ne mesure pas les calculs d'inférence, même si un GPU ou un autre accélérateur est utilisé."
|
"cpuUsageInformation": "Utilisation CPU pour préparer les données en entrée et en sortie des modèles de détection. Cette valeur ne mesure pas l'utilisation de l'inférence, même si un GPU ou un accélérateur est utilisé."
|
||||||
},
|
},
|
||||||
"hardwareInfo": {
|
"hardwareInfo": {
|
||||||
"title": "Info matériel",
|
"title": "Informations sur le matériel",
|
||||||
"gpuUsage": "Utilisation carte graphique",
|
"gpuUsage": "Utilisation du GPU",
|
||||||
"gpuMemory": "Mémoire carte graphique",
|
"gpuMemory": "Mémoire du GPU",
|
||||||
"gpuEncoder": "Encodeur carte graphique",
|
"gpuEncoder": "Encodeur GPU",
|
||||||
"gpuDecoder": "Décodeur carte graphique",
|
"gpuDecoder": "Décodeur GPU",
|
||||||
"gpuInfo": {
|
"gpuInfo": {
|
||||||
"vainfoOutput": {
|
"vainfoOutput": {
|
||||||
"title": "Sortie Vainfo",
|
"title": "Sortie Vainfo",
|
||||||
"returnCode": "Code de retour : {{code}}",
|
"returnCode": "Code de retour : {{code}}",
|
||||||
"processOutput": "Tâche de sortie :",
|
"processOutput": "Sortie du processus :",
|
||||||
"processError": "Erreur de tâche :"
|
"processError": "Erreur du processus :"
|
||||||
},
|
},
|
||||||
"nvidiaSMIOutput": {
|
"nvidiaSMIOutput": {
|
||||||
"title": "Sortie Nvidia SMI",
|
"title": "Sortie Nvidia SMI",
|
||||||
@ -66,22 +66,22 @@
|
|||||||
"driver": "Pilote : {{driver}}"
|
"driver": "Pilote : {{driver}}"
|
||||||
},
|
},
|
||||||
"copyInfo": {
|
"copyInfo": {
|
||||||
"label": "Information de copie du GPU"
|
"label": "Copier les informations du GPU"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Informations GPU copiées dans le presse-papier"
|
"success": "Informations GPU copiées dans le presse-papiers"
|
||||||
},
|
},
|
||||||
"closeInfo": {
|
"closeInfo": {
|
||||||
"label": "Information de fermeture du GPU"
|
"label": "Fermer les informations du GPU"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npuUsage": "Utilisation NPU",
|
"npuUsage": "Utilisation NPU",
|
||||||
"npuMemory": "Mémoire NPU"
|
"npuMemory": "Mémoire NPU"
|
||||||
},
|
},
|
||||||
"otherProcesses": {
|
"otherProcesses": {
|
||||||
"title": "Autres tâches",
|
"title": "Autres processus",
|
||||||
"processCpuUsage": "Utilisation processeur des tâches",
|
"processCpuUsage": "Utilisation CPU du processus",
|
||||||
"processMemoryUsage": "Utilisation mémoire des tâches"
|
"processMemoryUsage": "Utilisation mémoire du processus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"storage": {
|
"storage": {
|
||||||
@ -89,78 +89,78 @@
|
|||||||
"recordings": {
|
"recordings": {
|
||||||
"title": "Enregistrements",
|
"title": "Enregistrements",
|
||||||
"earliestRecording": "Enregistrement le plus ancien :",
|
"earliestRecording": "Enregistrement le plus ancien :",
|
||||||
"tips": "Cette valeur correspond au stockage total utilisé par les enregistrements dans la base de données Frigate. Frigate ne suit pas l'utilisation du stockage pour tous les fichiers sur votre disque."
|
"tips": "Cette valeur correspond au stockage total utilisé par les enregistrements dans la base de données Frigate. Frigate ne suit pas l'utilisation du stockage pour tous les fichiers de votre disque."
|
||||||
},
|
},
|
||||||
"cameraStorage": {
|
"cameraStorage": {
|
||||||
"title": "Stockage de la caméra",
|
"title": "Stockage de la caméra",
|
||||||
"bandwidth": "Bande passante",
|
"bandwidth": "Bande passante",
|
||||||
"unused": {
|
"unused": {
|
||||||
"title": "Inutilisé",
|
"title": "Inutilisé",
|
||||||
"tips": "Cette valeur ne représente peut-être pas précisément l'espace libre et utilisable par Frigate si vous avez d'autres fichiers stockés sur ce disque en plus des enregistrements Frigate. Frigate ne suit pas l'utilisation du stockage en dehors de ses propres enregistrements."
|
"tips": "Cette valeur peut ne pas représenter précisément l'espace libre disponible pour Frigate si d'autres fichiers sont stockés sur votre disque en plus des enregistrements Frigate. Frigate ne suit pas l'utilisation du stockage en dehors de ses enregistrements."
|
||||||
},
|
},
|
||||||
"percentageOfTotalUsed": "Pourcentage du total",
|
"percentageOfTotalUsed": "Pourcentage du total",
|
||||||
"storageUsed": "Stockage",
|
"storageUsed": "Stockage",
|
||||||
"camera": "Caméra",
|
"camera": "Caméra",
|
||||||
"unusedStorageInformation": "Information sur le stockage non utilisé"
|
"unusedStorageInformation": "Informations sur le stockage non utilisé"
|
||||||
},
|
},
|
||||||
"overview": "Vue d'ensemble",
|
"overview": "Vue d'ensemble",
|
||||||
"shm": {
|
"shm": {
|
||||||
"title": "Allocation de mémoire partagée SHM",
|
"title": "Allocation de mémoire partagée SHM",
|
||||||
"warning": "La taille actuelle de la SHM de {{total}} Mo est trop faible. Augmentez la au moins à {{min_shm}} Mo."
|
"warning": "La taille actuelle de la SHM de {{total}} Mo est trop petite. Augmentez-la au moins à {{min_shm}} Mo."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cameras": {
|
"cameras": {
|
||||||
"title": "Caméras",
|
"title": "Caméras",
|
||||||
"info": {
|
"info": {
|
||||||
"cameraProbeInfo": "{{camera}} Information récupérée depuis la caméra",
|
"cameraProbeInfo": "Informations de la sonde pour {{camera}}",
|
||||||
"fetching": "En cours de récupération des données de la caméra",
|
"fetching": "Récupération des données de la caméra en cours",
|
||||||
"stream": "Flux {{idx}}",
|
"stream": "Flux {{idx}}",
|
||||||
"fps": "Images par seconde :",
|
"fps": "IPS :",
|
||||||
"unknown": "Inconnu",
|
"unknown": "Inconnu",
|
||||||
"audio": "Audio :",
|
"audio": "Audio :",
|
||||||
"tips": {
|
"tips": {
|
||||||
"title": "Information récupérée depuis la caméra"
|
"title": "Informations de la sonde caméra"
|
||||||
},
|
},
|
||||||
"streamDataFromFFPROBE": "Le flux de données est obtenu par <code>ffprobe</code>.",
|
"streamDataFromFFPROBE": "Les données du flux sont obtenues avec <code>ffprobe</code>.",
|
||||||
"resolution": "Résolution :",
|
"resolution": "Résolution :",
|
||||||
"error": "Erreur : {{error}}",
|
"error": "Erreur : {{error}}",
|
||||||
"codec": "Codec :",
|
"codec": "Codec :",
|
||||||
"video": "Vidéo :",
|
"video": "Vidéo :",
|
||||||
"aspectRatio": "ratio d'aspect"
|
"aspectRatio": "rapport d'aspect"
|
||||||
},
|
},
|
||||||
"framesAndDetections": "Images / Détections",
|
"framesAndDetections": "Images / Détections",
|
||||||
"label": {
|
"label": {
|
||||||
"camera": "caméra",
|
"camera": "caméra",
|
||||||
"detect": "Détecter",
|
"detect": "détection",
|
||||||
"skipped": "ignoré",
|
"skipped": "ignorées",
|
||||||
"ffmpeg": "FFmpeg",
|
"ffmpeg": "FFmpeg",
|
||||||
"capture": "capture",
|
"capture": "capture",
|
||||||
"cameraFfmpeg": "{{camName}} FFmpeg",
|
"cameraFfmpeg": "{{camName}} FFmpeg",
|
||||||
"cameraSkippedDetectionsPerSecond": "{{camName}} détections manquées par seconde",
|
"cameraSkippedDetectionsPerSecond": "{{camName}} détections ignorées par seconde",
|
||||||
"overallDetectionsPerSecond": "Moyenne de détections par seconde",
|
"overallDetectionsPerSecond": "Moyenne de détections par seconde",
|
||||||
"overallFramesPerSecond": "Moyenne d'images par seconde",
|
"overallFramesPerSecond": "Moyenne d'images par seconde (IPS)",
|
||||||
"overallSkippedDetectionsPerSecond": "Moyenne de détections manquées par seconde",
|
"overallSkippedDetectionsPerSecond": "Moyenne de détections ignorées par seconde",
|
||||||
"cameraCapture": "{{camName}} capture",
|
"cameraCapture": "{{camName}} capture",
|
||||||
"cameraDetect": "{{camName}} détection",
|
"cameraDetect": "{{camName}} détection",
|
||||||
"cameraFramesPerSecond": "{{camName}} images par seconde",
|
"cameraFramesPerSecond": "{{camName}} images par seconde (IPS)",
|
||||||
"cameraDetectionsPerSecond": "{{camName}} détections par seconde"
|
"cameraDetectionsPerSecond": "{{camName}} détections par seconde"
|
||||||
},
|
},
|
||||||
"overview": "Vue d'ensemble",
|
"overview": "Vue d'ensemble",
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": {
|
"success": {
|
||||||
"copyToClipboard": "Données récupérées copiées dans le presse-papier."
|
"copyToClipboard": "Données de la sonde copiées dans le presse-papiers"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"unableToProbeCamera": "Impossible de récupérer des infos depuis la caméra : {{errorMessage}}"
|
"unableToProbeCamera": "Impossible d'inspecter la caméra : {{errorMessage}}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lastRefreshed": "Dernier rafraichissement : ",
|
"lastRefreshed": "Dernier rafraichissement : ",
|
||||||
"stats": {
|
"stats": {
|
||||||
"ffmpegHighCpuUsage": "{{camera}} a un taux élevé d'utilisation processeur par FFmpeg ({{ffmpegAvg}}%)",
|
"ffmpegHighCpuUsage": "{{camera}} a un taux élevé d'utilisation processeur par FFmpeg ({{ffmpegAvg}}%)",
|
||||||
"detectHighCpuUsage": "{{camera}} a un taux élevé d'utilisation processeur ({{detectAvg}}%)",
|
"detectHighCpuUsage": "{{camera}} a une utilisation CPU de détection élevée ({{detectAvg}}%)",
|
||||||
"healthy": "Le système est sain",
|
"healthy": "Le système est sain",
|
||||||
"reindexingEmbeddings": "Réindexation des représentations numériques ({{processed}}% complété)",
|
"reindexingEmbeddings": "Réindexation des embeddings ({{processed}} % terminée)",
|
||||||
"cameraIsOffline": "{{camera}} est hors ligne",
|
"cameraIsOffline": "{{camera}} est hors ligne",
|
||||||
"detectIsSlow": "{{detect}} est lent ({{speed}} ms)",
|
"detectIsSlow": "{{detect}} est lent ({{speed}} ms)",
|
||||||
"detectIsVerySlow": "{{detect}} est très lent ({{speed}} ms)",
|
"detectIsVerySlow": "{{detect}} est très lent ({{speed}} ms)",
|
||||||
@ -170,16 +170,16 @@
|
|||||||
"title": "Enrichissements",
|
"title": "Enrichissements",
|
||||||
"infPerSecond": "Inférences par seconde",
|
"infPerSecond": "Inférences par seconde",
|
||||||
"embeddings": {
|
"embeddings": {
|
||||||
"face_embedding_speed": "Vitesse de capture des données complémentaires de visage",
|
"face_embedding_speed": "Vitesse de vectorisation des visages",
|
||||||
"text_embedding_speed": "Vitesse de capture des données complémentaire de texte",
|
"text_embedding_speed": "Vitesse d'embedding de texte",
|
||||||
"image_embedding_speed": "Vitesse de capture des données complémentaires à l'image",
|
"image_embedding_speed": "Vitesse d'embedding d'image",
|
||||||
"plate_recognition_speed": "Vitesse de reconnaissance des plaques d'immatriculation",
|
"plate_recognition_speed": "Vitesse de reconnaissance des plaques d'immatriculation",
|
||||||
"face_recognition_speed": "Vitesse de reconnaissance faciale",
|
"face_recognition_speed": "Vitesse de reconnaissance faciale",
|
||||||
"plate_recognition": "Reconnaissance de plaques d'immatriculation",
|
"plate_recognition": "Reconnaissance de plaques d'immatriculation",
|
||||||
"image_embedding": "Représentations numériques d'image",
|
"image_embedding": "Embedding d'image",
|
||||||
"yolov9_plate_detection": "Détection de plaques d'immatriculation YOLOv9",
|
"yolov9_plate_detection": "Détection de plaques d'immatriculation YOLOv9",
|
||||||
"face_recognition": "Reconnaissance faciale",
|
"face_recognition": "Reconnaissance faciale",
|
||||||
"text_embedding": "Représentation numérique de texte",
|
"text_embedding": "Vitesse d'embedding de visage",
|
||||||
"yolov9_plate_detection_speed": "Vitesse de détection de plaques d'immatriculation YOLOv9"
|
"yolov9_plate_detection_speed": "Vitesse de détection de plaques d'immatriculation YOLOv9"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
web/public/locales/gl/views/classificationModel.json
Normal file
1
web/public/locales/gl/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/he/views/classificationModel.json
Normal file
1
web/public/locales/he/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/hi/views/classificationModel.json
Normal file
1
web/public/locales/hi/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/hr/views/classificationModel.json
Normal file
1
web/public/locales/hr/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/hu/views/classificationModel.json
Normal file
1
web/public/locales/hu/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
web/public/locales/id/views/classificationModel.json
Normal file
1
web/public/locales/id/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -433,5 +433,71 @@
|
|||||||
"shofar": "Shofar",
|
"shofar": "Shofar",
|
||||||
"liquid": "Liquido",
|
"liquid": "Liquido",
|
||||||
"splash": "Schizzo",
|
"splash": "Schizzo",
|
||||||
"slosh": "Sciabordio"
|
"slosh": "Sciabordio",
|
||||||
|
"squish": "Schiacciare",
|
||||||
|
"drip": "Gocciolare",
|
||||||
|
"pour": "Versare",
|
||||||
|
"trickle": "Gocciolare",
|
||||||
|
"gush": "Sgorgare",
|
||||||
|
"fill": "Riempire",
|
||||||
|
"spray": "Spruzzare",
|
||||||
|
"pump": "Pompare",
|
||||||
|
"stir": "Mescolare",
|
||||||
|
"boiling": "Ebollizione",
|
||||||
|
"sonar": "Sonar",
|
||||||
|
"arrow": "Freccia",
|
||||||
|
"whoosh": "Sibilo",
|
||||||
|
"thump": "Tonfo",
|
||||||
|
"thunk": "Tonfo",
|
||||||
|
"electronic_tuner": "Accordatore elettronico",
|
||||||
|
"effects_unit": "Unità degli effetti",
|
||||||
|
"chorus_effect": "Effetto coro",
|
||||||
|
"basketball_bounce": "Rimbalzo di basket",
|
||||||
|
"bang": "Botto",
|
||||||
|
"slap": "Schiaffo",
|
||||||
|
"whack": "Colpo",
|
||||||
|
"smash": "Distruggere",
|
||||||
|
"breaking": "Rottura",
|
||||||
|
"bouncing": "Rimbalzo",
|
||||||
|
"whip": "Frusta",
|
||||||
|
"flap": "Patta",
|
||||||
|
"scratch": "Graffio",
|
||||||
|
"scrape": "Graffio",
|
||||||
|
"rub": "Strofinio",
|
||||||
|
"roll": "Rotolio",
|
||||||
|
"crushing": "Schiacciamento",
|
||||||
|
"crumpling": "Accartocciamento",
|
||||||
|
"tearing": "Strappo",
|
||||||
|
"beep": "Segnale acustico",
|
||||||
|
"ping": "Segnale",
|
||||||
|
"ding": "Bip",
|
||||||
|
"clang": "Fragore",
|
||||||
|
"squeal": "Strillo",
|
||||||
|
"creak": "Scricchiolio",
|
||||||
|
"rustle": "Fruscio",
|
||||||
|
"whir": "Ronzio",
|
||||||
|
"clatter": "Rumore",
|
||||||
|
"sizzle": "Sfrigolio",
|
||||||
|
"clicking": "Cliccando",
|
||||||
|
"clickety_clack": "Clic-clac",
|
||||||
|
"rumble": "Rombo",
|
||||||
|
"plop": "Tonfo",
|
||||||
|
"hum": "Ronzio",
|
||||||
|
"zing": "Brio",
|
||||||
|
"boing": "Balzo",
|
||||||
|
"crunch": "Scricchiolio",
|
||||||
|
"sine_wave": "Onda sinusoidale",
|
||||||
|
"harmonic": "Armonica",
|
||||||
|
"chirp_tone": "Tono di cinguettio",
|
||||||
|
"pulse": "Impulso",
|
||||||
|
"inside": "Dentro",
|
||||||
|
"outside": "Fuori",
|
||||||
|
"reverberation": "Riverbero",
|
||||||
|
"echo": "Eco",
|
||||||
|
"noise": "Rumore",
|
||||||
|
"mains_hum": "Ronzio di rete",
|
||||||
|
"distortion": "Distorsione",
|
||||||
|
"sidetone": "Effetto laterale",
|
||||||
|
"cacophony": "Cacofonia",
|
||||||
|
"throbbing": "Palpitante"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"unknownError": "Errore sconosciuto. Controlla i registri.",
|
"unknownError": "Errore sconosciuto. Controlla i registri.",
|
||||||
"webUnknownError": "Errore sconosciuto. Controlla i registri della console.",
|
"webUnknownError": "Errore sconosciuto. Controlla i registri della console.",
|
||||||
"loginFailed": "Accesso non riuscito"
|
"loginFailed": "Accesso non riuscito"
|
||||||
}
|
},
|
||||||
|
"firstTimeLogin": "Stai cercando di accedere per la prima volta? Le credenziali sono scritte nei registri di Frigate."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
web/public/locales/it/views/classificationModel.json
Normal file
1
web/public/locales/it/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -41,9 +41,10 @@
|
|||||||
"detail": {
|
"detail": {
|
||||||
"noDataFound": "Nessun dato dettagliato da rivedere",
|
"noDataFound": "Nessun dato dettagliato da rivedere",
|
||||||
"aria": "Attiva/disattiva la visualizzazione dettagliata",
|
"aria": "Attiva/disattiva la visualizzazione dettagliata",
|
||||||
"trackedObject_one": "oggetto tracciato",
|
"trackedObject_one": "oggetto",
|
||||||
"trackedObject_other": "oggetti tracciati",
|
"trackedObject_other": "oggetti",
|
||||||
"noObjectDetailData": "Non sono disponibili dati dettagliati sull'oggetto."
|
"noObjectDetailData": "Non sono disponibili dati dettagliati sull'oggetto.",
|
||||||
|
"label": "Dettaglio"
|
||||||
},
|
},
|
||||||
"objectTrack": {
|
"objectTrack": {
|
||||||
"trackedPoint": "Punto tracciato",
|
"trackedPoint": "Punto tracciato",
|
||||||
|
|||||||
@ -195,6 +195,12 @@
|
|||||||
"audioTranscription": {
|
"audioTranscription": {
|
||||||
"label": "Trascrivere",
|
"label": "Trascrivere",
|
||||||
"aria": "Richiedi la trascrizione audio"
|
"aria": "Richiedi la trascrizione audio"
|
||||||
|
},
|
||||||
|
"showObjectDetails": {
|
||||||
|
"label": "Mostra il percorso dell'oggetto"
|
||||||
|
},
|
||||||
|
"hideObjectDetails": {
|
||||||
|
"label": "Nascondi il percorso dell'oggetto"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dialog": {
|
"dialog": {
|
||||||
|
|||||||
@ -16,8 +16,8 @@
|
|||||||
"unknown": "Sconosciuto"
|
"unknown": "Sconosciuto"
|
||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"title": "Addestra",
|
"title": "Riconoscimenti recenti",
|
||||||
"aria": "Seleziona addestramento",
|
"aria": "Seleziona i riconoscimenti recenti",
|
||||||
"empty": "Non ci sono recenti tentativi di riconoscimento facciale"
|
"empty": "Non ci sono recenti tentativi di riconoscimento facciale"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
@ -63,7 +63,7 @@
|
|||||||
},
|
},
|
||||||
"createFaceLibrary": {
|
"createFaceLibrary": {
|
||||||
"title": "Crea raccolta",
|
"title": "Crea raccolta",
|
||||||
"nextSteps": "Per costruire una base solida:<li>Usa la scheda Addestra per selezionare e addestrare le immagini per ogni persona rilevata.</li><li>Concentrati sulle immagini dritte per ottenere risultati migliori; evita di addestrare immagini che catturano i volti da un'angolazione.</li></ul>",
|
"nextSteps": "Per costruire una base solida:<li>Usa la scheda \"Riconoscimenti recenti\" per selezionare e addestrare le immagini per ogni persona rilevata.</li><li>Concentrati sulle immagini dritte per ottenere risultati migliori; evita di addestrare immagini che catturano i volti da un'angolazione.</li></ul>",
|
||||||
"desc": "Crea una nuova raccolta",
|
"desc": "Crea una nuova raccolta",
|
||||||
"new": "Crea nuovo volto"
|
"new": "Crea nuovo volto"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -174,7 +174,7 @@
|
|||||||
"noCameras": {
|
"noCameras": {
|
||||||
"buttonText": "Aggiungi telecamera",
|
"buttonText": "Aggiungi telecamera",
|
||||||
"title": "Nessuna telecamera configurata",
|
"title": "Nessuna telecamera configurata",
|
||||||
"description": "Per iniziare, collega una telecamera."
|
"description": "Per iniziare, collega una telecamera a Frigate."
|
||||||
},
|
},
|
||||||
"snapshot": {
|
"snapshot": {
|
||||||
"takeSnapshot": "Scarica l'istantanea attuale",
|
"takeSnapshot": "Scarica l'istantanea attuale",
|
||||||
|
|||||||
@ -155,7 +155,8 @@
|
|||||||
"mustNotBeSameWithCamera": "Il nome della zona non deve essere uguale al nome della telecamera.",
|
"mustNotBeSameWithCamera": "Il nome della zona non deve essere uguale al nome della telecamera.",
|
||||||
"mustBeAtLeastTwoCharacters": "Il nome della zona deve essere composto da almeno 2 caratteri.",
|
"mustBeAtLeastTwoCharacters": "Il nome della zona deve essere composto da almeno 2 caratteri.",
|
||||||
"alreadyExists": "Per questa telecamera esiste già una zona con questo nome.",
|
"alreadyExists": "Per questa telecamera esiste già una zona con questo nome.",
|
||||||
"mustNotContainPeriod": "Il nome della zona non deve contenere punti."
|
"mustNotContainPeriod": "Il nome della zona non deve contenere punti.",
|
||||||
|
"mustHaveAtLeastOneLetter": "Il nome della zona deve contenere almeno una lettera."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"distance": {
|
"distance": {
|
||||||
@ -238,7 +239,7 @@
|
|||||||
"name": {
|
"name": {
|
||||||
"inputPlaceHolder": "Inserisci un nome…",
|
"inputPlaceHolder": "Inserisci un nome…",
|
||||||
"title": "Nome",
|
"title": "Nome",
|
||||||
"tips": "Il nome deve essere composto da almeno 2 caratteri e non deve essere il nome di una telecamera o di un'altra zona."
|
"tips": "Il nome deve essere composto da almeno 2 caratteri, contenere almeno una lettera e non deve essere il nome di una telecamera o di un'altra zona."
|
||||||
},
|
},
|
||||||
"clickDrawPolygon": "Fai clic per disegnare un poligono sull'immagine.",
|
"clickDrawPolygon": "Fai clic per disegnare un poligono sull'immagine.",
|
||||||
"point_one": "{{count}} punto",
|
"point_one": "{{count}} punto",
|
||||||
@ -980,7 +981,9 @@
|
|||||||
},
|
},
|
||||||
"hikvision": {
|
"hikvision": {
|
||||||
"substreamWarning": "Il flusso 1 è bloccato a bassa risoluzione. Molte telecamere Hikvision supportano flussi aggiuntivi che devono essere abilitati nelle impostazioni della telecamera. Si consiglia di controllare e utilizzare tali flussi, se disponibili."
|
"substreamWarning": "Il flusso 1 è bloccato a bassa risoluzione. Molte telecamere Hikvision supportano flussi aggiuntivi che devono essere abilitati nelle impostazioni della telecamera. Si consiglia di controllare e utilizzare tali flussi, se disponibili."
|
||||||
}
|
},
|
||||||
|
"resolutionHigh": "Una risoluzione di {{resolution}} potrebbe causare un aumento dell'utilizzo delle risorse.",
|
||||||
|
"resolutionLow": "Una risoluzione di {{resolution}} potrebbe essere troppo bassa per un rilevamento affidabile di oggetti di piccole dimensioni."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"title": "Aggiungi telecamera",
|
"title": "Aggiungi telecamera",
|
||||||
@ -1035,11 +1038,16 @@
|
|||||||
"invalidCharacters": "Il nome della telecamera contiene caratteri non validi",
|
"invalidCharacters": "Il nome della telecamera contiene caratteri non validi",
|
||||||
"nameExists": "Il nome della telecamera esiste già",
|
"nameExists": "Il nome della telecamera esiste già",
|
||||||
"brands": {
|
"brands": {
|
||||||
"reolink-rtsp": "Reolink RTSP non è consigliato. Si consiglia di abilitare http nelle impostazioni della telecamera e riavviare la procedura guidata."
|
"reolink-rtsp": "Reolink RTSP non è consigliato. Abilita HTTP nelle impostazioni del firmware della telecamera e riavvia la procedura guidata."
|
||||||
}
|
},
|
||||||
|
"customUrlRtspRequired": "Gli URL personalizzati devono iniziare con \"rtsp://\". Per i flussi di telecamere non RTSP è richiesta la configurazione manuale."
|
||||||
},
|
},
|
||||||
"docs": {
|
"docs": {
|
||||||
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
||||||
|
},
|
||||||
|
"testing": {
|
||||||
|
"probingMetadata": "Analisi dei metadati della telecamera in corso...",
|
||||||
|
"fetchingSnapshot": "Recupero istantanea della telecamera in corso..."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"step2": {
|
"step2": {
|
||||||
|
|||||||
14
web/public/locales/ja/views/classificationModel.json
Normal file
14
web/public/locales/ja/views/classificationModel.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "分類モデル",
|
||||||
|
"button": {
|
||||||
|
"deleteImages": "画像を削除"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedImage": "削除された画像",
|
||||||
|
"categorizedImage": "画像の分類に成功しました",
|
||||||
|
"trainedModel": "モデルを正常に学習させました。",
|
||||||
|
"trainingModel": "モデルのトレーニングを正常に開始しました。"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"description": {
|
"description": {
|
||||||
"placeholder": "このコレクションの名前を入力",
|
"placeholder": "このコレクションの名前を入力",
|
||||||
"addFace": "顔データベースに新しいコレクションを追加する手順を案内します。",
|
"addFace": "最初の画像をアップロードして、フェイスライブラリに新しいコレクションを追加してください。",
|
||||||
"invalidName": "無効な名前です。名前に使用できるのは英数字、スペース、アポストロフィ、アンダースコア、ハイフンのみです。"
|
"invalidName": "無効な名前です。名前に使用できるのは英数字、スペース、アポストロフィ、アンダースコア、ハイフンのみです。"
|
||||||
},
|
},
|
||||||
"details": {
|
"details": {
|
||||||
|
|||||||
1
web/public/locales/ko/views/classificationModel.json
Normal file
1
web/public/locales/ko/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -366,7 +366,7 @@
|
|||||||
"busy_signal": "Užimtas Signalas",
|
"busy_signal": "Užimtas Signalas",
|
||||||
"dial_tone": "Numerio Rinkimo Tonas",
|
"dial_tone": "Numerio Rinkimo Tonas",
|
||||||
"telephone_dialing": "Telefono Rinkimas",
|
"telephone_dialing": "Telefono Rinkimas",
|
||||||
"ringtone": "Skambutis",
|
"ringtone": "Skambėjimo Tonas",
|
||||||
"telephone_bell_ringing": "Skamba Telefonas",
|
"telephone_bell_ringing": "Skamba Telefonas",
|
||||||
"alarm": "Signalizacija",
|
"alarm": "Signalizacija",
|
||||||
"computer_keyboard": "Kopiuterio Klaviatūra",
|
"computer_keyboard": "Kopiuterio Klaviatūra",
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"loginFailed": "Prisijungti nepavyko",
|
"loginFailed": "Prisijungti nepavyko",
|
||||||
"unknownError": "Nežinoma klaida. Patikrinkite įrašus.",
|
"unknownError": "Nežinoma klaida. Patikrinkite įrašus.",
|
||||||
"webUnknownError": "Nežinoma klaida. Patikrinkite konsolės įrašus."
|
"webUnknownError": "Nežinoma klaida. Patikrinkite konsolės įrašus."
|
||||||
}
|
},
|
||||||
|
"firstTimeLogin": "Bandote prisijungti pirmą kartą? Prisijungimo informaciją rasite Frigate loguose."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
64
web/public/locales/lt/views/classificationModel.json
Normal file
64
web/public/locales/lt/views/classificationModel.json
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Klasifikavimo Modeliai",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Trinti Klasisifikavimo Nuotraukas",
|
||||||
|
"renameCategory": "Pervadinti Klasę",
|
||||||
|
"deleteCategory": "Trinti Klasę",
|
||||||
|
"deleteImages": "Trinti Nuotraukas",
|
||||||
|
"trainModel": "Treniruoti Modelį"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "Ištrinta Klasę",
|
||||||
|
"deletedImage": "Ištrinti Nuotraukas",
|
||||||
|
"categorizedImage": "Sekmingai Klasifikuotas Nuotrauka",
|
||||||
|
"trainedModel": "Modelis sėkmingai apmokytas.",
|
||||||
|
"trainingModel": "Sėkmingai pradėtas modelio apmokymas."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "Nepavyko ištrinti:{{errorMessage}}",
|
||||||
|
"deleteCategoryFailed": "Nepavyko ištrinti klasės:{{errorMessage}}",
|
||||||
|
"categorizeFailed": "Nepavyko kategorizuoti nuotraukos:{{errorMessage}}",
|
||||||
|
"trainingFailed": "Nepavyko pradėti modelio apmokymo:{{errorMessage}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleteCategory": {
|
||||||
|
"title": "Trinti Klasę",
|
||||||
|
"desc": "Esate įsitikinę, norite ištrinti klasę {{name}}? Tai negrįžtamai ištrins visas susijusias nuotraukas ir reikės iš naujo apmokinti modelį."
|
||||||
|
},
|
||||||
|
"deleteDatasetImages": {
|
||||||
|
"title": "Ištrinti Imties Nuotraukas",
|
||||||
|
"desc": "Esate įsitikinę norite ištrinti {{count}} nautraukas iš {{dataset}}? Šis veiksmas negrįžtamas ir reikės iš naujo apmokinti modelį."
|
||||||
|
},
|
||||||
|
"deleteTrainImages": {
|
||||||
|
"title": "Ištrinti Apmokymo Nuotraukas",
|
||||||
|
"desc": "Ar esate įsitikinę, kad norite ištrinti {{count}} nuotraukas? Šis veiksmas negrįžtamas."
|
||||||
|
},
|
||||||
|
"renameCategory": {
|
||||||
|
"title": "Pervadinti Klasę",
|
||||||
|
"desc": "Įveskite naują vardą vietoje {{name}}. Jums reikės iš naujo apmokinti modelį, kad vardas įsigaliotų."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių."
|
||||||
|
},
|
||||||
|
"train": {
|
||||||
|
"title": "Pastarosios Klasifikacijos",
|
||||||
|
"aria": "Pasirinkti Pastarasias Klasifikacijas"
|
||||||
|
},
|
||||||
|
"categories": "Klasės",
|
||||||
|
"createCategory": {
|
||||||
|
"new": "Sukurti Naują Klasę"
|
||||||
|
},
|
||||||
|
"categorizeImageAs": "Klasifikuoti Nuotrauką Kaip:",
|
||||||
|
"categorizeImage": "Klasifikuoti Nuotrauką",
|
||||||
|
"noModels": {
|
||||||
|
"object": {
|
||||||
|
"title": "Nėra Objektų Klasifikavimo Modelių",
|
||||||
|
"description": "Sukurti individualų modelį ištrintų objektų klasifikavimui.",
|
||||||
|
"buttonText": "Sukurti Objekto Modelį"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"title": "Nėra Būklės Klasifikavimo Modelių"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -40,11 +40,13 @@
|
|||||||
"detail": {
|
"detail": {
|
||||||
"noDataFound": "Peržiūrai informacijos nėra",
|
"noDataFound": "Peržiūrai informacijos nėra",
|
||||||
"aria": "Perjungti į detalų vaizdą",
|
"aria": "Perjungti į detalų vaizdą",
|
||||||
"trackedObject_one": "sekami objektas",
|
"trackedObject_one": "objektas",
|
||||||
"trackedObject_other": "sekami objektai",
|
"trackedObject_other": "objektai",
|
||||||
"noObjectDetailData": "Nėra objekto detalių duomenų."
|
"noObjectDetailData": "Nėra objekto detalių duomenų.",
|
||||||
|
"label": "Detalės"
|
||||||
},
|
},
|
||||||
"objectTrack": {
|
"objectTrack": {
|
||||||
"trackedPoint": "Susektas taškas"
|
"trackedPoint": "Susektas taškas",
|
||||||
|
"clickToSeek": "Spustelkite perkelti į šį laiką"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"description": {
|
"description": {
|
||||||
"addFace": "Apžiūrėkite naujų kolekcijų pridėjimą prie Veidų Bibliotekos.",
|
"addFace": "Pridėkite naują kolekciją į Veidų Kolekciją įkeldami savo pirmą nuotrauką.",
|
||||||
"placeholder": "Įveskite pavadinimą šiai kolekcijai",
|
"placeholder": "Įveskite pavadinimą šiai kolekcijai",
|
||||||
"invalidName": "Netinkamas vardas. Vardai gali turėti tik raides, numerius, tarpus, apostrofus, pabraukimus ir brukšnelius."
|
"invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių."
|
||||||
},
|
},
|
||||||
"details": {
|
"details": {
|
||||||
"person": "Žmogus",
|
"person": "Žmogus",
|
||||||
@ -45,7 +45,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"createFaceLibrary": {
|
"createFaceLibrary": {
|
||||||
"nextSteps": "Kad sukurtumėte stiprų pagrindą:<li>Naudokite Apmokymų skirtuką pasirinkti ir paveikslėliais apmokyti kiekvieną aptiktą asmenį.</li><li>Norint pasiekti geriausią režultatą, susitelkite prie nuotraukų iš priekio; Venkite naudoti veidų nuotraukas kampu pasuktu veidu.</li></ul>",
|
"nextSteps": "Kad sukurtumėte stiprų pagrindą:<li>Naudokite Pastarieji Atpažinimai skirtuką pasirinkti ir paveikslėliais apmokyti kiekvieną aptiktą asmenį.</li><li>Norint pasiekti geriausią režultatą, susitelkite prie nuotraukų iš priekio; Venkite naudoti veidų nuotraukas kampu pasuktu veidu.</li></ul>",
|
||||||
"title": "Sukurti Kolekciją",
|
"title": "Sukurti Kolekciją",
|
||||||
"desc": "Sukurti naują kolekciją",
|
"desc": "Sukurti naują kolekciją",
|
||||||
"new": "Sukurti Naują Veidą"
|
"new": "Sukurti Naują Veidą"
|
||||||
@ -69,8 +69,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"title": "Traukinys",
|
"title": "Pastarieji Atpažinimai",
|
||||||
"aria": "Pasirinkti traukinį",
|
"aria": "Pasirinkti pastaruosius atpažinimus",
|
||||||
"empty": "Pastaruoju metu nebuvo atliktas veidų atpažinimas"
|
"empty": "Pastaruoju metu nebuvo atliktas veidų atpažinimas"
|
||||||
},
|
},
|
||||||
"selectFace": "Pasirinkti Veidą",
|
"selectFace": "Pasirinkti Veidą",
|
||||||
|
|||||||
@ -100,8 +100,8 @@
|
|||||||
"disable": "Paslėpti Transliacijos Stats"
|
"disable": "Paslėpti Transliacijos Stats"
|
||||||
},
|
},
|
||||||
"manualRecording": {
|
"manualRecording": {
|
||||||
"title": "Įrašymai pagal poreikį",
|
"title": "Pagal-Poreikį",
|
||||||
"tips": "Kurti manualaus saugojimo nustatymus pagal įvykius iš šios kameros.",
|
"tips": "Atsisiųsti momentinę nuotrauką arba kurti manualaus saugojimo nustatymus pagal įvykius iš šios kameros.",
|
||||||
"playInBackground": {
|
"playInBackground": {
|
||||||
"label": "Paleisti fone",
|
"label": "Paleisti fone",
|
||||||
"desc": "Įjungti šią funkciją kad transliaciją išliktų net paslėpus grotuvą."
|
"desc": "Įjungti šią funkciją kad transliaciją išliktų net paslėpus grotuvą."
|
||||||
@ -170,8 +170,14 @@
|
|||||||
"exitEdit": "Išeiti Iš Redagavimo"
|
"exitEdit": "Išeiti Iš Redagavimo"
|
||||||
},
|
},
|
||||||
"noCameras": {
|
"noCameras": {
|
||||||
"title": "Sukonfiguruotų Kamerų Nėra",
|
"title": "Nėra Sukonfiguruotų Kamerų",
|
||||||
"description": "Pradėti nuo kameros prijungimo.",
|
"description": "Pradėti nuo kameros prijungimo pire Frigate.",
|
||||||
"buttonText": "Pridėti Kamerą"
|
"buttonText": "Pridėti Kamerą"
|
||||||
|
},
|
||||||
|
"snapshot": {
|
||||||
|
"takeSnapshot": "Atsisiųsti momentinį kadrą",
|
||||||
|
"noVideoSource": "Momentinei nuotraukai nėra prieinamo video šaltinio.",
|
||||||
|
"captureFailed": "Nepavyko užfiksuoti kadro.",
|
||||||
|
"downloadStarted": "Momentinės nuotraukos atsisiuntimas pradėtas."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -234,7 +234,7 @@
|
|||||||
"name": {
|
"name": {
|
||||||
"title": "Pavadinimas",
|
"title": "Pavadinimas",
|
||||||
"inputPlaceHolder": "Įveskite pavadinimą …",
|
"inputPlaceHolder": "Įveskite pavadinimą …",
|
||||||
"tips": "Pavadinimas privalo būti bent 2 simboliai ir negali būti toks pat kaip kita kamera ar zona."
|
"tips": "Pavadinimas privalo būti bent 2 simboliai, privalo turėti bent vieną raidę ir negali būti toks pat kaip kita kamera ar zona."
|
||||||
},
|
},
|
||||||
"inertia": {
|
"inertia": {
|
||||||
"title": "Inercija",
|
"title": "Inercija",
|
||||||
@ -852,7 +852,7 @@
|
|||||||
"testFailed": "Transliacijos testas nepavyko: {{error}}"
|
"testFailed": "Transliacijos testas nepavyko: {{error}}"
|
||||||
},
|
},
|
||||||
"step1": {
|
"step1": {
|
||||||
"description": "Įveskite savo kameros informaciją ir testuokite prisijungimą",
|
"description": "Įveskite savo kameros informaciją ir testuokite prisijungimą.",
|
||||||
"cameraName": "Kameros Pavadinimas",
|
"cameraName": "Kameros Pavadinimas",
|
||||||
"cameraNamePlaceholder": "pvz., priekines_durys arba Galinio Kiemo Vaizdas",
|
"cameraNamePlaceholder": "pvz., priekines_durys arba Galinio Kiemo Vaizdas",
|
||||||
"host": "Host/IP Adresas",
|
"host": "Host/IP Adresas",
|
||||||
|
|||||||
@ -252,7 +252,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"back": "Gå tilbake"
|
"back": "Gå tilbake",
|
||||||
|
"hide": "Skjul {{item}}",
|
||||||
|
"show": "Vis {{item}}",
|
||||||
|
"ID": "ID"
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"copyUrlToClipboard": "Nettadresse kopiert til utklippstavlen.",
|
"copyUrlToClipboard": "Nettadresse kopiert til utklippstavlen.",
|
||||||
@ -284,5 +287,13 @@
|
|||||||
"readTheDocumentation": "Se dokumentasjonen",
|
"readTheDocumentation": "Se dokumentasjonen",
|
||||||
"information": {
|
"information": {
|
||||||
"pixels": "{{area}}piklser"
|
"pixels": "{{area}}piklser"
|
||||||
|
},
|
||||||
|
"field": {
|
||||||
|
"internalID": "Den interne ID-en som Frigate bruker i konfigurasjonen og databasen",
|
||||||
|
"optional": "Valgfritt"
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"two": "{{0}} og {{1}}",
|
||||||
|
"many": "{{items}}, og {{last}}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"loginFailed": "Innlogging mislyktes",
|
"loginFailed": "Innlogging mislyktes",
|
||||||
"unknownError": "Ukjent feil. Sjekk loggene.",
|
"unknownError": "Ukjent feil. Sjekk loggene.",
|
||||||
"webUnknownError": "Ukjent feil. Sjekk konsoll-loggene."
|
"webUnknownError": "Ukjent feil. Sjekk konsoll-loggene."
|
||||||
}
|
},
|
||||||
|
"firstTimeLogin": "Prøver du å logge inn for første gang? Påloggingsinformasjonen er skrevet ut i Frigate-loggene."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,7 +56,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"success": "Eksporten startet. Se filen i /exports-mappen.",
|
"success": "Eksport startet. Se filen på eksportsiden.",
|
||||||
"error": {
|
"error": {
|
||||||
"failed": "Klarte ikke å starte eksport: {{error}}",
|
"failed": "Klarte ikke å starte eksport: {{error}}",
|
||||||
"noVaildTimeSelected": "Ingen gyldig tidsperiode valgt",
|
"noVaildTimeSelected": "Ingen gyldig tidsperiode valgt",
|
||||||
@ -126,6 +126,7 @@
|
|||||||
"search": {
|
"search": {
|
||||||
"placeholder": "Søk etter (under-)merkelapp..."
|
"placeholder": "Søk etter (under-)merkelapp..."
|
||||||
},
|
},
|
||||||
"noImages": "Ingen miniatyrbilder funnet for dette kameraet"
|
"noImages": "Ingen miniatyrbilder funnet for dette kameraet",
|
||||||
|
"unknownLabel": "Lagret utløserbilde"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,9 +40,10 @@
|
|||||||
"detail": {
|
"detail": {
|
||||||
"noDataFound": "Ingen detaljer å inspisere",
|
"noDataFound": "Ingen detaljer å inspisere",
|
||||||
"aria": "Vis/skjul detaljvisning",
|
"aria": "Vis/skjul detaljvisning",
|
||||||
"trackedObject_one": "sporet objekt",
|
"trackedObject_one": "objekt",
|
||||||
"trackedObject_other": "sporede objekter",
|
"trackedObject_other": "objekter",
|
||||||
"noObjectDetailData": "Ingen detaljdata for objektet tilgjengelig."
|
"noObjectDetailData": "Ingen detaljdata for objektet tilgjengelig.",
|
||||||
|
"label": "Detalj"
|
||||||
},
|
},
|
||||||
"objectTrack": {
|
"objectTrack": {
|
||||||
"trackedPoint": "Sporingspunkt",
|
"trackedPoint": "Sporingspunkt",
|
||||||
|
|||||||
@ -188,6 +188,16 @@
|
|||||||
"audioTranscription": {
|
"audioTranscription": {
|
||||||
"label": "Transkriber",
|
"label": "Transkriber",
|
||||||
"aria": "Forespør lydtranskripsjon"
|
"aria": "Forespør lydtranskripsjon"
|
||||||
|
},
|
||||||
|
"showObjectDetails": {
|
||||||
|
"label": "Vis objektets sti"
|
||||||
|
},
|
||||||
|
"hideObjectDetails": {
|
||||||
|
"label": "Gjem objektets sti"
|
||||||
|
},
|
||||||
|
"viewTrackingDetails": {
|
||||||
|
"label": "Vis sporingsdetaljer",
|
||||||
|
"aria": "Vis sporingsdetaljene"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"searchResult": {
|
"searchResult": {
|
||||||
@ -209,7 +219,7 @@
|
|||||||
"dialog": {
|
"dialog": {
|
||||||
"confirmDelete": {
|
"confirmDelete": {
|
||||||
"title": "Bekreft sletting",
|
"title": "Bekreft sletting",
|
||||||
"desc": "Sletting av dette sporede objektet fjerner øyeblikksbildet, eventuelle lagrede vektorrepresentasjoner og alle tilknyttede livssykloppføringer for objektet. Opptak av dette sporede objektet i Historikk-visningen vil <em>IKKE</em> bli slettet.<br /><br />Er du sikker på at du vil fortsette?"
|
"desc": "Sletting av dette sporede objektet fjerner øyeblikksbildet, alle lagrede vektorrepresentasjoner og tilknyttede oppføringer for sporingsdetaljer. Opptak av dette objektet i Historikk-visningen vil <em>IKKE</em> bli slettet.<br /><br />Er du sikker på at du vil fortsette?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noTrackedObjects": "Fant ingen sporede objekter",
|
"noTrackedObjects": "Fant ingen sporede objekter",
|
||||||
@ -222,5 +232,53 @@
|
|||||||
},
|
},
|
||||||
"concerns": {
|
"concerns": {
|
||||||
"label": "Bekymringer"
|
"label": "Bekymringer"
|
||||||
|
},
|
||||||
|
"trackingDetails": {
|
||||||
|
"title": "Sporingsdetaljer",
|
||||||
|
"noImageFound": "Ingen bilder funnet for dette tidsstempelet.",
|
||||||
|
"createObjectMask": "Opprett objektmaske",
|
||||||
|
"adjustAnnotationSettings": "Juster annoteringsinnstillinger",
|
||||||
|
"scrollViewTips": "Rull for å se de viktige øyeblikkene i dette objektets livssyklus.",
|
||||||
|
"autoTrackingTips": "Posisjonene til avgrensningsboksene vil være unøyaktige for kameraer med automatisk sporing.",
|
||||||
|
"count": "{{first}} av {{second}}",
|
||||||
|
"trackedPoint": "Sporet punkt",
|
||||||
|
"lifecycleItemDesc": {
|
||||||
|
"visible": "{{label}} oppdaget",
|
||||||
|
"entered_zone": "{{label}} gikk inn i {{zones}}",
|
||||||
|
"active": "{{label}} ble aktiv",
|
||||||
|
"stationary": "{{label}} ble stasjonær",
|
||||||
|
"attribute": {
|
||||||
|
"faceOrLicense_plate": "{{attribute}} oppdaget for {{label}}",
|
||||||
|
"other": "{{label}} gjenkjent som {{attribute}}"
|
||||||
|
},
|
||||||
|
"gone": "{{label}} forsvant",
|
||||||
|
"heard": "{{label}} hørt",
|
||||||
|
"external": "{{label}} oppdaget",
|
||||||
|
"header": {
|
||||||
|
"zones": "Soner",
|
||||||
|
"ratio": "Forhold",
|
||||||
|
"area": "Område"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"annotationSettings": {
|
||||||
|
"title": "Annoteringsinnstillinger",
|
||||||
|
"showAllZones": {
|
||||||
|
"title": "Vis alle soner",
|
||||||
|
"desc": "Alltid vis soner på bilderammer der objekter har gått inn i en sone."
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"label": "Annoteringsforskyvning",
|
||||||
|
"desc": "Disse dataene kommer fra kameraets deteksjonsstrøm, men legges over bilder fra opptaksstrømmen. Det er usannsynlig at de to strømmene er perfekt synkronisert. Som et resultat vil avgrensningsboksen og opptaket ikke stemme perfekt overens. Feltet <code>annotation_offset</code> kan imidlertid brukes til å justere dette.",
|
||||||
|
"millisecondsToOffset": "Antall millisekunder deteksjonsannoteringene skal forskyves med. <em>Standard: 0</em>",
|
||||||
|
"tips": "TIPS: Se for deg et hendelsesklipp med en person som går fra venstre mot høyre. Hvis avgrensningsboksen på tidslinjen for hendelsen konsekvent er til venstre for personen, bør verdien reduseres. På samme måte, hvis en person går fra venstre mot høyre og avgrensningsboksen konsekvent er foran personen, bør verdien økes.",
|
||||||
|
"toast": {
|
||||||
|
"success": "Annoteringsforskyvning for {{camera}} er lagret i konfigurasjonsfilen. Start Frigate på nytt for å ta i bruk endringene."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"carousel": {
|
||||||
|
"previous": "Forrige lysbilde",
|
||||||
|
"next": "Neste lysbilde"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,5 +13,11 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"renameExportFailed": "Kunne ikke gi nytt navn til eksport: {{errorMessage}}"
|
"renameExportFailed": "Kunne ikke gi nytt navn til eksport: {{errorMessage}}"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"shareExport": "Del eksport",
|
||||||
|
"downloadVideo": "Last ned video",
|
||||||
|
"editName": "Rediger navn",
|
||||||
|
"deleteExport": "Slett eksport"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"selectItem": "Velg {{item}}",
|
"selectItem": "Velg {{item}}",
|
||||||
"description": {
|
"description": {
|
||||||
"addFace": "Gå gjennom prosessen med å legge til en ny samling i ansiktsbiblioteket.",
|
"addFace": "Legg til en ny samling i ansiktsbiblioteket ved å laste opp ditt første bilde.",
|
||||||
"placeholder": "Skriv inn et navn for denne samlingen",
|
"placeholder": "Skriv inn et navn for denne samlingen",
|
||||||
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrofer, understreker og bindestreker."
|
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek."
|
||||||
},
|
},
|
||||||
"details": {
|
"details": {
|
||||||
"person": "Person",
|
"person": "Person",
|
||||||
@ -20,11 +20,11 @@
|
|||||||
"new": "Opprett nytt ansikt",
|
"new": "Opprett nytt ansikt",
|
||||||
"title": "Opprett samling",
|
"title": "Opprett samling",
|
||||||
"desc": "Opprett en ny samling",
|
"desc": "Opprett en ny samling",
|
||||||
"nextSteps": "For å bygge et sterkt grunnlag:<li>Bruk Tren-fanen for å velge og trene på bilder for hver oppdaget person.</li><li>Fokuser på bilder rett forfra for best resultat; unngå å trene bilder som fanger ansikter i vinkel.</li></ul>"
|
"nextSteps": "For å bygge et sterkt grunnlag:<li>Bruk Nylige gjenkjennelser-fanen for å velge og trene på bilder for hver oppdaget person.</li><li>Fokuser på bilder rett forfra for best resultat; unngå å trene bilder som fanger ansikter i vinkel.</li></ul>"
|
||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"aria": "Velg tren",
|
"aria": "Velg nylige gjenkjennelser",
|
||||||
"title": "Tren",
|
"title": "Nylige gjenkjennelser",
|
||||||
"empty": "Det er ingen nylige forsøk på ansiktsgjenkjenning"
|
"empty": "Det er ingen nylige forsøk på ansiktsgjenkjenning"
|
||||||
},
|
},
|
||||||
"selectFace": "Velg ansikt",
|
"selectFace": "Velg ansikt",
|
||||||
|
|||||||
@ -62,7 +62,7 @@
|
|||||||
"disable": "Deaktiver automatisk sporing"
|
"disable": "Deaktiver automatisk sporing"
|
||||||
},
|
},
|
||||||
"manualRecording": {
|
"manualRecording": {
|
||||||
"tips": "Last ned et øyeblikksbilde umiddelbart, eller start en manuell hendelse basert på dette kameraets innstillinger for opptaksbevaring.",
|
"tips": "Last ned et øyeblikksbilde, eller start en manuell hendelse basert på dette kameraets innstillinger for opptaksbevaring.",
|
||||||
"playInBackground": {
|
"playInBackground": {
|
||||||
"label": "Spill av i bakgrunnen",
|
"label": "Spill av i bakgrunnen",
|
||||||
"desc": "Aktiver dette alternativet for å fortsette strømming når spilleren er skjult."
|
"desc": "Aktiver dette alternativet for å fortsette strømming når spilleren er skjult."
|
||||||
@ -170,5 +170,16 @@
|
|||||||
"transcription": {
|
"transcription": {
|
||||||
"enable": "Aktiver direkte lydtranskripsjon",
|
"enable": "Aktiver direkte lydtranskripsjon",
|
||||||
"disable": "Deaktiver direkte lydtranskripsjon"
|
"disable": "Deaktiver direkte lydtranskripsjon"
|
||||||
|
},
|
||||||
|
"snapshot": {
|
||||||
|
"noVideoSource": "Ingen videokilde tilgjengelig for øyeblikksbilde.",
|
||||||
|
"captureFailed": "Kunne ikke ta øyeblikksbilde.",
|
||||||
|
"downloadStarted": "Nedlasting av øyeblikksbilde startet.",
|
||||||
|
"takeSnapshot": "Last ned øyeblikksbilde"
|
||||||
|
},
|
||||||
|
"noCameras": {
|
||||||
|
"title": "Ingen kameraer konfigurert",
|
||||||
|
"description": "Kom i gang ved å koble et kamera til Frigate.",
|
||||||
|
"buttonText": "Legg til kamera"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -743,7 +743,7 @@
|
|||||||
"triggers": {
|
"triggers": {
|
||||||
"documentTitle": "Utløsere",
|
"documentTitle": "Utløsere",
|
||||||
"management": {
|
"management": {
|
||||||
"title": "Utløserhåndtering",
|
"title": "Utløser",
|
||||||
"desc": "Administrer utløsere for {{camera}}. Bruk miniatyrbilde-type for å utløse på lignende miniatyrbilder som det sporede objektet du har valgt, og beskrivelsestype for å utløse på lignende beskrivelser basert på teksten du spesifiserer."
|
"desc": "Administrer utløsere for {{camera}}. Bruk miniatyrbilde-type for å utløse på lignende miniatyrbilder som det sporede objektet du har valgt, og beskrivelsestype for å utløse på lignende beskrivelser basert på teksten du spesifiserer."
|
||||||
},
|
},
|
||||||
"addTrigger": "Legg til utløser",
|
"addTrigger": "Legg til utløser",
|
||||||
@ -782,25 +782,28 @@
|
|||||||
"form": {
|
"form": {
|
||||||
"name": {
|
"name": {
|
||||||
"title": "Navn",
|
"title": "Navn",
|
||||||
"placeholder": "Skriv inn navn på utløser",
|
"placeholder": "Navngi denne utløseren",
|
||||||
"error": {
|
"error": {
|
||||||
"minLength": "Navnet må være minst 2 tegn langt.",
|
"minLength": "Feltet må være minst 2 tegn langt.",
|
||||||
"invalidCharacters": "Navnet kan bare inneholde bokstaver, tall, understreker og bindestreker.",
|
"invalidCharacters": "Feltet kan bare inneholde bokstaver, tall, understreker og bindestreker.",
|
||||||
"alreadyExists": "En utløser med dette navnet finnes allerede for dette kameraet."
|
"alreadyExists": "En utløser med dette navnet finnes allerede for dette kameraet."
|
||||||
}
|
},
|
||||||
|
"description": "Skriv inn et unikt navn eller beskrivelse for å identifisere denne utløseren"
|
||||||
},
|
},
|
||||||
"enabled": {
|
"enabled": {
|
||||||
"description": "Aktiver eller deaktiver denne utløseren"
|
"description": "Aktiver eller deaktiver denne utløseren"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"title": "Type",
|
"title": "Type",
|
||||||
"placeholder": "Velg utløsertype"
|
"placeholder": "Velg utløsertype",
|
||||||
|
"description": "Utløs når en lignende sporet objektbeskrivelse blir detektert",
|
||||||
|
"thumbnail": "Utløs når et lignende sporet miniatyrbilde blir detektert"
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"title": "Innhold",
|
"title": "Innhold",
|
||||||
"imagePlaceholder": "Velg et bilde",
|
"imagePlaceholder": "Velg et miniatyrbilde",
|
||||||
"textPlaceholder": "Skriv inn tekstinnhold",
|
"textPlaceholder": "Skriv inn tekstinnhold",
|
||||||
"imageDesc": "Velg et bilde for å utløse denne handlingen når et lignende bilde oppdages.",
|
"imageDesc": "Kun de siste 100 miniatyrbildene vises. Hvis du ikke finner ønsket miniatyrbilde, kan du se gjennom tidligere objekter i Utforsk og opprette en utløser fra menyen der.",
|
||||||
"textDesc": "Skriv inn tekst for å utløse denne handlingen når en lignende beskrivelse av et sporet objekt oppdages.",
|
"textDesc": "Skriv inn tekst for å utløse denne handlingen når en lignende beskrivelse av et sporet objekt oppdages.",
|
||||||
"error": {
|
"error": {
|
||||||
"required": "Innhold er påkrevd."
|
"required": "Innhold er påkrevd."
|
||||||
@ -811,7 +814,8 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"min": "Terskelverdien må minst være 0",
|
"min": "Terskelverdien må minst være 0",
|
||||||
"max": "Terskelverdien kan maksimum være 1"
|
"max": "Terskelverdien kan maksimum være 1"
|
||||||
}
|
},
|
||||||
|
"desc": "Angi likhetsgrensen for denne utløseren. En høyere grense betyr at et høyere samsvar kreves for å utløse hendelsen."
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"title": "Handlinger",
|
"title": "Handlinger",
|
||||||
@ -842,6 +846,23 @@
|
|||||||
"semanticSearch": {
|
"semanticSearch": {
|
||||||
"title": "Semantisk søk er deaktivert",
|
"title": "Semantisk søk er deaktivert",
|
||||||
"desc": "Semantisk søk må aktiveres for å bruke utløsere."
|
"desc": "Semantisk søk må aktiveres for å bruke utløsere."
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Opprett utløser",
|
||||||
|
"step1": {
|
||||||
|
"description": "Konfigurer grunnleggende innstillinger for utløseren."
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Sett opp innholdet som skal utløse denne handlingen."
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"description": "Konfigurer terskelen og handlingene for denne utløseren."
|
||||||
|
},
|
||||||
|
"steps": {
|
||||||
|
"nameAndType": "Navn og type",
|
||||||
|
"configureData": "Konfigurer data",
|
||||||
|
"thresholdAndActions": "Terskel og handlinger"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"roles": {
|
"roles": {
|
||||||
@ -924,7 +945,7 @@
|
|||||||
},
|
},
|
||||||
"commonErrors": {
|
"commonErrors": {
|
||||||
"noUrl": "Vennligst oppgi en gyldig strøm-URL",
|
"noUrl": "Vennligst oppgi en gyldig strøm-URL",
|
||||||
"testFailed": "Strømtest feilet: {{error}}"
|
"testFailed": "Strømmetest feilet: {{error}}"
|
||||||
},
|
},
|
||||||
"step1": {
|
"step1": {
|
||||||
"description": "Skriv inn kameradetaljene dine og test tilkoblingen.",
|
"description": "Skriv inn kameradetaljene dine og test tilkoblingen.",
|
||||||
@ -939,29 +960,34 @@
|
|||||||
"selectTransport": "Velg transportprotokoll",
|
"selectTransport": "Velg transportprotokoll",
|
||||||
"cameraBrand": "Kameramerke",
|
"cameraBrand": "Kameramerke",
|
||||||
"selectBrand": "Velg kameramerke for URL-mal",
|
"selectBrand": "Velg kameramerke for URL-mal",
|
||||||
"customUrl": "Egendefinert strøm-URL",
|
"customUrl": "Egendefinert strømme-URL",
|
||||||
"brandInformation": "Merkeinformasjon",
|
"brandInformation": "Merkevare-informasjon",
|
||||||
"brandUrlFormat": "For kameraer med RTSP URL-format som: {{exampleUrl}}",
|
"brandUrlFormat": "For kameraer med RTSP URL-format som: {{exampleUrl}}",
|
||||||
"customUrlPlaceholder": "rtsp://brukernavn:passord@vert:port/sti",
|
"customUrlPlaceholder": "rtsp://brukernavn:passord@vert:port/sti",
|
||||||
"testConnection": "Test tilkobling",
|
"testConnection": "Test tilkobling",
|
||||||
"testSuccess": "Tilkoblingstesten var vellykket!",
|
"testSuccess": "Tilkoblingstesten var vellykket!",
|
||||||
"testFailed": "Tilkoblingstesten feilet. Vennligst sjekk informasjonen og prøv igjen.",
|
"testFailed": "Tilkoblingstesten feilet. Vennligst sjekk inntastingen din og prøv igjen.",
|
||||||
"streamDetails": "Strømdetaljer",
|
"streamDetails": "Strømdetaljer",
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"noSnapshot": "Kunne ikke hente et øyeblikksbilde fra den konfigurerte strømmen."
|
"noSnapshot": "Kunne ikke hente et øyeblikksbilde fra den konfigurerte strømmen."
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
"brandOrCustomUrlRequired": "Enten velg et kameramerke med vert/IP eller velg 'Annet' med en egendefinert URL.",
|
"brandOrCustomUrlRequired": "Enten velg et kameramerke med vert/IP eller velg 'Annet' med en egendefinert URL",
|
||||||
"nameRequired": "Kameranavn er påkrevd",
|
"nameRequired": "Kameranavn er påkrevd",
|
||||||
"nameLength": "Kameranavnet må være 64 tegn eller mindre.",
|
"nameLength": "Kameranavnet må være 64 tegn eller mindre",
|
||||||
"invalidCharacters": "Kameranavnet inneholder ugyldige tegn.",
|
"invalidCharacters": "Kameranavnet inneholder ugyldige tegn",
|
||||||
"nameExists": "Kameranavnet finnes allerede.",
|
"nameExists": "Kameranavnet finnes allerede",
|
||||||
"brands": {
|
"brands": {
|
||||||
"reolink-rtsp": "Reolink RTSP anbefales ikke. Det anbefales å aktivere http i kamerainnstillingene og starte kameraveiviseren på nytt."
|
"reolink-rtsp": "Reolink RTSP anbefales ikke. Aktiver HTTP i kameraets fastvare-innstillinger og start kameraveiviseren på nytt."
|
||||||
}
|
},
|
||||||
|
"customUrlRtspRequired": "Egendefinerte URL-er må begynne med \"rtsp://\". Manuell konfigurering kreves for kamerastrømmer som ikke bruker RTSP."
|
||||||
},
|
},
|
||||||
"docs": {
|
"docs": {
|
||||||
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
||||||
|
},
|
||||||
|
"testing": {
|
||||||
|
"probingMetadata": "Henter kamerametadata…",
|
||||||
|
"fetchingSnapshot": "Henter øyeblikksbilde for kamera..."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"step2": {
|
"step2": {
|
||||||
@ -984,14 +1010,14 @@
|
|||||||
"audio": "Lyd"
|
"audio": "Lyd"
|
||||||
},
|
},
|
||||||
"testStream": "Test tilkobling",
|
"testStream": "Test tilkobling",
|
||||||
"testSuccess": "Strømtesten var vellykket!",
|
"testSuccess": "Strømmetesten var vellykket!",
|
||||||
"testFailed": "Strømtesten feilet",
|
"testFailed": "Strømmetesten feilet",
|
||||||
"testFailedTitle": "Test feilet",
|
"testFailedTitle": "Test feilet",
|
||||||
"connected": "Tilkoblet",
|
"connected": "Tilkoblet",
|
||||||
"notConnected": "Ikke tilkoblet",
|
"notConnected": "Ikke tilkoblet",
|
||||||
"featuresTitle": "Funksjoner",
|
"featuresTitle": "Funksjoner",
|
||||||
"go2rtc": "Reduser tilkoblinger til kameraet",
|
"go2rtc": "Reduser tilkoblinger til kameraet",
|
||||||
"detectRoleWarning": "Minst én strøm må ha rollen «gjenkjenning» for å fortsette.",
|
"detectRoleWarning": "Minst én strøm må ha rollen «deteksjon» for å fortsette.",
|
||||||
"rolesPopover": {
|
"rolesPopover": {
|
||||||
"title": "Strømroller",
|
"title": "Strømroller",
|
||||||
"detect": "Hovedstrøm for objektdeteksjon.",
|
"detect": "Hovedstrøm for objektdeteksjon.",
|
||||||
@ -1009,8 +1035,8 @@
|
|||||||
"connectAllStreams": "Koble til alle strømmer",
|
"connectAllStreams": "Koble til alle strømmer",
|
||||||
"reconnectionSuccess": "Gjenoppkobling vellykket.",
|
"reconnectionSuccess": "Gjenoppkobling vellykket.",
|
||||||
"reconnectionPartial": "Noen strømmer kunne ikke gjenoppkobles.",
|
"reconnectionPartial": "Noen strømmer kunne ikke gjenoppkobles.",
|
||||||
"streamUnavailable": "Forhåndsvisning av strøm utilgjengelig.",
|
"streamUnavailable": "Forhåndsvisning av strøm utilgjengelig",
|
||||||
"reload": "Last på nytt",
|
"reload": "Last inn på nytt",
|
||||||
"connecting": "Kobler til...",
|
"connecting": "Kobler til...",
|
||||||
"streamTitle": "Strøm {{number}}",
|
"streamTitle": "Strøm {{number}}",
|
||||||
"valid": "Gyldig",
|
"valid": "Gyldig",
|
||||||
@ -1023,8 +1049,8 @@
|
|||||||
"roles": "Roller",
|
"roles": "Roller",
|
||||||
"none": "Ingen",
|
"none": "Ingen",
|
||||||
"error": "Feil",
|
"error": "Feil",
|
||||||
"streamValidated": "Strøm {{number}} ble validert.",
|
"streamValidated": "Strøm {{number}} ble validert",
|
||||||
"streamValidationFailed": "Validering av strøm {{number}} feilet.",
|
"streamValidationFailed": "Validering av strøm {{number}} feilet",
|
||||||
"saveAndApply": "Lagre nytt kamera",
|
"saveAndApply": "Lagre nytt kamera",
|
||||||
"saveError": "Ugyldig konfigurasjon. Vennligst sjekk innstillingene dine.",
|
"saveError": "Ugyldig konfigurasjon. Vennligst sjekk innstillingene dine.",
|
||||||
"issues": {
|
"issues": {
|
||||||
@ -1032,7 +1058,7 @@
|
|||||||
"videoCodecGood": "Video-kodek er {{codec}}.",
|
"videoCodecGood": "Video-kodek er {{codec}}.",
|
||||||
"audioCodecGood": "Lyd-kodek er {{codec}}.",
|
"audioCodecGood": "Lyd-kodek er {{codec}}.",
|
||||||
"noAudioWarning": "Ingen lyd oppdaget for denne strømmen, opptak vil ikke ha lyd.",
|
"noAudioWarning": "Ingen lyd oppdaget for denne strømmen, opptak vil ikke ha lyd.",
|
||||||
"audioCodecRecordError": "AAC lyd-kodeken er påkrevd for å støtte lyd i opptak.",
|
"audioCodecRecordError": "AAC lyd-kodek er påkrevd for å støtte lyd i opptak.",
|
||||||
"audioCodecRequired": "En lydstrøm er påkrevd for å støtte lyddeteksjon.",
|
"audioCodecRequired": "En lydstrøm er påkrevd for å støtte lyddeteksjon.",
|
||||||
"restreamingWarning": "Å redusere tilkoblinger til kameraet for opptaksstrømmen kan øke CPU-bruken noe.",
|
"restreamingWarning": "Å redusere tilkoblinger til kameraet for opptaksstrømmen kan øke CPU-bruken noe.",
|
||||||
"dahua": {
|
"dahua": {
|
||||||
@ -1040,7 +1066,9 @@
|
|||||||
},
|
},
|
||||||
"hikvision": {
|
"hikvision": {
|
||||||
"substreamWarning": "Substrøm 1 er låst til lav oppløsning. Mange Hikvision-kameraer støtter flere substrømmer som må aktiveres i kameraets innstillinger. Det anbefales å sjekke og benytte disse strømmene hvis de er tilgjengelige."
|
"substreamWarning": "Substrøm 1 er låst til lav oppløsning. Mange Hikvision-kameraer støtter flere substrømmer som må aktiveres i kameraets innstillinger. Det anbefales å sjekke og benytte disse strømmene hvis de er tilgjengelige."
|
||||||
}
|
},
|
||||||
|
"resolutionHigh": "En oppløsning på {{resolution}} kan føre til økt ressursbruk.",
|
||||||
|
"resolutionLow": "En oppløsning på {{resolution}} kan være for lav for pålitelig deteksjon av små objekter."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1051,17 +1079,17 @@
|
|||||||
"selectCamera": "Velg et kamera",
|
"selectCamera": "Velg et kamera",
|
||||||
"backToSettings": "Tilbake til kamerainnstillinger",
|
"backToSettings": "Tilbake til kamerainnstillinger",
|
||||||
"streams": {
|
"streams": {
|
||||||
"title": "Strømmer",
|
"title": "Aktiver / Deaktiver kameraer",
|
||||||
"desc": "Midlertidig deaktiver et kamera til Frigate startes på nytt. Deaktivering av et kamera stopper Frigates behandling av dette kameraets strømmer fullstendig. Deteksjon, opptak og feilsøking vil være utilgjengelig.<br /> <em>Merk: Dette deaktiverer ikke go2rtc-restrømming.</em>"
|
"desc": "Midlertidig deaktiver et kamera til Frigate startes på nytt. Deaktivering av et kamera stopper Frigates behandling av dette kameraets strømmer fullstendig. Deteksjon, opptak og feilsøking vil være utilgjengelig.<br /> <em>Merk: Dette deaktiverer ikke go2rtc-restrømming.</em>"
|
||||||
},
|
},
|
||||||
"cameraConfig": {
|
"cameraConfig": {
|
||||||
"add": "Legg til kamera",
|
"add": "Legg til kamera",
|
||||||
"edit": "Rediger kamera",
|
"edit": "Rediger kamera",
|
||||||
"description": "Konfigurer kamerainnstillinger, inkludert strømmeinnganger og roller.",
|
"description": "Konfigurer kamerainnstillinger, inkludert strømmeinnganger og roller.",
|
||||||
"name": "Kamera navn",
|
"name": "Kameranavn",
|
||||||
"nameRequired": "Kamera navn er påkrevd",
|
"nameRequired": "Kameranavn er påkrevd",
|
||||||
"nameLength": "Kameranavnet må være mindre enn 64 tegn.",
|
"nameLength": "Kameranavnet må være mindre enn 64 tegn.",
|
||||||
"namePlaceholder": "f.eks front_dør",
|
"namePlaceholder": "f.eks front_dor eller Hage Oversikt",
|
||||||
"enabled": "Aktivert",
|
"enabled": "Aktivert",
|
||||||
"ffmpeg": {
|
"ffmpeg": {
|
||||||
"inputs": "Inngangsstrømmer",
|
"inputs": "Inngangsstrømmer",
|
||||||
@ -1070,13 +1098,13 @@
|
|||||||
"pathPlaceholder": "rtsp://...",
|
"pathPlaceholder": "rtsp://...",
|
||||||
"roles": "Roller",
|
"roles": "Roller",
|
||||||
"rolesRequired": "Minst én rolle er påkrevd",
|
"rolesRequired": "Minst én rolle er påkrevd",
|
||||||
"rolesUnique": "Hver rolle (lyd, gjenkjenning, opptak) kan bare tildeles én strøm",
|
"rolesUnique": "Hver rolle (lyd, deteksjon, opptak) kan bare tildeles én strøm",
|
||||||
"addInput": "Legg til inngangsstrøm",
|
"addInput": "Legg til inngangsstrøm",
|
||||||
"removeInput": "Fjern inngangsstrøm",
|
"removeInput": "Fjern inngangsstrøm",
|
||||||
"inputsRequired": "Minst én inngangsstrøm er påkrevd"
|
"inputsRequired": "Minst én inngangsstrøm er påkrevd"
|
||||||
},
|
},
|
||||||
"go2rtcStreams": "go2rtc-strømmer",
|
"go2rtcStreams": "go2rtc-strømmer",
|
||||||
"streamUrls": "Strøm-URLer",
|
"streamUrls": "Strøm-URL'er",
|
||||||
"addUrl": "Legg til URL",
|
"addUrl": "Legg til URL",
|
||||||
"addGo2rtcStream": "Legg til go2rtc-strøm",
|
"addGo2rtcStream": "Legg til go2rtc-strøm",
|
||||||
"toast": {
|
"toast": {
|
||||||
@ -1104,13 +1132,13 @@
|
|||||||
"title": "Inspeksjonssklassifisering",
|
"title": "Inspeksjonssklassifisering",
|
||||||
"desc": "Frigate kategoriserer inspeksjonselementer som Varsler og Deteksjoner. Som standard regnes alle <em>person</em>- og <em>bil</em>-objekter som Varsler. Du kan finjustere klassifiseringen ved å konfigurere nødvendige soner.",
|
"desc": "Frigate kategoriserer inspeksjonselementer som Varsler og Deteksjoner. Som standard regnes alle <em>person</em>- og <em>bil</em>-objekter som Varsler. Du kan finjustere klassifiseringen ved å konfigurere nødvendige soner.",
|
||||||
"noDefinedZones": "Ingen soner er definert for dette kameraet.",
|
"noDefinedZones": "Ingen soner er definert for dette kameraet.",
|
||||||
"objectAlertsTips": "Alle {{alertsLabels}}-objekter på {{cameraName}} vises som varsler.",
|
"objectAlertsTips": "Alle {{alertsLabels}}-objekter på {{cameraName}} vil bli vist som varsler.",
|
||||||
"zoneObjectAlertsTips": "Alle {{alertsLabels}}-objekter oppdaget i {{zone}} på {{cameraName}} vises som varsler.",
|
"zoneObjectAlertsTips": "Alle {{alertsLabels}}-objekter oppdaget i {{zone}} på {{cameraName}} vil bli vist som varsler.",
|
||||||
"objectDetectionsTips": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert på {{cameraName}}, vises som deteksjoner uavhengig av sone.",
|
"objectDetectionsTips": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert på {{cameraName}}, vil bli vist som deteksjoner uavhengig av hvilken sone de er i.",
|
||||||
"zoneObjectDetectionsTips": {
|
"zoneObjectDetectionsTips": {
|
||||||
"text": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert i {{zone}} på {{cameraName}}, vises som deteksjoner.",
|
"text": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert i {{zone}} på {{cameraName}}, vil bli vist som deteksjoner.",
|
||||||
"notSelectDetections": "Alle {{detectionsLabels}}-objekter oppdaget i {{zone}} på {{cameraName}} som ikke er kategorisert som Varsler, vises som deteksjoner uavhengig av sone.",
|
"notSelectDetections": "Alle {{detectionsLabels}}-objekter oppdaget i {{zone}} på {{cameraName}} som ikke er kategorisert som varsler, vil bli vist som deteksjoner uavhengig av hvilken sone de er i.",
|
||||||
"regardlessOfZoneObjectDetectionsTips": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert på {{cameraName}}, vises som deteksjoner uavhengig av sone."
|
"regardlessOfZoneObjectDetectionsTips": "Alle {{detectionsLabels}}-objekter som ikke er kategorisert på {{cameraName}}, vil bli vist som deteksjoner uavhengig av hvilken sone de er i."
|
||||||
},
|
},
|
||||||
"unsavedChanges": "Ulagrede innstillinger for inspeksjonsklassifisering for {{camera}}",
|
"unsavedChanges": "Ulagrede innstillinger for inspeksjonsklassifisering for {{camera}}",
|
||||||
"selectAlertsZones": "Velg soner for varsler",
|
"selectAlertsZones": "Velg soner for varsler",
|
||||||
|
|||||||
@ -118,7 +118,7 @@
|
|||||||
"fetching": "Henter kameradata",
|
"fetching": "Henter kameradata",
|
||||||
"stream": "Strøm {{idx}}",
|
"stream": "Strøm {{idx}}",
|
||||||
"video": "Video:",
|
"video": "Video:",
|
||||||
"fps": "Bilder per sekund:",
|
"fps": "FPS:",
|
||||||
"unknown": "Ukjent",
|
"unknown": "Ukjent",
|
||||||
"tips": {
|
"tips": {
|
||||||
"title": "Kamerainformasjon"
|
"title": "Kamerainformasjon"
|
||||||
|
|||||||
135
web/public/locales/nb_NO/views/classificationModel.json
Normal file
135
web/public/locales/nb_NO/views/classificationModel.json
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Klassifiseringsmodeller",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Slett klassifiseringsbilder",
|
||||||
|
"renameCategory": "Gi nytt navn til kategori",
|
||||||
|
"deleteCategory": "Slett kategori",
|
||||||
|
"deleteImages": "Slett bilder",
|
||||||
|
"trainModel": "Tren modell"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "Kategori slettet",
|
||||||
|
"deletedImage": "Bilder slettet",
|
||||||
|
"categorizedImage": "Bildet ble klassifisert",
|
||||||
|
"trainedModel": "Modellen ble trent.",
|
||||||
|
"trainingModel": "Modelltrening startet."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "Kunne ikke slette: {{errorMessage}}",
|
||||||
|
"deleteCategoryFailed": "Kunne ikke slette kategori: {{errorMessage}}",
|
||||||
|
"categorizeFailed": "Kunne ikke klassifisere bilde: {{errorMessage}}",
|
||||||
|
"trainingFailed": "Kunne ikke starte modelltrening: {{errorMessage}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleteCategory": {
|
||||||
|
"title": "Slett kategori",
|
||||||
|
"desc": "Er du sikker på at du vil slette kategorien {{name}}? Dette vil permanent slette alle tilknyttede bilder og kreve at modellen trenes på nytt."
|
||||||
|
},
|
||||||
|
"deleteDatasetImages": {
|
||||||
|
"title": "Slett datasettbilder",
|
||||||
|
"desc": "Er du sikker på at du vil slette {{count}} bilder fra {{dataset}}? Denne handlingen kan ikke angres og krever at modellen trenes på nytt."
|
||||||
|
},
|
||||||
|
"deleteTrainImages": {
|
||||||
|
"title": "Slett treningsbilder",
|
||||||
|
"desc": "Er du sikker på at du vil slette {{count}} bilder? Denne handlingen kan ikke angres."
|
||||||
|
},
|
||||||
|
"renameCategory": {
|
||||||
|
"title": "Gi nytt navn til kategori",
|
||||||
|
"desc": "Skriv inn et nytt navn for {{name}}. Du må trene modellen på nytt for at navneendringen skal tre i kraft."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek."
|
||||||
|
},
|
||||||
|
"train": {
|
||||||
|
"title": "Nylige klassifiseringer",
|
||||||
|
"aria": "Velg nylige klassifiseringer"
|
||||||
|
},
|
||||||
|
"categories": "Kategorier",
|
||||||
|
"createCategory": {
|
||||||
|
"new": "Opprett ny kategori"
|
||||||
|
},
|
||||||
|
"categorizeImageAs": "Klassifiser bilde som:",
|
||||||
|
"categorizeImage": "Klassifiser bilde",
|
||||||
|
"noModels": {
|
||||||
|
"object": {
|
||||||
|
"title": "Ingen objektklassifiseringsmodeller",
|
||||||
|
"description": "Opprett en tilpasset modell for å klassifisere oppdagede objekter.",
|
||||||
|
"buttonText": "Opprett objektmodell"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"title": "Ingen tilstandsklassifiseringsmodeller",
|
||||||
|
"description": "Opprett en tilpasset modell for å overvåke og klassifisere tilstandsendringer i spesifikke kamerasoner.",
|
||||||
|
"buttonText": "Opprett tilstandsmodell"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Opprett ny klassifisering",
|
||||||
|
"steps": {
|
||||||
|
"nameAndDefine": "Navn og definér",
|
||||||
|
"stateArea": "Tilstandsområde",
|
||||||
|
"chooseExamples": "Velg eksempler"
|
||||||
|
},
|
||||||
|
"step1": {
|
||||||
|
"description": "Tilstandsmodeller overvåker faste kamerasoner for endringer (f.eks. dør åpen/lukket). Objektmodeller legger til klassifiseringer for oppdagede objekter (f.eks. kjente dyr, bud, osv.).",
|
||||||
|
"name": "Navn",
|
||||||
|
"namePlaceholder": "Skriv inn modellnavn...",
|
||||||
|
"type": "Type",
|
||||||
|
"typeState": "Tilstand",
|
||||||
|
"typeObject": "Objekt",
|
||||||
|
"objectLabel": "Objektetikett",
|
||||||
|
"objectLabelPlaceholder": "Velg objekttype...",
|
||||||
|
"classificationType": "Klassifiseringstype",
|
||||||
|
"classificationTypeTip": "Lær om klassifiseringstyper",
|
||||||
|
"classificationTypeDesc": "Underetiketter legger til ekstra tekst på objektetiketten (f.eks. 'Person: Posten'). Attributter er søkbare metadata som lagres separat i objektets metadata.",
|
||||||
|
"classificationSubLabel": "Underetikett",
|
||||||
|
"classificationAttribute": "Attributt",
|
||||||
|
"classes": "Kategorier",
|
||||||
|
"classesTip": "Lær om kategorier",
|
||||||
|
"classesStateDesc": "Definer de ulike tilstandene kamerasonen kan være i. For eksempel: 'åpen' og 'lukket' for en garasjeport.",
|
||||||
|
"classesObjectDesc": "Definer kategoriene du vil klassifisere oppdagede objekter i. For eksempel: 'bud', 'beboer', 'fremmed' for personklassifisering.",
|
||||||
|
"classPlaceholder": "Skriv inn kategorinavn...",
|
||||||
|
"errors": {
|
||||||
|
"nameRequired": "Modellnavn er påkrevd",
|
||||||
|
"nameLength": "Modellnavn må være på 64 tegn eller mindre",
|
||||||
|
"nameOnlyNumbers": "Modellnavn kan ikke bare inneholde tall",
|
||||||
|
"classRequired": "Minst én kategori er påkrevd",
|
||||||
|
"classesUnique": "Kategorinavn må være unike",
|
||||||
|
"stateRequiresTwoClasses": "Tilstandsmodeller krever minst to kategorier",
|
||||||
|
"objectLabelRequired": "Velg en objektetikett",
|
||||||
|
"objectTypeRequired": "Velg en klassifiseringstype"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Velg kameraer og definer området som skal overvåkes for hvert kamera. Modellen vil klassifisere tilstanden til disse områdene.",
|
||||||
|
"cameras": "Kameraer",
|
||||||
|
"selectCamera": "Velg kamera",
|
||||||
|
"noCameras": "Klikk + for å legge til kameraer",
|
||||||
|
"selectCameraPrompt": "Velg et kamera fra listen for å definere overvåkingsområdet"
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"selectImagesPrompt": "Velg alle bilder med: {{className}}",
|
||||||
|
"selectImagesDescription": "Klikk på bilder for å velge dem. Klikk Fortsett når du er ferdig med denne kategorien.",
|
||||||
|
"generating": {
|
||||||
|
"title": "Genererer eksempelbilder",
|
||||||
|
"description": "Frigate henter representative bilder fra opptakene dine. Dette kan ta litt tid..."
|
||||||
|
},
|
||||||
|
"training": {
|
||||||
|
"title": "Trener modell",
|
||||||
|
"description": "Modellen din trenes i bakgrunnen. Lukk dette vinduet, så starter modellen når treningen er ferdig."
|
||||||
|
},
|
||||||
|
"retryGenerate": "Prøv å generere på nytt",
|
||||||
|
"noImages": "Ingen eksempelbilder generert",
|
||||||
|
"classifying": "Klassifiserer og trener...",
|
||||||
|
"trainingStarted": "Trening startet",
|
||||||
|
"errors": {
|
||||||
|
"noCameras": "Ingen kameraer konfigurert",
|
||||||
|
"noObjectLabel": "Ingen objektetikett valgt",
|
||||||
|
"generateFailed": "Kunne ikke generere eksempler: {{error}}",
|
||||||
|
"generationFailed": "Generering mislyktes. Prøv igjen.",
|
||||||
|
"classifyFailed": "Kunne ikke klassifisere bilder: {{error}}"
|
||||||
|
},
|
||||||
|
"generateSuccess": "Eksempelbilder ble generert"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -16,7 +16,7 @@
|
|||||||
"snoring": "Snurken",
|
"snoring": "Snurken",
|
||||||
"gasp": "Snakken naar adem",
|
"gasp": "Snakken naar adem",
|
||||||
"pant": "Hijgen",
|
"pant": "Hijgen",
|
||||||
"snort": "Snorren",
|
"snort": "Snuiven",
|
||||||
"sneeze": "Niezen",
|
"sneeze": "Niezen",
|
||||||
"shuffle": "Schudden",
|
"shuffle": "Schudden",
|
||||||
"footsteps": "Voetstappen",
|
"footsteps": "Voetstappen",
|
||||||
@ -495,7 +495,7 @@
|
|||||||
"echo": "Echo",
|
"echo": "Echo",
|
||||||
"noise": "Lawaai",
|
"noise": "Lawaai",
|
||||||
"mains_hum": "Netstroomgezoe",
|
"mains_hum": "Netstroomgezoe",
|
||||||
"distortion": "Distortion",
|
"distortion": "Vervorming",
|
||||||
"sidetone": "Zijtoon",
|
"sidetone": "Zijtoon",
|
||||||
"cacophony": "Kakofonie",
|
"cacophony": "Kakofonie",
|
||||||
"throbbing": "Bonzend",
|
"throbbing": "Bonzend",
|
||||||
|
|||||||
@ -139,7 +139,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"back": "Ga terug"
|
"back": "Ga terug",
|
||||||
|
"hide": "Verberg {{item}}",
|
||||||
|
"show": "Toon {{item}}",
|
||||||
|
"ID": "ID"
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"system": "Systeem",
|
"system": "Systeem",
|
||||||
@ -284,5 +287,13 @@
|
|||||||
"readTheDocumentation": "Lees de documentatie",
|
"readTheDocumentation": "Lees de documentatie",
|
||||||
"information": {
|
"information": {
|
||||||
"pixels": "{{area}}px"
|
"pixels": "{{area}}px"
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"two": "{{0}} en {{1}}",
|
||||||
|
"many": "{{items}}, en {{last}}"
|
||||||
|
},
|
||||||
|
"field": {
|
||||||
|
"optional": "Optioneel",
|
||||||
|
"internalID": "De interne ID die Frigate gebruikt in de configuratie en database"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"unknownError": "Onbekende fout. Bekijk de logs.",
|
"unknownError": "Onbekende fout. Bekijk de logs.",
|
||||||
"webUnknownError": "Onbekende fout. Controleer consolelogboeken."
|
"webUnknownError": "Onbekende fout. Controleer consolelogboeken."
|
||||||
},
|
},
|
||||||
"user": "Gebruikersnaam"
|
"user": "Gebruikersnaam",
|
||||||
|
"firstTimeLogin": "Probeer je voor het eerst in te loggen? De inloggegevens staan vermeld in de Frigate-logs."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
"plus": {
|
"plus": {
|
||||||
"submitToPlus": {
|
"submitToPlus": {
|
||||||
"label": "Verzenden naar Frigate+",
|
"label": "Verzenden naar Frigate+",
|
||||||
"desc": "Objecten op locaties die je wilt vermijden, zijn geen valspositieven. Als je ze als valspositieven indient, brengt dit het model in verwarring."
|
"desc": "Objecten op locaties die je wilt vermijden, zijn geen vals-positieven. Als je ze als vals-positieven indient, brengt dit het model in verwarring."
|
||||||
},
|
},
|
||||||
"review": {
|
"review": {
|
||||||
"true": {
|
"true": {
|
||||||
@ -42,7 +42,7 @@
|
|||||||
},
|
},
|
||||||
"export": {
|
"export": {
|
||||||
"time": {
|
"time": {
|
||||||
"fromTimeline": "Selecteer uit tijdlijn",
|
"fromTimeline": "Selecteer uit Tijdlijn",
|
||||||
"end": {
|
"end": {
|
||||||
"label": "Selecteer eindtijd",
|
"label": "Selecteer eindtijd",
|
||||||
"title": "Eindtijd"
|
"title": "Eindtijd"
|
||||||
@ -65,7 +65,7 @@
|
|||||||
"noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd",
|
"noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd",
|
||||||
"endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn"
|
"endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn"
|
||||||
},
|
},
|
||||||
"success": "Export is succesvol gestart. Bekijk het bestand in de map /exports."
|
"success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina."
|
||||||
},
|
},
|
||||||
"fromTimeline": {
|
"fromTimeline": {
|
||||||
"saveExport": "Export opslaan",
|
"saveExport": "Export opslaan",
|
||||||
@ -105,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
"recording": {
|
"recording": {
|
||||||
"button": {
|
"button": {
|
||||||
"deleteNow": "Nu verwijderen",
|
"deleteNow": "Verwijder nu",
|
||||||
"export": "Exporteren",
|
"export": "Exporteren",
|
||||||
"markAsReviewed": "Markeren als beoordeeld",
|
"markAsReviewed": "Markeren als beoordeeld",
|
||||||
"markAsUnreviewed": "Markeren als niet beoordeeld"
|
"markAsUnreviewed": "Markeren als niet beoordeeld"
|
||||||
@ -122,10 +122,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"imagePicker": {
|
"imagePicker": {
|
||||||
"selectImage": "Kies thumbnail van gevolgd object",
|
"selectImage": "Kies miniatuur van gevolgd object",
|
||||||
"noImages": "Geen thumbnails gevonden voor deze camera",
|
"noImages": "Geen miniaturen gevonden voor deze camera",
|
||||||
"search": {
|
"search": {
|
||||||
"placeholder": "Zoeken op label of sub label..."
|
"placeholder": "Zoeken op label of sub label..."
|
||||||
}
|
},
|
||||||
|
"unknownLabel": "Opgeslagen triggerafbeelding"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
"traffic_light": "Verkeerslicht",
|
"traffic_light": "Verkeerslicht",
|
||||||
"street_sign": "Verkeersbord",
|
"street_sign": "Verkeersbord",
|
||||||
"stop_sign": "Stopbord",
|
"stop_sign": "Stopbord",
|
||||||
"parking_meter": "Parkeer Meter",
|
"parking_meter": "Parkeermeter",
|
||||||
"bench": "Bankje",
|
"bench": "Bankje",
|
||||||
"cow": "Koe",
|
"cow": "Koe",
|
||||||
"giraffe": "Giraffe",
|
"giraffe": "Giraffe",
|
||||||
|
|||||||
135
web/public/locales/nl/views/classificationModel.json
Normal file
135
web/public/locales/nl/views/classificationModel.json
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Classificatiemodellen",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Classificatieafbeeldingen verwijderen",
|
||||||
|
"renameCategory": "Klasse hernoemen",
|
||||||
|
"deleteCategory": "Klasse verwijderen",
|
||||||
|
"deleteImages": "Afbeeldingen verwijderen",
|
||||||
|
"trainModel": "Model trainen"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"success": {
|
||||||
|
"deletedCategory": "Verwijderde klasse",
|
||||||
|
"deletedImage": "Verwijderde afbeeldingen",
|
||||||
|
"categorizedImage": "Succesvol geclassificeerde afbeelding",
|
||||||
|
"trainedModel": "Succesvol getraind model.",
|
||||||
|
"trainingModel": "Modeltraining succesvol gestart."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"deleteImageFailed": "Verwijderen mislukt: {{errorMessage}}",
|
||||||
|
"deleteCategoryFailed": "Het verwijderen van de klasse is mislukt: {{errorMessage}}",
|
||||||
|
"categorizeFailed": "Afbeelding categoriseren mislukt: {{errorMessage}}",
|
||||||
|
"trainingFailed": "Het starten van de modeltraining is mislukt: {{errorMessage}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleteCategory": {
|
||||||
|
"title": "Klasse verwijderen",
|
||||||
|
"desc": "Weet je zeker dat je de klasse {{name}} wilt verwijderen? Hiermee worden alle bijbehorende afbeeldingen permanent verwijderd en moet het model opnieuw worden getraind."
|
||||||
|
},
|
||||||
|
"deleteDatasetImages": {
|
||||||
|
"title": "Datasetafbeeldingen verwijderen",
|
||||||
|
"desc": "Weet u zeker dat u {{count}} afbeeldingen uit {{dataset}} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt en vereist een hertraining van het model."
|
||||||
|
},
|
||||||
|
"deleteTrainImages": {
|
||||||
|
"title": "Trainingsafbeeldingen verwijderen",
|
||||||
|
"desc": "Weet je zeker dat je {{count}} afbeeldingen wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt."
|
||||||
|
},
|
||||||
|
"renameCategory": {
|
||||||
|
"title": "Klasse hernoemen",
|
||||||
|
"desc": "Voer een nieuwe naam in voor {{name}}. U moet het model opnieuw trainen om de naamswijziging door te voeren."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
|
||||||
|
},
|
||||||
|
"train": {
|
||||||
|
"title": "Recente classificaties",
|
||||||
|
"aria": "Selecteer recente classificaties"
|
||||||
|
},
|
||||||
|
"categories": "Klassen",
|
||||||
|
"createCategory": {
|
||||||
|
"new": "Nieuwe klasse maken"
|
||||||
|
},
|
||||||
|
"categorizeImageAs": "Afbeelding classificeren als:",
|
||||||
|
"categorizeImage": "Afbeelding classificeren",
|
||||||
|
"noModels": {
|
||||||
|
"object": {
|
||||||
|
"title": "Geen objectclassificatiemodellen",
|
||||||
|
"description": "Maak een aangepast model om gedetecteerde objecten te classificeren.",
|
||||||
|
"buttonText": "Objectmodel maken"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"title": "Geen State-classificatiemodellen beschikbaar",
|
||||||
|
"description": "Maak een aangepast model om statuswijzigingen in specifieke cameragebieden te monitoren en te classificeren.",
|
||||||
|
"buttonText": "Maak een toestandsmodel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Nieuwe classificatie maken",
|
||||||
|
"steps": {
|
||||||
|
"nameAndDefine": "Naam & definiëren",
|
||||||
|
"stateArea": "Staatsgebied",
|
||||||
|
"chooseExamples": "Voorbeelden kiezen"
|
||||||
|
},
|
||||||
|
"step1": {
|
||||||
|
"description": "Toestandsmodellen houden vaste cameragebieden in de gaten op veranderingen (bijv. deur open/dicht). Objectmodellen voegen classificaties toe aan gedetecteerde objecten (bijv. bekende dieren, bezorgers, enz.).",
|
||||||
|
"name": "Naam",
|
||||||
|
"namePlaceholder": "Voer modelnaam in...",
|
||||||
|
"type": "Type",
|
||||||
|
"typeState": "Staat",
|
||||||
|
"typeObject": "Object",
|
||||||
|
"objectLabel": "Objectlabel",
|
||||||
|
"objectLabelPlaceholder": "Selecteer objecttype...",
|
||||||
|
"classificationType": "Classificatietype",
|
||||||
|
"classificationTypeTip": "Leer meer over classificatietypen",
|
||||||
|
"classificationTypeDesc": "Sublabels voegen extra tekst toe aan het objectlabel (bijv. ‘Persoon: UPS’). Attributen zijn doorzoekbare metadata die apart in de objectmetadata worden opgeslagen.",
|
||||||
|
"classificationSubLabel": "Sublabel",
|
||||||
|
"classificationAttribute": "Attribuut",
|
||||||
|
"classes": "Klassen",
|
||||||
|
"classesTip": "Meer over klassen leren",
|
||||||
|
"classesStateDesc": "Definieer de verschillende toestanden waarin het cameragebied zich kan bevinden. Bijvoorbeeld: ‘open’ en ‘dicht’ voor een garagedeur.",
|
||||||
|
"classesObjectDesc": "Definieer de verschillende categorieën om gedetecteerde objecten in te classificeren. Bijvoorbeeld: ‘bezorger’, ‘bewoner’, ‘vreemdeling’ voor persoonsclassificatie.",
|
||||||
|
"classPlaceholder": "Voer klassenaam in...",
|
||||||
|
"errors": {
|
||||||
|
"nameRequired": "Modelnaam is vereist",
|
||||||
|
"nameLength": "De modelnaam mag maximaal 64 tekens lang zijn",
|
||||||
|
"nameOnlyNumbers": "Modelnaam mag niet alleen uit cijfers bestaan",
|
||||||
|
"classRequired": "Minimaal 1 klasse is vereist",
|
||||||
|
"classesUnique": "Klassennamen moeten uniek zijn",
|
||||||
|
"stateRequiresTwoClasses": "Toestandsmodellen vereisen minimaal 2 klassen",
|
||||||
|
"objectLabelRequired": "Selecteer een objectlabel",
|
||||||
|
"objectTypeRequired": "Selecteer een classificatietype"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Selecteer camera’s en definieer voor elke camera het te monitoren gebied. Het model zal de toestand van deze gebieden classificeren.",
|
||||||
|
"cameras": "Camera's",
|
||||||
|
"selectCamera": "Selecteer camera",
|
||||||
|
"noCameras": "Klik op + om camera’s toe te voegen",
|
||||||
|
"selectCameraPrompt": "Selecteer een camera uit de lijst om het te monitoren gebied te definiëren"
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"selectImagesPrompt": "Selecteer alle afbeeldingen met: {{className}}",
|
||||||
|
"selectImagesDescription": "Klik op afbeeldingen om ze te selecteren. Klik op Doorgaan wanneer je klaar bent met deze klasse.",
|
||||||
|
"generating": {
|
||||||
|
"title": "Voorbeeldafbeeldingen genereren",
|
||||||
|
"description": "Frigate haalt representatieve afbeeldingen uit je opnames. Dit kan even duren..."
|
||||||
|
},
|
||||||
|
"training": {
|
||||||
|
"title": "Model trainen",
|
||||||
|
"description": "Je model wordt op de achtergrond getraind. Sluit dit venster, en je model zal starten zodra de training is voltooid."
|
||||||
|
},
|
||||||
|
"retryGenerate": "Generatie opnieuw proberen",
|
||||||
|
"noImages": "Geen voorbeeldafbeeldingen gegenereerd",
|
||||||
|
"classifying": "Classificeren en trainen...",
|
||||||
|
"trainingStarted": "Training succesvol gestart",
|
||||||
|
"errors": {
|
||||||
|
"noCameras": "Geen camera’s geconfigureerd",
|
||||||
|
"noObjectLabel": "Geen objectlabel geselecteerd",
|
||||||
|
"generateFailed": "Genereren van voorbeelden mislukt: {{error}}",
|
||||||
|
"generationFailed": "Generatie mislukt. Probeer het opnieuw.",
|
||||||
|
"classifyFailed": "Afbeeldingen classificeren mislukt: {{error}}"
|
||||||
|
},
|
||||||
|
"generateSuccess": "Met succes gegenereerde voorbeeldafbeeldingen"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -40,9 +40,10 @@
|
|||||||
"detail": {
|
"detail": {
|
||||||
"noDataFound": "Geen gedetailleerde gegevens om te beoordelen",
|
"noDataFound": "Geen gedetailleerde gegevens om te beoordelen",
|
||||||
"aria": "Detailweergave in- of uitschakelen",
|
"aria": "Detailweergave in- of uitschakelen",
|
||||||
"trackedObject_one": "gevolgd object",
|
"trackedObject_one": "object",
|
||||||
"trackedObject_other": "gevolgde objecten",
|
"trackedObject_other": "objecten",
|
||||||
"noObjectDetailData": "Geen objectdetails beschikbaar."
|
"noObjectDetailData": "Geen objectdetails beschikbaar.",
|
||||||
|
"label": "Detail"
|
||||||
},
|
},
|
||||||
"objectTrack": {
|
"objectTrack": {
|
||||||
"trackedPoint": "Gevolgd punt",
|
"trackedPoint": "Gevolgd punt",
|
||||||
|
|||||||
@ -154,7 +154,7 @@
|
|||||||
},
|
},
|
||||||
"recognizedLicensePlate": "Erkende kentekenplaat",
|
"recognizedLicensePlate": "Erkende kentekenplaat",
|
||||||
"snapshotScore": {
|
"snapshotScore": {
|
||||||
"label": "Snapshot scoren"
|
"label": "Snapshot score"
|
||||||
},
|
},
|
||||||
"score": {
|
"score": {
|
||||||
"label": "Score"
|
"label": "Score"
|
||||||
@ -195,6 +195,16 @@
|
|||||||
"audioTranscription": {
|
"audioTranscription": {
|
||||||
"label": "Transcriberen",
|
"label": "Transcriberen",
|
||||||
"aria": "Audiotranscriptie aanvragen"
|
"aria": "Audiotranscriptie aanvragen"
|
||||||
|
},
|
||||||
|
"showObjectDetails": {
|
||||||
|
"label": "Objectpad weergeven"
|
||||||
|
},
|
||||||
|
"hideObjectDetails": {
|
||||||
|
"label": "Verberg objectpad"
|
||||||
|
},
|
||||||
|
"viewTrackingDetails": {
|
||||||
|
"label": "Bekijk trackinggegevens",
|
||||||
|
"aria": "Toon de trackinggegevens"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noTrackedObjects": "Geen gevolgde objecten gevonden",
|
"noTrackedObjects": "Geen gevolgde objecten gevonden",
|
||||||
@ -212,7 +222,7 @@
|
|||||||
"dialog": {
|
"dialog": {
|
||||||
"confirmDelete": {
|
"confirmDelete": {
|
||||||
"title": "Bevestig Verwijderen",
|
"title": "Bevestig Verwijderen",
|
||||||
"desc": "Het verwijderen van dit gevolgde object verwijdert de snapshot, alle opgeslagen embeddings en eventuele bijbehorende levenscyclusgegevens van het object. Opgenomen videobeelden van dit object in de Geschiedenisweergave worden <em>NIET</em> verwijderd.<br /><br />Weet je zeker dat je wilt doorgaan?"
|
"desc": "Het verwijderen van dit gevolgde object verwijdert de snapshot, alle opgeslagen embeddings en eventuele bijbehorende trackinggegevens van het object. Opgenomen videobeelden van dit object in de Geschiedenisweergave worden <em>NIET</em> verwijderd.<br /><br />Weet je zeker dat je wilt doorgaan?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fetchingTrackedObjectsFailed": "Fout bij het ophalen van gevolgde objecten: {{errorMessage}}",
|
"fetchingTrackedObjectsFailed": "Fout bij het ophalen van gevolgde objecten: {{errorMessage}}",
|
||||||
@ -222,5 +232,53 @@
|
|||||||
},
|
},
|
||||||
"concerns": {
|
"concerns": {
|
||||||
"label": "Zorgen"
|
"label": "Zorgen"
|
||||||
|
},
|
||||||
|
"trackingDetails": {
|
||||||
|
"title": "Trackinggegevens",
|
||||||
|
"noImageFound": "Er is geen afbeelding beschikbaar voor dit tijdstip.",
|
||||||
|
"createObjectMask": "Objectmasker maken",
|
||||||
|
"adjustAnnotationSettings": "Annotatie-instellingen aanpassen",
|
||||||
|
"scrollViewTips": "Scroll om de belangrijke momenten uit de levenscyclus van dit object te bekijken.",
|
||||||
|
"autoTrackingTips": "Als u een automatische objectvolgende camera gebruikt, zal het objectkader onnauwkeurig zijn.",
|
||||||
|
"count": "{{first}} van {{second}}",
|
||||||
|
"trackedPoint": "Volgpunt",
|
||||||
|
"lifecycleItemDesc": {
|
||||||
|
"visible": "{{label}} gedetecteerd",
|
||||||
|
"entered_zone": "{{label}} in zone {{zones}}",
|
||||||
|
"active": "{{label}} Werd actief",
|
||||||
|
"stationary": "{{label}} werd stationair",
|
||||||
|
"attribute": {
|
||||||
|
"faceOrLicense_plate": "{{attribute}} Gedetecteerd voor {{label}}",
|
||||||
|
"other": "{{label}} Herkend als {{attribute}}"
|
||||||
|
},
|
||||||
|
"gone": "{{label}} Links",
|
||||||
|
"heard": "{{label}} gehoord",
|
||||||
|
"external": "{{label}} gedetecteerd",
|
||||||
|
"header": {
|
||||||
|
"zones": "Zones",
|
||||||
|
"ratio": "Verhouding",
|
||||||
|
"area": "Gebied"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"annotationSettings": {
|
||||||
|
"title": "Annotatie-instellingen",
|
||||||
|
"showAllZones": {
|
||||||
|
"title": "Toon alle zones",
|
||||||
|
"desc": "Toon altijd zones op frames waar objecten een zone zijn binnengegaan."
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"label": "Annotatie-afwijking",
|
||||||
|
"desc": "Deze gegevens zijn afkomstig van de detectiestream van je camera, maar worden weergegeven op beelden uit de opnamestream. Het is onwaarschijnlijk dat deze twee streams perfect gesynchroniseerd zijn. Hierdoor zullen het objectkader en het beeld niet exact op elkaar aansluiten. Het veld <code>annotation_offset</code> kan echter worden gebruikt om deze annotatie-afwijking te corrigeren.",
|
||||||
|
"millisecondsToOffset": "Aantal milliseconden om objectkader mee te verschuiven. <em>Standaard: 0</em>",
|
||||||
|
"tips": "TIP: Stel je voor dat er een clip is waarin een persoon van links naar rechts loopt. Als het objectkader in de tijdlijn van de activiteit steeds links van de persoon ligt, dan moet de waarde verlaagd worden. Op dezelfde manier als het objectkader consequent vóór de persoon ligt dus vooruitloopt, moet de waarde verhoogd worden.",
|
||||||
|
"toast": {
|
||||||
|
"success": "Annotatieverschuiving voor {{camera}} is opgeslagen in het configuratiebestand. Herstart Frigate om je wijzigingen toe te passen."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"carousel": {
|
||||||
|
"previous": "Vorige dia",
|
||||||
|
"next": "Volgende dia"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,5 +13,11 @@
|
|||||||
},
|
},
|
||||||
"noExports": "Geen export gevonden",
|
"noExports": "Geen export gevonden",
|
||||||
"deleteExport": "Verwijder Export",
|
"deleteExport": "Verwijder Export",
|
||||||
"deleteExport.desc": "Weet je zeker dat je dit wilt wissen: {{exportName}}?"
|
"deleteExport.desc": "Weet je zeker dat je dit wilt wissen: {{exportName}}?",
|
||||||
|
"tooltip": {
|
||||||
|
"shareExport": "Deel export",
|
||||||
|
"downloadVideo": "Download video",
|
||||||
|
"editName": "Naam bewerken",
|
||||||
|
"deleteExport": "Verwijder export"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,12 +13,12 @@
|
|||||||
"documentTitle": "Gezichtsbibliotheek - Frigate",
|
"documentTitle": "Gezichtsbibliotheek - Frigate",
|
||||||
"description": {
|
"description": {
|
||||||
"placeholder": "Voer een naam in voor deze verzameling",
|
"placeholder": "Voer een naam in voor deze verzameling",
|
||||||
"addFace": "Doorloop het toevoegen van een nieuwe collectie aan de gezichtenbibliotheek.",
|
"addFace": "Voeg een nieuwe collectie toe aan de gezichtenbibliotheek door je eerste afbeelding te uploaden.",
|
||||||
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
|
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
|
||||||
},
|
},
|
||||||
"train": {
|
"train": {
|
||||||
"title": "Train",
|
"title": "Recente herkenningen",
|
||||||
"aria": "Selecteer trainen",
|
"aria": "Selecteer recente herkenningen",
|
||||||
"empty": "Er zijn geen recente pogingen tot gezichtsherkenning"
|
"empty": "Er zijn geen recente pogingen tot gezichtsherkenning"
|
||||||
},
|
},
|
||||||
"selectFace": "Selecteer gezicht",
|
"selectFace": "Selecteer gezicht",
|
||||||
@ -56,7 +56,7 @@
|
|||||||
"title": "Collectie maken",
|
"title": "Collectie maken",
|
||||||
"desc": "Een nieuwe collectie maken",
|
"desc": "Een nieuwe collectie maken",
|
||||||
"new": "Creëer een nieuw gezicht",
|
"new": "Creëer een nieuw gezicht",
|
||||||
"nextSteps": "Om een sterke basis op te bouwen:<li>Gebruik het tabblad Trainen om per gedetecteerd persoon afbeeldingen te selecteren en te trainen.</li> <li>Richt je op frontale afbeeldingen voor het beste resultaat; vermijd trainingsbeelden waarop gezichten vanuit een hoek te zien zijn.</li>"
|
"nextSteps": "Om een sterke basis op te bouwen:<li>Gebruik het tabblad ‘Recente herkenningen’ om afbeeldingen te selecteren en te trainen voor elke gedetecteerde persoon.</li> <li>Richt je op afbeeldingen die recht van voren genomen zijn voor de beste resultaten, vermijd trainingsafbeeldingen waarop gezichten onder een hoek te zien zijn.</li>"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"addFace": "Gezicht toevoegen",
|
"addFace": "Gezicht toevoegen",
|
||||||
|
|||||||
@ -179,7 +179,7 @@
|
|||||||
},
|
},
|
||||||
"noCameras": {
|
"noCameras": {
|
||||||
"title": "Geen camera’s ingesteld",
|
"title": "Geen camera’s ingesteld",
|
||||||
"description": "Begin door een camera te verbinden.",
|
"description": "Begin door een camera te verbinden met Frigate.",
|
||||||
"buttonText": "Camera toevoegen"
|
"buttonText": "Camera toevoegen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -743,7 +743,7 @@
|
|||||||
"triggers": {
|
"triggers": {
|
||||||
"documentTitle": "Triggers",
|
"documentTitle": "Triggers",
|
||||||
"management": {
|
"management": {
|
||||||
"title": "Triggerbeheer",
|
"title": "Triggers",
|
||||||
"desc": "Beheer triggers voor {{camera}}. Gebruik een thumbnail om te triggeren op vergelijkbare thumbnails van het door jou gevolgde object, of gebruik een objectbeschrijving om te triggeren op vergelijkbare beschrijvingen van de door jou opgegeven tekst."
|
"desc": "Beheer triggers voor {{camera}}. Gebruik een thumbnail om te triggeren op vergelijkbare thumbnails van het door jou gevolgde object, of gebruik een objectbeschrijving om te triggeren op vergelijkbare beschrijvingen van de door jou opgegeven tekst."
|
||||||
},
|
},
|
||||||
"addTrigger": "Trigger toevoegen",
|
"addTrigger": "Trigger toevoegen",
|
||||||
@ -782,25 +782,28 @@
|
|||||||
"form": {
|
"form": {
|
||||||
"name": {
|
"name": {
|
||||||
"title": "Naam",
|
"title": "Naam",
|
||||||
"placeholder": "Voer de naam van de trigger in",
|
"placeholder": "Geef deze trigger een naam",
|
||||||
"error": {
|
"error": {
|
||||||
"minLength": "De naam moet minimaal 2 tekens lang zijn.",
|
"minLength": "Het veld moet minimaal 2 tekens lang zijn.",
|
||||||
"invalidCharacters": "De naam mag alleen letters, cijfers, onderstrepingstekens en koppeltekens bevatten.",
|
"invalidCharacters": "Dit veld mag alleen letters, cijfers, onderstrepingstekens en koppeltekens bevatten.",
|
||||||
"alreadyExists": "Er bestaat al een trigger met deze naam voor deze camera."
|
"alreadyExists": "Er bestaat al een trigger met deze naam voor deze camera."
|
||||||
}
|
},
|
||||||
|
"description": "Voer een unieke naam of beschrijving in om deze trigger te identificeren"
|
||||||
},
|
},
|
||||||
"enabled": {
|
"enabled": {
|
||||||
"description": "Deze trigger in- of uitschakelen"
|
"description": "Deze trigger in- of uitschakelen"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"title": "Type",
|
"title": "Type",
|
||||||
"placeholder": "Selecteer het type trigger"
|
"placeholder": "Selecteer het type trigger",
|
||||||
|
"description": "Activeer wanneer een vergelijkbare beschrijving van een gevolgd object wordt gedetecteerd",
|
||||||
|
"thumbnail": "Activeer wanneer een vergelijkbare thumbnail van een gevolgd object wordt gedetecteerd"
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"title": "Inhoud",
|
"title": "Inhoud",
|
||||||
"imagePlaceholder": "Selecteer een afbeelding",
|
"imagePlaceholder": "Selecteer een thumbnail",
|
||||||
"textPlaceholder": "Tekst invoeren",
|
"textPlaceholder": "Tekst invoeren",
|
||||||
"imageDesc": "Selecteer een afbeelding om deze actie te activeren wanneer een vergelijkbare afbeelding wordt gedetecteerd.",
|
"imageDesc": "Alleen de meest recente 100 thumbnails worden weergegeven. Als je de gewenste thumbnail niet kunt vinden, bekijk dan eerdere objecten in Verkennen en stel daar een trigger in via het menu.",
|
||||||
"textDesc": "Voer tekst in om deze actie te activeren wanneer een vergelijkbare beschrijving van een gevolgd object wordt gedetecteerd.",
|
"textDesc": "Voer tekst in om deze actie te activeren wanneer een vergelijkbare beschrijving van een gevolgd object wordt gedetecteerd.",
|
||||||
"error": {
|
"error": {
|
||||||
"required": "Inhoud is vereist."
|
"required": "Inhoud is vereist."
|
||||||
@ -811,7 +814,8 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"min": "De drempelwaarde moet minimaal 0 zijn",
|
"min": "De drempelwaarde moet minimaal 0 zijn",
|
||||||
"max": "De drempelwaarde mag maximaal 1 zijn"
|
"max": "De drempelwaarde mag maximaal 1 zijn"
|
||||||
}
|
},
|
||||||
|
"desc": "Stel de vergelijkingsdrempel in voor deze trigger. Een hogere drempel betekent dat er een nauwere overeenkomst vereist is om de trigger te activeren."
|
||||||
},
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"title": "Acties",
|
"title": "Acties",
|
||||||
@ -842,6 +846,23 @@
|
|||||||
"semanticSearch": {
|
"semanticSearch": {
|
||||||
"title": "Semantisch zoeken is uitgeschakeld",
|
"title": "Semantisch zoeken is uitgeschakeld",
|
||||||
"desc": "Semantisch zoeken moet ingeschakeld zijn om triggers te kunnen gebruiken."
|
"desc": "Semantisch zoeken moet ingeschakeld zijn om triggers te kunnen gebruiken."
|
||||||
|
},
|
||||||
|
"wizard": {
|
||||||
|
"title": "Trigger maken",
|
||||||
|
"step1": {
|
||||||
|
"description": "Configureer de basisinstellingen voor uw trigger."
|
||||||
|
},
|
||||||
|
"step2": {
|
||||||
|
"description": "Stel de inhoud in die deze trigger activeert."
|
||||||
|
},
|
||||||
|
"step3": {
|
||||||
|
"description": "Configureer de drempelwaarde en acties voor deze trigger."
|
||||||
|
},
|
||||||
|
"steps": {
|
||||||
|
"nameAndType": "Naam en type",
|
||||||
|
"configureData": "Gegevens configureren",
|
||||||
|
"thresholdAndActions": "Drempel en acties"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"roles": {
|
"roles": {
|
||||||
@ -957,11 +978,16 @@
|
|||||||
"invalidCharacters": "Cameranaam bevat ongeldige tekens",
|
"invalidCharacters": "Cameranaam bevat ongeldige tekens",
|
||||||
"nameExists": "Cameranaam bestaat al",
|
"nameExists": "Cameranaam bestaat al",
|
||||||
"brands": {
|
"brands": {
|
||||||
"reolink-rtsp": "Reolink RTSP wordt niet aanbevolen. Het is raadzaam om http in te schakelen in de camera-instellingen en de camerawizard opnieuw te starten."
|
"reolink-rtsp": "Reolink RTSP wordt niet aanbevolen. Schakel HTTP in via de firmware-instellingen van de camera en start de wizard opnieuw."
|
||||||
}
|
},
|
||||||
|
"customUrlRtspRequired": "Aangepaste URL’s moeten beginnen met “rtsp://”. Handmatige configuratie is vereist voor camerastreams die geen RTSP gebruiken."
|
||||||
},
|
},
|
||||||
"docs": {
|
"docs": {
|
||||||
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
|
||||||
|
},
|
||||||
|
"testing": {
|
||||||
|
"probingMetadata": "Camerametadata wordt onderzocht...",
|
||||||
|
"fetchingSnapshot": "Camerasnapshot ophalen..."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"step2": {
|
"step2": {
|
||||||
@ -1040,7 +1066,9 @@
|
|||||||
},
|
},
|
||||||
"hikvision": {
|
"hikvision": {
|
||||||
"substreamWarning": "Substream 1 is beperkt tot een lage resolutie. Veel Hikvision-camera’s ondersteunen extra substreams die in de instellingen van de camera ingeschakeld moeten worden. Het wordt aanbevolen deze streams te controleren en te gebruiken indien beschikbaar."
|
"substreamWarning": "Substream 1 is beperkt tot een lage resolutie. Veel Hikvision-camera’s ondersteunen extra substreams die in de instellingen van de camera ingeschakeld moeten worden. Het wordt aanbevolen deze streams te controleren en te gebruiken indien beschikbaar."
|
||||||
}
|
},
|
||||||
|
"resolutionHigh": "Een resolutie van {{resolution}} kan leiden tot een verhoogd gebruik van systeembronnen.",
|
||||||
|
"resolutionLow": "Een resolutie van {{resolution}} kan te laag zijn voor betrouwbare detectie van kleine objecten."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
1
web/public/locales/peo/views/classificationModel.json
Normal file
1
web/public/locales/peo/views/classificationModel.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
7
web/public/locales/pl/views/classificationModel.json
Normal file
7
web/public/locales/pl/views/classificationModel.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"documentTitle": "Modele klasyfikacji",
|
||||||
|
"button": {
|
||||||
|
"deleteClassificationAttempts": "Usuń obrazy klasyfikacyjne",
|
||||||
|
"renameCategory": "Zmień nazwę klasy"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"selectItem": "Wybierz {{item}}",
|
"selectItem": "Wybierz {{item}}",
|
||||||
"description": {
|
"description": {
|
||||||
"addFace": "Poznaj proces dodawania nowej kolekcji do biblioteki twarzy.",
|
"addFace": "Dodaj nową kolekcję do biblioteki twarzy, przesyłając swoje pierwsze zdjęcie.",
|
||||||
"placeholder": "Wprowadź nazwę tej kolekcji",
|
"placeholder": "Wprowadź nazwę tej kolekcji",
|
||||||
"invalidName": "Nieprawidłowa nazwa. Nazwy mogą zawierać tylko litery, cyfry, spacje, apostrofy, podkreślenia oraz myślniki."
|
"invalidName": "Nieprawidłowa nazwa. Nazwy mogą zawierać tylko litery, cyfry, spacje, apostrofy, podkreślenia oraz myślniki."
|
||||||
},
|
},
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user