From 1c7ad8ee193c957706b699e9f8d35052407230e4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 24 Dec 2025 15:17:19 +0100 Subject: [PATCH] Translated using Weblate (Hebrew) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (92 of 92 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (53 of 53 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (135 of 135 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (654 of 654 strings) Translated using Weblate (Hebrew) Currently translated at 94.3% (617 of 654 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (214 of 214 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (41 of 41 strings) Translated using Weblate (Hebrew) Currently translated at 94.3% (617 of 654 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (118 of 118 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (55 of 55 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (131 of 131 strings) Translated using Weblate (Hebrew) Currently translated at 96.2% (51 of 53 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (Hebrew) Currently translated at 97.8% (90 of 92 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Hebrew) Currently translated at 99.2% (134 of 135 strings) Translated using Weblate (Hebrew) Currently translated at 90.2% (83 of 92 strings) Translated using Weblate (Hebrew) Currently translated at 91.1% (195 of 214 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Hebrew) Currently translated at 95.1% (39 of 41 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (13 of 13 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Hebrew) Currently translated at 45.0% (55 of 122 strings) Translated using Weblate (Hebrew) Currently translated at 48.6% (318 of 654 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Hebrew) Currently translated at 98.1% (54 of 55 strings) Translated using Weblate (Hebrew) Currently translated at 82.9% (112 of 135 strings) Translated using Weblate (Hebrew) Currently translated at 90.0% (118 of 131 strings) Translated using Weblate (Hebrew) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Hebrew) Currently translated at 88.6% (47 of 53 strings) Co-authored-by: Hosted Weblate Co-authored-by: Ronen Atsil Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/he/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/he/ Translation: Frigate NVR/audio Translation: Frigate NVR/common Translation: Frigate NVR/components-auth Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/objects Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/he/audio.json | 31 +- web/public/locales/he/common.json | 40 +- web/public/locales/he/components/auth.json | 3 +- web/public/locales/he/components/camera.json | 3 +- web/public/locales/he/components/dialog.json | 14 +- web/public/locales/he/components/filter.json | 6 +- web/public/locales/he/objects.json | 2 +- .../locales/he/views/classificationModel.json | 193 ++++++- web/public/locales/he/views/events.json | 20 +- web/public/locales/he/views/explore.json | 107 +++- web/public/locales/he/views/exports.json | 6 + web/public/locales/he/views/faceLibrary.json | 17 +- web/public/locales/he/views/live.json | 29 +- web/public/locales/he/views/search.json | 5 +- web/public/locales/he/views/settings.json | 524 +++++++++++++++++- web/public/locales/he/views/system.json | 28 +- 16 files changed, 968 insertions(+), 60 deletions(-) diff --git a/web/public/locales/he/audio.json b/web/public/locales/he/audio.json index 841dfa83b..711a8d338 100644 --- a/web/public/locales/he/audio.json +++ b/web/public/locales/he/audio.json @@ -94,7 +94,7 @@ "electronic_organ": "אורגן חשמלי", "hammond_organ": "עוגב המונד", "synthesizer": "סינתיסייזר", - "sampler": "דגם", + "sampler": "דוגם", "harpsichord": "צֶ'מבָּלוֹ", "percussion": "הַקָשָׁה", "boat": "סירה", @@ -102,7 +102,7 @@ "motorcycle": "אופנוע", "bus": "אוטובוס", "bicycle": "אופניים", - "train": "למד פנים", + "train": "אימון", "skateboard": "סקייטבורד", "camera": "מצלמה", "howl": "יללה", @@ -474,5 +474,30 @@ "bouncing": "הַקפָּצָה", "whip": "שׁוֹט", "flap": "מַדָף", - "scratch": "לְגַרֵד" + "scratch": "לְגַרֵד", + "scrape": "סריקה", + "rub": "שפשוף", + "roll": "גלגול", + "crushing": "מעיכה", + "crumpling": "קימוט", + "tearing": "קריעה", + "beep": "ביפ", + "ping": "פינג", + "ding": "דינג", + "clang": "צלצול מתכתי", + "squeal": "חריקה", + "creak": "חריקה", + "rustle": "רשרוש", + "whir": "זמזום", + "clatter": "רעש נקישות", + "chird": "Chird", + "sizzle": "צליל חריכה", + "clicking": "נקישות", + "clickety_clack": "נקישות רצופות", + "rumble": "רעם נמוך", + "plop": "פלופ", + "hum": "המהום", + "zing": "זמזום חד", + "boing": "בּוֹאִינְג (צליל קפיצי / אלסטי)", + "crunch": "חריקה / פיצוח" } diff --git a/web/public/locales/he/common.json b/web/public/locales/he/common.json index 813d44e51..0496941bb 100644 --- a/web/public/locales/he/common.json +++ b/web/public/locales/he/common.json @@ -78,7 +78,10 @@ "12hour": "MMM d, yyyy" }, "30minutes": "30 דקות", - "thisMonth": "החודש" + "thisMonth": "החודש", + "inProgress": "בתהליך", + "invalidStartTime": "זמן התחלה לא תקין", + "invalidEndTime": "זמן סיום לא תקין" }, "unit": { "speed": { @@ -88,10 +91,23 @@ "length": { "feet": "רגל", "meters": "מטרים" + }, + "data": { + "kbps": "kB/s", + "mbps": "MB/s", + "gbps": "GB/s", + "kbph": "kB/hour", + "mbph": "MB/hour", + "gbph": "GB/hour" } }, "label": { - "back": "אחורה" + "back": "אחורה", + "hide": "הסתר {{item}}", + "show": "הצג {{item}}", + "ID": "ID", + "none": "ללא", + "all": "הכל" }, "button": { "apply": "החל", @@ -128,7 +144,8 @@ "on": "פעיל", "download": "הורדה", "info": "מידע", - "next": "הבא" + "next": "הבא", + "continue": "המשך" }, "menu": { "system": "מערכת", @@ -229,7 +246,8 @@ "current": "משתמש מחובר: {{user}}", "setPassword": "קביעת סיסמה", "title": "משתמש" - } + }, + "classification": "סיווג" }, "toast": { "copyUrlToClipboard": "כתובת האתר המועתקת.", @@ -270,5 +288,17 @@ "desc": "דף לא נמצא" }, "selectItem": "בחירה:{{item}}", - "readTheDocumentation": "קרא את התיעוד" + "readTheDocumentation": "קרא את התיעוד", + "list": { + "two": "{{0}} ו־{{1}}", + "many": "{{items}}, ו־{{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "אופציונלי", + "internalID": "המזהה הפנימי ש־Frigate משתמש בו בהגדרות ובמסד הנתונים" + }, + "information": { + "pixels": "{{area}}px" + } } diff --git a/web/public/locales/he/components/auth.json b/web/public/locales/he/components/auth.json index 17b28cba1..0f6caf3cf 100644 --- a/web/public/locales/he/components/auth.json +++ b/web/public/locales/he/components/auth.json @@ -10,6 +10,7 @@ "webUnknownError": "שגיאה לא ידועה, בדוק את הלוגים.", "rateLimit": "חרגת מהמגבלת בקשות. נסה שוב מאוחר יותר.", "loginFailed": "ההתחברות נכשלה" - } + }, + "firstTimeLogin": "מתחבר בפעם הראשונה? פרטי ההתחברות מודפסים בלוגים של פריגייט." } } diff --git a/web/public/locales/he/components/camera.json b/web/public/locales/he/components/camera.json index f9de9a6c1..184b192bd 100644 --- a/web/public/locales/he/components/camera.json +++ b/web/public/locales/he/components/camera.json @@ -41,7 +41,8 @@ "label": "מצב תאימות", "desc": "הפעל אפשרות זו רק אם השידור החי של המצלמה שלך מציג עיוותים בצבע ויש לו קו אלכסוני בצד ימין של התמונה." } - } + }, + "birdseye": "מבט על" }, "edit": "ערכית קבוצת מצלמות", "delete": { diff --git a/web/public/locales/he/components/dialog.json b/web/public/locales/he/components/dialog.json index 472d3d541..85353b993 100644 --- a/web/public/locales/he/components/dialog.json +++ b/web/public/locales/he/components/dialog.json @@ -15,7 +15,8 @@ "failed": "נכשל בהתחלת הייצוא: {{error}}", "noVaildTimeSelected": "לא נבחר טווח זמן תקף" }, - "success": "הייצוא הוחל בהצלחה. הצג את הקובץ בתיקייה /ייצוא." + "success": "הייצוא התחיל בהצלחה. ניתן לצפות בקובץ בעמוד הייצוא.", + "view": "תצוגה" }, "time": { "end": { @@ -108,7 +109,16 @@ "button": { "export": "ייצוא", "markAsReviewed": "סמן כסוקר", - "deleteNow": "מחיקה כעת" + "deleteNow": "מחיקה כעת", + "markAsUnreviewed": "סימון כלא נבדק" } + }, + "imagePicker": { + "selectImage": "בחר תמונה ממוזערת של אובייקט במעקב", + "unknownLabel": "תמונת הטריגר נשמרה", + "search": { + "placeholder": "חיפוש לפי תווית או תווית משנה…" + }, + "noImages": "לא נמצאו תמונות ממוזערות עבור מצלמה זו" } } diff --git a/web/public/locales/he/components/filter.json b/web/public/locales/he/components/filter.json index 17f7914cf..b11aba954 100644 --- a/web/public/locales/he/components/filter.json +++ b/web/public/locales/he/components/filter.json @@ -5,7 +5,7 @@ "tips": "עליך תחילה לסנן לפי אובייקטים במעקב שיש להם תמונת מצב.

לא ניתן לשלוח ל-Frigate+ אובייקטים במעקב ללא תמונת מצב.", "label": "העלאה ל- +Frigate" }, - "label": "מאפיינים", + "label": "תכונות", "hasVideoClip": "קיים סרטון", "hasSnapshot": "קיימת לכידת תמונה" }, @@ -132,5 +132,9 @@ }, "count_one": "{{count}} מחלקה", "count_other": "{{count}} מחלקות" + }, + "attributes": { + "label": "מאפייני סיווג", + "all": "כל המאפיינים" } } diff --git a/web/public/locales/he/objects.json b/web/public/locales/he/objects.json index 68f648da0..65f00b1b7 100644 --- a/web/public/locales/he/objects.json +++ b/web/public/locales/he/objects.json @@ -5,7 +5,7 @@ "motorcycle": "אופנוע", "airplane": "מטוס", "bus": "אוטובוס", - "train": "למד פנים", + "train": "אימון", "boat": "סירה", "traffic_light": "רמזור", "fire_hydrant": "ברז כיבוי אש", diff --git a/web/public/locales/he/views/classificationModel.json b/web/public/locales/he/views/classificationModel.json index 0967ef424..0e965eb74 100644 --- a/web/public/locales/he/views/classificationModel.json +++ b/web/public/locales/he/views/classificationModel.json @@ -1 +1,192 @@ -{} +{ + "documentTitle": "מודלי סיווג - Frigate", + "details": { + "scoreInfo": "הציון מייצג את ממוצע רמת הביטחון של הסיווג, על פני כל הזיהויים של האובייקט הזה.", + "none": "ללא ערך", + "unknown": "לא ידוע" + }, + "button": { + "deleteClassificationAttempts": "מחיקת אוסף התמונות", + "renameCategory": "שינוי שם קטגוריה", + "deleteCategory": "מחיקת קטגוריה", + "deleteImages": "מחיקת תמונות", + "trainModel": "אימון מודל", + "addClassification": "הוספת סיווג", + "deleteModels": "מחיקת מודלים", + "editModel": "עריכת מודל" + }, + "tooltip": { + "trainingInProgress": "המודל נמצא כרגע בתהליך אימון", + "noNewImages": "אין תמונות חדשות לאימון. קודם סווג עוד תמונות במערך הנתונים (Dataset).", + "noChanges": "לא בוצעו שינויים במערך הנתונים מאז האימון האחרון.", + "modelNotReady": "המודל עדיין לא מוכן לאימון" + }, + "toast": { + "success": { + "deletedCategory": "הקטגוריה נמחקה", + "deletedImage": "התמונות נמחקו", + "deletedModel_one": "נמחק בהצלחה {{count}} מודל", + "deletedModel_two": "נמחקו בהצלחה {{count}} מודלים", + "deletedModel_other": "", + "categorizedImage": "התמונה סווגה בהצלחה", + "trainedModel": "המודל אומן בהצלחה.", + "trainingModel": "אימון המודל התחיל בהצלחה.", + "updatedModel": "תצורת המודל עודכנה בהצלחה.", + "renamedCategory": "שם הקטגוריה שונה בהצלחה ל־{{name}}" + }, + "error": { + "deleteImageFailed": "המחיקה נכשלה: {{errorMessage}}", + "deleteCategoryFailed": "מחיקת הקטגוריה נכשלה: {{errorMessage}}", + "deleteModelFailed": "מחיקת המודל נכשלה: {{errorMessage}}", + "categorizeFailed": "סיווג התמונה נכשל: {{errorMessage}}", + "trainingFailed": "אימון המודל נכשל. בדוק בלוגים של Frigate לפרטים.", + "trainingFailedToStart": "הפעלת אימון המודל נכשלה: {{errorMessage}}", + "updateModelFailed": "עדכון המודל נכשל: {{errorMessage}}", + "renameCategoryFailed": "שינוי שם הקטגוריה נכשל: {{errorMessage}}" + } + }, + "train": { + "titleShort": "לאחרונה", + "title": "סיווגים אחרונים", + "aria": "בחר סיווגים אחרונים" + }, + "deleteCategory": { + "title": "מחיקת קטגוריה", + "desc": "האם אתה בטוח שברצונך למחוק את הקטגוריה {{name}}? פעולה זו תמחק לצמיתות את כל התמונות המשויכות, ותדרוש אימון מחדש של המודל.", + "minClassesTitle": "לא ניתן למחוק את הקטגוריה", + "minClassesDesc": "מודל סיווג חייב לכלול לפחות 2 קטגוריות. הוסף קטגוריה נוספת לפני שתמחק את הקטגוריה הזו." + }, + "deleteModel": { + "title": "מחיקת מודל סיווג", + "single": "האם אתה בטוח שברצונך למחוק את {{name}}? פעולה זו תמחק לצמיתות את כל הנתונים המשויכים, כולל תמונות ונתוני אימון. לא ניתן לבטל פעולה זו.", + "desc_one": "האם אתה בטוח שברצונך למחוק מודל אחד ({{count}})? פעולה זו תמחק לצמיתות את כל הנתונים המשויכים, כולל תמונות ונתוני אימון. לא ניתן לבטל פעולה זו.", + "desc_two": "האם אתה בטוח שברצונך למחוק {{count}} מודלים? פעולה זו תמחק לצמיתות את כל הנתונים המשויכים, כולל תמונות ונתוני אימון. לא ניתן לבטל פעולה זו.", + "desc_other": "" + }, + "edit": { + "title": "עריכת מודל סיווג", + "descriptionState": "ערוך את הקטגוריות של מודל הסיווג הזה. כל שינוי ידרוש אימון מחדש של המודל.", + "descriptionObject": "ערוך את סוג האובייקט ואת סוג הסיווג עבור מודל סיווג האובייקטים הזה.", + "stateClassesInfo": "הערה: שינוי קטגוריות המצבים מחייב אימון מחדש של המודל עם הקטגוריות המעודכנות." + }, + "deleteDatasetImages": { + "title": "מחיקת תמונות מערך הנתונים", + "desc_one": "האם אתה בטוח שברצונך למחוק {{count}} תמונה מתוך {{dataset}}? לא ניתן לבטל פעולה זו, והיא תדרוש אימון מחדש של המודל.", + "desc_two": "האם אתה בטוח שברצונך למחוק {{count}} תמונות מתוך {{dataset}}? לא ניתן לבטל פעולה זו, והיא תדרוש אימון מחדש של המודל.", + "desc_other": "" + }, + "deleteTrainImages": { + "title": "מחיקת תמונות אימון", + "desc_one": "האם אתה בטוח שברצונך למחוק {{count}} תמונה? לא ניתן לבטל פעולה זו.", + "desc_two": "האם אתה בטוח שברצונך למחוק {{count}} תמונות? לא ניתן לבטל פעולה זו.", + "desc_other": "" + }, + "renameCategory": { + "title": "שינוי שם קטגוריה", + "desc": "הזן שם חדש עבור {{name}}. יהיה עליך לאמן מחדש את המודל כדי שהשינוי בשם ייכנס לתוקף." + }, + "description": { + "invalidName": "שם לא תקין. שמות יכולים לכלול רק אותיות, מספרים, רווחים, גרש (’), קו תחתון (_) ומקף (-)." + }, + "categories": "קטגוריות", + "createCategory": { + "new": "יצירת קטגוריה חדשה" + }, + "wizard": { + "step3": { + "errors": { + "noObjectLabel": "לא נבחרה תווית אובייקט", + "generateFailed": "יצירת דוגמאות נכשלה: {{error}}", + "generationFailed": "היצירה נכשלה. נסה שוב.", + "classifyFailed": "סיווג התמונות נכשל: {{error}}", + "noCameras": "לא הוגדרו מצלמות" + }, + "generateSuccess": "תמונות לדוגמה נוצרו בהצלחה", + "missingStatesWarning": { + "title": "חסרות דוגמאות מצב", + "description": "מומלץ לבחור דוגמאות לכל המצבים כדי לקבל את התוצאות הטובות ביותר. אפשר להמשיך גם בלי לבחור את כל המצבים, אבל המודל לא יאומן עד שלכל המצבים יהיו תמונות.\nאחרי שתמשיך, השתמש בתצוגת סיווגים אחרונים כדי לסווג תמונות למצבים החסרים, ואז בצע אימון מודל." + }, + "training": { + "title": "אימון מודל", + "description": "המודל שלך נמצא כעת בתהליך אימון ברקע. אפשר לסגור את החלון הזה, והמודל יתחיל לפעול מיד לאחר סיום האימון." + }, + "classifying": "מסווג ומאמן...", + "trainingStarted": "האימון התחיל בהצלחה", + "modelCreated": "המודל נוצר בהצלחה. השתמש בתצוגת סיווגים אחרונים כדי להוסיף תמונות למצבים חסרים, ולאחר מכן אמן את המודל.", + "selectImagesPrompt": "בחר את כל התמונות עם: {{className}}", + "selectImagesDescription": "לחץ על תמונות כדי לבחור אותן. לחץ על המשך כשתסיים עם מחלקה זו.", + "allImagesRequired_one": "אנא סווג את כל התמונות. נותרה {{count}} תמונה.", + "allImagesRequired_two": "אנא סווג את כל התמונות. נותרו {{count}} תמונות.", + "allImagesRequired_other": "", + "generating": { + "title": "יוצר תמונות לדוגמה", + "description": "Frigate שואב תמונות מייצגות מההקלטות שלך. פעולה זו עשויה להימשך מספר רגעים..." + }, + "retryGenerate": "נסה ליצור מחדש", + "noImages": "לא נוצרו תמונות לדוגמה" + }, + "title": "צור סיווג חדש", + "steps": { + "nameAndDefine": "תן שם והגדר", + "stateArea": "אזור מצב", + "chooseExamples": "בחר דוגמאות" + }, + "step1": { + "description": "מודלי מצבים מנטרים אזורים קבועים במצלמה ומזהים בהם שינויי מצב (למשל: דלת פתוחה/סגורה). מודלי אובייקטים מוסיפים סיווגים לאובייקטים שזוהו (למשל: בעלי חיים מוכרים, שליחים, וכד׳).", + "name": "שם", + "namePlaceholder": "הזן שם למודל...", + "type": "סוג", + "typeState": "מצב", + "typeObject": "אובייקט", + "objectLabel": "תווית אובייקט", + "objectLabelPlaceholder": "בחר סוג אובייקט...", + "classificationType": "סוג סיווג", + "classificationTypeTip": "למד על סוגי הסיווגים", + "classificationTypeDesc": "תוויות משנה (Sub Labels) מוסיפות טקסט נוסף לתווית האובייקט (למשל: 'Person: UPS'). מאפיינים (Attributes) הם מטא־נתונים שניתנים לחיפוש, הנשמרים בנפרד בתוך מטא־הנתונים של האובייקט.", + "classificationSubLabel": "תווית משנה", + "classificationAttribute": "מאפיינים", + "classes": "מחלקות", + "states": "מצבים", + "classesTip": "למד על מחלקות", + "classesStateDesc": "הגדר את המצבים השונים שבהם אזור המצלמה יכול להיות. לדוגמה: 'open' ו־'closed' עבור דלת מוסך.", + "classesObjectDesc": "הגדר את הקטגוריות השונות לסיווג אובייקטים שזוהו. לדוגמה:\n'delivery_person', 'resident', 'stranger' עבור סיווג אנשים.", + "classPlaceholder": "הזן שם מחלקה...", + "errors": { + "nameRequired": "שם מודל הוא שדה חובה", + "nameLength": "שם המודל חייב להיות באורך של עד 64 תווים", + "nameOnlyNumbers": "שם המודל אינו יכול להכיל מספרים בלבד", + "classRequired": "נדרשת לפחות מחלקה אחת", + "classesUnique": "שמות המחלקות חייבים להיות ייחודיים", + "noneNotAllowed": "המחלקה 'none' אינה מותרת", + "stateRequiresTwoClasses": "מודלי מצבים דורשים לפחות שתי מחלקות", + "objectLabelRequired": "אנא בחר תווית אובייקט", + "objectTypeRequired": "אנא בחר סוג סיווג" + } + }, + "step2": { + "description": "בחר מצלמות והגדר את האזור לניטור עבור כל מצלמה. המודל יסווג את מצב האזורים הללו.", + "cameras": "מצלמות", + "selectCamera": "בחר מצלמה", + "noCameras": "לחץ על ‎+‎ כדי להוסיף מצלמות", + "selectCameraPrompt": "בחר מצלמה מהרשימה כדי להגדיר את אזור הניטור שלה" + } + }, + "categorizeImageAs": "סווג תמונה כ־:", + "categorizeImage": "סווג תמונה", + "menu": { + "objects": "אובייקטים", + "states": "מצבים" + }, + "noModels": { + "object": { + "title": "אין מודלים לסיווג אובייקטים", + "description": "צור מודל מותאם אישית לסיווג אובייקטים שזוהו.", + "buttonText": "צור מודל אובייקט" + }, + "state": { + "title": "אין מודלים לסיווג מצבים", + "description": "צור מודל מותאם אישית לניטור ולסיווג שינויים במצב באזורים מסוימים במצלמה.", + "buttonText": "צור מודל מצב" + } + } +} diff --git a/web/public/locales/he/views/events.json b/web/public/locales/he/views/events.json index fbccbeeb2..6abcccd11 100644 --- a/web/public/locales/he/views/events.json +++ b/web/public/locales/he/views/events.json @@ -38,12 +38,24 @@ "detail": { "noDataFound": "אין נתונים מפורטים לבדיקה", "aria": "הפעלה/כיבוי תצוגת פרטים", - "trackedObject_one": "אובייקט במעקב", - "trackedObject_other": "אובייקטים במעקב", - "noObjectDetailData": "אין נתוני אובייקט זמינים." + "trackedObject_one": "אובייקט {{count}}", + "trackedObject_other": "{{count}} אובייקטים", + "noObjectDetailData": "אין נתוני אובייקט זמינים.", + "label": "פרטים", + "settings": "הגדרות תצוגת פרטים", + "alwaysExpandActive": { + "title": "תמיד להרחיב את הפעיל", + "desc": "כאשר אפשר, תמיד להציג בהרחבה את פרטי האובייקט של פריט הבדיקה הפעיל." + } }, "objectTrack": { "trackedPoint": "נקודה במעקב", "clickToSeek": "לחץ כדי לחפש את הזמן הזה" - } + }, + "zoomIn": "הגדל (זום פנימה)", + "zoomOut": "הקטן (זום החוצה)", + "select_all": "הכל", + "normalActivity": "רגיל", + "needsReview": "טעון בדיקה", + "securityConcern": "חשש אבטחה" } diff --git a/web/public/locales/he/views/explore.json b/web/public/locales/he/views/explore.json index 0646e5089..07be1ceec 100644 --- a/web/public/locales/he/views/explore.json +++ b/web/public/locales/he/views/explore.json @@ -27,6 +27,28 @@ }, "deleteTrackedObject": { "label": "מחק את אובייקט המעקב הזה" + }, + "audioTranscription": { + "aria": "בקשת תמלול אודיו", + "label": "תמלל" + }, + "showObjectDetails": { + "label": "הצגת מסלול האובייקט" + }, + "hideObjectDetails": { + "label": "הסתרת מסלול האובייקט" + }, + "downloadCleanSnapshot": { + "label": "הורד תמונה נקיה", + "aria": "הורד תמונה נקיה" + }, + "viewTrackingDetails": { + "label": "הצג פרטי מעקב", + "aria": "הצג את פרטי המעקב" + }, + "addTrigger": { + "label": "הוסף טריגר", + "aria": "הוסף טריגר לאובייקט במעקב זה" } }, "generativeAI": "Generative - AI", @@ -64,7 +86,9 @@ "details": "פרטים", "snapshot": "לכידת תמונה", "video": "וידיאו", - "object_lifecycle": "שלבי זיהוי של האובייקט" + "object_lifecycle": "שלבי זיהוי של האובייקט", + "thumbnail": "תמונה ממוזערת", + "tracking_details": "פרטי מעקב" }, "objectLifecycle": { "title": "שלבי זיהוי של האובייקט", @@ -132,12 +156,16 @@ "success": { "updatedSublabel": "תווית המשנה עודכנה בהצלחה.", "updatedLPR": "לוחית הרישוי עודכנה בהצלחה.", - "regenerate": "תיאור חדש התבקש מ-{{provider}}. בהתאם למהירות הספק שלך, ייתכן שייקח זמן מה ליצירת התיאור החדש." + "regenerate": "תיאור חדש התבקש מ-{{provider}}. בהתאם למהירות הספק שלך, ייתכן שייקח זמן מה ליצירת התיאור החדש.", + "updatedAttributes": "המאפיינים עודכנו בהצלחה.", + "audioTranscription": "בקשת תמלול האודיו נשלחה בהצלחה. בהתאם למהירות שרת ה־Frigate שלך, התמלול עשוי להימשך זמן מה עד להשלמתו." }, "error": { "regenerate": "ההתקשרות ל-{{provider}} לקבלת תיאור חדש נכשלה: {{errorMessage}}", "updatedSublabelFailed": "עדכון תווית המשנה נכשל: {{errorMessage}}", - "updatedLPRFailed": "עדכון לוחית הרישוי נכשל: {{errorMessage}}" + "updatedLPRFailed": "עדכון לוחית הרישוי נכשל: {{errorMessage}}", + "updatedAttributesFailed": "נכשל בעדכון המאפיינים: {{errorMessage}}", + "audioTranscription": "נכשל בשליחת בקשה לתמלול אודיו: {{errorMessage}}" } }, "title": "סקירת הפריט", @@ -184,12 +212,20 @@ "descriptionSaved": "התיאור נשמר בהצלחה", "saveDescriptionFailed": "עדכון התיאור נכשל: {{errorMessage}}" }, - "zones": "אזורים" + "zones": "אזורים", + "editAttributes": { + "title": "ערוך מאפיינים", + "desc": "בחר מאפייני סיווג עבור {{label}} זה" + }, + "score": { + "label": "ציון" + }, + "attributes": "מאפייני סיווג" }, "dialog": { "confirmDelete": { "title": "אישור מחיקה", - "desc": "מחיקת אובייקט זה במעקב מסירה את תמונת המצב, כל ההטמעות שנשמרו וכל ערכי שלבי האובייקט המשויכים. קטעי וידאו מוקלטים של אובייקט זה במעקב בתצוגת היסטוריה לא יימחקו.

האם אתה בטוח שברצונך להמשיך?" + "desc": "מחיקת אובייקט זה במעקב תסיר את הצילום, כל ה־embeddings השמורים וכל רשומות פרטי המעקב המשויכות. קטעי וידאו מוקלטים של אובייקט זה בתצוגת היסטוריה לא יימחקו.

האם אתה בטוח שברצונך להמשיך?" } }, "searchResult": { @@ -199,11 +235,68 @@ "error": "מחיקת האובייקט במעקב נכשלה: {{errorMessage}}", "success": "האובייקט המעקב נמחק בהצלחה." } - } + }, + "previousTrackedObject": "האובייקט הקודם במעקב", + "nextTrackedObject": "האובייקט הבא במעקב" }, "noTrackedObjects": "לא נמצאו אובייקטים במעקב", "fetchingTrackedObjectsFailed": "שגיאה באחזור אובייקטים במעקב: {{errorMessage}}", "trackedObjectsCount_one": "אובייקט במעקב ({{count}}) ", "trackedObjectsCount_two": "אובייקטים במעקב ({{count}}) ", - "trackedObjectsCount_other": "אובייקטים במעקב ({{count}}) " + "trackedObjectsCount_other": "אובייקטים במעקב ({{count}}) ", + "trackingDetails": { + "title": "פרטי מעקב", + "noImageFound": "לא נמצאה תמונה עבור חותמת הזמן הזו.", + "createObjectMask": "יצירת מסכת אובייקט", + "adjustAnnotationSettings": "התאמת הגדרות הסימון", + "scrollViewTips": "לחץ כדי לראות את הרגעים החשובים לאורך כל זמן המעקב אחרי האובייקט הזה.", + "autoTrackingTips": "מיקומי תיבות התחימה (Bounding Boxes) לא יהיו מדויקים עבור מצלמות עם מעקב אוטומטי (Autotracking).", + "count": "{{first}} מתוך {{second}}", + "trackedPoint": "נקודת מעקב", + "lifecycleItemDesc": { + "visible": "זוהה {{label}}", + "entered_zone": "{{label}} נכנס ל־{{zones}}", + "active": "{{label}} הפך לפעיל", + "stationary": "{{label}} הפך לנייח", + "attribute": { + "faceOrLicense_plate": "זוהה {{attribute}} עבור {{label}}", + "other": "{{label}} זוהה כ־{{attribute}}" + }, + "gone": "{{label}} יצא", + "heard": "{{label}} נשמע", + "external": "זוהה {{label}}", + "header": { + "zones": "אזורים", + "ratio": "יחס", + "area": "אזור", + "score": "ציון" + } + }, + "annotationSettings": { + "title": "הגדרות סימון", + "showAllZones": { + "title": "הצגת כל האזורים", + "desc": "תמיד להציג אזורים בפריימים שבהם אובייקטים נכנסו לאזור." + }, + "offset": { + "label": "היסט סימון", + "desc": "הנתונים האלה מגיעים מזרם ה־Detect של המצלמה, אבל מוצגים כשכבה מעל תמונות מזרם ה־Record. סביר ששני הזרמים לא מסונכרנים בצורה מושלמת. לכן, מסגרת הזיהוי (Bounding Box) והווידאו לא תמיד יסתדרו בדיוק אחד על השני.\nאפשר להשתמש בהגדרה הזו כדי להזיז את הסימונים קדימה או אחורה בזמן (היסט), וכך ליישר אותם טוב יותר עם ההקלטה.", + "millisecondsToOffset": "מספר המילישניות להיסט סימוני ה־Detect. ברירת מחדל: 0", + "tips": "הקטן את הערך אם הווידאו מקדים את המסגרות ונקודות המסלול, והגדל את הערך אם הווידאו מאחוריהם. הערך יכול להיות גם שלילי.", + "toast": { + "success": "היסט הסימון עבור {{camera}} נשמר בקובץ התצורה." + } + } + }, + "carousel": { + "previous": "שקופית קודמת", + "next": "שקופית הבאה" + } + }, + "aiAnalysis": { + "title": "ניתוח AI" + }, + "concerns": { + "label": "סיכונים" + } } diff --git a/web/public/locales/he/views/exports.json b/web/public/locales/he/views/exports.json index 93e26a7b8..2bd8c7e00 100644 --- a/web/public/locales/he/views/exports.json +++ b/web/public/locales/he/views/exports.json @@ -13,5 +13,11 @@ "title": "שנה שם ייצוא", "desc": "הכנס שם חדש עבור הייצוא הזה.", "saveExport": "שמירת ייצוא" + }, + "tooltip": { + "shareExport": "שתף ייצוא", + "downloadVideo": "הורדת סרטון", + "editName": "עריכת שם", + "deleteExport": "מחיקת ייצוא" } } diff --git a/web/public/locales/he/views/faceLibrary.json b/web/public/locales/he/views/faceLibrary.json index 96b248100..0918c847d 100644 --- a/web/public/locales/he/views/faceLibrary.json +++ b/web/public/locales/he/views/faceLibrary.json @@ -1,11 +1,11 @@ { "description": { - "addFace": "עיין בהוספת אוסף חדש לספריית הפנים.", + "addFace": "הוסף אוסף חדש לספריית הפנים באמצעות העלאת התמונה הראשונה שלך.", "placeholder": "הזנת שם לאוסף זה", - "invalidName": "שם לא חוקי. שמות יכולים לכלול רק אותיות, מספרים, רווחים, גרשים, קווים תחתונים ומקפים." + "invalidName": "שם לא תקין. שמות יכולים לכלול רק אותיות, מספרים, רווחים, גרש (’), קו תחתון (_) ומקף (-)." }, "createFaceLibrary": { - "nextSteps": "כדי לבנות בסיס חזק:
  • השתמשו בכרטיסייה 'אימון' כדי לבחור ולאמן תמונות עבור כל אדם שזוהה.
  • התמקדו בתמונות ישירות לקבלת התוצאות הטובות ביותר; הימנעו מאימון תמונות שלוכדות פנים בזווית.
  • ", + "nextSteps": "כדי לבנות בסיס חזק:
  • השתמש בלשונית זיהויים אחרונים כדי לבחור ולאמן על תמונות עבור כל אדם שזוהה.
  • כדי לקבל תוצאות מיטביות, התמקד בתמונות פנים מלפנים; הימנע מתמונות אימון שבהן הפנים מצולמות בזווית.
  • ", "title": "יצירת אוסף", "desc": "יצירת אוסף חדש", "new": "יצירת פנים חדשות" @@ -22,7 +22,7 @@ "addFaceLibrary": "{{name}} נוסף בהצלחה לספריית הפנים!", "renamedFace": "שם הפנים שונה בהצלחה ל-{{name}}", "trainedFace": "פנים אומנו בהצלחה.", - "updatedFaceScore": "ציון הפנים עודכן בהצלחה." + "updatedFaceScore": "ציון הפנים עבור {{name}} עודכן בהצלחה ({{score}})." }, "error": { "deleteFaceFailed": "המחיקה נכשלה: {{errorMessage}}", @@ -58,9 +58,10 @@ } }, "train": { - "title": "רכבת", - "aria": "בחירת אימון", - "empty": "אין ניסיונות זיהוי פנים אחרונים" + "title": "זיהויים אחרונים", + "aria": "בחירת זיהויים אחרונים", + "empty": "אין ניסיונות זיהוי פנים אחרונים", + "titleShort": "לאחרונה" }, "selectItem": "בחירה:{{item}}", "selectFace": "בחירת פנים", @@ -91,7 +92,7 @@ "selectImage": "בחירת קובץ תמונה." }, "dropActive": "שחרר/י את התמונה כאן…", - "dropInstructions": "גרור ושחרר תמונה כאן, או לחץ כדי לבחור", + "dropInstructions": "גרור ושחרר או הדבק תמונה כאן, או לחץ כדי לבחור", "maxSize": "גודל מקסימאלי: {{size}}MB" }, "nofaces": "אין פנים זמינים", diff --git a/web/public/locales/he/views/live.json b/web/public/locales/he/views/live.json index 7b7c53569..5426392b9 100644 --- a/web/public/locales/he/views/live.json +++ b/web/public/locales/he/views/live.json @@ -1,7 +1,7 @@ { "manualRecording": { - "title": "הקלטה לפי דרישה", - "tips": "התחלת אירוע הקלטה ידני המבוסס על הגדרות שמירת ההקלטה של מצלמה זו.", + "title": "לפי דרישה", + "tips": "הורד צילום מיידי או התחל אירוע ידני בהתאם להגדרות שמירת ההקלטות של מצלמה זו.", "playInBackground": { "label": "ניגון ברקע", "desc": "הפעל אפשרות זו כדי להמשיך להזרים גם כאשר הנגן מוסתר." @@ -128,6 +128,9 @@ }, "available": "קול זמין עבור שידור זה", "unavailable": "קול אינו זמין עבור שידור זה" + }, + "debug": { + "picker": "בחירת זרם אינה זמינה במצב Debug. תצוגת Debug תמיד משתמשת בזרם שמוגדר עם הייעוד detect." } }, "cameraSettings": { @@ -137,7 +140,8 @@ "recording": "הקלטה", "snapshots": "לכידת תמונה", "audioDetection": "זיהוי קול", - "autotracking": "מעקב אוטומטי" + "autotracking": "מעקב אוטומטי", + "transcription": "תמלול אודיו" }, "streamingSettings": "הגדרות שידור", "notifications": "התראות", @@ -162,5 +166,24 @@ "label": "עריכת קבוצת מצלמות" }, "exitEdit": "יציאה מעריכה" + }, + "snapshot": { + "takeSnapshot": "הורדת תמונת מצב מיידית", + "noVideoSource": "אין מקור וידאו זמין לצילום תמונת מצב.", + "captureFailed": "צילום תמונת מצב נכשל.", + "downloadStarted": "התחילה הורדת תמונת המצב." + }, + "transcription": { + "enable": "הפעלת תמלול אודיו חי", + "disable": "השבתת תמלול אודיו חי" + }, + "noCameras": { + "title": "לא הוגדרו מצלמות", + "description": "התחל על-ידי חיבור מצלמה ל-Frigate.", + "buttonText": "הוסף מצלמה", + "restricted": { + "title": "אין מצלמות זמינות", + "description": "אין לך הרשאה לצפות במצלמות כלשהן בקבוצה זו." + } } } diff --git a/web/public/locales/he/views/search.json b/web/public/locales/he/views/search.json index 0865e4654..199171375 100644 --- a/web/public/locales/he/views/search.json +++ b/web/public/locales/he/views/search.json @@ -4,7 +4,7 @@ "searchFor": "חפש את{{inputValue}}", "button": { "clear": "ניקוי חיפוש", - "save": "שמירת החיפוש", + "save": "שמור חיפוש", "delete": "מחיקת חיפוש שמור", "filterInformation": "סינון מידע", "filterActive": "מסננים פעילים" @@ -26,7 +26,8 @@ "min_speed": "מהירות מינמאלית", "recognized_license_plate": "לוחית רישוי מוכרת", "has_clip": "קיים סרטון קליפ", - "has_snapshot": "לכידת תמונה קיימת" + "has_snapshot": "לכידת תמונה קיימת", + "attributes": "מאפיינים" }, "searchType": { "thumbnail": "תמונה ממוזערת", diff --git a/web/public/locales/he/views/settings.json b/web/public/locales/he/views/settings.json index e0737aa6e..cb24111c0 100644 --- a/web/public/locales/he/views/settings.json +++ b/web/public/locales/he/views/settings.json @@ -46,7 +46,8 @@ "mustBeAtLeastTwoCharacters": "שם האזור חייב להיות באורך של לפחות 2 תווים.", "mustNotBeSameWithCamera": "שם האזור לא חייב להיות זהה לשם המצלמה.", "mustNotContainPeriod": "שם האזור אינו יכול להכיל נקודות.", - "hasIllegalCharacter": "שם האזור מכיל תווים לא חוקיים." + "hasIllegalCharacter": "שם האזור מכיל תווים לא חוקיים.", + "mustHaveAtLeastOneLetter": "שם האזור חייב לכלול לפחות אות אחת." } }, "distance": { @@ -111,7 +112,7 @@ "name": { "title": "שם", "inputPlaceHolder": "הזן שם…", - "tips": "השם חייב להיות באורך של לפחות 2 תווים ואינו יכול להיות שם של מצלמה או אזור אחר." + "tips": "השם חייב להכיל לפחות 2 תווים, לכלול לפחות אות אחת, ואסור שיהיה זהה לשם של מצלמה או של אזור אחר במצלמה זו." }, "point_one": "נקודה {{count}}", "point_two": "נקודות {{count}}", @@ -125,7 +126,7 @@ "desc": "קובע את משך הזמן המינימלי בשניות שהאובייקט חייב להיות באזור כדי שיופעל. ברירת מחדל: 0" }, "objects": { - "title": "אובייקט", + "title": "אובייקטים", "desc": "רשימת אובייקטים החלים על אזור זה." }, "speedEstimation": { @@ -148,7 +149,7 @@ } }, "toast": { - "success": "האזור ({{zoneName}}) נשמר. הפעל מחדש את Frigate כדי להחיל את השינויים." + "success": "האזור ({{zoneName}}) נשמר בהצלחה." }, "allObjects": "כל האובייקטים" }, @@ -176,8 +177,8 @@ }, "toast": { "success": { - "title": "{{polygonName}} נשמר. הפעל מחדש את Frigate כדי להחיל את השינויים.", - "noName": "מיסוך התנועה נשמר. הפעל מחדש את Frigate כדי להחיל את השינויים." + "title": "{{polygonName}} נשמר בהצלחה.", + "noName": "מסכת תנועה נשמרה בהצלחה." } } }, @@ -202,8 +203,8 @@ }, "toast": { "success": { - "title": "{{polygonName}} נשמר. הפעל מחדש את Frigate כדי להחיל את השינויים.", - "noName": "מיסוך האובייקט נשמר. הפעל מחדש את Frigate כדי להחיל את השינויים." + "title": "{{polygonName}} נשמר בהצלחה.", + "noName": "מיסוך האובייקט נשמר." } } } @@ -225,6 +226,14 @@ "playAlertVideos": { "label": "ניגון סרטוני התראות", "desc": "כברירת מחדל, התראות אחרונות בדשבורד שידור חי מופעלות כסרטונים קצרים בלולאה. השבת אפשרות זו כדי להציג רק תמונה סטטית של התראות אחרונות במכשיר/דפדפן זה." + }, + "displayCameraNames": { + "label": "תמיד להציג שם מצלמה", + "desc": "תמיד להציג את שמות המצלמות בצ’יפ בתצוגת הלייב מרובת המצלמות בדשבורד." + }, + "liveFallbackTimeout": { + "label": "זמן המתנה למעבר לנגן חלופי בשידור חי", + "desc": "כאשר זרם השידור חי באיכות גבוהה של מצלמה אינו זמין, המערכת תעבור למצב רוחב־פס נמוך לאחר מספר השניות הזה. ברירת מחדל: 3." } }, "cameraGroupStreaming": { @@ -232,7 +241,7 @@ "title": "הגדרות הזרמת קבוצת מצלמות", "clearAll": "נקה את כל הגדרות השידור" }, - "title": "הגדרות כלליות", + "title": "הגדרות UI", "storedLayouts": { "title": "פריסות תצוגה שמורות", "desc": "ניתן לגרור/לשנות את גודל הפריסה של המצלמות בקבוצת מצלמות. המיקומים נשמרים באחסון המקומי של הדפדפן שלך.", @@ -268,7 +277,7 @@ "notifications": "הגדרת התראות - Frigate", "authentication": "הגדרות אימות - Frigate", "default": "הגדרות - Frigate", - "general": "הגדרות כלליות - Frigate", + "general": "הגדרות ממשק (UI) - Frigate", "cameraManagement": "ניהול מצלמות - Frigate", "cameraReview": "הגדרות סקירת מצלמה - Frigate" }, @@ -427,7 +436,20 @@ "area": "אזור", "tips": "הפעל אפשרות זו כדי לצייר מלבן על תמונת המצלמה כדי להציג את השטח והיחס שלה. ניתן להשתמש בערכים אלה כדי להגדיר פרמטרים של מסנן צורת אובייקט בתצורה שלך." }, - "desc": "תצוגת ניפוי שגיאות מציגה תצוגה בזמן אמת של אובייקטים במעקב והסטטיסטיקות שלהם. רשימת האובייקטים מציגה סיכום בהשהיית זמן של האובייקטים שזוהו." + "desc": "תצוגת ניפוי שגיאות מציגה תצוגה בזמן אמת של אובייקטים במעקב והסטטיסטיקות שלהם. רשימת האובייקטים מציגה סיכום בהשהיית זמן של האובייקטים שזוהו.", + "openCameraWebUI": "פתח את ממשק ה־Web של {{camera}}", + "audio": { + "title": "אודיו", + "noAudioDetections": "אין זיהויי אודיו", + "score": "ציון", + "currentRMS": "RMS נוכחי", + "currentdbFS": "dbFS נוכחי" + }, + "paths": { + "title": "נתיבים", + "desc": "הצג נקודות משמעותיות במסלול התנועה של האובייקט במעקב", + "tips": "

    נתיבים


    קווים ועיגולים יציינו נקודות משמעותיות שבהן האובייקט במעקב נע במהלך מחזור חייו.

    " + } }, "users": { "title": "משתמשים", @@ -436,7 +458,7 @@ "desc": "נהל את חשבונות המשתמשים של מופע Frigate זה." }, "addUser": "הוספת משתמש", - "updatePassword": "עדכון סיסמה", + "updatePassword": "איפוס סיסמה", "toast": { "success": { "createUser": "המשתמש {{user}} נוצר בהצלחה", @@ -456,7 +478,7 @@ "role": "הרשאות", "noUsers": "לא נמצאו משתמשים.", "changeRole": "שינוי הרשאות משתמש", - "password": "סיסמה", + "password": "איפוס סיסמה", "deleteUser": "מחיקת משתמש", "username": "שם משתמש" }, @@ -482,7 +504,16 @@ "veryStrong": "מאוד חזק" }, "match": "סיסמאות תואמות", - "notMatch": "הסיסמאות אינן תואמות." + "notMatch": "הסיסמאות אינן תואמות.", + "show": "הצג סיסמה", + "hide": "הסתר סיסמה", + "requirements": { + "title": "דרישות סיסמה:", + "length": "לפחות 8 תווים", + "uppercase": "לפחות אות גדולה אחת", + "digit": "לפחות ספרה אחת", + "special": "לפחות תו מיוחד אחד (!@#$%^&*(),.?\":{}|<>)" + } }, "newPassword": { "title": "סיסמה חדשה", @@ -492,7 +523,11 @@ } }, "usernameIsRequired": "נדרש שם משתמש", - "passwordIsRequired": "נדרשת סיסמה" + "passwordIsRequired": "נדרשת סיסמה", + "currentPassword": { + "title": "סיסמה נוכחית", + "placeholder": "הזן את הסיסמה הנוכחית שלך" + } }, "createUser": { "title": "יצירת משתמש חדש", @@ -510,7 +545,12 @@ "doNotMatch": "הסיסמאות אינן תואמות", "updatePassword": "עדכון סיסמה עבור {{username}}", "setPassword": "קבע סיסמה", - "desc": "צור סיסמה חזקה כדי לאבטח חשבון זה." + "desc": "צור סיסמה חזקה כדי לאבטח חשבון זה.", + "currentPasswordRequired": "נדרשת הסיסמה הנוכחית", + "incorrectCurrentPassword": "הסיסמה הנוכחית שגויה", + "passwordVerificationFailed": "נכשל באימות הסיסמה", + "multiDeviceWarning": "כל מכשיר אחר שבו אתה מחובר יידרש להתחבר מחדש בתוך {{refresh_time}}.", + "multiDeviceAdmin": "ניתן גם לאלץ את כל המשתמשים להתחבר מחדש באופן מיידי על־ידי החלפת מפתח ה־JWT שלך." }, "changeRole": { "title": "שינוי הרשאות משתמש", @@ -521,7 +561,8 @@ "admin": "מנהל", "adminDesc": "גישה מלאה לכל התכונות.", "viewer": "צופה", - "viewerDesc": "מוגבל לדשבורד שידור חי, סקירה, גילוי וייצוא בלבד." + "viewerDesc": "מוגבל לדשבורד שידור חי, סקירה, גילוי וייצוא בלבד.", + "customDesc": "תפקיד מותאם אישית עם גישה למצלמות מסוימות." } } } @@ -624,5 +665,454 @@ "success": "הגדרות Frigate+ נשמרו. הפעל מחדש את Frigate כדי להחיל את השינויים.", "error": "שמירת שינויי התצורה נכשלה: {{errorMessage}}" } + }, + "cameraWizard": { + "step1": { + "brandInformation": "פרטי יצרן", + "brandUrlFormat": "למצלמות עם פורמט כתובת RTSP כמו: {{exampleUrl}}", + "connectionSettings": "הגדרות חיבור", + "detectionMethod": "שיטת זיהוי זרם", + "onvifPort": "פורט ONVIF", + "probeMode": "בדיקת מצלמה", + "manualMode": "בחירה ידנית", + "detectionMethodDescription": "בדוק את המצלמה באמצעות ONVIF (אם נתמך) כדי למצוא את כתובות הזרמים שלה, או בחר ידנית את יצרן המצלמה כדי להשתמש בכתובות מוגדרות מראש.\nכדי להזין כתובת RTSP מותאמת אישית, בחר בשיטה ידנית ואז בחר \"אחר\".", + "onvifPortDescription": "במצלמות שתומכות ב-ONVIF, זה בדרך כלל 80 או 8080.", + "useDigestAuth": "שימוש באימות Digest", + "useDigestAuthDescription": "השתמש באימות HTTP Digest עבור ONVIF. בחלק מהמצלמות נדרש שם משתמש/סיסמה ייעודיים ל-ONVIF, ולא משתמש ה-Admin הרגיל.", + "errors": { + "brandOrCustomUrlRequired": "בחר יצרן מצלמה והזן Host/IP, או בחר “אחר” והזן כתובת מותאמת אישית", + "nameRequired": "שם המצלמה הוא שדה חובה", + "nameLength": "שם המצלמה חייב להיות באורך של עד 64 תווים", + "invalidCharacters": "שם המצלמה מכיל תווים לא חוקיים", + "nameExists": "שם המצלמה כבר קיים", + "customUrlRtspRequired": "כתובות מותאמות אישית חייבות להתחיל ב־\"rtsp://\". עבור זרמי מצלמה שאינם RTSP נדרשת הגדרה ידנית." + }, + "description": "הזן את פרטי המצלמה ובחר אם לבצע בדיקה למצלמה או לבחור ידנית את היצרן.", + "cameraName": "שם מצלמה", + "cameraNamePlaceholder": "לדוגמה: front_door או סקירת החצר האחורית", + "host": "HOST / כתובת IP", + "port": "פורט", + "username": "שם משתמש", + "usernamePlaceholder": "אופציונלי", + "password": "סיסמה", + "passwordPlaceholder": "אופציונלי", + "selectTransport": "בחר פרוטוקול תעבורה", + "cameraBrand": "יצרן מצלמה", + "selectBrand": "בחר יצרן מצלמה עבור תבנית כתובת ה-URL", + "customUrl": "כתובת (URL) זרם מותאמת אישית", + "customUrlPlaceholder": "rtsp://username:password@host:port/path" + }, + "step2": { + "description": "בדוק את המצלמה כדי לאתר זרמים זמינים, או הגדר ידנית את ההגדרות לפי שיטת הזיהוי שבחרת.", + "testSuccess": "בדיקת החיבור הצליחה!", + "testFailed": "בדיקת החיבור נכשלה. בדוק את הנתונים שהזנת ונסה שוב.", + "testFailedTitle": "הבדיקה נכשלה", + "streamDetails": "פרטי זרם", + "probing": "בודק מצלמה...", + "retry": "נסה שוב", + "testing": { + "probingMetadata": "בודק את נתוני המטא של המצלמה…", + "fetchingSnapshot": "שולף תמונת מצב מהמצלמה…" + }, + "probeFailed": "בדיקת המצלמה נכשלה: {{error}}", + "probingDevice": "בודק את ההתקן…", + "probeSuccessful": "הבדיקה הצליחה", + "probeError": "בדיקה נכשלה", + "probeNoSuccess": "הבדיקה לא הצליחה", + "deviceInfo": "מידע על ההתקן", + "manufacturer": "יצרן", + "model": "דגם", + "firmware": "קושחה", + "profiles": "פרופילים", + "ptzSupport": "תמיכה ב-PTZ", + "autotrackingSupport": "תמיכה ב-Autotracking", + "presets": "פריסטים", + "rtspCandidates": "כתובות RTSP מוצעות", + "rtspCandidatesDescription": "כתובות ה־RTSP הבאות נמצאו בבדיקת המצלמה. בצע בדיקת חיבור כדי לצפות בנתוני הזרם (Metadata).", + "noRtspCandidates": "לא נמצאו כתובות RTSP מהמצלמה. ייתכן שפרטי ההתחברות שגויים, או שהמצלמה לא תומכת ב-ONVIF, או שהשיטה שבה השתמשנו לשליפת כתובות RTSP אינה נתמכת. חזור אחורה והזן את כתובת ה-RTSP ידנית.", + "candidateStreamTitle": "אפשרות {{number}}", + "useCandidate": "השתמש", + "uriCopy": "העתק", + "uriCopied": "הכתובת (URI) הועתקה ללוח", + "testConnection": "בדיקת חיבור", + "toggleUriView": "לחץ כדי להציג/להסתיר את הכתובת המלאה", + "connected": "מחובר", + "notConnected": "לא מחובר", + "errors": { + "hostRequired": "כתובת Host/IP היא שדה חובה" + } + }, + "step3": { + "description": "הגדר תפקידי זרם (Roles) והוסף זרמים נוספים למצלמה שלך.", + "streamsTitle": "זרמי מצלמה", + "addStream": "הוסף זרם", + "addAnotherStream": "הוסף זרם נוסף", + "streamTitle": "זרם {{number}}", + "streamUrl": "כתובת הזרם (URL)", + "selectStream": "בחר זרם", + "searchCandidates": "חיפוש אפשרויות…", + "noStreamFound": "לא נמצא זרם", + "url": "URL", + "resolution": "רזולוציה", + "selectResolution": "בחר רזולוציה", + "quality": "איכות", + "selectQuality": "בחר איכות", + "roles": "תפקידים", + "roleLabels": { + "detect": "זיהוי אובייקטים", + "record": "הקלטה", + "audio": "קול (Audio)" + }, + "testStream": "בדיקת חיבור", + "testSuccess": "בדיקת הזרם הצליחה!", + "testFailed": "בדיקת הזרם נכשלה", + "testFailedTitle": "הבדיקה נכשלה", + "connected": "מחובר", + "notConnected": "לא מחובר", + "featuresTitle": "תכונות", + "go2rtc": "הפחתת חיבורים למצלמה", + "detectRoleWarning": "כדי להמשיך, לפחות זרם אחד חייב להיות עם ייעוד \"detect\".", + "rolesPopover": { + "title": "ייעודי הזרם", + "detect": "הזרם הראשי לזיהוי אובייקטים.", + "record": "שומר קטעים מזרם הווידאו לפי הגדרות התצורה.", + "audio": "זרם לזיהוי מבוסס אודיו." + }, + "featuresPopover": { + "title": "תכונות הזרם", + "description": "השתמש ב־go2rtc לריסטרים (Restream) כדי להפחית את מספר החיבורים למצלמה שלך." + }, + "streamUrlPlaceholder": "rtsp://username:password@host:port/path" + }, + "step4": { + "description": "אימות וניתוח סופיים לפני שמירת המצלמה החדשה. התחבר לכל זרם לפני השמירה.", + "validationTitle": "אימות הזרם", + "connectAllStreams": "התחברות לכל הזרמים", + "reconnectionSuccess": "חיבור מחדש הצליח.", + "reconnectionPartial": "חלק מהזרמים לא הצליחו להתחבר מחדש.", + "streamUnavailable": "תצוגה מקדימה של הזרם אינה זמינה", + "reload": "טעינה מחדש", + "connecting": "מתחבר...", + "streamTitle": "זרם {{number}}", + "valid": "תקין", + "failed": "נכשל", + "notTested": "לא נבדק", + "connectStream": "התחבר", + "connectingStream": "מתחבר", + "disconnectStream": "נתק", + "estimatedBandwidth": "רוחב־פס משוער", + "roles": "ייעודים", + "ffmpegModule": "שימוש במצב תאימות לזרם", + "ffmpegModuleDescription": "אם הזרם לא נטען אחרי כמה ניסיונות, נסה להפעיל את זה. כשהאפשרות פעילה, Frigate ישתמש במודול ffmpeg יחד עם go2rtc. זה עשוי לשפר תאימות עם זרמים של חלק מהמצלמות.", + "none": "ללא", + "error": "שגיאה", + "streamValidated": "הזרם {{number}} אומת בהצלחה", + "streamValidationFailed": "אימות הזרם {{number}} נכשל", + "saveAndApply": "שמירת מצלמה חדשה", + "saveError": "תצורה לא תקינה. בדוק את ההגדרות שלך.", + "issues": { + "title": "אימות הזרם", + "videoCodecGood": "קידוד הווידאו הוא {{codec}}.", + "audioCodecGood": "קידוד האודיו הוא {{codec}}.", + "resolutionHigh": "רזולוציה של {{resolution}} עשויה לגרום לשימוש מוגבר במשאבים.", + "resolutionLow": "רזולוציה של {{resolution}} עשויה להיות נמוכה מדי לזיהוי אמין של אובייקטים קטנים.", + "noAudioWarning": "לא זוהה אודיו בזרם הזה, ולכן ההקלטות יהיו ללא שמע.", + "audioCodecRecordError": "כדי לכלול אודיו בהקלטות נדרש קידוד שמע AAC.", + "audioCodecRequired": "כדי לאפשר זיהוי אודיו נדרש זרם שמע.", + "restreamingWarning": "הפחתת מספר החיבורים למצלמה עבור זרם ההקלטה (record) עשויה להעלות מעט את השימוש ב־CPU.", + "brands": { + "reolink-rtsp": "RTSP של Reolink לא מומלץ. הפעל HTTP בהגדרות הקושחה של המצלמה, ואז הפעל מחדש את אשף ההגדרה.", + "reolink-http": "בזרמי HTTP של Reolink מומלץ להשתמש ב־FFmpeg לתאימות טובה יותר. הפעל עבור הזרם הזה את האפשרות “שימוש במצב תאימות לזרם”." + }, + "dahua": { + "substreamWarning": "זרם משנה 1 נעול לרזולוציה נמוכה. מצלמות רבות של Dahua / Amcrest / EmpireTech תומכות בזרמי משנה נוספים שצריך להפעיל בהגדרות המצלמה מומלץ לבדוק אם קיימים זרמי משנה כאלה ולהשתמש בהם במידה וזמינים." + }, + "hikvision": { + "substreamWarning": "זרם משנה 1 נעול לרזולוציה נמוכה. מצלמות רבות של Hikvision תומכות בזרמי משנה נוספים שצריך להפעיל בהגדרות המצלמה. מומלץ לבדוק אם קיימים זרמי משנה כאלה ולהשתמש בהם, אם הם זמינים." + } + } + }, + "title": "הוסף מצלמה", + "description": "בצע את השלבים הבאים כדי להוסיף מצלמה חדשה להתקנת ה־Frigate שלך.", + "steps": { + "nameAndConnection": "שם וחיבור", + "probeOrSnapshot": "בדיקה (Probe) או צילום תמונה (Snapshot)", + "streamConfiguration": "הגדרות זרם", + "validationAndTesting": "אימות ובדיקה" + }, + "save": { + "success": "המצלמה החדשה {{cameraName}} נשמרה בהצלחה.", + "failure": "שגיאה בשמירת {{cameraName}}." + }, + "testResultLabels": { + "resolution": "רזולוציה", + "video": "וידיאו", + "audio": "אודיו", + "fps": "FPS" + }, + "commonErrors": { + "noUrl": "אנא ספק כתובת URL תקינה לזרם", + "testFailed": "בדיקת הזרם נכשלה: {{error}}" + } + }, + "cameraManagement": { + "title": "ניהול מצלמות", + "addCamera": "הוספת מצלמה חדשה", + "editCamera": "עריכת מצלמה:", + "selectCamera": "בחירת מצלמה", + "backToSettings": "חזרה להגדרות מצלמה", + "streams": { + "title": "הפעלה / השבתה של מצלמות", + "desc": "השבת מצלמה זמנית עד ש־Frigate יופעל מחדש. השבתת מצלמה עוצרת לחלוטין את העיבוד של Frigate עבור זרמי המצלמה הזו. זיהוי, הקלטה וניפוי שגיאות לא יהיו זמינים.
    \nהערה: פעולה זו לא משביתה את ה־restreams של go2rtc." + }, + "cameraConfig": { + "add": "הוספת מצלמה", + "edit": "עריכת מצלמה", + "description": "נהל את הגדרות המצלמה, כולל קלטי הזרמים והייעודים שלהם.", + "name": "שם מצלמה", + "nameRequired": "שם המצלמה הוא שדה חובה", + "nameLength": "שם המצלמה חייב להיות קצר מ־64 תווים.", + "namePlaceholder": "לדוגמה: front_door או תצוגת סקירה של החצר האחורית", + "enabled": "מופעל", + "ffmpeg": { + "inputs": "זרמי קלט", + "path": "נתיב זרם", + "pathRequired": "נתיב זרם הוא שדה חובה", + "roles": "ייעודים", + "rolesRequired": "נדרש לפחות ייעוד אחד", + "rolesUnique": "כל ייעוד (audio, detect, record) ניתן להקצות לזרם אחד בלבד", + "addInput": "הוסף זרם קלט", + "removeInput": "הסר זרם קלט", + "inputsRequired": "נדרש לפחות זרם קלט אחד", + "pathPlaceholder": "rtsp://..." + }, + "go2rtcStreams": "זרמי go2rtc", + "streamUrls": "כתובות URL של הזרמים", + "addUrl": "הוסף URL", + "addGo2rtcStream": "הוסף זרם go2rtc", + "toast": { + "success": "המצלמה {{cameraName}} נשמרה בהצלחה" + } + } + }, + "cameraReview": { + "title": "הגדרות סקירת מצלמה", + "object_descriptions": { + "title": "Generative AI תיאורי אובייקטים", + "desc": "הפעל/השבת זמנית תיאורי אובייקטים של Generative AI עבור מצלמה זו. כאשר האפשרות מושבתת, לא יתבקשו תיאורים שנוצרו ע״י AI עבור אובייקטים במעקב במצלמה זו." + }, + "review_descriptions": { + "title": "תיאורי סקירה של Generative AI", + "desc": "הפעל/השבת זמנית תיאורי סקירה של Generative AI עבור מצלמה זו. כאשר האפשרות מושבתת, לא יתבקשו תיאורים שנוצרו ע״י AI עבור פריטי סקירה במצלמה זו." + }, + "review": { + "title": "סקירה", + "desc": "הפעל/השבת זמנית התראות וזיהויים עבור מצלמה זו עד ש-Frigate יופעל מחדש. כאשר האפשרות מושבתת, לא ייווצרו פריטי סקירה חדשים. ", + "alerts": "התראות. ", + "detections": "זיהויים. " + }, + "reviewClassification": { + "title": "סיווג סקירה", + "desc": "Frigate מסווג פריטי סקירה ל־התראות ול־זיהויים. כברירת מחדל, כל אובייקט מסוג person ו־car נחשב ל־התראה. ניתן לדייק את הסיווג של פריטי הסקירה שלך באמצעות הגדרת אזורים נדרשים עבורם.", + "noDefinedZones": "לא הוגדרו אזורים למצלמה זו.", + "objectAlertsTips": "כל האובייקטים מסוג {{alertsLabels}} ב־{{cameraName}} יוצגו כהתראות.", + "zoneObjectAlertsTips": "כל האובייקטים מסוג {{alertsLabels}} שזוהו בתוך {{zone}} ב־{{cameraName}} יוצגו כהתראות.", + "objectDetectionsTips": "כל האובייקטים מסוג {{detectionsLabels}} שלא סווגו ב־{{cameraName}} יוצגו כזיהויים, ללא קשר לאיזה אזור הם נמצאים בו.", + "zoneObjectDetectionsTips": { + "text": "כל האובייקטים מסוג {{detectionsLabels}} שלא סווגו בתוך {{zone}} ב־{{cameraName}} יוצגו כזיהויים.", + "notSelectDetections": "כל האובייקטים מסוג {{detectionsLabels}} שזוהו בתוך {{zone}} ב־{{cameraName}} ושאינם מסווגים כהתראות יוצגו כזיהויים, ללא קשר לאיזה אזור הם נמצאים בו.", + "regardlessOfZoneObjectDetectionsTips": "כל האובייקטים מסוג {{detectionsLabels}} שלא סווגו ב־{{cameraName}} יוצגו כזיהויים, ללא קשר לאיזה אזור הם נמצאים בו." + }, + "unsavedChanges": "הגדרות סיווג סקירה שלא נשמרו עבור {{camera}}", + "selectAlertsZones": "בחר אזורים עבור התראות", + "selectDetectionsZones": "בחר אזורים עבור זיהויים", + "limitDetections": "הגבל זיהויים לאזורים מסוימים", + "toast": { + "success": "הגדרות סיווג הסקירה נשמרו. הפעל מחדש את Frigate כדי להחיל את השינויים." + } + } + }, + "roles": { + "management": { + "title": "ניהול תפקיד צופה", + "desc": "נהל תפקידי צופה מותאמים אישית ואת הרשאות הגישה שלהם למצלמות עבור מופע Frigate זה." + }, + "addRole": "הוסף תפקיד", + "table": { + "role": "תפקיד", + "cameras": "מצלמות", + "actions": "פעולות", + "noRoles": "לא נמצאו תפקידים מותאמים אישית.", + "editCameras": "ערוך מצלמות", + "deleteRole": "מחק תפקיד" + }, + "toast": { + "success": { + "createRole": "התפקיד {{role}} נוצר בהצלחה", + "updateCameras": "המצלמות עודכנו עבור התפקיד {{role}}", + "deleteRole": "התפקיד {{role}} נמחק בהצלחה", + "userRolesUpdated_one": "המשתמש {{count}} שהוקצה לתפקיד זה עודכן ל־צופה (viewer), שלו יש גישה לכל המצלמות.", + "userRolesUpdated_two": "{{count}} משתמשים שהוקצו לתפקיד זה עודכנו ל־צופה (viewer), שלו יש גישה לכל המצלמות.", + "userRolesUpdated_other": "" + }, + "error": { + "createRoleFailed": "נכשל ביצירת התפקיד: {{errorMessage}}", + "updateCamerasFailed": "נכשל בעדכון המצלמות: {{errorMessage}}", + "deleteRoleFailed": "נכשל במחיקת התפקיד: {{errorMessage}}", + "userUpdateFailed": "נכשל בעדכון תפקידי המשתמשים: {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "צור תפקיד חדש", + "desc": "הוסף תפקיד חדש והגדר הרשאות גישה למצלמות." + }, + "editCameras": { + "title": "ערוך מצלמות לתפקיד", + "desc": "עדכן את גישת המצלמות עבור התפקיד {{role}}." + }, + "deleteRole": { + "title": "מחק תפקיד", + "desc": "לא ניתן לבטל פעולה זו. הפעולה תמחק לצמיתות את התפקיד ותעביר כל משתמש שהוקצה לתפקיד זה לתפקיד צופה (viewer), המעניק גישה לכל המצלמות.", + "warn": "האם אתה בטוח שברצונך למחוק את {{role}}?", + "deleting": "מוחק..." + }, + "form": { + "role": { + "title": "שם תפקיד", + "placeholder": "הזן שם תפקיד", + "desc": "מותר להשתמש רק באותיות, מספרים, נקודות וקווים תחתונים.", + "roleIsRequired": "שם תפקיד הוא שדה חובה", + "roleOnlyInclude": "שם התפקיד יכול לכלול רק אותיות, מספרים, נקודות או קווים תחתונים", + "roleExists": "כבר קיים תפקיד בשם זה." + }, + "cameras": { + "title": "מצלמות", + "desc": "בחר את המצלמות שלתפקיד זה יש גישה אליהן. נדרשת לפחות מצלמה אחת.", + "required": "חובה לבחור לפחות מצלמה אחת." + } + } + } + }, + "triggers": { + "documentTitle": "טריגרים", + "semanticSearch": { + "title": "חיפוש סמנטי מושבת", + "desc": "כדי להשתמש בטריגרים, יש להפעיל חיפוש סמנטי." + }, + "management": { + "title": "טריגרים", + "desc": "נהל טריגרים עבור {{camera}}. השתמש בסוג תמונה ממוזערת (Thumbnail) כדי להפעיל טריגרים על תמונות ממוזערות דומות לאובייקט שבחרת למעקב, ובסוג תיאור (Description) כדי להפעיל טריגרים על תיאורים דומים לטקסט שתגדיר." + }, + "addTrigger": "הוסף טריגר", + "table": { + "name": "שם", + "type": "סוג", + "content": "תוכן", + "threshold": "סף", + "actions": "פעולות", + "noTriggers": "לא הוגדרו טריגרים למצלמה זו.", + "edit": "עריכה", + "deleteTrigger": "מחק טריגר", + "lastTriggered": "הפעלה אחרונה" + }, + "type": { + "thumbnail": "תמונה ממוזערת", + "description": "תיאור" + }, + "actions": { + "notification": "שלח התראה", + "sub_label": "הוסף תווית משנה", + "attribute": "הוסף מאפיינים" + }, + "dialog": { + "createTrigger": { + "title": "צור טריגר", + "desc": "צור טריגר עבור המצלמה {{camera}}" + }, + "editTrigger": { + "title": "ערוך טריגר", + "desc": "ערוך את ההגדרות עבור הטריגר במצלמה {{camera}}" + }, + "deleteTrigger": { + "title": "מחק טריגר", + "desc": "האם אתה בטוח שברצונך למחוק את הטריגר {{triggerName}}? פעולה זו אינה ניתנת לביטול." + }, + "form": { + "name": { + "title": "שם", + "placeholder": "תן שם לטריגר", + "description": "הזן שם או תיאור ייחודיים לזיהוי הטריגר הזה", + "error": { + "minLength": "השדה חייב להכיל לפחות 2 תווים.", + "invalidCharacters": "השדה יכול להכיל רק אותיות, מספרים, קווים תחתונים (_) ומקפים (-).", + "alreadyExists": "כבר קיים טריגר בשם זה עבור מצלמה זו." + } + }, + "enabled": { + "description": "הפעל או השבת טריגר זה" + }, + "type": { + "title": "סוג", + "placeholder": "בחר סוג טריגר", + "description": "הפעל טריגר כאשר מזוהה תיאור דומה של אובייקט במעקב", + "thumbnail": "הפעל טריגר כאשר מזוהה תמונה ממוזערת דומה של אובייקט במעקב" + }, + "content": { + "title": "תוכן", + "imagePlaceholder": "בחר תמונה ממוזערת", + "textPlaceholder": "הזן תוכן טקסט", + "imageDesc": "מוצגות רק 100 התמונות הממוזערות האחרונות. אם אינך מוצא את התמונה הממוזערת הרצויה, אנא סקור אובייקטים מוקדמים יותר ב־Explore והגדר משם טריגר דרך התפריט.", + "textDesc": "הזן טקסט להפעלת פעולה זו כאשר מזוהה תיאור דומה של אובייקט במעקב.", + "error": { + "required": "נדרש תוכן." + } + }, + "threshold": { + "title": "סף", + "desc": "הגדר את סף הדמיון עבור טריגר זה. סף גבוה יותר מחייב התאמה קרובה יותר כדי להפעיל את הטריגר.", + "error": { + "min": "הסף חייב להיות לפחות 0", + "max": "הסף חייב להיות לכל היותר 1" + } + }, + "actions": { + "title": "פעולות", + "desc": "כברירת מחדל, Frigate שולח הודעת MQTT עבור כל הטריגרים. תוויות משנה (Sub Labels) מוסיפות את שם הטריגר לתווית האובייקט. מאפיינים (Attributes) הם מטא־נתונים הניתנים לחיפוש, הנשמרים בנפרד במטא־הנתונים של האובייקט במעקב.", + "error": { + "min": "חובה לבחור לפחות פעולה אחת." + } + } + } + }, + "wizard": { + "title": "צור טריגר", + "step1": { + "description": "הגדר את ההגדרות הבסיסיות של הטריגר שלך." + }, + "step2": { + "description": "הגדר את התוכן שיפעיל פעולה זו." + }, + "step3": { + "description": "הגדר את הסף והפעולות עבור טריגר זה." + }, + "steps": { + "nameAndType": "שם וסוג", + "configureData": "הגדר נתונים", + "thresholdAndActions": "סף ופעולות" + } + }, + "toast": { + "success": { + "createTrigger": "הטריגר {{name}} נוצר בהצלחה.", + "updateTrigger": "הטריגר {{name}} עודכן בהצלחה.", + "deleteTrigger": "הטריגר {{name}} נמחק בהצלחה." + }, + "error": { + "createTriggerFailed": "נכשל ביצירת הטריגר: {{errorMessage}}", + "updateTriggerFailed": "נכשל בעדכון הטריגר: {{errorMessage}}", + "deleteTriggerFailed": "נכשל במחיקת הטריגר: {{errorMessage}}" + } + } } } diff --git a/web/public/locales/he/views/system.json b/web/public/locales/he/views/system.json index d30f9437e..90480a554 100644 --- a/web/public/locales/he/views/system.json +++ b/web/public/locales/he/views/system.json @@ -7,7 +7,8 @@ "reindexingEmbeddings": "אינדקס מחדש של ההטמעות ({{processed}}% הושלם)", "cameraIsOffline": "{{camera}} לא זמינה", "detectIsSlow": "{{detect}} איטי ({{speed}} אלפיות שנייה)", - "detectIsVerySlow": "{{detect}} איטי מאוד ({{speed}} אלפיות שנייה)" + "detectIsVerySlow": "{{detect}} איטי מאוד ({{speed}} אלפיות שנייה)", + "shmTooLow": "יש להגדיל את הקצאת ‎/dev/shm‏ ({{total}} MB) לפחות ל־{{min}} MB." }, "documentTitle": { "cameras": "מצב מצלמות - Frigate", @@ -86,7 +87,12 @@ } }, "npuUsage": "שימוש ב-NPU", - "npuMemory": "NPU זיכרון" + "npuMemory": "NPU זיכרון", + "intelGpuWarning": { + "title": "אזהרת סטטיסטיקות GPU של Intel", + "message": "נתוני ה־GPU אינם זמינים", + "description": "זהו באג ידוע בכלי הדיווח של Intel לסטטיסטיקות GPU ‏(intel_gpu_top): לפעמים הוא “נשבר” ומתחיל להחזיר שוב ושוב שימוש GPU של 0%, גם במקרים שבהם ההאצה החומרתית וזיהוי האובייקטים כן עובדים תקין על ה־(i)GPU.\nזה לא באג של Frigate. אפשר לאתחל את ה־Host כדי לתקן את זה זמנית, וככה גם לוודא שה־GPU באמת עובד כמו שצריך.\nהתקלה הזו לא משפיעה על הביצועים." + } }, "otherProcesses": { "title": "תהליכים אחרים", @@ -108,8 +114,18 @@ "plate_recognition_speed": "מהירות זיהוי לוחית", "text_embedding_speed": "מהירות הטמעת טקסט", "yolov9_plate_detection_speed": "מהירות זיהוי לוחיות YOLOv9", - "yolov9_plate_detection": "זיהוי לוחיות YOLOv9" - } + "yolov9_plate_detection": "זיהוי לוחיות YOLOv9", + "review_description": "תיאור סקירה", + "review_description_speed": "מהירות תיאור הסקירה", + "review_description_events_per_second": "תיאור סקירה", + "object_description": "תיאור אובייקט", + "object_description_speed": "מהירות תיאור האובייקט", + "object_description_events_per_second": "תיאור אובייקט", + "classification": "סיווג {{name}}", + "classification_speed": "מהירות סיווג {{name}}", + "classification_events_per_second": "אירועי סיווג לשנייה עבור {{name}}" + }, + "averageInf": "זמן הסקה ממוצע" }, "storage": { "cameraStorage": { @@ -130,6 +146,10 @@ "title": "הקלטות", "earliestRecording": "ההקלטה המוקדמת ביותר הזמינה:", "tips": "ערך זה מייצג את סך האחסון בו משתמשים ההקלטות במסד הנתונים של Frigate. Frigate אינו עוקב אחר ניצול האחסון עבור כל הקבצים בדיסק שלך." + }, + "shm": { + "title": "הקצאת SHM (זיכרון משותף)", + "warning": "גודל ה־SHM הנוכחי של {{total}}MB קטן מדי. הגדל אותו לפחות ל־{{min_shm}}MB." } }, "cameras": {