@neuralnomads/codenomad-dev 0.16.0-dev-20260527-cb3d4841 → 0.16.0-dev-20260601-b2855f43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/index.js +9 -6
  2. package/dist/server/__tests__/listener-base-url.test.js +30 -0
  3. package/dist/server/listener-base-url.js +17 -0
  4. package/dist/workspaces/__tests__/git-clone.test.js +3 -2
  5. package/package.json +1 -1
  6. package/public/assets/{ChangesTab-PwRsB2lr.js → ChangesTab-DmVQ6Gnw.js} +2 -2
  7. package/public/assets/{DiffToolbar--z2pOv4W.js → DiffToolbar-Bp4quVjR.js} +1 -1
  8. package/public/assets/{FilesTab-Ct84eX-8.js → FilesTab-CKEhOX7l.js} +2 -2
  9. package/public/assets/{GitChangesTab-CWj8U8yf.js → GitChangesTab--DK6jj_9.js} +2 -2
  10. package/public/assets/{SplitFilePanel-BTXE0c-6.js → SplitFilePanel-MexNL6j6.js} +1 -1
  11. package/public/assets/{StatusTab-B193o0jj.js → StatusTab-BgbeC5EH.js} +1 -1
  12. package/public/assets/{align-justify-0pLqazAD.js → align-justify-5YXCOn9s.js} +1 -1
  13. package/public/assets/{bundle-full-CXfYBKEL.js → bundle-full-tLIV0AP2.js} +1 -1
  14. package/public/assets/{diff-viewer-AKH_pKHc.js → diff-viewer-3TBpzuaE.js} +1 -1
  15. package/public/assets/{index-jYsx5-VQ.js → index-5T8Bn0RR.js} +1 -1
  16. package/public/assets/index-BnK9nRF3.css +1 -0
  17. package/public/assets/index-CFveNLFR.js +1 -0
  18. package/public/assets/{index-DQ71xH98.js → index-CLqZuJrj.js} +1 -1
  19. package/public/assets/index-CTs3oCT6.js +2 -0
  20. package/public/assets/index-D1Uuc1uB.js +1 -0
  21. package/public/assets/index-DgrHocxO.js +1 -0
  22. package/public/assets/index-Dq7Ke8TK.js +1 -0
  23. package/public/assets/index-DrPTfjr7.js +1 -0
  24. package/public/assets/index-YCFbP6NH.js +1 -0
  25. package/public/assets/{loading-Du8My2-8.js → loading-BKQY65Yz.js} +1 -1
  26. package/public/assets/main-BS9h1HlH.js +63 -0
  27. package/public/assets/{markdown-Cx6uKmne.js → markdown-CUWgCqmZ.js} +3 -3
  28. package/public/assets/monaco-viewer-Ci0gxtuW.js +26 -0
  29. package/public/assets/{tool-call-_6G2MMeM.js → tool-call-CuYr2Sfc.js} +3 -3
  30. package/public/assets/{unified-picker-CjAmGt8r.js → unified-picker-BPioBpYW.js} +1 -1
  31. package/public/assets/{wrap-text-CapMPvic.js → wrap-text-Cz8eNWxD.js} +1 -1
  32. package/public/index.html +4 -4
  33. package/public/loading.html +4 -4
  34. package/public/sw.js +1 -1
  35. package/public/assets/index--_LGuojA.js +0 -1
  36. package/public/assets/index-9Kmwt6Kj.js +0 -1
  37. package/public/assets/index-B49V3u5x.js +0 -2
  38. package/public/assets/index-BJgsSp8t.js +0 -1
  39. package/public/assets/index-Bj2vDW1a.css +0 -1
  40. package/public/assets/index-Che11aEE.js +0 -1
  41. package/public/assets/index-CkZZWLVd.js +0 -1
  42. package/public/assets/index-DgZDoRTj.js +0 -1
  43. package/public/assets/main-zRBGUc7f.js +0 -63
  44. package/public/assets/monaco-viewer-DNB9hvLQ.js +0 -26
@@ -0,0 +1 @@
1
+ import{m as e}from"./index-CTs3oCT6.js";import"./git-diff-vendor-CSgooKT_.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./monaco-viewer-Ci0gxtuW.js";const t={"advancedSettings.title":"הגדרות מתקדמות","advancedSettings.environmentVariables.title":"משתני סביבה","advancedSettings.environmentVariables.subtitle":"מוחלים בכל פעם שמופע OpenCode חדש מופעל","advancedSettings.actions.close":"סגור"},s={"app.launchError.title":"לא ניתן להפעיל את OpenCode","app.launchError.description":"לא הצלחנו להפעיל את קובץ ה-OpenCode שנבחר. בדוק את פלט השגיאה למטה או בחר קובץ בינארי אחר מהגדרות OpenCode.","app.launchError.binaryPathLabel":"נתיב הקובץ הבינארי","app.launchError.errorOutputLabel":"פלט שגיאה","app.launchError.openAdvancedSettings":"פתח הגדרות OpenCode","app.launchError.close":"סגור","app.launchError.closeTitle":"סגור (Esc)","app.launchError.fallbackMessage":"הפעלת סביבת העבודה נכשלה","app.stopInstance.confirmMessage":"לעצור את מופע OpenCode? פעולה זו תעצור את השרת.","app.stopInstance.title":"עצור מופע","app.stopInstance.confirmLabel":"עצור","app.stopInstance.cancelLabel":"המשך להריץ","emptyState.logoAlt":"לוגו CodeNomad","emptyState.brandTitle":"CodeNomad","emptyState.tagline":"בחר תיקייה כדי להתחיל לתכנת עם AI","emptyState.actions.selectFolder":"בחר תיקייה","emptyState.actions.selecting":"בוחר...","emptyState.keyboardShortcut":"קיצור מקלדת: {shortcut}","emptyState.examples":"דוגמאות: {example}","emptyState.multipleInstances":"ניתן לפתוח מספר מופעים של אותה תיקייה","releases.upgradeRequired.title":"נדרש שדרוג","releases.upgradeRequired.message.withVersion":"שדרג ל-CodeNomad {version} כדי להשתמש בממשק המעודכן.","releases.upgradeRequired.message.noVersion":"שדרג את CodeNomad כדי להשתמש בממשק המעודכן.","releases.upgradeRequired.action.getUpdate":"קבל עדכון","releases.uiUpdated.title":"הממשק עודכן","releases.uiUpdated.message":"הממשק עודכן לגרסה {version}.","releases.devUpdateAvailable.title":"גרסת פיתוח זמינה","releases.devUpdateAvailable.message":"גרסת פיתוח חדשה זמינה: {version}.","releases.devUpdateAvailable.action":"צפה בגרסה","theme.mode.system":"מערכת","theme.mode.light":"בהיר","theme.mode.dark":"כהה","theme.toggle.title":"ערכת נושא: {mode}","theme.toggle.ariaLabel":"ערכת נושא: {mode}"},o={"commandPalette.title":"לוח פקודות","commandPalette.description":"חיפוש והפעלה של פקודות","commandPalette.searchPlaceholder":"הקלד פקודה או חיפוש...","commandPalette.empty":'לא נמצאו פקודות עבור "{query}"',"commandPalette.category.customCommands":"פקודות מותאמות אישית","commandPalette.category.instance":"מופע","commandPalette.category.session":"סשן","commandPalette.category.agentModel":"סוכן ומודל","commandPalette.category.inputFocus":"קלט ופוקוס","commandPalette.category.system":"מערכת","commandPalette.category.other":"אחר","commands.newInstance.label":"מופע חדש","commands.newInstance.description":"פתח בורר תיקיות ליצירת מופע חדש","commands.newInstance.keywords":"תיקייה, פרויקט, סביבת עבודה","commands.closeInstance.label":"סגור לשונית","commands.closeInstance.description":"סגור את הלשונית העליונה הנוכחית","commands.closeInstance.keywords":"עצור, סגור, לשונית","commands.nextInstance.label":"הלשונית הבאה","commands.nextInstance.description":"עבור ללשונית העליונה הבאה","commands.nextInstance.keywords":"החלף, נווט, לשונית","commands.previousInstance.label":"הלשונית הקודמת","commands.previousInstance.description":"עבור ללשונית העליונה הקודמת","commands.previousInstance.keywords":"החלף, נווט, לשונית","commands.newSession.label":"סשן חדש","commands.newSession.description":"צור סשן הורה חדש","commands.newSession.keywords":"צור, התחל","commands.closeSession.label":"סגור סשן","commands.closeSession.description":"סגור את סשן ההורה הנוכחי","commands.closeSession.keywords":"סגור, עצור","commands.scrubSessions.label":"נקה סשנים","commands.scrubSessions.description":"הסר סשנים ריקים, סשני תת-סוכן שסיימו את משימתם הראשית, וסשני פיצול מיותרים.","commands.scrubSessions.keywords":"ניקוי, ריק, סשנים, הסר, מחק","commands.instanceInfo.label":"מידע על מופע","commands.instanceInfo.description":"פתח את סקירת המופע ללוגים וסטטוס","commands.instanceInfo.keywords":"מידע, לוגים, קונסולה, פלט","commands.nextSession.label":"סשן הבא","commands.nextSession.description":"עבור לסשן הבא","commands.nextSession.keywords":"החלף, נווט","commands.previousSession.label":"סשן קודם","commands.previousSession.description":"עבור לסשן הקודם","commands.previousSession.keywords":"החלף, נווט","commands.compactSession.label":"סכם סשן","commands.compactSession.description":"סכם ודחוס את הסשן הנוכחי","commands.compactSession.keywords":"סיכום, דחיסה","commands.compactSession.errorFallback":"סיכום הסשן נכשל","commands.compactSession.alert.title":"הסיכום נכשל","commands.compactSession.alert.message":"הסיכום נכשל: {message}","commands.undoLastMessage.label":"בטל הודעה אחרונה","commands.undoLastMessage.description":"בטל את ההודעה האחרונה","commands.undoLastMessage.keywords":"חזרה, ביטול","commands.undoLastMessage.none.title":"אין פעולות לביטול","commands.undoLastMessage.none.message":"אין מה לבטל","commands.undoLastMessage.failed.title":"הביטול נכשל","commands.undoLastMessage.failed.message":"ביטול ההודעה נכשל","commands.openModelSelector.label":"פתח בורר מודלים","commands.openModelSelector.description":"בחר מודל אחר","commands.openModelSelector.keywords":"מודל, llm, ai","commands.selectModelVariant.label":"בחר גרסת מודל","commands.selectModelVariant.description":"בחר רמת מאמץ חשיבה למודל הנוכחי","commands.selectModelVariant.keywords":"גרסה, חשיבה, מאמץ","commands.openAgentSelector.label":"פתח בורר סוכנים","commands.openAgentSelector.description":"בחר סוכן אחר","commands.openAgentSelector.keywords":"סוכן, מצב","commands.clearInput.label":"נקה קלט","commands.clearInput.description":"נקה את תיבת הטקסט של הפקודה","commands.clearInput.keywords":"נקה, אפס","commands.promptSubmitShortcut.label.default":"Enter: שורה חדשה, Cmd/Ctrl+Enter: שלח פקודה","commands.promptSubmitShortcut.label.swapped":"Enter: שלח פקודה, Cmd/Ctrl+Enter: שורה חדשה","commands.promptSubmitShortcut.description":"החלף את התנהגות Enter ו-Cmd/Ctrl+Enter בקלט הפקודה","commands.promptSubmitShortcut.keywords":"enter, cmd, ctrl, שלח, שורה חדשה, קיצור","commands.thinkingBlocks.label.show":"הצג חשיבה","commands.thinkingBlocks.label.hide":"הסתר חשיבה","commands.thinkingBlocks.description":"הצג או הסתר קטעי חשיבה של ה-AI","commands.thinkingBlocks.keywords":"חשיבה, הצג, הסתר","commands.timelineToolCalls.label.show":"הצג קריאות כלי בציר הזמן","commands.timelineToolCalls.label.hide":"הסתר קריאות כלי בציר הזמן","commands.timelineToolCalls.description":"הצג/הסתר קריאות כלי בציר הודעות","commands.timelineToolCalls.keywords":"ציר זמן, כלי, הצג, הסתר","commands.keyboardShortcutHints.label.show":"הצג רמזי קיצורי מקלדת","commands.keyboardShortcutHints.label.hide":"הסתר רמזי קיצורי מקלדת","commands.keyboardShortcutHints.description":"הצג או הסתר רמזי קיצורי מקלדת בכל הממשק","commands.keyboardShortcutHints.description.disabledWeb":"מושבת בממשק Web (רמזי קיצורים תמיד מוסתרים)","commands.keyboardShortcutHints.keywords":"קיצור, מקלדת, רמזים","commands.common.expanded":"פרוס","commands.common.collapsed":"מכווץ","commands.common.visible":"גלוי","commands.common.hidden":"מוסתר","commands.common.enabled":"מופעל","commands.common.disabled":"מושבת","commands.thinkingBlocksDefault.label":"תצוגת חשיבה: {state}","commands.thinkingBlocksDefault.description":"כווץ / פרוס קטעי חשיבה של ה-AI","commands.thinkingBlocksDefault.keywords":"חשיבה, פרוס, כווץ, ברירת מחדל","commands.diffViewSplit.label":"השתמש בתצוגת diff מפוצלת","commands.diffViewSplit.description":"הצג diff של קריאות כלי זה לצד זה","commands.diffViewSplit.keywords":"diff, מפוצל, תצוגה","commands.diffViewUnified.label":"השתמש בתצוגת diff מאוחדת","commands.diffViewUnified.description":"הצג diff של קריאות כלי בשורה אחת","commands.diffViewUnified.keywords":"diff, מאוחד, תצוגה","commands.toolOutputsDefault.label":"ברירת מחדל לפלטי כלים · {state}","commands.toolOutputsDefault.description":"החלף ברירת מחדל לפריסת פלטי כלים","commands.toolOutputsDefault.keywords":"כלי, פלט, פרוס, כווץ","commands.diagnosticsDefault.label":"ברירת מחדל לאבחון · {state}","commands.diagnosticsDefault.description":"החלף ברירת מחדל לפריסת פלט אבחון","commands.diagnosticsDefault.keywords":"אבחון, פרוס, כווץ","commands.toolInputsVisibility.label":"נראות קלטי כלים · {state}","commands.toolInputsVisibility.description":"הגדר נראות ברירת מחדל לארגומנטים של קריאות כלי","commands.toolInputsVisibility.keywords":"כלי, קלטים, ארגומנטים, נראות, הסתר, הצג","commands.tokenUsageDisplay.label":"תצוגת שימוש בטוקנים · {state}","commands.tokenUsageDisplay.description":"הצג או הסתר נתוני טוקנים ועלות להודעות הסוכן","commands.tokenUsageDisplay.keywords":"טוקן, שימוש, עלות, נתונים","commands.autoCleanupBlankSessions.label":"ניקוי אוטומטי של סשנים ריקים · {state}","commands.autoCleanupBlankSessions.description":"נקה אוטומטית סשנים ריקים בעת יצירת סשנים חדשים","commands.autoCleanupBlankSessions.keywords":"אוטומטי, ניקוי, ריק, סשנים","commands.showHelp.label":"הצג עזרה","commands.showHelp.description":"הצג קיצורי מקלדת ועזרה","commands.showHelp.keywords":"קיצורים, עזרה","commands.custom.argumentsPrompt.message":"ארגומנטים עבור /{name}","commands.custom.argumentsPrompt.title":"פקודה מותאמת אישית","commands.custom.argumentsPrompt.inputLabel":"ארגומנטים","commands.custom.argumentsPrompt.inputPlaceholder":"למשל: foo bar","commands.custom.argumentsPrompt.confirmLabel":"הפעל","commands.custom.argumentsPrompt.cancelLabel":"ביטול","commands.custom.argumentsPrompt.openFailed.message":"פתיחת תיבת ארגומנטים נכשלה.","commands.custom.argumentsPrompt.openFailed.title":"ארגומנטים לפקודה","commands.custom.entries.descriptionFallback":"פקודה מותאמת אישית","commands.custom.sessionRequired.message":"בחר סשן לפני הפעלת פקודה מותאמת אישית.","commands.custom.sessionRequired.title":"נדרש סשן","commands.custom.runFailed.message":"הפעלת הפקודה המותאמת אישית נכשלה. בדוק את הקונסולה לפרטים.","commands.custom.runFailed.title":"הפקודה נכשלה","unifiedPicker.loading.searching":"מחפש...","unifiedPicker.loading.loadingWorkspace":"טוען סביבת עבודה...","unifiedPicker.title.command":"בחר פקודה","unifiedPicker.title.mention":"בחר סוכן או קובץ","unifiedPicker.empty":"לא נמצאו תוצאות","unifiedPicker.sections.commands":"פקודות","unifiedPicker.sections.agents":"סוכנים","unifiedPicker.sections.files":"קבצים","unifiedPicker.sections.workspaceRoot":"שורש סביבת העבודה","unifiedPicker.badge.subagent":"תת-סוכן","unifiedPicker.footer.navigate":"ניווט","unifiedPicker.footer.select":"בחירה","unifiedPicker.footer.close":"סגירה"},i={"alertDialog.fallbackTitle.info":"לתשומת לבך","alertDialog.fallbackTitle.warning":"נא לבדוק","alertDialog.fallbackTitle.error":"משהו השתבש","alertDialog.actions.confirm":"אישור","alertDialog.actions.run":"הפעל","alertDialog.actions.ok":"אישור","alertDialog.actions.cancel":"ביטול","alertDialog.prompt.inputLabel":"קלט","backgroundProcessOutputDialog.title":"פלט תהליך רקע","backgroundProcessOutputDialog.actions.close":"סגור","backgroundProcessOutputDialog.loading":"טוען פלט...","backgroundProcessOutputDialog.truncatedNotice":"הפלט קוצר לצורך התצוגה.","backgroundProcessOutputDialog.loadErrorFallback":"טעינת הפלט נכשלה."},n={"directoryBrowser.defaultDescription":"עיון בתיקיות תחת שורש סביבת העבודה המוגדר.","directoryBrowser.close":"סגור","directoryBrowser.currentFolder":"בחר תיקייה או הזן נתיב","directoryBrowser.currentFolder.inputAriaLabel":"נתיב התיקייה","directoryBrowser.currentFolder.inputPlaceholder":"הקלד או הדבק נתיב תיקייה","directoryBrowser.openCurrent":"פתח","directoryBrowser.selectCurrent":"בחר נוכחית","directoryBrowser.newFolder":"תיקייה חדשה","directoryBrowser.creating":"יוצר…","directoryBrowser.loadingFolders":"טוען תיקיות…","directoryBrowser.noFolders":"אין תיקיות זמינות.","directoryBrowser.upOneLevel":"עלה רמה אחת","directoryBrowser.select":"בחר","directoryBrowser.load.errorFallback":"לא ניתן לטעון את מערכת הקבצים","directoryBrowser.createFolder.promptMessage":"צור תיקייה חדשה בספרייה הנוכחית.","directoryBrowser.createFolder.title":"תיקייה חדשה","directoryBrowser.createFolder.inputLabel":"שם תיקייה","directoryBrowser.createFolder.inputPlaceholder":"למשל: my-new-project","directoryBrowser.createFolder.confirmLabel":"צור","directoryBrowser.createFolder.cancelLabel":"ביטול","directoryBrowser.createFolder.invalidNameMessage":"נא להזין שם תיקייה יחיד.","directoryBrowser.createFolder.invalidNameDetail":"שמות תיקיות אינם יכולים לכלול נטויות, '..', או '~'.","directoryBrowser.createFolder.errorFallback":"יצירת התיקייה נכשלה","filesystemBrowser.descriptionFallback":"חפש נתיב תחת שורש סביבת העבודה המוגדר.","filesystemBrowser.rootLabel":"שורש: {root}","filesystemBrowser.actions.close":"סגור","filesystemBrowser.actions.retry":"נסה שוב","filesystemBrowser.actions.select":"בחר","filesystemBrowser.filterLabel":"סינון","filesystemBrowser.search.placeholder.directories":"חפש תיקיות","filesystemBrowser.search.placeholder.files":"חפש קבצים","filesystemBrowser.currentFolder.label":"תיקייה נוכחית","filesystemBrowser.currentFolder.selectCurrent":"בחר נוכחית","filesystemBrowser.loading.filesystem":"מערכת קבצים","filesystemBrowser.loading.workspaceRoot":"שורש סביבת עבודה","filesystemBrowser.loading.loadingWithPath":"טוען {path}…","filesystemBrowser.empty.noEntries":"לא נמצאו רשומות.","filesystemBrowser.navigation.upOneLevel":"עלה רמה אחת","filesystemBrowser.hints.navigate":"ניווט","filesystemBrowser.hints.select":"בחירה","filesystemBrowser.hints.close":"סגירה","filesystemBrowser.errors.loadFilesystemFallback":"לא ניתן לטעון את מערכת הקבצים","filesystemBrowser.errors.openDirectoryFallback":"לא ניתן לפתוח את הספרייה"},a={"folderSelection.language.ariaLabel":"שפה","folderSelection.logoAlt":"לוגו CodeNomad","folderSelection.tagline":"בחר תיקייה כדי להתחיל לתכנת עם AI","folderSelection.links.github":"CodeNomad GitHub","folderSelection.links.githubStars":"כוכבי CodeNomad ב-GitHub","folderSelection.links.discord":"CodeNomad Discord","folderSelection.empty.title":"אין תיקיות אחרונות","folderSelection.empty.description":"עיין בתיקייה כדי להתחיל","folderSelection.recent.title":"תיקיות אחרונות","folderSelection.recent.subtitle.one":"{count} תיקייה זמינה","folderSelection.recent.subtitle.other":"{count} תיקיות זמינות","folderSelection.recent.remove":"הסר מהרשימה האחרונה","folderSelection.recent.openBadge":"פתוח","folderSelection.recent.alreadyOpenTitle":"הפרויקט כבר פתוח","folderSelection.recent.alreadyOpenMessage":"בחר כיצד לפתוח את התיקייה הזו.","folderSelection.recent.switchToOpenProject":"עבור לפרויקט הפתוח","folderSelection.recent.openAnotherInstance":"פתח מופע נוסף","folderSelection.browse.title":"עיון בתיקייה","folderSelection.browse.subtitle":"בחר כל תיקייה במחשב שלך","folderSelection.browse.button":"עיון בתיקיות","folderSelection.browse.buttonOpening":"פותח...","folderSelection.clone.button":"שכפל מאגר Git","folderSelection.clone.destination.title":"בחר יעד לשכפול","folderSelection.clone.destination.description":"בחר את התיקייה שאליה יש לשכפל את המאגר.","folderSelection.clone.dialog.title":"שכפול מאגר Git","folderSelection.clone.dialog.description":"שכפל מאגר Git לתיקייה מקומית ולאחר מכן פתח אותה כסביבת עבודה.","folderSelection.clone.dialog.repositoryUrl":"כתובת המאגר","folderSelection.clone.dialog.repositoryUrlPlaceholder":"https://github.com/user/repo.git","folderSelection.clone.dialog.destinationPath":"תיקיית יעד","folderSelection.clone.dialog.destinationPathPlaceholder":"בחר או הזן תיקיית יעד","folderSelection.clone.dialog.browseDestination":"עיון","folderSelection.clone.dialog.cleanupDestination":"מחק תחילה את תיקיית היעד אם היא כבר קיימת.","folderSelection.clone.dialog.cancel":"ביטול","folderSelection.clone.dialog.clone":"שכפל","folderSelection.clone.dialog.cloning":"משכפל...","folderSelection.clone.dialog.errorRequired":"כתובת המאגר ותיקיית היעד הן שדות חובה.","folderSelection.actions.title":"פתח תיקייה או התחבר לשרת","folderSelection.actions.subtitle":"פתח תיקייה מקומית או התחבר לשרת CodeNomad","folderSelection.actions.connectButton":"התחבר לשרת CodeNomad","folderSelection.advancedSettings":"הגדרות מתקדמות","folderSelection.opencode":"OpenCode","folderSelection.hints.navigate":"ניווט","folderSelection.hints.select":"בחירה","folderSelection.hints.remove":"הסרה","folderSelection.hints.browse":"עיון","folderSelection.loading.title":"מפעיל מופע...","folderSelection.loading.subtitle":"המתן בזמן שאנו מכינים את סביבת העבודה שלך.","folderSelection.drop.title":"שחרר תיקייה כדי לפתוח אותה","folderSelection.drop.subtitle":"התחל מופע חדש בתיקייה שנשחררה.","folderSelection.drop.invalidTitle":"לא ניתן לפתוח את הפריט שנשחרר","folderSelection.drop.invalidMessage":"שחרר תיקייה כדי להתחיל מופע חדש.","folderSelection.dialog.title":"בחר סביבת עבודה","folderSelection.dialog.description":"בחר סביבת עבודה כדי להתחיל לתכנת.","folderSelection.tabs.local":"תיקיות מקומיות","folderSelection.tabs.servers":"שרתים","folderSelection.servers.title":"שרתים שמורים","folderSelection.servers.subtitle":"פתח שרת CodeNomad מרוחק שמור בחלון חדש","folderSelection.servers.count":"{count} שרתים","folderSelection.servers.empty.title":"אין שרתים שמורים","folderSelection.servers.empty.description":"הוסף שרת מרוחק כדי להתחבר אליו במהירות מהמכשיר הזה","folderSelection.servers.connectTitle":"התחבר לשרת","folderSelection.servers.connectSubtitle":"שמור שרת CodeNomad מרוחק ופתח אותו בחלון חדש","folderSelection.servers.connectButton":"התחבר לשרת","folderSelection.servers.remove":"הסר שרת שמור","folderSelection.servers.skipTls":"TLS בחתימה עצמית","folderSelection.servers.errorTitle":"החיבור המרוחק נכשל","folderSelection.servers.dialog.title":"התחבר לשרת","folderSelection.servers.dialog.description":"הוסף שרת CodeNomad מרוחק ופתח אותו מיד אם תרצה.","folderSelection.servers.dialog.name":"שם השרת","folderSelection.servers.dialog.namePlaceholder":"שרת ייצור","folderSelection.servers.dialog.url":"כתובת השרת","folderSelection.servers.dialog.urlPlaceholder":"https://server.example.com","folderSelection.servers.dialog.skipTls":"דלג על אימות TLS עבור תעודות בחתימה עצמית.","folderSelection.servers.dialog.cancel":"ביטול","folderSelection.servers.dialog.save":"שמור","folderSelection.servers.dialog.connect":"התחבר","folderSelection.servers.dialog.connecting":"מתחבר...","folderSelection.servers.dialog.errorRequired":"שם השרת והכתובת הם שדות חובה.","folderSelection.servers.dialog.errorConnect":"לא ניתן היה להתחבר לשרת המרוחק.","folderSelection.servers.certificateInstall.title":"התקנת אישור מקומי","folderSelection.servers.certificateInstall.confirmMessage":"CodeNomad צריך להתקין אישור מקומי כדי לפתוח חלונות HTTPS מרוחקים עם אישור בחתימה עצמית. האישור הזה משמש רק לתעבורת ה-proxy המקומי של האפליקציה במחשב שלך. ייתכן שמערכת ההפעלה תציג לאחר מכן בקשת אישור נוספת.","folderSelection.servers.certificateInstall.confirmLabel":"המשך","folderSelection.servers.certificateInstall.cancelLabel":"ביטול","folderSelection.servers.certificateInstall.cancelled":"CodeNomad צריך שהאישור המקומי יהיה מהימן לפני שיוכל לפתוח חלונות HTTPS מרוחקים עם אישור בחתימה עצמית.","folderSelection.sidecars.button":"Open SideCar"},l={"instanceTabs.new.title":"מופע חדש (Cmd/Ctrl+N)","instanceTabs.new.ariaLabel":"מופע חדש","instanceTabs.remote.title":"חיבור מרוחק","instanceTabs.remote.ariaLabel":"חיבור מרוחק","instanceInfo.title":"מידע על המופע","instanceInfo.labels.folder":"תיקייה","instanceInfo.labels.project":"פרויקט","instanceInfo.labels.versionControl":"בקרת גרסאות","instanceInfo.labels.opencodeVersion":"גרסת OpenCode","instanceInfo.labels.binaryPath":"נתיב קובץ בינארי","instanceInfo.labels.environmentVariables":"משתני סביבה ({count})","instanceInfo.loading":"טוען...","instanceInfo.server.title":"שרת","instanceInfo.server.port":"פורט:","instanceInfo.server.pid":"PID:","instanceInfo.server.status":"סטטוס:","instanceTab.status.permission":"ממתין לאישור","instanceTab.status.compacting":"מסכם","instanceTab.status.working":"עובד","instanceTab.status.idle":"מוכן","instanceTab.status.ariaLabel":"סטטוס מופע: {status}","instanceTab.actions.close.ariaLabel":"סגור מופע","instanceShell.leftPanel.sessionsTitle":"סשנים","instanceShell.leftPanel.instanceInfo":"מידע על המופע","instanceShell.leftDrawer.pin":"נעץ מגירה שמאלית","instanceShell.leftDrawer.unpin":"שחרר נעיצת מגירה שמאלית","instanceShell.leftDrawer.toggle.pinned":"המגירה השמאלית נעוצה","instanceShell.leftDrawer.toggle.open":"פתח מגירה שמאלית","instanceShell.leftDrawer.toggle.close":"סגור מגירה שמאלית","instanceShell.rightDrawer.pin":"נעץ מגירה ימנית","instanceShell.rightDrawer.unpin":"שחרר נעיצת מגירה ימנית","instanceShell.rightDrawer.toggle.pinned":"המגירה הימנית נעוצה","instanceShell.rightDrawer.toggle.open":"פתח מגירה ימנית","instanceShell.rightDrawer.toggle.close":"סגור מגירה ימנית","instanceShell.fullscreen.enter":"מסך מלא","instanceShell.fullscreen.exit":"יציאה ממסך מלא","instanceShell.metrics.usedLabel":"בשימוש","instanceShell.metrics.availableLabel":"זמין","instanceShell.commandPalette.openAriaLabel":"פתח לוח פקודות","instanceShell.commandPalette.button":"לוח פקודות","instanceShell.chatSearch.openAriaLabel":"חפש בהיסטוריית הצ'אט","instanceShell.connection.ariaLabel":"חיבור {status}","instanceShell.connection.connected":"מחובר","instanceShell.connection.connecting":"מתחבר...","instanceShell.connection.disconnected":"מנותק","instanceShell.connection.unknown":"לא ידוע","instanceWelcome.shortcuts.newSession":"סשן חדש","instanceWelcome.empty.title":"אין סשנים קודמים","instanceWelcome.empty.description":"צור סשן חדש למטה כדי להתחיל","instanceWelcome.loading.title":"מפעיל סביבת עבודה","instanceWelcome.loading.description":"מפעיל את OpenCode עבור סביבת העבודה הזו...","instanceWelcome.resume.title":"המשך סשן","instanceWelcome.resume.subtitle.one":"{count} סשן זמין","instanceWelcome.resume.subtitle.other":"{count} סשנים זמינים","instanceWelcome.session.untitled":"סשן ללא שם","instanceWelcome.new.title":"התחל סשן חדש","instanceWelcome.new.subtitle":"ישתמש אוטומטית בסוכן/מודל האחרון שלך","instanceWelcome.new.createButton":"צור סשן","instanceWelcome.overlay.close":"סגור","instanceWelcome.actions.viewInstanceInfo":"צפה במידע על המופע","instanceWelcome.actions.renameTitle":"שנה שם סשן","instanceWelcome.actions.deleteTitle":"מחק סשן","instanceWelcome.hints.navigate":"ניווט","instanceWelcome.hints.jump":"קפיצה","instanceWelcome.hints.firstLast":"ראשון/אחרון","instanceWelcome.hints.resume":"המשך","instanceWelcome.hints.delete":"מחיקה","instanceWelcome.toasts.renameError":"לא ניתן לשנות שם הסשן","instanceDisconnected.title":"המופע התנתק","instanceDisconnected.folderFallback":"סביבת עבודה זו","instanceDisconnected.reasonFallback":"השרת הפסיק להגיב","instanceDisconnected.description":"לא ניתן עוד להגיע ל-{folder}. סגור את הלשונית כדי להמשיך לעבוד.","instanceDisconnected.details.title":"פרטים","instanceDisconnected.details.folderLabel":"תיקייה:","instanceDisconnected.actions.closeInstance":"סגור מופע","instanceShell.empty.title":"לא נבחר סשן","instanceShell.empty.description":"שלח הודעה למטה כדי ליצור סשן חדש, או בחר סשן קיים כדי להמשיך.","instanceShell.rightPanel.title":"לוח סטטוס","instanceShell.rightPanel.tabs.changes":"שינויי סשן","instanceShell.rightPanel.tabs.gitChanges":"שינויי Git","instanceShell.rightPanel.tabs.files":"קבצים","instanceShell.rightPanel.tabs.status":"סטטוס","instanceShell.rightPanel.tabs.ariaLabel":"לשוניות לוח ימני","instanceShell.rightPanel.actions.refresh":"רענן","instanceShell.rightPanel.actions.save":"שמור (Ctrl+S)","instanceShell.rightPanel.actions.saveConfirm.message":'האם ברצונך לשמור את השינויים ב-"{path}" לפני המעבר?',"instanceShell.rightPanel.actions.saveConfirm.confirmLabel":"שמור","instanceShell.rightPanel.actions.saveConfirm.cancelLabel":"בטל שינויים","instanceShell.rightPanel.actions.conflict.message":"הקובץ שונה על ידי הסוכן. לדרוס את שינויי הסוכן?","instanceShell.rightPanel.actions.conflict.confirmLabel":"דרוס","instanceShell.rightPanel.actions.conflict.cancelLabel":"בטל","instanceShell.rightPanel.actions.refreshDirty.message":"לקובץ יש שינויים שלא נשמרו. רענון יבטל את העריכות שלך. להמשיך?","instanceShell.rightPanel.actions.refreshDirty.confirmLabel":"רענן","instanceShell.rightPanel.actions.refreshDirty.cancelLabel":"בטל","instanceShell.rightPanel.toast.saveSuccess":"הקובץ נשמר בהצלחה","instanceShell.rightPanel.toast.saveError":"כשלון בשמירת הקובץ","instanceShell.rightPanel.sections.yoloMode":"מצב Yolo","instanceShell.rightPanel.sections.yoloMode.tooltip":"מאשר אוטומטית בקשות הרשאה עבור הסשן הנוכחי. השתמשו בזה רק אם אתם סומכים על הכלים שרצים.","instanceShell.rightPanel.sections.sessionChanges":"שינויי סשן","instanceShell.rightPanel.sections.sessionChanges.tooltip":"קבצים שהשתנו בסשן הנוכחי. מציג הוספות ומחיקות לכל קובץ.","instanceShell.rightPanel.sections.plan":"תוכנית","instanceShell.rightPanel.sections.plan.tooltip":"מפת הדרכים של הסוכן לסשן זה. עוקב אחר משימות, תת-משימות וסטטוס השלמתן.","instanceShell.rightPanel.sections.backgroundProcesses":"מעטפות רקע","instanceShell.rightPanel.sections.backgroundProcesses.tooltip":"תהליכים ממושכים שהופעלו על ידי הסוכן. ניתן לעקוב אחר פלטם, לעצור אותם או לסיים אותם.","instanceShell.rightPanel.sections.mcp":"שרתי MCP","instanceShell.rightPanel.sections.mcp.tooltip":"שרתי Model Context Protocol המרחיבים את יכולות הסוכן עם כלים ושירותים חיצוניים.","instanceShell.rightPanel.sections.lsp":"שרתי LSP","instanceShell.rightPanel.sections.lsp.tooltip":"שרתי Language Server Protocol המספקים בינת קוד, אבחון ותכונות ספציפיות לשפה.","instanceShell.rightPanel.sections.plugins":"תוספים","instanceShell.rightPanel.sections.plugins.tooltip":"תוספים המתאימים אישית את הממשק ואת התנהגות השרת, ומוסיפים תכונות מעבר ל-MCP ו-LSP.","instanceShell.sessionChanges.noSessionSelected":"בחר סשן לצפייה בשינויים.","instanceShell.sessionChanges.loading":"מאחזר שינויי סשן...","instanceShell.sessionChanges.empty":"אין שינויי סשן עדיין.","instanceShell.sessionChanges.filesChanged":"{count} קבצים שונו","instanceShell.sessionChanges.actions.show":"הצג שינויים","instanceShell.filesShell.fileListTitle":"רשימת קבצים","instanceShell.filesShell.mobileSelectorLabel":"בחר קובץ","instanceShell.filesShell.mobileSelectorEmpty":"בחר קובץ","instanceShell.filesShell.viewerTitle":"מציג שינויים","instanceShell.filesShell.viewerPlaceholder":"תצוגת שינויים מפורטת תתווסף בשלב הבא.","instanceShell.filesShell.viewerEmpty":"לא נבחר קובץ.","instanceShell.filesShell.listEmpty":"אין קבצים בתיקייה הזו.","instanceShell.filesShell.hideFiles":"הסתר קבצים","instanceShell.filesShell.showFiles":"הצג קבצים","instanceShell.filesShell.search.placeholder":"סנן קבצים בתיקייה הזו","instanceShell.filesShell.search.ariaLabel":"סנן קבצים בתיקייה הזו","instanceShell.filesShell.search.empty":"לא נמצאו קבצים תואמים.","instanceShell.filesShell.actions.copyPath":"העתק נתיב","instanceShell.filesShell.toast.copyPathSuccess":"הנתיב הועתק","instanceShell.filesShell.toast.copyPathError":"העתקת הנתיב נכשלה","instanceShell.filesShell.previewMarkdown":"תצוגת Markdown","instanceShell.filesShell.showSource":"הצג מקור","instanceShell.filesShell.enableWordWrap":"הפעל גלישת מילים","instanceShell.filesShell.disableWordWrap":"כבה גלישת מילים","instanceShell.gitChanges.noSessionSelected":"בחר סשן לצפייה בשינויי Git.","instanceShell.gitChanges.loading":"טוען שינויי Git…","instanceShell.gitChanges.empty":"אין שינויי Git עדיין.","instanceShell.gitChanges.deleted":"נמחק","instanceShell.gitChanges.binaryViewer":"לא ניתן להציג קובץ בינארי","instanceShell.gitChanges.sections.staged":"שינויים שנשמרו ל-staging","instanceShell.gitChanges.sections.unstaged":"שינויים","instanceShell.gitChanges.actions.insertContext":"הוסף לפרומפט","instanceShell.gitChanges.actions.stage":"העבר ל-staging","instanceShell.gitChanges.actions.unstage":"הוצא מ-staging","instanceShell.gitChanges.commit.placeholder":"הזן הודעת commit","instanceShell.gitChanges.commit.submit":"Commit","instanceShell.gitChanges.commit.submitting":"מבצע commit...","instanceShell.gitChanges.commit.success":"ה-commit נוצר בהצלחה","instanceShell.gitChanges.commit.error":"יצירת ה-commit נכשלה","instanceShell.diff.hideUnchanged":"הסתר אזורים ללא שינוי","instanceShell.diff.showFull":"הצג קובץ מלא","instanceShell.diff.switchToSplit":"עבור לתצוגה מפוצלת","instanceShell.diff.switchToUnified":"עבור לתצוגה מאוחדת","instanceShell.diff.enableWordWrap":"הפעל גלישת מילים","instanceShell.diff.disableWordWrap":"כבה גלישת מילים","instanceShell.worktree.create":"+ צור worktree","instanceShell.plan.noSessionSelected":"בחר סשן לצפייה בתוכנית.","instanceShell.plan.empty":"עדיין לא תוכנן דבר.","instanceShell.yoloMode.noSessionSelected":"בחרו סשן כדי להגדיר מצב Yolo.","instanceShell.yoloMode.title":"מצב Yolo","instanceShell.yoloMode.description":"מאשר אוטומטית בקשות הרשאה עבור הסשן הזה. כבוי כברירת מחדל.","instanceShell.yoloMode.badge":"Yolo","instanceShell.yoloMode.badgeAriaLabel":"מצב Yolo פעיל","instanceShell.backgroundProcesses.empty":"אין תהליכי רקע.","instanceShell.backgroundProcesses.status":"סטטוס: {status}","instanceShell.backgroundProcesses.output":"פלט: {sizeKb}KB","instanceShell.backgroundProcesses.notify.enabled":"התראת סיום פעילה","instanceShell.backgroundProcesses.notify.disabled":"התראת סיום כבויה","instanceShell.backgroundProcesses.actions.output":"פלט","instanceShell.backgroundProcesses.actions.stop":"עצור","instanceShell.backgroundProcesses.actions.terminate":"סיים","instanceShell.worktree.delete.error.title":"המחיקה נכשלה","instanceShell.worktree.delete.error.fallback":"מחיקת ה-worktree נכשלה","instanceShell.worktree.delete.error.causeLabel":"סיבה סבירה:","instanceShell.worktree.delete.error.nextStepLabel":"השלב הבא המומלץ:","instanceShell.worktree.delete.error.summary.localChanges":"Git סירב למחוק את ה-worktree הזה כי יש בו קבצים ששונו או קבצים לא במעקב.","instanceShell.worktree.delete.error.summary.inUse":"CodeNomad לא הצליח למחוק את ה-worktree הזה כי משהו עדיין משתמש בקבצים שבתיקייה.","instanceShell.worktree.delete.error.summary.notFound":"CodeNomad לא הצליח למחוק את ה-worktree הזה כי התיקייה או רשומת ה-worktree לא נמצאו.","instanceShell.worktree.delete.error.summary.permissionDenied":"CodeNomad לא הצליח למחוק את ה-worktree הזה כי הגישה לתיקייה נדחתה.","instanceShell.worktree.delete.error.summary.unknown":"CodeNomad לא הצליח למחוק את ה-worktree הזה.","instanceShell.worktree.delete.error.cause.localChanges":"שינויים מקומיים","instanceShell.worktree.delete.error.cause.inUse":"תהליך אחר משתמש ב-worktree הזה","instanceShell.worktree.delete.error.cause.notFound":"תיקיית ה-worktree או הרשומה שלו חסרות","instanceShell.worktree.delete.error.cause.permissionDenied":"אין הרשאות מתאימות במערכת הקבצים","instanceShell.worktree.delete.error.cause.unknown":"ה-backend החזיר שגיאת מחיקה שלא סווגה","instanceShell.worktree.delete.error.nextStep.localChanges":"הפעילו מחיקה בכפייה אם אתם רוצים לזרוק את השינויים המקומיים, או נקו את ה-worktree ונסו שוב.","instanceShell.worktree.delete.error.nextStep.inUse":"סגרו טרמינלים, עורכים, watchers או תהליכי רקע שמשתמשים ב-worktree הזה ונסו שוב.","instanceShell.worktree.delete.error.nextStep.notFound":"רעננו את רשימת ה-worktrees ונסו שוב. אם זה עדיין נכשל, בדקו את נתיב ה-worktree על הדיסק.","instanceShell.worktree.delete.error.nextStep.permissionDenied":"בדקו את הרשאות מערכת הקבצים וסגרו אפליקציות שעשויות לנעול את התיקייה הזאת, ואז נסו שוב.","instanceShell.worktree.delete.error.nextStep.unknown":"עיינו בשגיאה הגולמית למטה לפרטים, ואז נסו שוב אחרי טיפול בבעיה שדווחה.","instanceShell.worktree.delete.error.copyRaw":"העתק שגיאה","instanceShell.worktree.delete.error.copySanitized":"העתק גרסה מסוננת","instanceShell.worktree.delete.error.copySuccess":"שגיאת המחיקה הועתקה","instanceShell.worktree.delete.error.copySanitizedSuccess":"שגיאת המחיקה המסוננת הועתקה","instanceShell.worktree.delete.error.copyFailure":"העתקת שגיאת המחיקה נכשלה","versionPill.appWithVersion":"אפליקציה {version}","versionPill.ui":"ממשק","versionPill.uiWithVersion":"ממשק {version}","versionPill.source":" ({source})","opencodeBinarySelector.title":"קובץ בינארי של OpenCode","opencodeBinarySelector.subtitle":"בחר איזה קובץ הרצה OpenCode ישתמש","opencodeBinarySelector.customPath.placeholder":"הזן נתיב לקובץ בינארי של opencode…","opencodeBinarySelector.actions.add":"הוסף","opencodeBinarySelector.actions.browse":"עיין אחר קובץ בינארי…","opencodeBinarySelector.actions.removeTitle":"הסר קובץ בינארי","opencodeBinarySelector.badge.systemPath":"השתמש בקובץ בינארי מנתיב המערכת","opencodeBinarySelector.status.checkingVersions":"בודק גרסאות…","opencodeBinarySelector.status.checking":"בודק…","opencodeBinarySelector.dialog.title":"בחר קובץ בינארי של OpenCode","opencodeBinarySelector.dialog.description":"עיין בקבצים החשופים על ידי שרת ה-CLI.","opencodeBinarySelector.validation.invalidBinary":"קובץ בינארי לא תקין של OpenCode","opencodeBinarySelector.validation.alreadyValidating":"כבר מאמת","opencodeBinarySelector.display.systemPath":"{name} (נתיב מערכת)","opencodeBinarySelector.versionLabel":"v{version}"},r={"loadingScreen.logoAlt":"לוגו CodeNomad","loadingScreen.status.issue":"נתקלנו בבעיה","loadingScreen.actions.showAnother":"הצג עוד","loadingScreen.errors.missingRoot":"אלמנט השורש לטעינה לא נמצא","loadingScreen.phrases.neurons":"מחמם את הנוירונים של ה-AI…","loadingScreen.phrases.daydreaming":"משכנע את ה-AI להפסיק לחלום בהקיץ…","loadingScreen.phrases.goggles":"מצחצח את משקפי הקוד של ה-AI…","loadingScreen.phrases.reorganizingFiles":"מבקש מה-AI להפסיק לארגן מחדש את הקבצים שלך…","loadingScreen.phrases.coffee":"מאכיל את ה-AI עוד קפה…","loadingScreen.phrases.nodeModules":"מלמד את ה-AI לא למחוק node_modules (שוב)…","loadingScreen.phrases.actNatural":"אומר ל-AI להיראות טבעי לפני שתגיע…","loadingScreen.phrases.rewritingHistory":"מבקש מה-AI בבקשה להפסיק לשכתב היסטוריה…","loadingScreen.phrases.stretch":"מאפשר ל-AI להתמתח לפני ספרינט הקוד שלו…","loadingScreen.phrases.keyboardControl":"משכנע את ה-AI לתת לך שליטה על המקלדת…"},c={"logsView.title":"לוגי שרת","logsView.actions.show":"הצג לוגי שרת","logsView.actions.hide":"הסתר לוגי שרת","logsView.actions.clear":"נקה לוגים","logsView.actions.back":"חזור לשיחה","logsView.envVars.title":"משתני סביבה ({count})","logsView.paused.title":"לוגי השרת מושהים","logsView.paused.description":"הפעל זרימה לצפייה בפעילות שרת OpenCode שלך.","logsView.empty.waiting":"ממתין לפלט שרת...","logsView.scrollToTop":"גלול למעלה","logsView.scrollToBottom":"גלול למטה","infoView.logs.title":"לוגי שרת","infoView.logs.actions.show":"הצג לוגי שרת","infoView.logs.actions.hide":"הסתר לוגי שרת","infoView.logs.actions.clear":"נקה לוגים","infoView.logs.actions.back":"חזור לשיחה","infoView.logs.paused.title":"לוגי השרת מושהים","infoView.logs.paused.description":"הפעל זרימה לצפייה בפעילות שרת OpenCode שלך.","infoView.logs.empty.waiting":"ממתין לפלט שרת...","infoView.logs.scrollToTop":"גלול למעלה","infoView.logs.scrollToBottom":"גלול למטה","infoView.dispose.actions.dispose":"בטל מופע","infoView.dispose.actions.disposing":"מבטל...","infoView.dispose.confirm.title":"לבטל את המופע?","infoView.dispose.confirm.message":"פעולה זו מנקה את המצב השמור לפי פרויקט עבור ספרייה זו ומטעינה מחדש את המופע.","infoView.dispose.confirm.confirmLabel":"בטל","infoView.dispose.confirm.cancelLabel":"ביטול","infoView.dispose.toast.success":"המופע בוטל. מטעין מחדש...","infoView.dispose.toast.error":"ביטול המופע נכשל."},d={"markdown.codeBlock.copy.label":"העתק","markdown.codeBlock.copy.copied":"הועתק!","markdown.codeBlock.copy.failed":"נכשל","markdown.copy":"העתק"},m={"messageListHeader.sidebar.openSessionListAriaLabel":"פתח רשימת סשנים","messageListHeader.metrics.usedLabel":"בשימוש","messageListHeader.metrics.availableLabel":"זמין","messageListHeader.commandPalette.ariaLabel":"פתח לוח פקודות","messageListHeader.commandPalette.button":"לוח פקודות","messageListHeader.connection.connected":"מחובר","messageListHeader.connection.connecting":"מתחבר...","messageListHeader.connection.disconnected":"מנותק","messageSection.empty.logoAlt":"לוגו CodeNomad","messageSection.empty.brandTitle":"CodeNomad","messageSection.empty.title":"התחל שיחה","messageSection.empty.description":"הקלד הודעה למטה או פתח את לוח הפקודות:","messageSection.empty.tips.commandPalette":"לוח פקודות","messageSection.empty.tips.askAboutCodebase":"שאל על בסיס הקוד שלך","messageSection.empty.tips.attachFilesPrefix":"צרף קבצים עם","messageSection.loading.messages":"טוען הודעות...","messageSection.scroll.toFirstAriaLabel":"גלול להודעה הראשונה","messageSection.scroll.toLatestAriaLabel":"גלול להודעה האחרונה","messageSection.scroll.enableHoldAriaLabel":"הפעל עצירה לתגובות עוזר ארוכות","messageSection.scroll.disableHoldAriaLabel":"כבה עצירה לתגובות עוזר ארוכות","messageSection.quote.addAsQuote":"הוסף כציטוט","messageSection.quote.addAsCode":"הוסף כקוד","messageSection.quote.copy":"העתק","messageSection.quote.copied":"הועתק!","messageSection.quote.copyFailed":"ההעתקה נכשלה","messageSection.search.ariaLabel":"חפש בהיסטוריית הצ'אט","messageSection.search.placeholder":"חפש בצ'אט הנוכחי...","messageSection.search.count.empty":"חיפוש","messageSection.search.count.minChars":"{count}+ תווים","messageSection.search.count.searching":"מחפש...","messageSection.search.count.none":"אין התאמות","messageSection.search.count.matches":"{current} / {total}","messageSection.search.previousAriaLabel":"התאמה קודמת","messageSection.search.nextAriaLabel":"התאמה הבאה","messageSection.search.closeAriaLabel":"סגור חיפוש","messageSection.search.searching":"מחפש...","messageSection.search.noVisibleMatches":"אין התאמות גלויות","messageTimeline.ariaLabel":"ציר זמן הודעות","messageTimeline.segment.user.label":"אתה","messageTimeline.segment.assistant.label":"סוכן","messageTimeline.segment.compaction.label":"סיכום","messageTimeline.tool.fallbackLabel":"קריאת כלי","messageTimeline.tooltip.userFallback":"הודעת משתמש","messageTimeline.tooltip.assistantFallback":"תגובת הסוכן","messageTimeline.tooltip.compaction.auto":"סיכום אוטומטי","messageTimeline.tooltip.compaction.manual":"סיכום ידני","messageTimeline.text.filePrefix":"[קובץ] {filename}","messageTimeline.text.attachment":"קובץ מצורף","messageBlock.tool.header":"קריאת כלי","messageBlock.tool.unknown":"לא ידוע","messageBlock.tool.goToSession.label":"עבור לסשן","messageBlock.tool.goToSession.title":"עבור לסשן","messageBlock.tool.goToSession.unavailableTitle":"הסשן עדיין אינו זמין","messageBlock.tool.deletePart.label":"מחק חלק","messageBlock.tool.deletePart.deleting":"מוחק...","messageBlock.tool.deletePart.title":"מחק את פלט קריאת הכלי הזו","messageBlock.tool.deletePart.failed.title":"המחיקה נכשלה","messageBlock.tool.deletePart.failed.message":"מחיקת פלט קריאת הכלי נכשלה","messageBlock.compaction.ariaLabel":"סיכום סשן","messageBlock.compaction.autoLabel":"הסשן סוכם אוטומטית","messageBlock.compaction.manualLabel":"הסשן סוכם על ידך","messageBlock.usage.input":"קלט","messageBlock.usage.output":"פלט","messageBlock.usage.reasoning":"חשיבה","messageBlock.usage.cacheRead":"קריאת מטמון","messageBlock.usage.cacheWrite":"כתיבת מטמון","messageBlock.usage.cost":"עלות","messageBlock.step.agentLabel":"סוכן: {agent}","messageBlock.step.modelLabel":"מודל: {model}","messageBlock.reasoning.thinkingLabel":"חשיבה","messageBlock.reasoning.expandAriaLabel":"פרוס חשיבה","messageBlock.reasoning.collapseAriaLabel":"כווץ חשיבה","messageBlock.reasoning.indicator.hide":"הסתר","messageBlock.reasoning.indicator.view":"צפה","messageBlock.reasoning.detailsAriaLabel":"פרטי חשיבה","codeBlockInline.actions.copy":"העתק","codeBlockInline.actions.copied":"הועתק!","messageItem.speaker.you":"אתה","messageItem.speaker.assistant":"סוכן","messageItem.actions.revert":"בטל שינויים","messageItem.actions.revertTitle":"בטל שינויים עד כאן (מוחק הודעות)","messageItem.actions.fork":"פצל","messageItem.actions.forkTitle":"פצל מהודעה זו","messageItem.actions.copy":"העתק","messageItem.actions.copyTitle":"העתק הודעה","messageItem.actions.copied":"הועתק!","messageItem.actions.more":"פעולות נוספות","messageItem.actions.speak":"השמע הודעה","messageItem.actions.generatingSpeech":"יוצר אודיו","messageItem.actions.stopSpeech":"עצור ניגון","messageItem.actions.speak.error.title":"ניגון הקול נכשל","messageItem.actions.speak.error.unsupported":"ניגון קול אינו נתמך בדפדפן הזה.","messageItem.actions.speak.error.unavailable":"ניגון קול לא זמין עד שהגדרות הקול יוגדרו.","messageItem.actions.speak.error.generate":"לא ניתן היה ליצור אודיו עבור ההודעה הזו.","messageItem.actions.deleteMessage":"מחק הודעה (לא מבטל שינויים)","messageItem.actions.deleteMessagesUpTo":"מחק הודעות עד כאן (לא מבטל שינויים)","messageItem.actions.deletingMessage":"מוחק...","messageItem.actions.deleteMessageFailedTitle":"המחיקה נכשלה","messageItem.actions.deleteMessageFailedMessage":"מחיקת ההודעה נכשלה","messageItem.selection.checkboxAriaLabel":"בחר הודעה למחיקה","messageSection.bulkDelete.toolbarAriaLabel":"פריטים נבחרים ({count})","messageSection.bulkDelete.deleteSelectedTitle":"מחק פריטים נבחרים","messageSection.bulkDelete.selectAllTitle":"בחר את כל ההודעות","messageSection.bulkDelete.moreOptionsTitle":"אפשרויות נוספות","messageSection.bulkDelete.selectionModeLabel":"בחירה","messageSection.bulkDelete.selectionModeAll":"הכל","messageSection.bulkDelete.selectionModeTools":"כלים בלבד","messageSection.bulkDelete.selectionHint.toggle":"בחר פריט","messageSection.bulkDelete.selectionHint.range":"בחר טווח","messageSection.bulkDelete.selectionHint.clear":"נקה בחירה","messageSection.bulkDelete.cancelTitle":"בטל בחירה","messageSection.bulkDelete.failedTitle":"המחיקה נכשלה","messageSection.bulkDelete.failedMessage":"מחיקת הפריטים הנבחרים נכשלה","messageItem.status.queued":"בתור","messageItem.status.generating":"מייצר...","messageItem.status.sending":"שולח...","messageItem.status.failedToSend":"שליחת ההודעה נכשלה","messagePart.actions.delete":"מחק חלק","messagePart.actions.deleting":"מוחק...","messagePart.actions.deleteTitle":"מחק פריט זה","messagePart.actions.deleteFailedTitle":"המחיקה נכשלה","messagePart.actions.deleteFailedMessage":"מחיקת הפריט נכשלה","messageItem.attachment.defaultName":"קובץ מצורף","messageItem.attachment.downloadAriaLabel":"הורד {name}","messageItem.agentMeta.agentLabel":"סוכן: {agent}","messageItem.agentMeta.modelLabel":"מודל: {model}","messageItem.errors.authenticationFallback":"שגיאת אימות","messageItem.errors.outputLengthExceeded":"אורך פלט ההודעה חרג מהמגבלה","messageItem.errors.requestAborted":"הבקשה בוטלה","messageItem.errors.unknownFallback":"אירעה שגיאה לא ידועה","attachmentChip.removeAriaLabel":"הסר קובץ מצורף","expandButton.toggleAriaLabel":"שנה גובה תיבת הקלט","promptInput.placeholder.shell":"הפעל פקודת מעטפת (Esc ליציאה)...","promptInput.placeholder.default":"הקלד הודעה, @file, @agent, או הדבק תמונות וטקסט...","promptInput.hints.shell.exit":"לצאת ממצב מעטפת","promptInput.hints.shell.enable":"מצב מעטפת","promptInput.hints.commands":"פקודות","promptInput.history.previousAriaLabel":"פקודה קודמת","promptInput.history.nextAriaLabel":"פקודה הבאה","promptInput.resizeHandle.title":"גרור כדי לשנות את גובה שדה הקלט","promptInput.overlay.newLine":"שורה חדשה","promptInput.overlay.send":"שלח","promptInput.overlay.filesAgents":"קבצים/סוכנים","promptInput.overlay.history":"היסטוריה","promptInput.overlay.attachments":"• {count} קובץ/ים מצורף/ים","promptInput.overlay.shellModeActive":"מצב מעטפת פעיל","promptInput.overlay.press":"לחץ","promptInput.overlay.againToAbort":"שוב כדי לבטל את הסשן","promptInput.stopSession.ariaLabel":"עצור סשן","promptInput.stopSession.title":"עצור סשן","promptInput.attachFiles.ariaLabel":"צרף קבצים","promptInput.attachFiles.title":"צרף קבצים","promptInput.attachFiles.dialogTitle":"צרף קבצים","promptInput.attachFiles.errorTitle":"צירוף נכשל","promptInput.attachFiles.skipped.title":"חלק מהקבצים לא צורפו","promptInput.attachFiles.skipped.one":"לא ניתן היה לצרף קובץ נבחר אחד כי הסביבה לא סיפקה נתיב קובץ או נתוני תצוגה מקדימה נתמכים.","promptInput.attachFiles.skipped.other":"לא ניתן היה לצרף {count} קבצים נבחרים כי הסביבה לא סיפקה נתיבי קבצים או נתוני תצוגה מקדימה נתמכים.","promptInput.attachFiles.tooLarge.one":"לא ניתן היה לצרף קובץ נבחר אחד כי הוא גדול ממגבלת הקבצים המצורפים של 5 MB.","promptInput.clear.ariaLabel":"נקה את טקסט הפרומפט","promptInput.clear.title":"נקה את טקסט הפרומפט","promptInput.send.ariaLabel":"שלח הודעה","promptInput.send.errorFallback":"שליחת ההודעה נכשלה","promptInput.send.errorTitle":"השליחה נכשלה","promptInput.conversationMode.enable.title":"הפעל מצב שיחה","promptInput.conversationMode.disable.title":"כבה מצב שיחה","promptInput.conversationMode.error.title":"ניגון השיחה נכשל","promptInput.conversationMode.error.message":"לא ניתן היה להמשיך להקריא את תגובות העוזר.","promptInput.voiceInput.start.title":"התחל קלט קולי","promptInput.voiceInput.stop.title":"עצור הקלטה ותמלל","promptInput.voiceInput.transcribing.title":"מתמלל אודיו","promptInput.voiceInput.error.title":"קלט קולי נכשל","promptInput.voiceInput.error.permission":"נדרשת גישה למיקרופון כדי להקליט קלט קולי.","promptInput.voiceInput.error.permissionDenied":"הגישה למיקרופון נדחתה על ידי macOS.","promptInput.voiceInput.error.unsupported":"קלט קולי אינו נתמך בדפדפן זה.","promptInput.voiceInput.error.transcribe":"לא ניתן היה לתמלל את האודיו שהוקלט."},p={"remoteAccess.eyebrow":"גישה מרוחקת","remoteAccess.title":"התחבר ל-CodeNomad מרחוק","remoteAccess.subtitle":"השתמש בכתובות למטה כדי לפתוח את CodeNomad ממכשיר אחר.","remoteAccess.close":"סגור גישה מרוחקת","remoteAccess.refresh":"רענן","remoteAccess.sections.listeningMode.label":"מצב האזנה","remoteAccess.sections.listeningMode.help":"אפשר או הגבל גישה מרוחקת על ידי קישור לכל הממשקים או רק ל-localhost.","remoteAccess.toggle.on":"פועל","remoteAccess.toggle.off":"כבוי","remoteAccess.toggle.title":"אפשר חיבורים מכתובות IP אחרות","remoteAccess.toggle.caption.all":"מקושר ל-0.0.0.0","remoteAccess.toggle.caption.local":"מקושר ל-127.0.0.1","remoteAccess.toggle.note":"שינוי זה דורש הפעלה מחדש ועוצר זמנית את כל המופעים הפעילים. שתף את הכתובות למטה לאחר שהשרת יופעל מחדש.","remoteAccess.listeningMode.restartConfirm.message":"להפעיל מחדש כדי להחיל מצב האזנה? פעולה זו תעצור את כל המופעים הפעילים.","remoteAccess.listeningMode.restartConfirm.title.all":"פתוח למכשירים אחרים","remoteAccess.listeningMode.restartConfirm.title.local":"מוגבל למכשיר זה","remoteAccess.listeningMode.restartConfirm.confirmLabel":"הפעל מחדש עכשיו","remoteAccess.listeningMode.restartConfirm.cancelLabel":"ביטול","remoteAccess.restart.errorManual":"לא ניתן להפעיל מחדש אוטומטית. אנא הפעל מחדש את האפליקציה כדי להחיל את השינוי.","remoteAccess.sections.serverPassword.label":"סיסמת שרת","remoteAccess.sections.serverPassword.help":"גישה מרוחקת דורשת סיסמה. הגדר סיסמה קלה לזכירה כדי לאפשר כניסות ממכשירים אחרים.","remoteAccess.authStatus.unavailable":"סטטוס האימות אינו זמין.","remoteAccess.username":"שם משתמש: {username}","remoteAccess.password.status.set":"סיסמה מוגדרת לגישה מרוחקת.","remoteAccess.password.status.unset":"לא הוגדרה סיסמה קלה לזכירה. הגדר סיסמה כדי לאפשר כניסות גישה מרוחקת.","remoteAccess.password.actions.cancel":"ביטול","remoteAccess.password.actions.change":"שנה סיסמה","remoteAccess.password.actions.set":"הגדר סיסמה","remoteAccess.password.form.newPassword":"סיסמה חדשה","remoteAccess.password.form.confirmPassword":"אשר סיסמה","remoteAccess.password.form.placeholder":"לפחות 8 תווים","remoteAccess.password.error.tooShort":"הסיסמה חייבת להכיל לפחות 8 תווים.","remoteAccess.password.error.mismatch":"הסיסמאות אינן תואמות.","remoteAccess.password.save.saving":"שומר…","remoteAccess.password.save.label":"שמור סיסמה","remoteAccess.sections.addresses.label":"כתובות נגישות","remoteAccess.sections.addresses.help":"הפעל או סרוק ממכונה אחרת להעברת שליטה.","remoteAccess.addresses.loading":"טוען כתובות…","remoteAccess.addresses.none":"אין כתובות זמינות עדיין.","remoteAccess.addresses.actions.showOther":"הצג עוד {count} כתובות","remoteAccess.addresses.actions.hideOther":"הסתר כתובות נוספות","remoteAccess.address.scope.network":"רשת","remoteAccess.address.scope.loopback":"לולאה מקומית","remoteAccess.address.scope.internal":"פנימי","remoteAccess.address.open":"פתח","remoteAccess.address.showQr":"הצג QR","remoteAccess.address.hideQr":"הסתר QR","remoteAccess.address.qrAlt":"QR עבור {url}"},g={"sessionPicker.title":"OpenCode • {folder}","sessionPicker.empty.noPrevious":"אין סשנים קודמים","sessionPicker.resume.title":"המשך סשן ({count}):","sessionPicker.session.untitled":"ללא שם","sessionPicker.divider.or":"או","sessionPicker.new.title":"התחל סשן חדש:","sessionPicker.agents.loading":"טוען סוכנים...","sessionPicker.actions.creating":"יוצר...","sessionPicker.actions.createSession":"צור סשן","sessionPicker.actions.cancel":"ביטול","sessionList.header.title":"סשנים","sessionList.session.untitled":"ללא שם","sessionList.status.working":"עובד","sessionList.status.compacting":"מסכם","sessionList.status.idle":"מוכן","sessionList.status.retrying":"מנסה שוב","sessionList.status.retryingIn":"מנסה שוב בעוד {seconds}ש׳","sessionList.status.retryTooltip":"{message} (ניסיון {attempt})","sessionList.status.retryToast":"{countdown}: {message} (ניסיון {attempt})","sessionList.status.needsPermission":"נדרש אישור","sessionList.status.needsInput":"נדרש קלט","sessionList.expand.collapseAriaLabel":"כווץ סשן","sessionList.expand.expandAriaLabel":"פרוס סשן","sessionList.expand.collapseTitle":"כווץ","sessionList.expand.expandTitle":"פרוס","sessionList.actions.newSession.ariaLabel":"סשן חדש","sessionList.actions.newSession.title":"סשן חדש","sessionList.actions.copyId.ariaLabel":"העתק מזהה סשן","sessionList.actions.copyId.title":"העתק מזהה סשן","sessionList.actions.reload.ariaLabel":"טען מחדש סשן","sessionList.actions.reload.title":"טען מחדש סשן","sessionList.actions.rename.ariaLabel":"שנה שם סשן","sessionList.actions.rename.title":"שנה שם סשן","sessionList.actions.delete.ariaLabel":"מחק סשן","sessionList.actions.delete.title":"מחק סשן","sessionList.copyId.success":"מזהה סשן הועתק","sessionList.copyId.error":"לא ניתן להעתיק מזהה סשן","sessionList.reload.error":"לא ניתן לטעון מחדש את הסשן","sessionList.delete.error":"לא ניתן למחוק סשן","sessionList.delete.title":"מחק סשן","sessionList.delete.confirmMessage":'למחוק את "{label}"? לא ניתן לבטל פעולה זו.',"sessionList.delete.confirmLabel":"מחק","sessionList.delete.cancelLabel":"ביטול","sessionList.rename.error":"לא ניתן לשנות שם הסשן","sessionList.filter.placeholder":"חפש סשנים…","sessionList.filter.ariaLabel":"חפש סשנים","sessionList.selection.selectAllLabel":"בחר הכל","sessionList.selection.selectAllAriaLabel":"בחר את כל הסשנים","sessionList.selection.clearLabel":"נקה","sessionList.selection.clearAriaLabel":"נקה בחירה","sessionList.selection.checkboxAriaLabel":"בחר סשן","sessionList.bulkDelete.button":"מחק {count}","sessionList.bulkDelete.ariaLabel":"מחק {count} סשנים נבחרים","sessionList.bulkDelete.title":"מחק סשנים","sessionList.bulkDelete.confirmMessage":"למחוק {count} סשנים נבחרים? לא ניתן לבטל פעולה זו.","sessionList.bulkDelete.confirmLabel":"מחק","sessionList.bulkDelete.cancelLabel":"ביטול","sessionList.bulkDelete.error":"לא ניתן למחוק {count} סשנים","sessionRenameDialog.title":"שנה שם סשן","sessionRenameDialog.description.withLabel":'עדכן את הכותרת עבור "{label}".',"sessionRenameDialog.description.default":"הגדר כותרת חדשה לסשן זה.","sessionRenameDialog.input.label":"שם סשן","sessionRenameDialog.input.placeholder":"הזן שם סשן","sessionRenameDialog.actions.cancel":"ביטול","sessionRenameDialog.actions.rename":"שנה שם","sessionRenameDialog.actions.renaming":"משנה שם…","sessionView.fallback.sessionNotFound":"הסשן לא נמצא","sessionView.alerts.abortFailed.message":"עצירת הסשן נכשלה","sessionView.alerts.abortFailed.title":"העצירה נכשלה","sessionView.alerts.revertFailed.message":"החזרה להודעה נכשלה","sessionView.alerts.revertFailed.title":"החזרה נכשלה","sessionView.alerts.deleteUpToFailed.message":"מחיקת הודעות נכשלה","sessionView.alerts.deleteUpToFailed.title":"המחיקה נכשלה","sessionView.alerts.forkFailed.message":"פיצול הסשן נכשל","sessionView.alerts.forkFailed.title":"הפיצול נכשל","sessionView.attachments.expandPastedTextAriaLabel":"פרוס טקסט שהודבק","sessionView.attachments.insertPastedTextTitle":"הכנס טקסט שהודבק","sessionView.attachments.removeAriaLabel":"הסר קובץ מצורף","sessionPreview.title":"תצוגה מקדימה של אתר","sessionPreview.backToChat":"חזרה לצ'אט","sessionPreview.close":"סגור תצוגה מקדימה","sessionPreview.chat.button":"חזרה לצ'אט","sessionPreview.open.button":"פתח תצוגה מקדימה של אתר","sessionPreview.open.title":"פתח תצוגה מקדימה של אתר","sessionPreview.open.prompt":"הזן כתובת URL מקומית או סביבת staging שאתה נותן בה אמון לתצוגה מקדימה בסשן הזה.","sessionPreview.open.label":"כתובת URL לתצוגה מקדימה","sessionPreview.open.placeholder":"https://staging.example.com","sessionPreview.open.confirm":"פתח תצוגה מקדימה","sessionPreview.open.cancel":"ביטול","sessionPreview.comment.mode":"מצב תגובות","sessionPreview.comment.title":"הוסף תגובה לתצוגה המקדימה","sessionPreview.comment.prompt":"תאר מה צריך להשתנות באלמנט שנבחר.","sessionPreview.comment.label":"תגובה","sessionPreview.comment.add":"הוסף תגובה","sessionPreview.comment.cancel":"ביטול","browserFrame.viewport":"גודל viewport","browserFrame.viewport.responsive":"Viewport רספונסיבי","browserFrame.viewport.desktop":"Viewport שולחני (1440 x 900)","browserFrame.viewport.tablet":"Viewport טאבלט (768 x 1024)","browserFrame.viewport.tabletLandscape":"טאבלט לרוחב (1024 x 768)","browserFrame.viewport.mobile":"Viewport נייד (390 x 844)","browserFrame.viewport.mobileLandscape":"נייד לרוחב (844 x 390)","sessionEvents.sessionCompactedToast":"הסשן {label} סוכם","sessionEvents.sessionError.unknown":"שגיאה לא ידועה","sessionEvents.sessionError.title":"שגיאת סשן","sessionEvents.sessionError.message":"שגיאה: {message}","sessionState.cleanup.deepConfirm.message":"ניקוי עמוק זה עשוי להיות איטי, ועלול למחוק סשנים שלא התכוונת למחוק. האם אתה בטוח?","sessionState.cleanup.deepConfirm.title":"ניקוי עמוק של סשנים","sessionState.cleanup.deepConfirm.detail":"ניקוי עמוק של סשנים ימחק את כל הסשנים ללא הודעות, יסיר סשני תת-סוכן שסיימו, וינקה פיצולים לא בשימוש של סשן.","sessionState.cleanup.deepConfirm.confirmLabel":"המשך","sessionState.cleanup.deepConfirm.cancelLabel":"ביטול","sessionState.cleanup.toast.one":"נוקה {count} סשן ריק","sessionState.cleanup.toast.other":"נוקו {count} סשנים ריקים"},u={"instanceServiceStatus.sections.lsp":"שרתי LSP","instanceServiceStatus.sections.mcp":"שרתי MCP","instanceServiceStatus.sections.plugins":"תוספים","instanceServiceStatus.lsp.loading":"טוען שרתי LSP...","instanceServiceStatus.lsp.empty":"לא זוהו שרתי LSP.","instanceServiceStatus.lsp.status.connected":"מחובר","instanceServiceStatus.lsp.status.error":"שגיאה","instanceServiceStatus.mcp.loading":"טוען שרתי MCP...","instanceServiceStatus.mcp.empty":"לא זוהו שרתי MCP.","instanceServiceStatus.mcp.toggleAriaLabel":"הפעל/כבה שרת MCP {name}","instanceServiceStatus.plugins.loading":"טוען תוספים...","instanceServiceStatus.plugins.empty":"לא הוגדרו תוספים.","permissionBanner.pendingRequests.one":"{count} בקשה ממתינה","permissionBanner.pendingRequests.other":"{count} בקשות ממתינות","permissionBanner.detail.permission.one":"{count} אישור","permissionBanner.detail.permission.other":"{count} אישורים","permissionBanner.detail.question.one":"{count} שאלה","permissionBanner.detail.question.other":"{count} שאלות","permissionBanner.detail.wrapper":" ({detail})","agentSelector.placeholder":"בחר סוכן...","agentSelector.badge.subagent":"תת-סוכן","agentSelector.none":"ללא","agentSelector.trigger.primary":"סוכן: {agent}","modelSelector.placeholder.search":"חפש מודלים...","modelSelector.none":"ללא","modelSelector.trigger.primary":"מודל: {model}","modelSelector.favoritesOnly.toggle.ariaLabel":"הצג מועדפים בלבד","modelSelector.favoritesOnly.showAll":"הצג את כל המודלים","modelSelector.favorite.add":"הוסף למועדפים","modelSelector.favorite.remove":"הסר ממועדפים","modelSelector.manageProviders":"Manage Providers","thinkingSelector.variant.default":"ברירת מחדל","thinkingSelector.label":"חשיבה: {variant}","envEditor.title":"משתני סביבה","envEditor.count.one":"({count} משתנה)","envEditor.count.other":"({count} משתנים)","envEditor.fields.name.placeholder":"שם משתנה","envEditor.fields.name.readOnlyTitle":"שם משתנה (לקריאה בלבד)","envEditor.fields.value.placeholder":"ערך משתנה","envEditor.fields.secure.enabled":"הערך מוסתר (מאובטח)","envEditor.fields.secure.disabled":"לחץ להסתרת הערך","envEditor.fields.secure.masked":"הערך מוסתר (מאובטח)","envEditor.actions.remove.title":"הסר משתנה","envEditor.actions.add.title":"הוסף משתנה","envEditor.empty":"לא הוגדרו משתני סביבה. הוסף משתנים למעלה להתאמת סביבת OpenCode.","envEditor.help":"משתנים אלו יהיו זמינים בסביבת OpenCode בעת הפעלת מופעים.","contextUsagePanel.headings.tokens":"טוקנים","contextUsagePanel.headings.context":"הקשר","contextUsagePanel.labels.input":"קלט","contextUsagePanel.labels.output":"פלט","contextUsagePanel.labels.cost":"עלות","contextUsagePanel.labels.totalInput":"קלט כולל","contextUsagePanel.labels.totalOutput":"פלט כולל","contextUsagePanel.labels.totalCost":"עלות כוללת","contextUsagePanel.labels.totalReasoning":"חשיבה כוללת","contextUsagePanel.labels.used":"בשימוש","contextUsagePanel.labels.available":"זמין","contextUsagePanel.unavailable":"--","settings.title":"הגדרות","settings.navigationAriaLabel":"קטגוריות הגדרות","settings.close":"סגור הגדרות","settings.content.eyebrow":"העדפות סביבת עבודה","settings.open.title":"פתח הגדרות","settings.open.ariaLabel":"פתח הגדרות","settings.nav.appearance":"מראה","settings.nav.notifications":"התראות","settings.nav.remote":"גישה מרוחקת","settings.nav.speech":"קול","settings.nav.providers":"Providers","settings.nav.opencode":"OpenCode","settings.nav.configFiles":"Config Files","settings.nav.info":"Info","settings.scope.device":"מכשיר זה","settings.scope.server":"הגדרת שרת","settings.common.enabled":"מופעל","settings.common.disabled":"מושבת","settings.section.appearance.title":"מראה","settings.section.appearance.subtitle":"שנה כיצד האפליקציה נראית במכשיר זה.","settings.appearance.theme.title":"ערכת נושא","settings.appearance.theme.subtitle":"בחר את מצב הצבע שישמש בכל האפליקציה.","settings.appearance.theme.option.system":"התאם להגדרת מערכת ההפעלה","settings.appearance.theme.option.light":"השתמש במראה בהיר","settings.appearance.theme.option.dark":"השתמש במראה כהה","settings.section.notifications.title":"התראות","settings.section.notifications.subtitle":"שלוט בהתראות ברמת מערכת ההפעלה עבור פעילות סשן.","settings.notifications.permission.granted":"ניתן","settings.notifications.permission.denied":"נדחה","settings.notifications.permission.default":"לא ניתן","settings.notifications.permission.unsupported":"לא נתמך","settings.notifications.messages.unsupportedEnvironment":"התראות מערכת ההפעלה אינן נתמכות בסביבה זו.","settings.notifications.messages.permissionDenied":"הרשאת התראות נדחתה. הפעל התראות בהגדרות המערכת או הדפדפן.","settings.notifications.messages.permissionNotGranted":"הרשאת התראות לא ניתנה.","settings.notifications.messages.unsupportedGeneral":"התראות אינן נתמכות בסביבה זו.","settings.notifications.messages.permissionGranted":"ההרשאה ניתנה. כעת ניתן להפעיל התראות.","settings.notifications.messages.permissionRequestDenied":"ההרשאה נדחתה. ייתכן שתצטרך להפעיל התראות בהגדרות המערכת או הדפדפן.","settings.notifications.sessionStatus.title":"התראות סטטוס סשן","settings.notifications.sessionStatus.subtitle":"קבל התראות כאשר סשנים דורשים את תשומת לבך.","settings.notifications.enable.title":"הפעל התראות","settings.notifications.enable.permission":"הרשאה: {permission}","settings.notifications.requestPermission.title":"בקש הרשאה","settings.notifications.requestPermission.subtitle":"אפשר לאפליקציה לשלוח התראות במכשיר זה.","settings.notifications.requestPermission.action":"בקש","settings.notifications.allowVisible.title":"התרע כאשר האפליקציה ממוקדת","settings.notifications.allowVisible.subtitle":"שמור על התראות פעילות גם כאשר חלון זה גלוי.","settings.notifications.unsupportedNote":"התראות אינן נתמכות בסביבה זו. פקד ההתראות נשאר מושבת.","settings.notifications.events.title":"התרע אותי כאשר","settings.notifications.events.subtitle":"בחר אילו אירועי סשן ישלחו התראות.","settings.notifications.events.needsInput":"הסשן דורש קלט","settings.notifications.events.idle":"הסשן עובר למצב סרק","settings.notifications.status.enabled":"התראות מופעלות","settings.notifications.status.disabled":"התראות מושבתות","settings.notifications.status.unsupported":"התראות לא נתמכות","settings.section.remote.title":"גישה מרוחקת","settings.section.remote.subtitle":"בדוק כיצד שרת זה חשוף ברשת שלך ואבטח אישורי גישה.","settings.section.opencode.title":"OpenCode","settings.section.opencode.subtitle":"בחר את הקובץ הבינארי של OpenCode והסביבה לשימוש במופעים חדשים.","settings.opencode.runtime.title":"סביבת ריצה","settings.opencode.runtime.subtitle":"הגדר עם איזה קובץ בינארי של OpenCode מופעים חדשים יופעלו.","settings.opencode.logLevel.title":"רמת הלוגים של OpenCode","settings.opencode.logLevel.subtitle":"הגדר את רמת הלוגים שבה ייעשה שימוש בעת הפעלת מופעי OpenCode חדשים.","settings.opencode.logLevel.selector.title":"פירוט לוגים","settings.opencode.logLevel.selector.subtitle":"בחר כמה לוגים מופעי OpenCode חדשים צריכים להפיק.","settings.opencode.logLevel.option.debug":"ניפוי שגיאות","settings.opencode.logLevel.option.info":"מידע","settings.opencode.logLevel.option.warn":"אזהרה","settings.opencode.logLevel.option.error":"שגיאה","settings.configFiles.title":"Config Files","settings.configFiles.subtitle":"Edit allowlisted global configuration files on this server.","settings.configFiles.selector.label":"File","settings.configFiles.selector.placeholder":"Select config file","settings.configFiles.actions.save":"Save","settings.configFiles.actions.reload":"Reload","settings.configFiles.state.unsaved":"Unsaved changes","settings.configFiles.state.notCreated":"File will be created on save","settings.configFiles.empty":"No config file selected.","settings.configFiles.errors.loadList":"Failed to load config files.","settings.configFiles.errors.loadContent":"Failed to load config file.","settings.configFiles.errors.save":"Failed to save config file.","settings.configFiles.toast.saveSuccess":"Config file saved.","settings.configFiles.toast.saveError":"Failed to save config file.","settings.configFiles.confirmDiscard.message":"Discard unsaved changes before continuing?","settings.configFiles.confirmDiscard.confirmLabel":"Discard changes","settings.configFiles.confirmDiscard.cancelLabel":"Keep editing","settings.providers.title":"Provider Authentication","settings.providers.subtitle":"Connect API keys or OAuth accounts for the active OpenCode instance.","settings.providers.refresh":"Refresh","settings.providers.selectProvider":"Select provider","settings.providers.available.title":"Available Providers","settings.providers.configured.title":"Configured Providers","settings.providers.loading":"Loading provider authentication methods...","settings.providers.empty.noInstance":"Start an OpenCode workspace before managing provider authentication.","settings.providers.empty.noProviders":"No providers are available from this OpenCode instance.","settings.providers.empty.noConfiguredProviders":"No providers are currently configured for this OpenCode instance.","settings.providers.models.one":"{count} model","settings.providers.models.other":"{count} models","settings.providers.actions.connect":"Connect","settings.providers.actions.disconnect":"Disconnect","settings.providers.actions.remove":"Remove saved auth","settings.providers.actions.close":"Close","settings.providers.actions.continue":"Continue","settings.providers.actions.working":"Working...","settings.providers.method.title":"Authentication method","settings.providers.method.subtitle":"Choose the flow OpenCode exposes for this provider.","settings.providers.method.api":"API key","settings.providers.method.oauth":"OAuth","settings.providers.method.mixed":"API key and OAuth","settings.providers.method.fallback":"API key","settings.providers.status.available":"Available","settings.providers.auth.title":"Connect {provider}","settings.providers.auth.subtitle":"Authentication is saved inside the active OpenCode server.","settings.providers.apiKey.label":"API key","settings.providers.apiKey.placeholder":"Paste provider API key","settings.providers.oauth.noPrompts":"This OAuth method does not need additional details before opening the browser.","settings.providers.oauth.promptsUnsupported":"This OAuth method requires provider-specific prompt inputs that are not supported by the current SDK build.","settings.providers.oauth.enterCode":"Complete the browser flow, then paste the authorization code.","settings.providers.oauth.openPage":"Open authorization page","settings.providers.oauth.openHere":"Open in this tab","settings.providers.oauth.copyLink":"Copy link","settings.providers.oauth.linkCopied":"Link copied","settings.providers.oauth.popupBlocked":"Your browser may have blocked the authorization page. Use the actions above to continue the sign-in flow.","settings.providers.oauth.popup.loadingTitle":"OpenCode authorization","settings.providers.oauth.popup.loadingBody":"Preparing authorization page...","settings.providers.oauth.codeLabel":"Authorization code","settings.providers.oauth.codePlaceholder":"Paste code from provider","settings.providers.oauth.submitCode":"Submit code","settings.providers.oauth.waitingTitle":"Waiting for authorization","settings.providers.oauth.cancelWait":"Cancel","settings.providers.prompt.selectPlaceholder":"Select an option","settings.providers.success":"Provider authentication saved. Provider data has been refreshed.","settings.providers.source.api":"Saved provider authentication","settings.providers.source.config":"Configured in opencode.jsonc","settings.providers.source.custom":"Configured by custom provider logic","settings.providers.source.env":"Configured from environment variables","settings.providers.source.unknown":"Configured provider source","settings.providers.errors.loadFailed":"Failed to load provider authentication methods.","settings.providers.errors.noAuthorization":"Provider did not return authorization data.","settings.providers.errors.authorizationFailed":"Authorization failed.","settings.providers.errors.removeFailed":"Failed to remove provider authentication.","settings.providers.errors.envDisconnectUnavailable":"This provider is configured from environment variables and cannot be disconnected from the UI.","settings.appearance.behavior.title":"אינטראקציה","settings.appearance.behavior.subtitle":"ברירות מחדל להודעות, diff וקלט.","settings.behavior.keyboardHints.title":"רמזי קיצורי מקלדת","settings.behavior.keyboardHints.subtitle":"הצג רמזי קיצורי מקלדת בכל הממשק.","settings.behavior.thinking.title":"קטעי חשיבה","settings.behavior.thinking.subtitle":"הצג או הסתר קטעי חשיבה של ה-AI בהודעות.","settings.behavior.thinkingDefault.title":"ברירת מחדל לחשיבה","settings.behavior.thinkingDefault.subtitle":"בחר האם קטעי חשיבה מתחילים פרוסים או מכווצים.","settings.behavior.messageTimeline.title":"ציר זמן הודעות","settings.behavior.messageTimeline.subtitle":"הצג או הסתר את סרגל הצד של ציר זמן ההודעות.","settings.behavior.timelineTools.title":"קריאות כלי בציר הזמן","settings.behavior.timelineTools.subtitle":"הצג או הסתר קריאות כלי בציר הודעות.","settings.behavior.diffView.title":"תצוגת diff","settings.behavior.diffView.subtitle":"בחר כיצד מוצגים diff של קריאות כלי.","settings.behavior.diffView.option.split":"מפוצל","settings.behavior.diffView.option.unified":"מאוחד","settings.behavior.toolOutputsDefault.title":"ברירת מחדל לפלטי כלים","settings.behavior.toolOutputsDefault.subtitle":"בחר האם פלטי כלים מתחילים פרוסים או מכווצים.","settings.behavior.diagnosticsDefault.title":"ברירת מחדל לאבחון","settings.behavior.diagnosticsDefault.subtitle":"בחר האם פלט אבחון מתחיל פרוס או מכווץ.","settings.behavior.toolInputsVisibility.title":"נראות קלטי כלים","settings.behavior.toolInputsVisibility.subtitle":"הגדר נראות ברירת מחדל לארגומנטים של קריאות כלי.","settings.behavior.usageMetrics.title":"מדדי שימוש בטוקנים","settings.behavior.usageMetrics.subtitle":"הצג או הסתר נתוני טוקנים ועלות להודעות הסוכן.","settings.behavior.autoCleanup.title":"ניקוי אוטומטי של סשנים ריקים","settings.behavior.autoCleanup.subtitle":"נקה אוטומטית סשנים ריקים בעת יצירת סשנים חדשים.","settings.behavior.keepUnseenSubagentIdle.title":"השאר סמני idle של תתי-סוכנים","settings.behavior.keepUnseenSubagentIdle.subtitle":"השאר סמני idle של תתי-סוכנים גלויים עד צפייה במקום להסתיר אותם אחרי 5 שניות.","settings.behavior.promptVoiceInput.title":"קלט קולי לפרומפט","settings.behavior.promptVoiceInput.subtitle":"הצג את כפתור המיקרופון לקלט דיבור-לטקסט כאשר תכונת הקול מוגדרת.","settings.behavior.promptSubmit.title":"Enter לשליחה","settings.behavior.promptSubmit.subtitle":"השתמש ב-Enter לשליחת פקודות; Cmd/Ctrl+Enter מוסיף שורה חדשה.","settings.speech.title":"קול","settings.speech.subtitle":"הגדר כעת דיבור-לטקסט והכן תשתית לטקסט-לדיבור עבור יכולות עתידיות.","settings.speech.provider.title":"ספק","settings.speech.provider.subtitle":"בקשות קול משתמשות במתאם הקול שבצד השרת.","settings.speech.provider.openaiCompatible":"תואם OpenAI","settings.speech.status.loading":"בודק את ההגדרות...","settings.speech.status.configured":"מוגדר","settings.speech.status.missing":"חסר מפתח API","settings.speech.status.error":"שירות הקול אינו זמין","settings.speech.apiKey.title":"מפתח API","settings.speech.apiKey.subtitle":"משמש עבור בקשות קול המנוהלות על ידי CodeNomad.","settings.speech.apiKey.placeholder":"הזן מפתח API חדש","settings.speech.apiKey.storedNote":"מפתח API שמור מוסתר. הזן ערך חדש כדי להחליף אותו, או השאר את השדה ריק כדי לשמור עליו.","settings.speech.apiKey.clearAction":"נקה מפתח שמור","settings.speech.apiKey.clearPending":"מפתח ה-API השמור יוסר בעת השמירה.","settings.speech.baseUrl.title":"כתובת בסיס","settings.speech.baseUrl.subtitle":"עקיפה אופציונלית עבור נקודות קצה קוליות התואמות ל-OpenAI.","settings.speech.baseUrl.placeholder":"https://api.openai.com/v1","settings.speech.sttModel.title":"מודל תמלול","settings.speech.sttModel.subtitle":"המודל המשמש לבקשות דיבור-לטקסט בפרומפט.","settings.speech.ttsModel.title":"מודל קול","settings.speech.ttsModel.subtitle":"מודל ברירת מחדל לטקסט-לדיבור השמור ליכולות ניגון עתידיות.","settings.speech.ttsVoice.title":"קול ברירת מחדל","settings.speech.ttsVoice.subtitle":"קול ברירת מחדל לטקסט-לדיבור השמור ליכולות ניגון עתידיות.","settings.speech.playbackMode.title":"מצב ניגון","settings.speech.playbackMode.subtitle":"בחר אם TTS יתחיל לנגן בזמן שהאודיו מוזרם או רק אחרי שהקובץ כולו נוצר.","settings.speech.playbackMode.streaming":"סטרימינג","settings.speech.playbackMode.buffered":"באפר מלא","settings.speech.ttsFormat.title":"פורמט פלט","settings.speech.ttsFormat.subtitle":"בחר את פורמט האודיו לדיבור מסונתז. תמיכת סטרימינג תלויה בספק ובדפדפן.","settings.speech.help":"קלט קולי לפרומפט מופיע כאשר תמלול קול מוגדר ונתמך. השמעת הודעות משתמשת במצב ובפורמט ה-TTS שנבחרו כאן.","settings.speech.compatibility.streamingUnavailable":"תצורת ספק הקול הנוכחית שלך לא מצהירה על TTS בסטרימינג. עבור למצב buffered אם אתה רוצה שהניגון יעבוד כבר עכשיו.","settings.speech.compatibility.browserStreamingUnavailable":"הדפדפן הנוכחי שלך לא יכול לנגן בסטרימינג את פורמט ה-TTS שנבחר. בחר בניגון buffered או עבור לפורמט אחר.","settings.speech.compatibility.runtimeNote":"כל הפורמטים נשארים זמינים במצב סטרימינג. חלק מהשילובים של דפדפן וספק עדיין עלולים להיכשל בזמן הניגון.","settings.speech.testPlayback.action":"בדוק ניגון","settings.speech.testPlayback.generating":"יוצר דוגמה","settings.speech.testPlayback.stop":"עצור דוגמה","settings.speech.testPlayback.sample":"תודה שאתה משתמש ב-CodeNomad, הגדרות הקול שלך פועלות כראוי.","settings.speech.testPlayback.note":"המבחן משתמש מיד במצב ובפורמט הנוכחיים. שמור תחילה שינויים ב-API key, ב-Base URL, במודל או בקול אם גם אותם תרצה לבדוק.","settings.speech.save.action":"שמור","settings.speech.save.saving":"שומר...","settings.speech.save.saved":"נשמר","settings.speech.save.unsaved":"יש שינויים שלא נשמרו","settings.speech.save.error":"השמירה נכשלה","settings.nav.sidecars":"SideCars","settings.section.sidecars.eyebrow":"Server services","settings.section.sidecars.title":"SideCars","settings.section.sidecars.subtitle":"Configure local services listening on fixed ports that the server can proxy into tabs.","sidecars.form.name":"Name","sidecars.form.validation":"Enter a valid SideCar name and port.","sidecars.form.port":"Port","sidecars.form.insecure":"Use HTTP","sidecars.form.protocol":"Protocol","sidecars.form.protocol.help":"Choose how the proxy should connect to the local service.","sidecars.form.protocol.https":"HTTPS","sidecars.form.protocol.http":"HTTP","sidecars.form.prefixMode":"Prefix mode","sidecars.form.prefixMode.help":"Choose whether the SideCar receives the public /sidecars path prefix.","sidecars.form.prefixMode.strip":"Strip prefix","sidecars.form.prefixMode.preserve":"Preserve prefix","sidecars.form.add":"Add SideCar","sidecars.kind.port":"Port","sidecars.status.running":"Running","sidecars.status.stopped":"Stopped","sidecars.basePath":"Base path","sidecars.settings.listTitle":"Configured SideCars","sidecars.settings.listSubtitle":"Review the port-based SideCars available in the picker.","sidecars.settings.empty":"No SideCars configured yet.","sidecars.picker.title":"Open SideCar","sidecars.picker.loading":"Loading SideCars...","sidecars.picker.subtitle":"Choose an available SideCar to open in a new tab.","sidecars.picker.empty":"No port-based SideCars are available yet.","sidecars.picker.close":"Close","sidecars.open.errorTitle":"Unable to open SideCar","sidecars.open.notFound":"SideCar not found.","sidecars.open.notRunning":"SideCar is not reachable on its configured port.","sidecars.back":"Back","sidecars.refresh":"Refresh","sidecars.path":"Path","sidecars.go":"Go","toastHistory.title":"היסטוריית התראות","toastHistory.empty":"אין התראות","toastHistory.empty.filter":"אין התראות התואמות לסינון זה","toastHistory.clearAll":"נקה הכל","toastHistory.markAllRead":"סמן הכל כנקרא","toastHistory.filter.label":"סינון התראות","toastHistory.filter.all":"הכל","toastHistory.filter.info":"מידע","toastHistory.filter.success":"הצלחה","toastHistory.filter.warning":"אזהרה","toastHistory.filter.error":"שגיאה","toastHistory.today":"היום","toastHistory.yesterday":"אתמול","toastHistory.earlier":"קודם","toastHistory.unread":"{count} לא נקראו","toastHistory.viewSettings":"הגדרות","toastHistory.close":"סגור","toastHistory.deleteItem":"מחק התראה","settings.section.info.title":"About","settings.section.info.subtitle":"View version, runtime, and gather diagnostic information.","settings.info.version.server":"Server version","settings.info.version.ui":"UI version","settings.info.version.uiSource":"UI source","settings.info.runtime.type":"Runtime","settings.info.runtime.platform":"Platform","settings.info.runtime.os":"Operating system","settings.info.server.url":"Server URL","settings.info.server.root":"Workspace root","settings.info.updates.title":"Updates","settings.info.updates.subtitle":"Check for new releases of CodeNomad.","settings.info.updates.latest":"Latest version","settings.info.updates.download":"Download update","settings.info.updates.refresh":"Refresh","settings.info.diagnostics.copyFailed":"Clipboard access denied. Use the download button instead.","settings.info.diagnostics.title":"Diagnostics","settings.info.diagnostics.subtitle":"אסוף מידע על המערכת והגרסה לדיווחי באגים.","settings.info.diagnostics.copy":"Copy to clipboard","settings.info.diagnostics.download":"Download .txt","settings.info.diagnostics.copied":"Diagnostic info copied to clipboard."},h={"time.relative.justNow":"עכשיו","time.relative.daysAgoShort":"לפני {count} ימים","time.relative.hoursAgoShort":"לפני {count} שעות","time.relative.minutesAgoShort":"לפני {count} דקות"},f={"toolCall.pending.waitingToRun":"ממתין להרצה...","toolCall.error.label":"שגיאה:","toolCall.header.copyTitle":"העתק כותרת קריאת כלי","toolCall.header.copyAriaLabel":"העתק כותרת קריאת כלי","toolCall.header.showInputTitle":"הצג ארגומנטי כלי","toolCall.header.showInputAriaLabel":"הצג ארגומנטי כלי","toolCall.header.hideInputTitle":"הסתר ארגומנטי כלי","toolCall.header.hideInputAriaLabel":"הסתר ארגומנטי כלי","toolCall.io.input":"קלט כלי","toolCall.io.output":"פלט כלי","toolCall.diff.label":"Diff","toolCall.diff.label.withPath":"Diff · {path}","toolCall.diff.viewMode.ariaLabel":"מצב תצוגת diff","toolCall.diff.viewMode.split":"מפוצל","toolCall.diff.viewMode.unified":"מאוחד","toolCall.diff.switchToSplit":"עבור לתצוגה מפוצלת","toolCall.diff.switchToUnified":"עבור לתצוגה מאוחדת","toolCall.diff.enableWordWrap":"הפעל גלישת מילים","toolCall.diff.disableWordWrap":"כבה גלישת מילים","toolCall.diff.copyPatch":"העתק patch","toolCall.diagnostics.title":"אבחון","toolCall.diagnostics.ariaLabel":"אבחון","toolCall.diagnostics.ariaLabel.withLabel":"אבחון {label}","toolCall.diagnostics.severity.error.short":"שגיאה","toolCall.diagnostics.severity.warning.short":"אזהרה","toolCall.diagnostics.severity.info.short":"מידע","toolCall.renderer.toolName.shell":"מעטפת","toolCall.renderer.toolName.fetch":"אחזור","toolCall.renderer.toolName.invalid":"לא תקין","toolCall.renderer.toolName.plan":"תוכנית","toolCall.renderer.toolName.applyPatch":"החל תיקון","toolCall.renderer.action.working":"עובד...","toolCall.renderer.action.writingCommand":"כותב פקודה...","toolCall.renderer.action.preparingEdit":"מכין עריכה...","toolCall.renderer.action.readingFile":"קורא קובץ...","toolCall.renderer.action.preparingWrite":"מכין כתיבה...","toolCall.renderer.action.preparingPatch":"מכין תיקון...","toolCall.renderer.action.planning":"מתכנן...","toolCall.renderer.action.fetchingFromWeb":"מאחזר מהאינטרנט...","toolCall.renderer.action.findingFiles":"מחפש קבצים...","toolCall.renderer.action.searchingContent":"מחפש תוכן...","toolCall.renderer.action.listingDirectory":"מפרט ספרייה...","toolCall.renderer.bash.title.timeout":"פסק זמן: {timeout}","toolCall.renderer.read.detail.offset":"היסט: {offset}","toolCall.renderer.read.detail.limit":"מגבלה: {limit}","toolCall.renderer.todo.empty":"אין פריטי תוכנית עדיין.","toolCall.renderer.todo.status.pending":"ממתין","toolCall.renderer.todo.status.inProgress":"בביצוע","toolCall.renderer.todo.status.completed":"הושלם","toolCall.renderer.todo.status.cancelled":"בוטל","toolCall.renderer.todo.title.plan":"תוכנית","toolCall.renderer.todo.title.creating":"יוצר תוכנית","toolCall.renderer.todo.title.completing":"משלים תוכנית","toolCall.renderer.todo.title.updating":"מעדכן תוכנית","toolCall.permission.status.required":"נדרש אישור","toolCall.permission.status.queued":"אישור בתור","toolCall.permission.requestedDiff.label":"diff מבוקש","toolCall.permission.requestedDiff.withPath":"diff מבוקש · {path}","toolCall.permission.queuedText":"ממתין לתגובות אישור קודמות.","toolCall.permission.actions.allowOnce":"אפשר פעם אחת","toolCall.permission.actions.alwaysAllow":"אפשר תמיד","toolCall.permission.actions.deny":"דחה","toolCall.permission.actions.confirmDeny":"אשר דחייה","toolCall.permission.actions.cancel":"בטל","toolCall.permission.shortcuts.allowOnce":"אפשר פעם אחת","toolCall.permission.shortcuts.alwaysAllow":"אפשר תמיד","toolCall.permission.rejectReason.label":"למה לדחות את האישור הזה?","toolCall.permission.rejectReason.placeholder":"ספר ל-CodeNomad מה לעשות אחרת...","toolCall.permission.rejectReason.hint":"הסוכן יראה את המשוב הזה ויוכל להתאים את הפעולה הבאה שלו.","toolCall.permission.errors.unableToUpdate":"לא ניתן לעדכן אישור","permissionApproval.title":"בקשות","permissionApproval.empty":"אין בקשות ממתינות.","permissionApproval.kind.permission":"אישור","permissionApproval.kind.question":"שאלה","permissionApproval.questionCount.one":"{count} שאלה","permissionApproval.questionCount.other":"{count} שאלות","permissionApproval.status.active":"פעיל","permissionApproval.actions.closeAriaLabel":"סגור","permissionApproval.actions.goToSession":"עבור לסשן","permissionApproval.actions.loadingSession":"טוען…","permissionApproval.actions.loadSession":"טען סשן","permissionApproval.actions.allowOnce":"אפשר פעם אחת","permissionApproval.actions.alwaysAllow":"אפשר תמיד","permissionApproval.actions.deny":"דחה","permissionApproval.actions.confirmDeny":"אשר דחייה","permissionApproval.actions.cancel":"בטל","permissionApproval.rejectReason.label":"למה לדחות את האישור הזה?","permissionApproval.rejectReason.placeholder":"ספר ל-CodeNomad מה לעשות אחרת...","permissionApproval.rejectReason.hint":"הסוכן יראה את המשוב הזה ויוכל להתאים את הפעולה הבאה שלו.","permissionApproval.fallbackHint":"טען סשן לקבלת מידע נוסף.","permissionApproval.errors.unableToUpdatePermission":"לא ניתן לעדכן אישור","toolCall.question.status.required":"נדרשת תשובה","toolCall.question.status.queued":"שאלה בתור","toolCall.question.status.questions":"שאלות","toolCall.question.action.awaitingAnswers":"ממתין לתשובות...","toolCall.question.title.questions":"שאלות","toolCall.question.title.askingQuestions":"שואל שאלות","toolCall.question.type.one":"שאלה","toolCall.question.type.other":"שאלות","toolCall.question.number":"ש{number}:","toolCall.question.multiple":"מרובות","toolCall.question.custom.title":"הקלד תשובה מותאמת אישית","toolCall.question.custom.label":"תשובה מותאמת אישית","toolCall.question.custom.placeholder":"הקלד תשובה משלך","toolCall.question.actions.submit":"שלח","toolCall.question.actions.dismiss":"סגור","toolCall.question.shortcuts.submit":"שלח","toolCall.question.shortcuts.dismiss":"סגור","toolCall.question.queuedText":"ממתין לתגובות קודמות.","toolCall.question.validation.answerAll":"אנא ענה על כל השאלות לפני השליחה.","toolCall.question.errors.unableToReply":"לא ניתן לשלוח תשובה","toolCall.question.errors.unableToDismiss":"לא ניתן לסגור","toolCall.task.action.delegating":"מאציל...","toolCall.task.sections.prompt":"פקודה","toolCall.task.sections.steps":"שלבים","toolCall.task.sections.output":"פלט","toolCall.task.steps.count":"{count} שלבים","toolCall.task.meta.agentModel":"סוכן: {agent} • מודל: {model}","toolCall.task.meta.agent":"סוכן: {agent}","toolCall.task.meta.model":"מודל: {model}","toolCall.status.pending":"ממתין","toolCall.status.running":"רץ","toolCall.status.completed":"הושלם","toolCall.status.error":"שגיאה","toolCall.status.unknown":"לא ידוע","toolCall.applyPatch.action.preparing":"מכין apply_patch...","toolCall.applyPatch.title.withFileCount.one":"{tool} ({count} קובץ)","toolCall.applyPatch.title.withFileCount.other":"{tool} ({count} קבצים)","toolCall.applyPatch.fileFallback":"קובץ {number}"},k=e(a,t,r,h,s,i,n,l,c,g,m,f,d,u,p,o);export{k as heMessages};
@@ -1 +1 @@
1
- import{i as p}from"./index-B49V3u5x.js";import"./git-diff-vendor-CSgooKT_.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./monaco-viewer-DNB9hvLQ.js";async function a(o,i){await p("plugin:opener|open_url",{url:o,with:i})}export{a as openUrl};
1
+ import{i as p}from"./index-CTs3oCT6.js";import"./git-diff-vendor-CSgooKT_.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./monaco-viewer-Ci0gxtuW.js";async function a(o,i){await p("plugin:opener|open_url",{url:o,with:i})}export{a as openUrl};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-D1Uuc1uB.js","assets/git-diff-vendor-CSgooKT_.js","assets/fast-diff-vendor-DgdwVvTQ.js","assets/highlight-vendor-8FKMu9os.js","assets/git-diff-vendor-HAZkIolJ.css","assets/monaco-viewer-Ci0gxtuW.js","assets/index-DrPTfjr7.js","assets/index-YCFbP6NH.js","assets/index-DgrHocxO.js","assets/index-Dq7Ke8TK.js","assets/index-CFveNLFR.js"])))=>i.map(i=>d[i]);
2
+ import{d as N,l as X,k as Z,t as ee,c as x,b as _,o as V,n as te}from"./git-diff-vendor-CSgooKT_.js";import{E as se,k as oe}from"./monaco-viewer-Ci0gxtuW.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))o(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();const ne="modulepreload",ie=function(e){return"/"+e},W={},v=function(t,s,o){let n=Promise.resolve();if(s&&s.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));n=Promise.allSettled(s.map(p=>{if(p=ie(p),p in W)return;W[p]=!0;const S=p.endsWith(".css"),y=S?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${y}`))return;const m=document.createElement("link");if(m.rel=S?"stylesheet":ne,S||(m.as="script"),m.crossOrigin="",m.href=p,c&&m.setAttribute("nonce",c),document.head.appendChild(m),S)return new Promise((R,E)=>{m.addEventListener("load",R),m.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${p}`)))})}))}function i(a){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=a,window.dispatchEvent(c),!c.defaultPrevented)throw a}return n.then(a=>{for(const c of a||[])c.status==="rejected"&&i(c.reason);return t().catch(i)})},ae={"advancedSettings.title":"Advanced Settings","advancedSettings.environmentVariables.title":"Environment Variables","advancedSettings.environmentVariables.subtitle":"Applied whenever a new OpenCode instance starts","advancedSettings.actions.close":"Close"},re={"app.launchError.title":"Unable to launch OpenCode","app.launchError.description":"We couldn't start the selected OpenCode binary. Review the error output below or choose a different binary from OpenCode settings.","app.launchError.binaryPathLabel":"Binary path","app.launchError.errorOutputLabel":"Error output","app.launchError.openAdvancedSettings":"Open OpenCode Settings","app.launchError.close":"Close","app.launchError.closeTitle":"Close (Esc)","app.launchError.fallbackMessage":"Failed to launch workspace","app.stopInstance.confirmMessage":"Stop OpenCode instance? This will stop the server.","app.stopInstance.title":"Stop instance","app.stopInstance.confirmLabel":"Stop","app.stopInstance.cancelLabel":"Keep running","emptyState.logoAlt":"CodeNomad logo","emptyState.brandTitle":"CodeNomad","emptyState.tagline":"Select a folder to start coding with AI","emptyState.actions.selectFolder":"Select Folder","emptyState.actions.selecting":"Selecting...","emptyState.keyboardShortcut":"Keyboard shortcut: {shortcut}","emptyState.examples":"Examples: {example}","emptyState.multipleInstances":"You can have multiple instances of the same folder","releases.upgradeRequired.title":"Upgrade required","releases.upgradeRequired.message.withVersion":"Update to CodeNomad {version} to use the latest UI.","releases.upgradeRequired.message.noVersion":"Update CodeNomad to use the latest UI.","releases.upgradeRequired.action.getUpdate":"Get update","releases.uiUpdated.title":"UI updated","releases.uiUpdated.message":"UI is now updated to {version}.","releases.devUpdateAvailable.title":"Dev build available","releases.devUpdateAvailable.message":"A new dev build is available: {version}.","releases.devUpdateAvailable.action":"View release","theme.mode.system":"System","theme.mode.light":"Light","theme.mode.dark":"Dark","theme.toggle.title":"Theme: {mode}","theme.toggle.ariaLabel":"Theme: {mode}"},le={"commandPalette.title":"Command Palette","commandPalette.description":"Search and execute commands","commandPalette.searchPlaceholder":"Type a command or search...","commandPalette.empty":'No commands found for "{query}"',"commandPalette.category.customCommands":"Custom Commands","commandPalette.category.instance":"Instance","commandPalette.category.session":"Session","commandPalette.category.agentModel":"Agent & Model","commandPalette.category.inputFocus":"Input & Focus","commandPalette.category.system":"System","commandPalette.category.other":"Other","commands.newInstance.label":"New Instance","commands.newInstance.description":"Open folder picker to create new instance","commands.newInstance.keywords":"folder, project, workspace","commands.closeInstance.label":"Close Tab","commands.closeInstance.description":"Close the current top-level tab","commands.closeInstance.keywords":"stop, quit, close, tab","commands.nextInstance.label":"Next Tab","commands.nextInstance.description":"Cycle to the next top-level tab","commands.nextInstance.keywords":"switch, navigate, tab","commands.previousInstance.label":"Previous Tab","commands.previousInstance.description":"Cycle to the previous top-level tab","commands.previousInstance.keywords":"switch, navigate, tab","commands.newSession.label":"New Session","commands.newSession.description":"Create a new parent session","commands.newSession.keywords":"create, start","commands.closeSession.label":"Close Session","commands.closeSession.description":"Close current parent session","commands.closeSession.keywords":"close, stop","commands.scrubSessions.label":"Scrub Sessions","commands.scrubSessions.description":"Remove empty sessions, subagent sessions that have completed their primary task, and extraneous forked sessions.","commands.scrubSessions.keywords":"cleanup, blank, empty, sessions, remove, delete, scrub","commands.instanceInfo.label":"Instance Info","commands.instanceInfo.description":"Open the instance overview for logs and status","commands.instanceInfo.keywords":"info, logs, console, output","commands.nextSession.label":"Next Session","commands.nextSession.description":"Cycle to next session tab","commands.nextSession.keywords":"switch, navigate","commands.previousSession.label":"Previous Session","commands.previousSession.description":"Cycle to previous session tab","commands.previousSession.keywords":"switch, navigate","commands.compactSession.label":"Compact Session","commands.compactSession.description":"Summarize and compact the current session","commands.compactSession.keywords":"summarize, compress","commands.compactSession.errorFallback":"Failed to compact session","commands.compactSession.alert.title":"Compact failed","commands.compactSession.alert.message":"Compact failed: {message}","commands.undoLastMessage.label":"Undo Last Message","commands.undoLastMessage.description":"Revert the last message","commands.undoLastMessage.keywords":"revert, undo","commands.undoLastMessage.none.title":"No actions to undo","commands.undoLastMessage.none.message":"Nothing to undo","commands.undoLastMessage.failed.title":"Undo failed","commands.undoLastMessage.failed.message":"Failed to revert message","commands.openModelSelector.label":"Open Model Selector","commands.openModelSelector.description":"Choose a different model","commands.openModelSelector.keywords":"model, llm, ai","commands.selectModelVariant.label":"Select Model Variant","commands.selectModelVariant.description":"Choose a thinking effort for the current model","commands.selectModelVariant.keywords":"variant, thinking, reasoning, effort","commands.openAgentSelector.label":"Open Agent Selector","commands.openAgentSelector.description":"Choose a different agent","commands.openAgentSelector.keywords":"agent, mode","commands.clearInput.label":"Clear Input","commands.clearInput.description":"Clear the prompt textarea","commands.clearInput.keywords":"clear, reset","commands.promptSubmitShortcut.label.default":"Enter: New Line, Cmd/Ctrl+Enter: Submit Prompt","commands.promptSubmitShortcut.label.swapped":"Enter: Submit Prompt, Cmd/Ctrl+Enter: New Line","commands.promptSubmitShortcut.description":"Swap Enter and Cmd/Ctrl+Enter behavior in the prompt input","commands.promptSubmitShortcut.keywords":"enter, cmd, ctrl, submit, send, newline, shortcut, keybind, prompt","commands.thinkingBlocks.label.show":"Show Thinking","commands.thinkingBlocks.label.hide":"Hide Thinking","commands.thinkingBlocks.description":"Show or hide AI thinking sections","commands.thinkingBlocks.keywords":"thinking, reasoning, toggle, show, hide","commands.timelineToolCalls.label.show":"Show Timeline Tool Calls","commands.timelineToolCalls.label.hide":"Hide Timeline Tool Calls","commands.timelineToolCalls.description":"Toggle tool call entries in the message timeline","commands.timelineToolCalls.keywords":"timeline, tool, toggle","commands.keyboardShortcutHints.label.show":"Show Keyboard Shortcut Hints","commands.keyboardShortcutHints.label.hide":"Hide Keyboard Shortcut Hints","commands.keyboardShortcutHints.description":"Show or hide keyboard shortcut hints across the UI","commands.keyboardShortcutHints.description.disabledWeb":"Disabled in WebUI (shortcut hints are always hidden)","commands.keyboardShortcutHints.keywords":"shortcut, shortcuts, keyboard, keybind, hints","commands.common.expanded":"Expanded","commands.common.collapsed":"Collapsed","commands.common.visible":"Visible","commands.common.hidden":"Hidden","commands.common.enabled":"Enabled","commands.common.disabled":"Disabled","commands.thinkingBlocksDefault.label":"Thinking View: {state}","commands.thinkingBlocksDefault.description":"Collapse / Expand AI thinking sections when shown","commands.thinkingBlocksDefault.keywords":"thinking, reasoning, expand, collapse, default","commands.diffViewSplit.label":"Use Split Diff View","commands.diffViewSplit.description":"Display tool-call diffs side-by-side","commands.diffViewSplit.keywords":"diff, split, view","commands.diffViewUnified.label":"Use Unified Diff View","commands.diffViewUnified.description":"Display tool-call diffs inline","commands.diffViewUnified.keywords":"diff, unified, view","commands.toolOutputsDefault.label":"Tool Outputs Default · {state}","commands.toolOutputsDefault.description":"Toggle default expansion for tool outputs","commands.toolOutputsDefault.keywords":"tool, output, expand, collapse","commands.diagnosticsDefault.label":"Diagnostics Default · {state}","commands.diagnosticsDefault.description":"Toggle default expansion for diagnostics output","commands.diagnosticsDefault.keywords":"diagnostics, expand, collapse","commands.toolInputsVisibility.label":"Tool Inputs Visibility · {state}","commands.toolInputsVisibility.description":"Set default visibility for tool call input arguments","commands.toolInputsVisibility.keywords":"tool, inputs, arguments, visibility, hide, show, expand, collapse","commands.tokenUsageDisplay.label":"Token Usage Display · {state}","commands.tokenUsageDisplay.description":"Show or hide token and cost stats for assistant messages","commands.tokenUsageDisplay.keywords":"token, usage, cost, stats","commands.autoCleanupBlankSessions.label":"Auto-Cleanup Blank Sessions · {state}","commands.autoCleanupBlankSessions.description":"Automatically clean up blank sessions when creating new ones","commands.autoCleanupBlankSessions.keywords":"auto, cleanup, blank, sessions, toggle","commands.showHelp.label":"Show Help","commands.showHelp.description":"Display keyboard shortcuts and help","commands.showHelp.keywords":"shortcuts, help","commands.custom.argumentsPrompt.message":"Arguments for /{name}","commands.custom.argumentsPrompt.title":"Custom command","commands.custom.argumentsPrompt.inputLabel":"Arguments","commands.custom.argumentsPrompt.inputPlaceholder":"e.g. foo bar","commands.custom.argumentsPrompt.confirmLabel":"Run","commands.custom.argumentsPrompt.cancelLabel":"Cancel","commands.custom.argumentsPrompt.openFailed.message":"Failed to open arguments prompt.","commands.custom.argumentsPrompt.openFailed.title":"Command arguments","commands.custom.entries.descriptionFallback":"Custom command","commands.custom.sessionRequired.message":"Select a session before running a custom command.","commands.custom.sessionRequired.title":"Session required","commands.custom.runFailed.message":"Failed to run custom command. Check the console for details.","commands.custom.runFailed.title":"Command failed","unifiedPicker.loading.searching":"Searching...","unifiedPicker.loading.loadingWorkspace":"Loading workspace...","unifiedPicker.title.command":"Select Command","unifiedPicker.title.mention":"Select Agent or File","unifiedPicker.empty":"No results found","unifiedPicker.sections.commands":"COMMANDS","unifiedPicker.sections.agents":"AGENTS","unifiedPicker.sections.files":"FILES","unifiedPicker.sections.workspaceRoot":"WORKSPACE ROOT","unifiedPicker.badge.subagent":"subagent","unifiedPicker.footer.navigate":"navigate","unifiedPicker.footer.select":"select","unifiedPicker.footer.close":"close"},ce={"alertDialog.fallbackTitle.info":"Heads up","alertDialog.fallbackTitle.warning":"Please review","alertDialog.fallbackTitle.error":"Something went wrong","alertDialog.actions.confirm":"Confirm","alertDialog.actions.run":"Run","alertDialog.actions.ok":"OK","alertDialog.actions.cancel":"Cancel","alertDialog.prompt.inputLabel":"Input","backgroundProcessOutputDialog.title":"Background Output","backgroundProcessOutputDialog.actions.close":"Close","backgroundProcessOutputDialog.loading":"Loading output...","backgroundProcessOutputDialog.truncatedNotice":"Output truncated for display.","backgroundProcessOutputDialog.loadErrorFallback":"Failed to load output."},de={"directoryBrowser.defaultDescription":"Browse folders under the configured workspace root.","directoryBrowser.close":"Close","directoryBrowser.currentFolder":"Select folder or enter path","directoryBrowser.currentFolder.inputAriaLabel":"Folder path","directoryBrowser.currentFolder.inputPlaceholder":"Type or paste a folder path","directoryBrowser.openCurrent":"Open","directoryBrowser.selectCurrent":"Select Current","directoryBrowser.newFolder":"New Folder","directoryBrowser.creating":"Creating…","directoryBrowser.loadingFolders":"Loading folders…","directoryBrowser.noFolders":"No folders available.","directoryBrowser.upOneLevel":"Up one level","directoryBrowser.select":"Select","directoryBrowser.load.errorFallback":"Unable to load filesystem","directoryBrowser.createFolder.promptMessage":"Create a new folder in the current directory.","directoryBrowser.createFolder.title":"New Folder","directoryBrowser.createFolder.inputLabel":"Folder name","directoryBrowser.createFolder.inputPlaceholder":"e.g. my-new-project","directoryBrowser.createFolder.confirmLabel":"Create","directoryBrowser.createFolder.cancelLabel":"Cancel","directoryBrowser.createFolder.invalidNameMessage":"Please enter a single folder name.","directoryBrowser.createFolder.invalidNameDetail":"Folder names cannot include slashes, '..', or '~'.","directoryBrowser.createFolder.errorFallback":"Unable to create folder","filesystemBrowser.descriptionFallback":"Search for a path under the configured workspace root.","filesystemBrowser.rootLabel":"Root: {root}","filesystemBrowser.actions.close":"Close","filesystemBrowser.actions.retry":"Retry","filesystemBrowser.actions.select":"Select","filesystemBrowser.filterLabel":"Filter","filesystemBrowser.search.placeholder.directories":"Search for folders","filesystemBrowser.search.placeholder.files":"Search for files","filesystemBrowser.currentFolder.label":"Current folder","filesystemBrowser.currentFolder.selectCurrent":"Select Current","filesystemBrowser.loading.filesystem":"filesystem","filesystemBrowser.loading.workspaceRoot":"workspace root","filesystemBrowser.loading.loadingWithPath":"Loading {path}…","filesystemBrowser.empty.noEntries":"No entries found.","filesystemBrowser.navigation.upOneLevel":"Up one level","filesystemBrowser.hints.navigate":"Navigate","filesystemBrowser.hints.select":"Select","filesystemBrowser.hints.close":"Close","filesystemBrowser.errors.loadFilesystemFallback":"Unable to load filesystem","filesystemBrowser.errors.openDirectoryFallback":"Unable to open directory"},pe={"folderSelection.language.ariaLabel":"Language","folderSelection.logoAlt":"CodeNomad logo","folderSelection.tagline":"Select a folder to start coding with AI","folderSelection.links.github":"CodeNomad GitHub","folderSelection.links.githubStars":"CodeNomad GitHub Stars","folderSelection.links.discord":"CodeNomad Discord","folderSelection.empty.title":"No Recent Folders","folderSelection.empty.description":"Browse for a folder to get started","folderSelection.recent.title":"Recent Folders","folderSelection.recent.subtitle.one":"{count} folder available","folderSelection.recent.subtitle.other":"{count} folders available","folderSelection.recent.remove":"Remove from recent","folderSelection.recent.openBadge":"Open","folderSelection.recent.alreadyOpenTitle":"Project already open","folderSelection.recent.alreadyOpenMessage":"Choose how to open this folder.","folderSelection.recent.switchToOpenProject":"Switch to open project","folderSelection.recent.openAnotherInstance":"Open another instance","folderSelection.browse.title":"Browse for Folder","folderSelection.browse.subtitle":"Select any folder on your computer","folderSelection.browse.button":"Browse Folders","folderSelection.browse.buttonOpening":"Opening...","folderSelection.clone.button":"Clone Git Repo","folderSelection.clone.destination.title":"Select Clone Destination","folderSelection.clone.destination.description":"Select the folder where the repository should be cloned.","folderSelection.clone.dialog.title":"Clone Git Repository","folderSelection.clone.dialog.description":"Clone a Git repository into a local folder, then open it as your workspace.","folderSelection.clone.dialog.repositoryUrl":"Repository URL","folderSelection.clone.dialog.repositoryUrlPlaceholder":"https://github.com/user/repo.git","folderSelection.clone.dialog.destinationPath":"Destination folder","folderSelection.clone.dialog.destinationPathPlaceholder":"Select or enter a destination folder","folderSelection.clone.dialog.browseDestination":"Browse","folderSelection.clone.dialog.cleanupDestination":"Remove the destination folder first if it already exists.","folderSelection.clone.dialog.cancel":"Cancel","folderSelection.clone.dialog.clone":"Clone","folderSelection.clone.dialog.cloning":"Cloning...","folderSelection.clone.dialog.errorRequired":"Repository URL and destination folder are required.","folderSelection.actions.title":"Open Folder or Connect Server","folderSelection.actions.subtitle":"Open local folder or connect to a CodeNomad server","folderSelection.actions.connectButton":"Connect CodeNomad Server","folderSelection.advancedSettings":"Advanced Settings","folderSelection.opencode":"OpenCode","folderSelection.hints.navigate":"Navigate","folderSelection.hints.select":"Select","folderSelection.hints.remove":"Remove","folderSelection.hints.browse":"Browse","folderSelection.loading.title":"Starting instance...","folderSelection.loading.subtitle":"Hang tight while we prepare your workspace.","folderSelection.drop.title":"Drop a folder to open it","folderSelection.drop.subtitle":"Start a new instance in the dropped folder.","folderSelection.drop.invalidTitle":"Couldn't open dropped item","folderSelection.drop.invalidMessage":"Drop a folder to start a new instance.","folderSelection.dialog.title":"Select Workspace","folderSelection.dialog.description":"Select workspace to start coding.","folderSelection.tabs.local":"Local Folders","folderSelection.tabs.servers":"Servers","folderSelection.servers.title":"Saved Servers","folderSelection.servers.subtitle":"Open a saved remote CodeNomad server in a new window","folderSelection.servers.count":"{count} Servers","folderSelection.servers.empty.title":"No Saved Servers","folderSelection.servers.empty.description":"Add a remote server to reconnect quickly from this device","folderSelection.servers.connectTitle":"Connect to Server","folderSelection.servers.connectSubtitle":"Save a remote CodeNomad server and open it in a new window","folderSelection.servers.connectButton":"Connect to Server","folderSelection.servers.remove":"Remove saved server","folderSelection.servers.skipTls":"Self-signed TLS","folderSelection.servers.errorTitle":"Remote Connection Failed","folderSelection.servers.dialog.title":"Connect to Server","folderSelection.servers.dialog.description":"Add a remote CodeNomad server and optionally open it right away.","folderSelection.servers.dialog.name":"Server name","folderSelection.servers.dialog.namePlaceholder":"Production Server","folderSelection.servers.dialog.url":"Server URL","folderSelection.servers.dialog.urlPlaceholder":"https://server.example.com","folderSelection.servers.dialog.skipTls":"Skip TLS verification for self-signed certificates.","folderSelection.servers.dialog.cancel":"Cancel","folderSelection.servers.dialog.save":"Save","folderSelection.servers.dialog.connect":"Connect","folderSelection.servers.dialog.connecting":"Connecting...","folderSelection.servers.dialog.errorRequired":"Server name and URL are required.","folderSelection.servers.dialog.errorConnect":"Could not connect to the remote server.","folderSelection.servers.certificateInstall.title":"Install Local Certificate","folderSelection.servers.certificateInstall.confirmMessage":"CodeNomad needs to install a local certificate to open self-signed HTTPS remote windows. This certificate is only used for local desktop proxy traffic on your machine. Your operating system may show a second certificate prompt after this.","folderSelection.servers.certificateInstall.confirmLabel":"Continue","folderSelection.servers.certificateInstall.cancelLabel":"Cancel","folderSelection.servers.certificateInstall.cancelled":"CodeNomad needs the local certificate to be trusted before it can open self-signed HTTPS remote windows.","folderSelection.sidecars.button":"Open SideCar"},me={"instanceTabs.new.title":"New instance (Cmd/Ctrl+N)","instanceTabs.new.ariaLabel":"New instance","instanceTabs.remote.title":"Remote connect","instanceTabs.remote.ariaLabel":"Remote connect","instanceInfo.title":"Instance Information","instanceInfo.labels.folder":"Folder","instanceInfo.labels.project":"Project","instanceInfo.labels.versionControl":"Version Control","instanceInfo.labels.opencodeVersion":"OpenCode Version","instanceInfo.labels.binaryPath":"Binary Path","instanceInfo.labels.environmentVariables":"Environment Variables ({count})","instanceInfo.loading":"Loading...","instanceInfo.server.title":"Server","instanceInfo.server.port":"Port:","instanceInfo.server.pid":"PID:","instanceInfo.server.status":"Status:","instanceTab.status.permission":"Waiting on permission","instanceTab.status.compacting":"Compacting","instanceTab.status.working":"Working","instanceTab.status.idle":"Idle","instanceTab.status.ariaLabel":"Instance status: {status}","instanceTab.actions.close.ariaLabel":"Close instance","instanceShell.leftPanel.sessionsTitle":"Sessions","instanceShell.leftPanel.instanceInfo":"Instance Info","instanceShell.leftDrawer.pin":"Pin left drawer","instanceShell.leftDrawer.unpin":"Unpin left drawer","instanceShell.leftDrawer.toggle.pinned":"Left drawer pinned","instanceShell.leftDrawer.toggle.open":"Open left drawer","instanceShell.leftDrawer.toggle.close":"Close left drawer","instanceShell.rightDrawer.pin":"Pin right drawer","instanceShell.rightDrawer.unpin":"Unpin right drawer","instanceShell.rightDrawer.toggle.pinned":"Right drawer pinned","instanceShell.rightDrawer.toggle.open":"Open right drawer","instanceShell.rightDrawer.toggle.close":"Close right drawer","instanceShell.fullscreen.enter":"Full screen","instanceShell.fullscreen.exit":"Exit full screen","instanceShell.metrics.usedLabel":"Used","instanceShell.metrics.availableLabel":"Avail","instanceShell.commandPalette.openAriaLabel":"Open command palette","instanceShell.commandPalette.button":"Command Palette","instanceShell.chatSearch.openAriaLabel":"Search chat history","instanceShell.connection.ariaLabel":"Connection {status}","instanceShell.connection.connected":"Connected","instanceShell.connection.connecting":"Connecting...","instanceShell.connection.disconnected":"Disconnected","instanceShell.connection.unknown":"Unknown","instanceWelcome.shortcuts.newSession":"New Session","instanceWelcome.empty.title":"No Previous Sessions","instanceWelcome.empty.description":"Create a new session below to get started","instanceWelcome.loading.title":"Launching workspace","instanceWelcome.loading.description":"Starting OpenCode for this workspace...","instanceWelcome.resume.title":"Resume Session","instanceWelcome.resume.subtitle.one":"{count} session available","instanceWelcome.resume.subtitle.other":"{count} sessions available","instanceWelcome.session.untitled":"Untitled Session","instanceWelcome.new.title":"Start New Session","instanceWelcome.new.subtitle":"We’ll reuse your last agent/model automatically","instanceWelcome.new.createButton":"Create Session","instanceWelcome.overlay.close":"Close","instanceWelcome.actions.viewInstanceInfo":"View Instance Info","instanceWelcome.actions.renameTitle":"Rename session","instanceWelcome.actions.deleteTitle":"Delete session","instanceWelcome.hints.navigate":"Navigate","instanceWelcome.hints.jump":"Jump","instanceWelcome.hints.firstLast":"First/Last","instanceWelcome.hints.resume":"Resume","instanceWelcome.hints.delete":"Delete","instanceWelcome.toasts.renameError":"Unable to rename session","instanceDisconnected.title":"Instance Disconnected","instanceDisconnected.folderFallback":"this workspace","instanceDisconnected.reasonFallback":"The server stopped responding","instanceDisconnected.description":"{folder} can no longer be reached. Close the tab to continue working.","instanceDisconnected.details.title":"Details","instanceDisconnected.details.folderLabel":"Folder:","instanceDisconnected.actions.closeInstance":"Close Instance","instanceShell.empty.title":"No session selected","instanceShell.empty.description":"Send a message below to create a new session, or select an existing session to continue.","instanceShell.rightPanel.title":"Status Panel","instanceShell.rightPanel.tabs.changes":"Session Changes","instanceShell.rightPanel.tabs.gitChanges":"Git Changes","instanceShell.rightPanel.tabs.files":"Files","instanceShell.rightPanel.tabs.status":"Status","instanceShell.rightPanel.tabs.ariaLabel":"Right panel tabs","instanceShell.rightPanel.actions.refresh":"Refresh","instanceShell.rightPanel.actions.save":"Save (Ctrl+S)","instanceShell.rightPanel.actions.saveConfirm.message":'Do you want to save changes to "{path}" before switching?',"instanceShell.rightPanel.actions.saveConfirm.confirmLabel":"Save","instanceShell.rightPanel.actions.saveConfirm.cancelLabel":"Discard Changes","instanceShell.rightPanel.actions.conflict.message":"File was modified by the agent. Overwrite agent's changes?","instanceShell.rightPanel.actions.conflict.confirmLabel":"Overwrite","instanceShell.rightPanel.actions.conflict.cancelLabel":"Cancel","instanceShell.rightPanel.actions.refreshDirty.message":"File has unsaved changes. Refresh will discard your edits. Continue?","instanceShell.rightPanel.actions.refreshDirty.confirmLabel":"Refresh","instanceShell.rightPanel.actions.refreshDirty.cancelLabel":"Cancel","instanceShell.rightPanel.toast.saveSuccess":"File saved successfully","instanceShell.rightPanel.toast.saveError":"Failed to save file","instanceShell.rightPanel.sections.yoloMode":"Yolo Mode","instanceShell.rightPanel.sections.yoloMode.tooltip":"Automatically approves permission requests for the current session. Use it only when you trust the tools being run.","instanceShell.rightPanel.sections.sessionChanges":"Session Changes","instanceShell.rightPanel.sections.sessionChanges.tooltip":"Files modified in the current session. Shows additions and deletions for each file.","instanceShell.rightPanel.sections.plan":"Plan","instanceShell.rightPanel.sections.plan.tooltip":"The agent's roadmap for this session. Tracks tasks, subtasks, and their completion status.","instanceShell.rightPanel.sections.backgroundProcesses":"Background Shells","instanceShell.rightPanel.sections.backgroundProcesses.tooltip":"Long-running processes started by the agent. You can monitor their output, stop, or terminate them.","instanceShell.rightPanel.sections.mcp":"MCP Servers","instanceShell.rightPanel.sections.mcp.tooltip":"Model Context Protocol servers that extend the agent's capabilities with external tools and services.","instanceShell.rightPanel.sections.lsp":"LSP Servers","instanceShell.rightPanel.sections.lsp.tooltip":"Language Server Protocol servers providing code intelligence, diagnostics, and language-specific features.","instanceShell.rightPanel.sections.plugins":"Plugins","instanceShell.rightPanel.sections.plugins.tooltip":"Plugins that customize the UI and server behavior, adding features beyond MCP and LSP.","instanceShell.sessionChanges.noSessionSelected":"Select a session to view changes.","instanceShell.sessionChanges.loading":"Fetching session changes...","instanceShell.sessionChanges.empty":"No session changes yet.","instanceShell.sessionChanges.filesChanged":"{count} files changed","instanceShell.sessionChanges.actions.show":"Show changes","instanceShell.gitChanges.noSessionSelected":"Select a session to view git changes.","instanceShell.gitChanges.loading":"Loading git changes...","instanceShell.gitChanges.empty":"No git changes yet.","instanceShell.gitChanges.deleted":"Deleted","instanceShell.gitChanges.binaryViewer":"Binary file cannot be displayed","instanceShell.gitChanges.sections.staged":"Staged Changes","instanceShell.gitChanges.sections.unstaged":"Changes","instanceShell.gitChanges.actions.insertContext":"Add to prompt","instanceShell.gitChanges.actions.stage":"Stage file","instanceShell.gitChanges.actions.unstage":"Unstage file","instanceShell.gitChanges.commit.placeholder":"Enter commit message","instanceShell.gitChanges.commit.submit":"Commit","instanceShell.gitChanges.commit.submitting":"Committing...","instanceShell.gitChanges.commit.success":"Commit created successfully","instanceShell.gitChanges.commit.error":"Failed to create commit","instanceShell.filesShell.fileListTitle":"File list","instanceShell.filesShell.mobileSelectorLabel":"Select file","instanceShell.filesShell.mobileSelectorEmpty":"Select a file","instanceShell.filesShell.viewerTitle":"Change viewer","instanceShell.filesShell.viewerPlaceholder":"Detailed change rendering will be added in the next step.","instanceShell.filesShell.viewerEmpty":"No file selected.","instanceShell.filesShell.listEmpty":"No files in this folder.","instanceShell.filesShell.hideFiles":"Hide files","instanceShell.filesShell.showFiles":"Show files","instanceShell.filesShell.search.placeholder":"Filter files in this folder","instanceShell.filesShell.search.ariaLabel":"Filter files in this folder","instanceShell.filesShell.search.empty":"No matching files.","instanceShell.filesShell.actions.copyPath":"Copy path","instanceShell.filesShell.toast.copyPathSuccess":"Copied path","instanceShell.filesShell.toast.copyPathError":"Failed to copy path","instanceShell.filesShell.previewMarkdown":"Preview Markdown","instanceShell.filesShell.showSource":"Show source","instanceShell.filesShell.enableWordWrap":"Enable word wrap","instanceShell.filesShell.disableWordWrap":"Disable word wrap","instanceShell.diff.hideUnchanged":"Hide unchanged regions","instanceShell.diff.showFull":"Show full file","instanceShell.diff.switchToSplit":"Switch to split view","instanceShell.diff.switchToUnified":"Switch to unified view","instanceShell.diff.enableWordWrap":"Enable word wrap","instanceShell.diff.disableWordWrap":"Disable word wrap","instanceShell.worktree.create":"+ Create worktree","instanceShell.worktree.delete.error.title":"Delete failed","instanceShell.worktree.delete.error.fallback":"Failed to delete worktree","instanceShell.worktree.delete.error.causeLabel":"Likely cause:","instanceShell.worktree.delete.error.nextStepLabel":"Suggested next step:","instanceShell.worktree.delete.error.summary.localChanges":"Git refused to delete this worktree because it has modified or untracked files.","instanceShell.worktree.delete.error.summary.inUse":"CodeNomad could not delete this worktree because something is still using files in the directory.","instanceShell.worktree.delete.error.summary.notFound":"CodeNomad could not delete this worktree because the directory or worktree record was not found.","instanceShell.worktree.delete.error.summary.permissionDenied":"CodeNomad could not delete this worktree because access to the directory was denied.","instanceShell.worktree.delete.error.summary.unknown":"CodeNomad could not delete this worktree.","instanceShell.worktree.delete.error.cause.localChanges":"Local changes","instanceShell.worktree.delete.error.cause.inUse":"Another process is using this worktree","instanceShell.worktree.delete.error.cause.notFound":"The worktree directory or record is missing","instanceShell.worktree.delete.error.cause.permissionDenied":"Insufficient filesystem permissions","instanceShell.worktree.delete.error.cause.unknown":"The backend returned an unclassified delete error","instanceShell.worktree.delete.error.nextStep.localChanges":"Enable Force delete if you want to discard local changes, or clean the worktree and try again.","instanceShell.worktree.delete.error.nextStep.inUse":"Close terminals, editors, watchers, or background processes using this worktree and try again.","instanceShell.worktree.delete.error.nextStep.notFound":"Refresh worktrees and try again. If it still fails, inspect the worktree path on disk.","instanceShell.worktree.delete.error.nextStep.permissionDenied":"Check filesystem permissions and close applications that may be locking this directory, then try again.","instanceShell.worktree.delete.error.nextStep.unknown":"Review the raw error below for details, then retry after addressing the reported problem.","instanceShell.worktree.delete.error.copyRaw":"Copy error","instanceShell.worktree.delete.error.copySanitized":"Copy sanitized","instanceShell.worktree.delete.error.copySuccess":"Copied delete error","instanceShell.worktree.delete.error.copySanitizedSuccess":"Copied sanitized delete error","instanceShell.worktree.delete.error.copyFailure":"Failed to copy delete error","instanceShell.plan.noSessionSelected":"Select a session to view plan.","instanceShell.plan.empty":"Nothing planned yet.","instanceShell.yoloMode.noSessionSelected":"Select a session to configure Yolo mode.","instanceShell.yoloMode.title":"Yolo mode","instanceShell.yoloMode.description":"Automatically approve permission requests for this session. Disabled by default.","instanceShell.yoloMode.badge":"Yolo mode","instanceShell.yoloMode.badgeAriaLabel":"Yolo mode enabled","instanceShell.backgroundProcesses.empty":"No background processes.","instanceShell.backgroundProcesses.status":"Status: {status}","instanceShell.backgroundProcesses.output":"Output: {sizeKb}KB","instanceShell.backgroundProcesses.notify.enabled":"Completion notification enabled","instanceShell.backgroundProcesses.notify.disabled":"Completion notification disabled","instanceShell.backgroundProcesses.actions.output":"Output","instanceShell.backgroundProcesses.actions.stop":"Stop","instanceShell.backgroundProcesses.actions.terminate":"Terminate","versionPill.appWithVersion":"App {version}","versionPill.ui":"UI","versionPill.uiWithVersion":"UI {version}","versionPill.source":" ({source})","opencodeBinarySelector.title":"OpenCode Binary","opencodeBinarySelector.subtitle":"Choose which executable OpenCode should run","opencodeBinarySelector.customPath.placeholder":"Enter path to opencode binary…","opencodeBinarySelector.actions.add":"Add","opencodeBinarySelector.actions.browse":"Browse for Binary…","opencodeBinarySelector.actions.removeTitle":"Remove binary","opencodeBinarySelector.badge.systemPath":"Use binary from system PATH","opencodeBinarySelector.status.checkingVersions":"Checking versions…","opencodeBinarySelector.status.checking":"Checking…","opencodeBinarySelector.dialog.title":"Select OpenCode Binary","opencodeBinarySelector.dialog.description":"Browse files exposed by the CLI server.","opencodeBinarySelector.validation.invalidBinary":"Invalid OpenCode binary","opencodeBinarySelector.validation.alreadyValidating":"Already validating","opencodeBinarySelector.display.systemPath":"{name} (system PATH)","opencodeBinarySelector.versionLabel":"v{version}"},ge={"loadingScreen.logoAlt":"CodeNomad logo","loadingScreen.status.issue":"Encountered an issue","loadingScreen.actions.showAnother":"Show another","loadingScreen.errors.missingRoot":"Loading root element not found","loadingScreen.phrases.neurons":"Warming up the AI neurons…","loadingScreen.phrases.daydreaming":"Convincing the AI to stop daydreaming…","loadingScreen.phrases.goggles":"Polishing the AI’s code goggles…","loadingScreen.phrases.reorganizingFiles":"Asking the AI to stop reorganizing your files…","loadingScreen.phrases.coffee":"Feeding the AI additional coffee…","loadingScreen.phrases.nodeModules":"Teaching the AI not to delete node_modules (again)…","loadingScreen.phrases.actNatural":"Telling the AI to act natural before you arrive…","loadingScreen.phrases.rewritingHistory":"Asking the AI to please stop rewriting history…","loadingScreen.phrases.stretch":"Letting the AI stretch before its coding sprint…","loadingScreen.phrases.keyboardControl":"Persuading the AI to give you keyboard control…"},ue={"logsView.title":"Server Logs","logsView.actions.show":"Show server logs","logsView.actions.hide":"Hide server logs","logsView.actions.clear":"Clear logs","logsView.actions.back":"Back to conversation","logsView.envVars.title":"Environment Variables ({count})","logsView.paused.title":"Server logs are paused","logsView.paused.description":"Enable streaming to watch your OpenCode server activity.","logsView.empty.waiting":"Waiting for server output...","logsView.scrollToTop":"Scroll to top","logsView.scrollToBottom":"Scroll to bottom","infoView.logs.title":"Server Logs","infoView.logs.actions.show":"Show server logs","infoView.logs.actions.hide":"Hide server logs","infoView.logs.actions.clear":"Clear logs","infoView.logs.actions.back":"Back to conversation","infoView.logs.paused.title":"Server logs are paused","infoView.logs.paused.description":"Enable streaming to watch your OpenCode server activity.","infoView.logs.empty.waiting":"Waiting for server output...","infoView.logs.scrollToTop":"Scroll to top","infoView.logs.scrollToBottom":"Scroll to bottom","infoView.dispose.actions.dispose":"Dispose instance","infoView.dispose.actions.disposing":"Disposing...","infoView.dispose.confirm.title":"Dispose instance?","infoView.dispose.confirm.message":"This clears cached per-project state for this directory and reloads the instance.","infoView.dispose.confirm.confirmLabel":"Dispose","infoView.dispose.confirm.cancelLabel":"Cancel","infoView.dispose.toast.success":"Instance disposed. Reloading...","infoView.dispose.toast.error":"Failed to dispose instance."},he={"markdown.codeBlock.copy.label":"Copy","markdown.codeBlock.copy.copied":"Copied!","markdown.codeBlock.copy.failed":"Failed","markdown.copy":"Copy"},fe={"messageListHeader.sidebar.openSessionListAriaLabel":"Open session list","messageListHeader.metrics.usedLabel":"Used","messageListHeader.metrics.availableLabel":"Avail","messageListHeader.commandPalette.ariaLabel":"Open command palette","messageListHeader.commandPalette.button":"Command Palette","messageListHeader.connection.connected":"Connected","messageListHeader.connection.connecting":"Connecting...","messageListHeader.connection.disconnected":"Disconnected","messageSection.empty.logoAlt":"CodeNomad logo","messageSection.empty.brandTitle":"CodeNomad","messageSection.empty.title":"Start a conversation","messageSection.empty.description":"Type a message below or open the Command Palette:","messageSection.empty.tips.commandPalette":"Command Palette","messageSection.empty.tips.askAboutCodebase":"Ask about your codebase","messageSection.empty.tips.attachFilesPrefix":"Attach files with","messageSection.loading.messages":"Loading messages...","messageSection.scroll.toFirstAriaLabel":"Scroll to first message","messageSection.scroll.toLatestAriaLabel":"Scroll to latest message","messageSection.scroll.enableHoldAriaLabel":"Enable hold for long assistant replies","messageSection.scroll.disableHoldAriaLabel":"Disable hold for long assistant replies","messageSection.quote.addAsQuote":"Add as quote","messageSection.quote.addAsCode":"Add as code","messageSection.quote.copy":"Copy","messageSection.quote.copied":"Copied!","messageSection.quote.copyFailed":"Copy failed","messageSection.search.ariaLabel":"Search chat history","messageSection.search.placeholder":"Search current chat...","messageSection.search.count.empty":"Search","messageSection.search.count.minChars":"{count}+ chars","messageSection.search.count.searching":"Searching...","messageSection.search.count.none":"No matches","messageSection.search.count.matches":"{current} / {total}","messageSection.search.previousAriaLabel":"Previous match","messageSection.search.nextAriaLabel":"Next match","messageSection.search.closeAriaLabel":"Close search","messageSection.search.searching":"Searching...","messageSection.search.noVisibleMatches":"No visible matches","messageTimeline.ariaLabel":"Message timeline","messageTimeline.segment.user.label":"You","messageTimeline.segment.assistant.label":"Asst","messageTimeline.segment.compaction.label":"Compaction","messageTimeline.tool.fallbackLabel":"Tool Call","messageTimeline.tooltip.userFallback":"User message","messageTimeline.tooltip.assistantFallback":"Assistant response","messageTimeline.tooltip.compaction.auto":"Auto Compaction","messageTimeline.tooltip.compaction.manual":"User Compaction","messageTimeline.text.filePrefix":"[File] {filename}","messageTimeline.text.attachment":"Attachment","messageBlock.tool.header":"Tool Call","messageBlock.tool.unknown":"unknown","messageBlock.tool.goToSession.label":"Go to Session","messageBlock.tool.goToSession.title":"Go to session","messageBlock.tool.goToSession.unavailableTitle":"Session not available yet","messageBlock.tool.deletePart.label":"Delete Part","messageBlock.tool.deletePart.deleting":"Deleting...","messageBlock.tool.deletePart.title":"Delete this tool call output","messageBlock.tool.deletePart.failed.title":"Delete failed","messageBlock.tool.deletePart.failed.message":"Failed to delete tool call output","messageBlock.compaction.ariaLabel":"Session compaction","messageBlock.compaction.autoLabel":"Session auto-compacted","messageBlock.compaction.manualLabel":"Session compacted by you","messageBlock.usage.input":"Input","messageBlock.usage.output":"Output","messageBlock.usage.reasoning":"Reasoning","messageBlock.usage.cacheRead":"Cache Read","messageBlock.usage.cacheWrite":"Cache Write","messageBlock.usage.cost":"Cost","messageBlock.step.agentLabel":"Agent: {agent}","messageBlock.step.modelLabel":"Model: {model}","messageBlock.reasoning.thinkingLabel":"Thinking","messageBlock.reasoning.expandAriaLabel":"Expand thinking","messageBlock.reasoning.collapseAriaLabel":"Collapse thinking","messageBlock.reasoning.indicator.hide":"Hide","messageBlock.reasoning.indicator.view":"View","messageBlock.reasoning.detailsAriaLabel":"Reasoning details","codeBlockInline.actions.copy":"Copy","codeBlockInline.actions.copied":"Copied!","messageItem.speaker.you":"You","messageItem.speaker.assistant":"Assistant","messageItem.actions.revert":"Revert","messageItem.actions.revertTitle":"Undo changes up to here (deletes messages)","messageItem.actions.fork":"Fork","messageItem.actions.forkTitle":"Fork from this message","messageItem.actions.copy":"Copy","messageItem.actions.copyTitle":"Copy message","messageItem.actions.copied":"Copied!","messageItem.actions.more":"More actions","messageItem.actions.speak":"Speak message","messageItem.actions.generatingSpeech":"Generating speech","messageItem.actions.stopSpeech":"Stop playback","messageItem.actions.speak.error.title":"Speech playback failed","messageItem.actions.speak.error.unsupported":"Speech playback is not supported in this browser.","messageItem.actions.speak.error.unavailable":"Speech playback is unavailable until speech settings are configured.","messageItem.actions.speak.error.generate":"Unable to generate speech for this message.","messageItem.actions.deleteMessage":"Delete message (doesn't undo changes)","messageItem.actions.deleteMessagesUpTo":"Delete messages up to here (doesn't undo changes)","messageItem.actions.deletingMessage":"Deleting...","messageItem.actions.deleteMessageFailedTitle":"Delete failed","messageItem.actions.deleteMessageFailedMessage":"Failed to delete message","messageItem.selection.checkboxAriaLabel":"Select message for deletion","messageSection.bulkDelete.toolbarAriaLabel":"Selected items ({count})","messageSection.bulkDelete.deleteSelectedTitle":"Delete selected items","messageSection.bulkDelete.selectAllTitle":"Select all messages","messageSection.bulkDelete.moreOptionsTitle":"More options","messageSection.bulkDelete.selectionModeLabel":"Selection","messageSection.bulkDelete.selectionModeAll":"All","messageSection.bulkDelete.selectionModeTools":"Tools only","messageSection.bulkDelete.selectionHint.toggle":"Select item","messageSection.bulkDelete.selectionHint.range":"Select range","messageSection.bulkDelete.selectionHint.clear":"Clear Selection","messageSection.bulkDelete.cancelTitle":"Cancel selection","messageSection.bulkDelete.failedTitle":"Delete failed","messageSection.bulkDelete.failedMessage":"Failed to delete selected items","messageItem.status.queued":"QUEUED","messageItem.status.generating":"Generating...","messageItem.status.sending":"Sending...","messageItem.status.failedToSend":"Message failed to send","messagePart.actions.delete":"Delete Part","messagePart.actions.deleting":"Deleting...","messagePart.actions.deleteTitle":"Delete this item","messagePart.actions.deleteFailedTitle":"Delete failed","messagePart.actions.deleteFailedMessage":"Failed to delete item","messageItem.attachment.defaultName":"attachment","messageItem.attachment.downloadAriaLabel":"Download {name}","messageItem.agentMeta.agentLabel":"Agent: {agent}","messageItem.agentMeta.modelLabel":"Model: {model}","messageItem.errors.authenticationFallback":"Authentication error","messageItem.errors.outputLengthExceeded":"Message output length exceeded","messageItem.errors.requestAborted":"Request was aborted","messageItem.errors.unknownFallback":"Unknown error occurred","attachmentChip.removeAriaLabel":"Remove attachment","expandButton.toggleAriaLabel":"Toggle chat input height","promptInput.placeholder.shell":"Run a shell command (Esc to exit)...","promptInput.placeholder.default":"Type your message, @file, @agent, or paste images and text...","promptInput.hints.shell.exit":"to exit shell mode","promptInput.hints.shell.enable":"Shell mode","promptInput.hints.commands":"Commands","promptInput.history.previousAriaLabel":"Previous prompt","promptInput.history.nextAriaLabel":"Next prompt","promptInput.overlay.newLine":"New line","promptInput.overlay.send":"Send","promptInput.overlay.filesAgents":"Files/agents","promptInput.overlay.history":"History","promptInput.overlay.attachments":"• {count} file(s) attached","promptInput.overlay.shellModeActive":"Shell mode active","promptInput.overlay.press":"Press","promptInput.overlay.againToAbort":"again to abort session","promptInput.stopSession.ariaLabel":"Stop session","promptInput.stopSession.title":"Stop session","promptInput.attachFiles.ariaLabel":"Attach files","promptInput.attachFiles.title":"Attach files","promptInput.attachFiles.dialogTitle":"Attach files","promptInput.attachFiles.errorTitle":"Attach failed","promptInput.attachFiles.skipped.title":"Some files were not attached","promptInput.attachFiles.skipped.one":"1 selected file could not be attached because this environment did not expose a file path or supported preview data.","promptInput.attachFiles.skipped.other":"{count} selected files could not be attached because this environment did not expose file paths or supported preview data.","promptInput.attachFiles.tooLarge.one":"1 selected file could not be attached because it is larger than the 5 MB attachment limit.","promptInput.clear.ariaLabel":"Clear prompt text","promptInput.clear.title":"Clear prompt text","promptInput.send.ariaLabel":"Send message","promptInput.send.errorFallback":"Failed to send message","promptInput.send.errorTitle":"Send failed","promptInput.conversationMode.enable.title":"Enable conversation mode","promptInput.conversationMode.disable.title":"Disable conversation mode","promptInput.conversationMode.error.title":"Conversation playback failed","promptInput.conversationMode.error.message":"Unable to continue speaking assistant replies.","promptInput.voiceInput.start.title":"Start voice input","promptInput.voiceInput.stop.title":"Stop recording and transcribe","promptInput.voiceInput.transcribing.title":"Transcribing audio","promptInput.voiceInput.error.title":"Voice input failed","promptInput.voiceInput.error.permission":"Microphone access is required to record voice input.","promptInput.voiceInput.error.permissionDenied":"Microphone access was denied by macOS.","promptInput.voiceInput.error.unsupported":"Voice input is not supported in this browser.","promptInput.voiceInput.error.transcribe":"Unable to transcribe the recorded audio.","promptInput.resizeHandle.title":"Drag to resize input height"},be={"remoteAccess.eyebrow":"Remote handover","remoteAccess.title":"Connect to CodeNomad remotely","remoteAccess.subtitle":"Use the addresses below to open CodeNomad from another device.","remoteAccess.close":"Close remote access","remoteAccess.refresh":"Refresh","remoteAccess.sections.listeningMode.label":"Listening mode","remoteAccess.sections.listeningMode.help":"Allow or limit remote handovers by binding to all interfaces or just localhost.","remoteAccess.toggle.on":"On","remoteAccess.toggle.off":"Off","remoteAccess.toggle.title":"Allow connections from other IPs","remoteAccess.toggle.caption.all":"Binding to 0.0.0.0","remoteAccess.toggle.caption.local":"Binding to 127.0.0.1","remoteAccess.toggle.note":"Changing this requires a restart and temporarily stops all active instances. Share the addresses below once the server restarts.","remoteAccess.listeningMode.restartConfirm.message":"Restart to apply listening mode? This will stop all running instances.","remoteAccess.listeningMode.restartConfirm.title.all":"Open to other devices","remoteAccess.listeningMode.restartConfirm.title.local":"Limit to this device","remoteAccess.listeningMode.restartConfirm.confirmLabel":"Restart now","remoteAccess.listeningMode.restartConfirm.cancelLabel":"Cancel","remoteAccess.restart.errorManual":"Unable to restart automatically. Please restart the app to apply the change.","remoteAccess.sections.serverPassword.label":"Server password","remoteAccess.sections.serverPassword.help":"Remote handovers require a password. Set a memorable one to enable logins from other devices.","remoteAccess.authStatus.unavailable":"Authentication status unavailable.","remoteAccess.username":"Username: {username}","remoteAccess.password.status.set":"A password is set for remote access.","remoteAccess.password.status.unset":"No memorable password is set yet. Set one to allow remote handover logins.","remoteAccess.password.actions.cancel":"Cancel","remoteAccess.password.actions.change":"Change password","remoteAccess.password.actions.set":"Set password","remoteAccess.password.form.newPassword":"New password","remoteAccess.password.form.confirmPassword":"Confirm password","remoteAccess.password.form.placeholder":"At least 8 characters","remoteAccess.password.error.tooShort":"Password must be at least 8 characters.","remoteAccess.password.error.mismatch":"Passwords do not match.","remoteAccess.password.save.saving":"Saving…","remoteAccess.password.save.label":"Save password","remoteAccess.sections.addresses.label":"Reachable addresses","remoteAccess.sections.addresses.help":"Launch or scan from another machine to hand over control.","remoteAccess.addresses.loading":"Loading addresses…","remoteAccess.addresses.none":"No addresses available yet.","remoteAccess.addresses.actions.showOther":"Show {count} other addresses","remoteAccess.addresses.actions.hideOther":"Hide other addresses","remoteAccess.address.scope.network":"Network","remoteAccess.address.scope.loopback":"Loopback","remoteAccess.address.scope.internal":"Internal","remoteAccess.address.open":"Open","remoteAccess.address.showQr":"Show QR","remoteAccess.address.hideQr":"Hide QR","remoteAccess.address.qrAlt":"QR for {url}"},Se={"sessionPicker.title":"OpenCode • {folder}","sessionPicker.empty.noPrevious":"No previous sessions","sessionPicker.resume.title":"Resume a session ({count}):","sessionPicker.session.untitled":"Untitled","sessionPicker.divider.or":"or","sessionPicker.new.title":"Start new session:","sessionPicker.agents.loading":"Loading agents...","sessionPicker.actions.creating":"Creating...","sessionPicker.actions.createSession":"Create Session","sessionPicker.actions.cancel":"Cancel","sessionList.header.title":"Sessions","sessionList.session.untitled":"Untitled","sessionList.status.working":"Working","sessionList.status.compacting":"Compacting","sessionList.status.idle":"Idle","sessionList.status.retrying":"Retrying","sessionList.status.retryingIn":"Retrying in {seconds}s","sessionList.status.retryTooltip":"{message} (Attempt {attempt})","sessionList.status.retryToast":"{countdown}: {message} (Attempt {attempt})","sessionList.status.needsPermission":"Needs Permission","sessionList.status.needsInput":"Needs Input","sessionList.expand.collapseAriaLabel":"Collapse session","sessionList.expand.expandAriaLabel":"Expand session","sessionList.expand.collapseTitle":"Collapse","sessionList.expand.expandTitle":"Expand","sessionList.actions.newSession.ariaLabel":"New session","sessionList.actions.newSession.title":"New session","sessionList.actions.copyId.ariaLabel":"Copy session ID","sessionList.actions.copyId.title":"Copy session ID","sessionList.actions.reload.ariaLabel":"Reload session","sessionList.actions.reload.title":"Reload session","sessionList.actions.rename.ariaLabel":"Rename session","sessionList.actions.rename.title":"Rename session","sessionList.actions.delete.ariaLabel":"Delete session","sessionList.actions.delete.title":"Delete session","sessionList.copyId.success":"Session ID copied","sessionList.copyId.error":"Unable to copy session ID","sessionList.reload.error":"Unable to reload session","sessionList.delete.error":"Unable to delete session","sessionList.delete.title":"Delete session","sessionList.delete.confirmMessage":'Delete "{label}"? This cannot be undone.',"sessionList.delete.confirmLabel":"Delete","sessionList.delete.cancelLabel":"Cancel","sessionList.rename.error":"Unable to rename session","sessionList.filter.placeholder":"Search sessions…","sessionList.filter.ariaLabel":"Search sessions","sessionList.selection.selectAllLabel":"Select all","sessionList.selection.selectAllAriaLabel":"Select all sessions","sessionList.selection.clearLabel":"Clear","sessionList.selection.clearAriaLabel":"Clear selection","sessionList.selection.checkboxAriaLabel":"Select session","sessionList.bulkDelete.button":"Delete {count}","sessionList.bulkDelete.ariaLabel":"Delete {count} selected sessions","sessionList.bulkDelete.title":"Delete sessions","sessionList.bulkDelete.confirmMessage":"Delete {count} selected sessions? This cannot be undone.","sessionList.bulkDelete.confirmLabel":"Delete","sessionList.bulkDelete.cancelLabel":"Cancel","sessionList.bulkDelete.error":"Unable to delete {count} sessions","sessionRenameDialog.title":"Rename Session","sessionRenameDialog.description.withLabel":'Update the title for "{label}".',"sessionRenameDialog.description.default":"Set a new title for this session.","sessionRenameDialog.input.label":"Session name","sessionRenameDialog.input.placeholder":"Enter a session name","sessionRenameDialog.actions.cancel":"Cancel","sessionRenameDialog.actions.rename":"Rename","sessionRenameDialog.actions.renaming":"Renaming…","sessionView.fallback.sessionNotFound":"Session not found","sessionView.alerts.abortFailed.message":"Failed to stop session","sessionView.alerts.abortFailed.title":"Stop failed","sessionView.alerts.revertFailed.message":"Failed to revert to message","sessionView.alerts.revertFailed.title":"Revert failed","sessionView.alerts.deleteUpToFailed.message":"Failed to delete messages","sessionView.alerts.deleteUpToFailed.title":"Delete failed","sessionView.alerts.forkFailed.message":"Failed to fork session","sessionView.alerts.forkFailed.title":"Fork failed","sessionView.attachments.expandPastedTextAriaLabel":"Expand pasted text","sessionView.attachments.insertPastedTextTitle":"Insert pasted text","sessionView.attachments.removeAriaLabel":"Remove attachment","sessionPreview.title":"Web preview","sessionPreview.backToChat":"Back to chat","sessionPreview.close":"Close preview","sessionPreview.chat.button":"Back to chat","sessionPreview.open.button":"Open web preview","sessionPreview.open.title":"Open web preview","sessionPreview.open.prompt":"Enter a trusted local or staging URL to preview in this session.","sessionPreview.open.label":"Preview URL","sessionPreview.open.placeholder":"https://staging.example.com","sessionPreview.open.confirm":"Open preview","sessionPreview.open.cancel":"Cancel","sessionPreview.comment.mode":"Comment mode","sessionPreview.comment.title":"Add preview comment","sessionPreview.comment.prompt":"Describe what should change for the selected element.","sessionPreview.comment.label":"Comment","sessionPreview.comment.add":"Add comment","sessionPreview.comment.cancel":"Cancel","browserFrame.viewport":"Viewport size","browserFrame.viewport.responsive":"Responsive viewport","browserFrame.viewport.desktop":"Desktop viewport (1440 x 900)","browserFrame.viewport.tablet":"Tablet viewport (768 x 1024)","browserFrame.viewport.tabletLandscape":"Tablet landscape (1024 x 768)","browserFrame.viewport.mobile":"Mobile viewport (390 x 844)","browserFrame.viewport.mobileLandscape":"Mobile landscape (844 x 390)","sessionEvents.sessionCompactedToast":"Session {label} was compacted","sessionEvents.sessionError.unknown":"Unknown error","sessionEvents.sessionError.title":"Session error","sessionEvents.sessionError.message":"Error: {message}","sessionState.cleanup.deepConfirm.message":"This cleanup may be slow, and may delete sessions you didn't intend to delete. Are you sure?","sessionState.cleanup.deepConfirm.title":"Deep Clean Sessions","sessionState.cleanup.deepConfirm.detail":"Deep Clean Sessions will delete all sessions that have no messages, remove any finished sub-agent sessions, and clear out any unused forks of a session.","sessionState.cleanup.deepConfirm.confirmLabel":"Continue","sessionState.cleanup.deepConfirm.cancelLabel":"Cancel","sessionState.cleanup.toast.one":"Cleaned up {count} blank session","sessionState.cleanup.toast.other":"Cleaned up {count} blank sessions"},ve={"instanceServiceStatus.sections.lsp":"LSP Servers","instanceServiceStatus.sections.mcp":"MCP Servers","instanceServiceStatus.sections.plugins":"Plugins","instanceServiceStatus.lsp.loading":"Loading LSP servers...","instanceServiceStatus.lsp.empty":"No LSP servers detected.","instanceServiceStatus.lsp.status.connected":"Connected","instanceServiceStatus.lsp.status.error":"Error","instanceServiceStatus.mcp.loading":"Loading MCP servers...","instanceServiceStatus.mcp.empty":"No MCP servers detected.","instanceServiceStatus.mcp.toggleAriaLabel":"Toggle {name} MCP server","instanceServiceStatus.plugins.loading":"Loading plugins...","instanceServiceStatus.plugins.empty":"No plugins configured.","permissionBanner.pendingRequests.one":"{count} pending request","permissionBanner.pendingRequests.other":"{count} pending requests","permissionBanner.detail.permission.one":"{count} permission","permissionBanner.detail.permission.other":"{count} permissions","permissionBanner.detail.question.one":"{count} question","permissionBanner.detail.question.other":"{count} questions","permissionBanner.detail.wrapper":" ({detail})","agentSelector.placeholder":"Select agent...","agentSelector.badge.subagent":"subagent","agentSelector.none":"None","agentSelector.trigger.primary":"Agent: {agent}","modelSelector.placeholder.search":"Search models...","modelSelector.none":"None","modelSelector.trigger.primary":"Model: {model}","modelSelector.favoritesOnly.toggle.ariaLabel":"Toggle favorites only","modelSelector.favoritesOnly.showAll":"Show all models","modelSelector.favorite.add":"Add to favorites","modelSelector.favorite.remove":"Remove from favorites","modelSelector.manageProviders":"Manage Providers","thinkingSelector.variant.default":"Default","thinkingSelector.label":"Thinking: {variant}","envEditor.title":"Environment Variables","envEditor.count.one":"({count} variable)","envEditor.count.other":"({count} variables)","envEditor.fields.name.placeholder":"Variable name","envEditor.fields.name.readOnlyTitle":"Variable name (read-only)","envEditor.fields.value.placeholder":"Variable value","envEditor.fields.secure.enabled":"Value masked (secure)","envEditor.fields.secure.disabled":"Click to mask value","envEditor.fields.secure.masked":"Value hidden (secure)","envEditor.actions.remove.title":"Remove variable","envEditor.actions.add.title":"Add variable","envEditor.empty":"No environment variables configured. Add variables above to customize the OpenCode environment.","envEditor.help":"These variables will be available in the OpenCode environment when starting instances.","contextUsagePanel.headings.tokens":"Tokens","contextUsagePanel.headings.context":"Context","contextUsagePanel.labels.input":"Input","contextUsagePanel.labels.output":"Output","contextUsagePanel.labels.cost":"Cost","contextUsagePanel.labels.totalInput":"Total In","contextUsagePanel.labels.totalOutput":"Total Out","contextUsagePanel.labels.totalCost":"Total Cost","contextUsagePanel.labels.totalReasoning":"Total Reasoning","contextUsagePanel.labels.used":"Used","contextUsagePanel.labels.available":"Avail","contextUsagePanel.unavailable":"--","settings.title":"Settings","settings.navigationAriaLabel":"Settings sections","settings.close":"Close settings","settings.content.eyebrow":"Workspace preferences","settings.open.title":"Open settings","settings.open.ariaLabel":"Open settings","settings.nav.appearance":"Appearance","settings.nav.notifications":"Notifications","settings.nav.remote":"Remote Access","settings.nav.speech":"Speech","settings.nav.providers":"Providers","settings.nav.opencode":"OpenCode","settings.nav.configFiles":"Config Files","settings.nav.info":"Info","settings.scope.device":"This device","settings.scope.server":"Server setting","settings.common.enabled":"Enabled","settings.common.disabled":"Disabled","settings.section.appearance.title":"Appearance","settings.section.appearance.subtitle":"Adjust how the app looks on this device.","settings.appearance.theme.title":"Theme","settings.appearance.theme.subtitle":"Choose the color mode used throughout the app.","settings.appearance.theme.option.system":"Match your operating system setting","settings.appearance.theme.option.light":"Use the light appearance","settings.appearance.theme.option.dark":"Use the dark appearance","settings.section.notifications.title":"Notifications","settings.section.notifications.subtitle":"Control OS-level notifications for session activity.","settings.notifications.permission.granted":"Granted","settings.notifications.permission.denied":"Denied","settings.notifications.permission.default":"Not granted","settings.notifications.permission.unsupported":"Unsupported","settings.notifications.messages.unsupportedEnvironment":"OS notifications are not supported in this environment.","settings.notifications.messages.permissionDenied":"Notification permission denied. Enable notifications in your system or browser settings.","settings.notifications.messages.permissionNotGranted":"Notification permission not granted.","settings.notifications.messages.unsupportedGeneral":"Notifications are not supported in this environment.","settings.notifications.messages.permissionGranted":"Permission granted. You can now enable notifications.","settings.notifications.messages.permissionRequestDenied":"Permission denied. You may need to enable notifications in your system or browser settings.","settings.notifications.sessionStatus.title":"Session status notifications","settings.notifications.sessionStatus.subtitle":"Receive alerts when sessions need your attention.","settings.notifications.enable.title":"Enable notifications","settings.notifications.enable.permission":"Permission: {permission}","settings.notifications.requestPermission.title":"Request permission","settings.notifications.requestPermission.subtitle":"Allow the app to send notifications on this device.","settings.notifications.requestPermission.action":"Request","settings.notifications.allowVisible.title":"Notify when the app is focused","settings.notifications.allowVisible.subtitle":"Keep alerts enabled even while this window is visible.","settings.notifications.unsupportedNote":"Notifications are not supported in this environment. The notifications control stays disabled.","settings.notifications.events.title":"Notify me when","settings.notifications.events.subtitle":"Choose which session events should send alerts.","settings.notifications.events.needsInput":"Session needs input","settings.notifications.events.idle":"Session becomes idle","settings.notifications.status.enabled":"Notifications enabled","settings.notifications.status.disabled":"Notifications disabled","settings.notifications.status.unsupported":"Notifications unsupported","settings.section.remote.title":"Remote Access","settings.section.remote.subtitle":"Review how this server is exposed on your network and secure access credentials.","settings.section.opencode.title":"OpenCode","settings.section.opencode.subtitle":"Choose the OpenCode binary and environment used for new instances.","settings.opencode.runtime.title":"Runtime","settings.opencode.runtime.subtitle":"Configure which OpenCode binary new instances launch with.","settings.opencode.logLevel.title":"OpenCode Log Level","settings.opencode.logLevel.subtitle":"Control the log verbosity used when launching new OpenCode instances.","settings.opencode.logLevel.selector.title":"Default log level","settings.opencode.logLevel.selector.subtitle":"Choose how verbose new OpenCode instances should be.","settings.opencode.logLevel.option.debug":"Debug","settings.opencode.logLevel.option.info":"Info","settings.opencode.logLevel.option.warn":"Warn","settings.opencode.logLevel.option.error":"Error","settings.configFiles.title":"Config Files","settings.configFiles.subtitle":"Edit allowlisted global configuration files on this server.","settings.configFiles.selector.label":"File","settings.configFiles.selector.placeholder":"Select config file","settings.configFiles.actions.save":"Save","settings.configFiles.actions.reload":"Reload","settings.configFiles.state.unsaved":"Unsaved changes","settings.configFiles.state.notCreated":"File will be created on save","settings.configFiles.empty":"No config file selected.","settings.configFiles.errors.loadList":"Failed to load config files.","settings.configFiles.errors.loadContent":"Failed to load config file.","settings.configFiles.errors.save":"Failed to save config file.","settings.configFiles.toast.saveSuccess":"Config file saved.","settings.configFiles.toast.saveError":"Failed to save config file.","settings.configFiles.confirmDiscard.message":"Discard unsaved changes before continuing?","settings.configFiles.confirmDiscard.confirmLabel":"Discard changes","settings.configFiles.confirmDiscard.cancelLabel":"Keep editing","settings.providers.title":"Provider Authentication","settings.providers.subtitle":"Connect API keys or OAuth accounts for the active OpenCode instance.","settings.providers.refresh":"Refresh","settings.providers.selectProvider":"Select provider","settings.providers.available.title":"Available Providers","settings.providers.configured.title":"Configured Providers","settings.providers.loading":"Loading provider authentication methods...","settings.providers.empty.noInstance":"Start an OpenCode workspace before managing provider authentication.","settings.providers.empty.noProviders":"No providers are available from this OpenCode instance.","settings.providers.empty.noConfiguredProviders":"No providers are currently configured for this OpenCode instance.","settings.providers.models.one":"{count} model","settings.providers.models.other":"{count} models","settings.providers.actions.connect":"Connect","settings.providers.actions.disconnect":"Disconnect","settings.providers.actions.remove":"Remove saved auth","settings.providers.actions.close":"Close","settings.providers.actions.continue":"Continue","settings.providers.actions.working":"Working...","settings.providers.method.title":"Authentication method","settings.providers.method.subtitle":"Choose the flow OpenCode exposes for this provider.","settings.providers.method.api":"API key","settings.providers.method.oauth":"OAuth","settings.providers.method.mixed":"API key and OAuth","settings.providers.method.fallback":"API key","settings.providers.status.available":"Available","settings.providers.auth.title":"Connect {provider}","settings.providers.auth.subtitle":"Authentication is saved inside the active OpenCode server.","settings.providers.apiKey.label":"API key","settings.providers.apiKey.placeholder":"Paste provider API key","settings.providers.oauth.noPrompts":"This OAuth method does not need additional details before opening the browser.","settings.providers.oauth.promptsUnsupported":"This OAuth method requires provider-specific prompt inputs that are not supported by the current SDK build.","settings.providers.oauth.enterCode":"Complete the browser flow, then paste the authorization code.","settings.providers.oauth.openPage":"Open authorization page","settings.providers.oauth.openHere":"Open in this tab","settings.providers.oauth.copyLink":"Copy link","settings.providers.oauth.linkCopied":"Link copied","settings.providers.oauth.popupBlocked":"Your browser may have blocked the authorization page. Use the actions above to continue the sign-in flow.","settings.providers.oauth.popup.loadingTitle":"OpenCode authorization","settings.providers.oauth.popup.loadingBody":"Preparing authorization page...","settings.providers.oauth.codeLabel":"Authorization code","settings.providers.oauth.codePlaceholder":"Paste code from provider","settings.providers.oauth.submitCode":"Submit code","settings.providers.oauth.waitingTitle":"Waiting for authorization","settings.providers.oauth.cancelWait":"Cancel","settings.providers.prompt.selectPlaceholder":"Select an option","settings.providers.success":"Provider authentication saved. Provider data has been refreshed.","settings.providers.source.api":"Saved provider authentication","settings.providers.source.config":"Configured in opencode.jsonc","settings.providers.source.custom":"Configured by custom provider logic","settings.providers.source.env":"Configured from environment variables","settings.providers.source.unknown":"Configured provider source","settings.providers.errors.loadFailed":"Failed to load provider authentication methods.","settings.providers.errors.noAuthorization":"Provider did not return authorization data.","settings.providers.errors.authorizationFailed":"Authorization failed.","settings.providers.errors.removeFailed":"Failed to remove provider authentication.","settings.providers.errors.envDisconnectUnavailable":"This provider is configured from environment variables and cannot be disconnected from the UI.","settings.appearance.behavior.title":"Interaction","settings.appearance.behavior.subtitle":"Message, diff, and input defaults.","settings.behavior.keyboardHints.title":"Keyboard shortcut hints","settings.behavior.keyboardHints.subtitle":"Show keyboard shortcut hints across the UI.","settings.behavior.thinking.title":"Thinking sections","settings.behavior.thinking.subtitle":"Show or hide AI thinking sections in messages.","settings.behavior.thinkingDefault.title":"Thinking default","settings.behavior.thinkingDefault.subtitle":"Choose whether thinking sections start expanded or collapsed.","settings.behavior.messageTimeline.title":"Message timeline","settings.behavior.messageTimeline.subtitle":"Show or hide the message timeline sidebar.","settings.behavior.timelineTools.title":"Timeline tool calls","settings.behavior.timelineTools.subtitle":"Show or hide tool call entries in the message timeline.","settings.behavior.diffView.title":"Diff view","settings.behavior.diffView.subtitle":"Choose how tool-call diffs are displayed.","settings.behavior.diffView.option.split":"Split","settings.behavior.diffView.option.unified":"Unified","settings.behavior.toolOutputsDefault.title":"Tool outputs default","settings.behavior.toolOutputsDefault.subtitle":"Choose whether tool outputs start expanded or collapsed.","settings.behavior.diagnosticsDefault.title":"Diagnostics default","settings.behavior.diagnosticsDefault.subtitle":"Choose whether diagnostics output starts expanded or collapsed.","settings.behavior.toolInputsVisibility.title":"Tool inputs visibility","settings.behavior.toolInputsVisibility.subtitle":"Set default visibility for tool call input arguments.","settings.behavior.usageMetrics.title":"Token usage metrics","settings.behavior.usageMetrics.subtitle":"Show or hide token and cost stats for assistant messages.","settings.behavior.autoCleanup.title":"Auto-cleanup blank sessions","settings.behavior.autoCleanup.subtitle":"Automatically clean up blank sessions when creating new ones.","settings.behavior.keepUnseenSubagentIdle.title":"Keep subagent idle markers","settings.behavior.keepUnseenSubagentIdle.subtitle":"Keep subagent idle markers visible until viewed instead of hiding them after 5 seconds.","settings.behavior.promptVoiceInput.title":"Prompt voice input","settings.behavior.promptVoiceInput.subtitle":"Show the microphone control for speech-to-text prompt input when speech is configured.","settings.behavior.promptSubmit.title":"Enter to submit","settings.behavior.promptSubmit.subtitle":"Use Enter to submit prompts; Cmd/Ctrl+Enter inserts a new line.","settings.speech.title":"Speech","settings.speech.subtitle":"Configure speech-to-text now and text-to-speech groundwork for later features.","settings.speech.provider.title":"Provider","settings.speech.provider.subtitle":"Speech requests use the server-side speech adapter.","settings.speech.provider.openaiCompatible":"OpenAI-compatible","settings.speech.status.loading":"Checking configuration...","settings.speech.status.configured":"Configured","settings.speech.status.missing":"Missing API key","settings.speech.status.error":"Speech service unavailable","settings.speech.apiKey.title":"API key","settings.speech.apiKey.subtitle":"Used for CodeNomad-managed speech requests.","settings.speech.apiKey.placeholder":"Enter a new API key","settings.speech.apiKey.storedNote":"A saved API key is hidden. Enter a new value to replace it, or leave the field blank to keep it.","settings.speech.apiKey.clearAction":"Clear saved key","settings.speech.apiKey.clearPending":"The saved API key will be removed when you save.","settings.speech.baseUrl.title":"Base URL","settings.speech.baseUrl.subtitle":"Optional override for OpenAI-compatible speech endpoints.","settings.speech.baseUrl.placeholder":"https://api.openai.com/v1","settings.speech.sttModel.title":"Transcription model","settings.speech.sttModel.subtitle":"Model used for prompt speech-to-text requests.","settings.speech.ttsModel.title":"Speech model","settings.speech.ttsModel.subtitle":"Default text-to-speech model reserved for future playback features.","settings.speech.ttsVoice.title":"Default voice","settings.speech.ttsVoice.subtitle":"Default text-to-speech voice reserved for future playback features.","settings.speech.playbackMode.title":"Playback mode","settings.speech.playbackMode.subtitle":"Choose whether TTS starts playing as audio streams in or after the full file is generated.","settings.speech.playbackMode.streaming":"Streaming","settings.speech.playbackMode.buffered":"Buffered","settings.speech.ttsFormat.title":"Output format","settings.speech.ttsFormat.subtitle":"Choose the audio format for synthesized speech. Streaming support depends on your provider and browser.","settings.speech.help":"Prompt voice input appears when speech transcription is configured and supported. Message playback uses the TTS mode and format selected here.","settings.speech.compatibility.streamingUnavailable":"Your current speech provider configuration does not advertise streaming TTS. Switch playback mode to buffered if you want playback to work now.","settings.speech.compatibility.browserStreamingUnavailable":"Your current browser cannot stream the selected TTS format. Choose buffered playback or switch to a different format.","settings.speech.compatibility.runtimeNote":"All formats stay selectable in streaming mode. Some browser and provider combinations may still fail at playback time.","settings.speech.testPlayback.action":"Test playback","settings.speech.testPlayback.generating":"Generating sample","settings.speech.testPlayback.stop":"Stop sample","settings.speech.testPlayback.sample":"Thank you for using CodeNomad, your speech settings are working fine.","settings.speech.testPlayback.note":"The test uses your current playback mode and format immediately. Save API key, base URL, model, or voice changes first if you want those reflected too.","settings.speech.save.action":"Save","settings.speech.save.saving":"Saving...","settings.speech.save.saved":"Saved","settings.speech.save.unsaved":"Unsaved changes","settings.speech.save.error":"Save failed","settings.nav.sidecars":"SideCars","settings.section.sidecars.eyebrow":"Server services","settings.section.sidecars.title":"SideCars","settings.section.sidecars.subtitle":"Configure local services listening on fixed ports that the server can proxy into tabs.","sidecars.form.name":"Name","sidecars.form.validation":"Enter a valid SideCar name and port.","sidecars.form.port":"Port","sidecars.form.insecure":"Use HTTP","sidecars.form.protocol":"Protocol","sidecars.form.protocol.help":"Choose how the proxy should connect to the local service.","sidecars.form.protocol.https":"HTTPS","sidecars.form.protocol.http":"HTTP","sidecars.form.prefixMode":"Prefix mode","sidecars.form.prefixMode.help":"Choose whether the SideCar receives the public /sidecars path prefix.","sidecars.form.prefixMode.strip":"Strip prefix","sidecars.form.prefixMode.preserve":"Preserve prefix","sidecars.form.add":"Add SideCar","sidecars.kind.port":"Port","sidecars.status.running":"Running","sidecars.status.stopped":"Stopped","sidecars.basePath":"Base path","sidecars.settings.listTitle":"Configured SideCars","sidecars.settings.listSubtitle":"Review the port-based SideCars available in the picker.","sidecars.settings.empty":"No SideCars configured yet.","sidecars.picker.title":"Open SideCar","sidecars.picker.loading":"Loading SideCars...","sidecars.picker.subtitle":"Choose an available SideCar to open in a new tab.","sidecars.picker.empty":"No port-based SideCars are available yet.","sidecars.picker.close":"Close","sidecars.open.errorTitle":"Unable to open SideCar","sidecars.open.notFound":"SideCar not found.","sidecars.open.notRunning":"SideCar is not reachable on its configured port.","sidecars.back":"Back","sidecars.refresh":"Refresh","sidecars.path":"Path","sidecars.go":"Go","toastHistory.title":"Notification History","toastHistory.empty":"No notifications yet","toastHistory.empty.filter":"No matching notifications for this filter","toastHistory.clearAll":"Clear all","toastHistory.markAllRead":"Mark all read","toastHistory.filter.label":"Filter notifications","toastHistory.filter.all":"All","toastHistory.filter.info":"Info","toastHistory.filter.success":"Success","toastHistory.filter.warning":"Warning","toastHistory.filter.error":"Error","toastHistory.today":"Today","toastHistory.yesterday":"Yesterday","toastHistory.earlier":"Earlier","toastHistory.unread":"{count} unread","toastHistory.viewSettings":"Settings","toastHistory.close":"Close","toastHistory.deleteItem":"Delete notification","settings.section.info.title":"About","settings.section.info.subtitle":"View version, runtime, and gather diagnostic information.","settings.info.version.server":"Server version","settings.info.version.ui":"UI version","settings.info.version.uiSource":"UI source","settings.info.runtime.type":"Runtime","settings.info.runtime.platform":"Platform","settings.info.runtime.os":"Operating system","settings.info.server.url":"Server URL","settings.info.server.root":"Workspace root","settings.info.updates.title":"Updates","settings.info.updates.subtitle":"Check for new releases of CodeNomad.","settings.info.updates.latest":"Latest version","settings.info.updates.download":"Download update","settings.info.updates.refresh":"Refresh","settings.info.diagnostics.copyFailed":"Clipboard access denied. Use the download button instead.","settings.info.diagnostics.title":"Diagnostics","settings.info.diagnostics.subtitle":"Collect system and version info for bug reports.","settings.info.diagnostics.copy":"Copy to clipboard","settings.info.diagnostics.download":"Download .txt","settings.info.diagnostics.copied":"Diagnostic info copied to clipboard."},we={"time.relative.justNow":"just now","time.relative.daysAgoShort":"{count}d ago","time.relative.hoursAgoShort":"{count}h ago","time.relative.minutesAgoShort":"{count}m ago"},ye={"toolCall.pending.waitingToRun":"Waiting to run...","toolCall.error.label":"Error:","toolCall.header.copyTitle":"Copy tool call title","toolCall.header.copyAriaLabel":"Copy tool call title","toolCall.header.showInputTitle":"Show Tool Arguments","toolCall.header.showInputAriaLabel":"Show Tool Arguments","toolCall.header.hideInputTitle":"Hide Tool Arguments","toolCall.header.hideInputAriaLabel":"Hide Tool Arguments","toolCall.io.input":"Tool Input","toolCall.io.output":"Tool Output","toolCall.diff.label":"Diff","toolCall.diff.label.withPath":"Diff · {path}","toolCall.diff.viewMode.ariaLabel":"Diff view mode","toolCall.diff.viewMode.split":"Split","toolCall.diff.viewMode.unified":"Unified","toolCall.diff.switchToSplit":"Switch to split view","toolCall.diff.switchToUnified":"Switch to unified view","toolCall.diff.enableWordWrap":"Enable word wrap","toolCall.diff.disableWordWrap":"Disable word wrap","toolCall.diff.copyPatch":"Copy patch","toolCall.diagnostics.title":"Diagnostics","toolCall.diagnostics.ariaLabel":"Diagnostics","toolCall.diagnostics.ariaLabel.withLabel":"Diagnostics {label}","toolCall.diagnostics.severity.error.short":"ERR","toolCall.diagnostics.severity.warning.short":"WARN","toolCall.diagnostics.severity.info.short":"INFO","toolCall.renderer.toolName.shell":"Shell","toolCall.renderer.toolName.fetch":"Fetch","toolCall.renderer.toolName.invalid":"Invalid","toolCall.renderer.toolName.plan":"Plan","toolCall.renderer.toolName.applyPatch":"Apply patch","toolCall.renderer.action.working":"Working...","toolCall.renderer.action.writingCommand":"Writing command...","toolCall.renderer.action.preparingEdit":"Preparing edit...","toolCall.renderer.action.readingFile":"Reading file...","toolCall.renderer.action.preparingWrite":"Preparing write...","toolCall.renderer.action.preparingPatch":"Preparing patch...","toolCall.renderer.action.planning":"Planning...","toolCall.renderer.action.fetchingFromWeb":"Fetching from the web...","toolCall.renderer.action.findingFiles":"Finding files...","toolCall.renderer.action.searchingContent":"Searching content...","toolCall.renderer.action.listingDirectory":"Listing directory...","toolCall.renderer.bash.title.timeout":"Timeout: {timeout}","toolCall.renderer.read.detail.offset":"Offset: {offset}","toolCall.renderer.read.detail.limit":"Limit: {limit}","toolCall.renderer.todo.empty":"No plan items yet.","toolCall.renderer.todo.status.pending":"Pending","toolCall.renderer.todo.status.inProgress":"In progress","toolCall.renderer.todo.status.completed":"Completed","toolCall.renderer.todo.status.cancelled":"Cancelled","toolCall.renderer.todo.title.plan":"Plan","toolCall.renderer.todo.title.creating":"Creating plan","toolCall.renderer.todo.title.completing":"Completing plan","toolCall.renderer.todo.title.updating":"Updating plan","toolCall.permission.status.required":"Permission Required","toolCall.permission.status.queued":"Permission Queued","toolCall.permission.requestedDiff.label":"Requested diff","toolCall.permission.requestedDiff.withPath":"Requested diff · {path}","toolCall.permission.queuedText":"Waiting for earlier permission responses.","toolCall.permission.actions.allowOnce":"Allow Once","toolCall.permission.actions.alwaysAllow":"Always Allow","toolCall.permission.actions.deny":"Deny","toolCall.permission.actions.confirmDeny":"Confirm Deny","toolCall.permission.actions.cancel":"Cancel","toolCall.permission.shortcuts.allowOnce":"Allow once","toolCall.permission.shortcuts.alwaysAllow":"Always allow","toolCall.permission.rejectReason.label":"Why deny this permission?","toolCall.permission.rejectReason.placeholder":"Tell CodeNomad what to do differently...","toolCall.permission.rejectReason.hint":"The agent will see this feedback and can adjust its next action.","toolCall.permission.errors.unableToUpdate":"Unable to update permission","permissionApproval.title":"Requests","permissionApproval.empty":"No pending requests.","permissionApproval.kind.permission":"Permission","permissionApproval.kind.question":"Question","permissionApproval.questionCount.one":"{count} question","permissionApproval.questionCount.other":"{count} questions","permissionApproval.status.active":"Active","permissionApproval.actions.closeAriaLabel":"Close","permissionApproval.actions.goToSession":"Go to Session","permissionApproval.actions.loadingSession":"Loading…","permissionApproval.actions.loadSession":"Load Session","permissionApproval.actions.allowOnce":"Allow Once","permissionApproval.actions.alwaysAllow":"Always Allow","permissionApproval.actions.deny":"Deny","permissionApproval.actions.confirmDeny":"Confirm Deny","permissionApproval.actions.cancel":"Cancel","permissionApproval.rejectReason.label":"Why deny this permission?","permissionApproval.rejectReason.placeholder":"Tell CodeNomad what to do differently...","permissionApproval.rejectReason.hint":"The agent will see this feedback and can adjust its next action.","permissionApproval.fallbackHint":"Load session for more information.","permissionApproval.errors.unableToUpdatePermission":"Unable to update permission","toolCall.question.status.required":"Question Required","toolCall.question.status.queued":"Question Queued","toolCall.question.status.questions":"Questions","toolCall.question.action.awaitingAnswers":"Awaiting answers...","toolCall.question.title.questions":"Questions","toolCall.question.title.askingQuestions":"Asking questions","toolCall.question.type.one":"Question","toolCall.question.type.other":"Questions","toolCall.question.number":"Q{number}:","toolCall.question.multiple":"Multiple","toolCall.question.custom.title":"Type a custom answer","toolCall.question.custom.label":"Custom answer","toolCall.question.custom.placeholder":"Type your own answer","toolCall.question.actions.submit":"Submit","toolCall.question.actions.dismiss":"Dismiss","toolCall.question.shortcuts.submit":"Submit","toolCall.question.shortcuts.dismiss":"Dismiss","toolCall.question.queuedText":"Waiting for earlier responses.","toolCall.question.validation.answerAll":"Please answer all questions before submitting.","toolCall.question.errors.unableToReply":"Unable to reply","toolCall.question.errors.unableToDismiss":"Unable to dismiss","toolCall.task.action.delegating":"Delegating...","toolCall.task.sections.prompt":"Prompt","toolCall.task.sections.steps":"Steps","toolCall.task.sections.output":"Output","toolCall.task.steps.count":"{count} steps","toolCall.task.meta.agentModel":"Agent: {agent} • Model: {model}","toolCall.task.meta.agent":"Agent: {agent}","toolCall.task.meta.model":"Model: {model}","toolCall.status.pending":"Pending","toolCall.status.running":"Running","toolCall.status.completed":"Completed","toolCall.status.error":"Error","toolCall.status.unknown":"Unknown","toolCall.applyPatch.action.preparing":"Preparing apply_patch...","toolCall.applyPatch.title.withFileCount.one":"{tool} ({count} file)","toolCall.applyPatch.title.withFileCount.other":"{tool} ({count} files)","toolCall.applyPatch.fileFallback":"File {number}"};function Ce(...e){const t={};for(const s of e)for(const[o,n]of Object.entries(s)){if(o in t)throw new Error(`Duplicate i18n message key: ${o}`);t[o]=n}return t}const b=Ce(pe,ae,ge,we,re,ce,de,me,ue,Se,fe,ye,he,ve,be,le),ke=["en","es","fr","ru","ja","zh-Hans","he"],M=new Map(ke.map(e=>[e.toLowerCase(),e])),Pe=new Set(["he"]),U=new Map([["en",b]]),A=new Map,Le={en:async()=>b,es:async()=>(await v(async()=>{const{esMessages:e}=await import("./index-D1Uuc1uB.js");return{esMessages:e}},__vite__mapDeps([0,1,2,3,4,5]))).esMessages,fr:async()=>(await v(async()=>{const{frMessages:e}=await import("./index-DrPTfjr7.js");return{frMessages:e}},__vite__mapDeps([6,1,2,3,4,5]))).frMessages,ru:async()=>(await v(async()=>{const{ruMessages:e}=await import("./index-YCFbP6NH.js");return{ruMessages:e}},__vite__mapDeps([7,1,2,3,4,5]))).ruMessages,ja:async()=>(await v(async()=>{const{jaMessages:e}=await import("./index-DgrHocxO.js");return{jaMessages:e}},__vite__mapDeps([8,1,2,3,4,5]))).jaMessages,"zh-Hans":async()=>(await v(async()=>{const{zhHansMessages:e}=await import("./index-Dq7Ke8TK.js");return{zhHansMessages:e}},__vite__mapDeps([9,1,2,3,4,5]))).zhHansMessages,he:async()=>(await v(async()=>{const{heMessages:e}=await import("./index-CFveNLFR.js");return{heMessages:e}},__vite__mapDeps([10,1,2,3,4,5]))).heMessages};function Ae(e){return Pe.has(e)?"rtl":"ltr"}function Ie(e){return e.trim().replace(/_/g,"-")}function B(e){if(!e)return null;const s=Ie(e).toLowerCase(),o=M.get(s);if(o)return o;const i=s.split("-")[0];return i?i==="zh"?M.get("zh-hans")??null:M.get(i)??null:null}function G(){if(typeof navigator>"u")return null;const e=Array.isArray(navigator.languages)&&navigator.languages.length>0?navigator.languages:navigator.language?[navigator.language]:[];for(const t of e){const s=B(t);if(s)return s}return null}function De(e,t){return t?e.replace(/\{(\w+)\}/g,(s,o)=>{const n=t[o];return n==null?"":String(n)}):e}function j(e,t,s){const o=e[t],n=b[t];return De(o??n??t,s)}const[Te,P]=N(0);let f=b,g="en";function Fe(e){return U.get(e)??b}async function K(e){const t=U.get(e);if(t)return t;const s=A.get(e);if(s)return s;const o=Le[e],n=o().then(i=>(U.set(e,i),A.delete(e),i)).catch(i=>{throw A.delete(e),i});return A.set(e,n),n}async function Ve(e){const t=B(e??void 0)??G()??"en";try{return f=await K(t),g=t,P(s=>s+1),t}catch{return f=b,g="en",P(s=>s+1),"en"}}function We(e,t){return Te(),j(f,e,t)}const Q=Z(),qe=e=>{const{preferences:t}=se(),[s,o]=N(g),[n,i]=N(g),a=f,c=g,p=typeof document<"u"?document.documentElement.lang:"",S=typeof document<"u"?document.documentElement.dir:"";ee(()=>{const l=G();l&&o(l)});const y=x(()=>B(t().locale)??s()??"en"),m=x(()=>Fe(n()));function R(l,C){return j(m(),l,C)}_(()=>{const l=y();let C=!1;K(l).then(O=>{C||(i(l),g=l,f=O,P(J=>J+1))}).catch(()=>{C||(i("en"),f=b,g="en",P(O=>O+1))}),V(()=>{C=!0})}),_(()=>{if(typeof document>"u")return;const l=y();document.documentElement.dir=Ae(l),document.documentElement.lang=l}),V(()=>{f=a,g=c,P(l=>l+1),typeof document<"u"&&(document.documentElement.lang=p,document.documentElement.dir=S)});const E={locale:y,t:R};return te(Q.Provider,{value:E,get children(){return e.children}})};function He(){const e=X(Q);if(!e)throw new Error("useI18n must be used within I18nProvider");return e}function Y(){if(typeof window>"u"||window.__CODENOMAD_WINDOW_CONTEXT__==="remote")return"remote";if(window.__CODENOMAD_WINDOW_CONTEXT__==="local")return"local";const e=window;return typeof e.electronAPI<"u"||typeof e.__TAURI__<"u"||typeof navigator<"u"&&/tauri/i.test(navigator.userAgent)?"local":"remote"}function D(){if(typeof window>"u")return"web";const e=window.__CODENOMAD_RUNTIME_HOST__;if(e)return e;const t=window;return typeof t.electronAPI<"u"?"electron":typeof t.__TAURI__<"u"||typeof navigator<"u"&&/tauri/i.test(navigator.userAgent)?"tauri":"web"}function Re(){if(typeof navigator>"u")return"desktop";const e=navigator.userAgentData;if(e!=null&&e.mobile)return"mobile";const t=navigator.userAgent.toLowerCase();return/android|iphone|ipad|ipod|blackberry|mini|windows phone|mobile|silk/.test(t)?"mobile":"desktop"}const Ee=oe("actions");let u=null;function Oe(){return u||(u={host:D(),platform:Re(),windowContext:Y()},typeof window<"u"&&Ee.info(`[runtime] host=${u.host} platform=${u.platform} context=${u.windowContext}`),u)}const ze=Oe(),Me=()=>D()==="electron",Ne=()=>D()==="tauri",Ge=()=>D()==="web",T=()=>Me()||Ne(),F=()=>Y()==="local",je=()=>T()&&F(),Ke=()=>T()&&F(),Qe=()=>T()&&F(),Ye=()=>T()&&F();function r(e,t,s,o){if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return s==="m"?o:s==="a"?o.call(e):o?o.value:t.get(e)}function k(e,t,s,o,n){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,s),s}var h,d,w,I;const q="__TAURI_TO_IPC_KEY__";function $(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}class Ue{constructor(t){h.set(this,void 0),d.set(this,0),w.set(this,[]),I.set(this,void 0),k(this,h,t||(()=>{})),this.id=$(s=>{const o=s.index;if("end"in s){o==r(this,d,"f")?this.cleanupCallback():k(this,I,o);return}const n=s.message;if(o==r(this,d,"f")){for(r(this,h,"f").call(this,n),k(this,d,r(this,d,"f")+1);r(this,d,"f")in r(this,w,"f");){const i=r(this,w,"f")[r(this,d,"f")];r(this,h,"f").call(this,i),delete r(this,w,"f")[r(this,d,"f")],k(this,d,r(this,d,"f")+1)}r(this,d,"f")===r(this,I,"f")&&this.cleanupCallback()}else r(this,w,"f")[o]=n})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(t){k(this,h,t)}get onmessage(){return r(this,h,"f")}[(h=new WeakMap,d=new WeakMap,w=new WeakMap,I=new WeakMap,q)](){return`__CHANNEL__:${this.id}`}toJSON(){return this[q]()}}class H{constructor(t,s,o){this.plugin=t,this.event=s,this.channelId=o}async unregister(){return L(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}}async function $e(e,t,s){const o=new Ue(s);try{return await L(`plugin:${e}|register_listener`,{event:t,handler:o}),new H(e,t,o.id)}catch{return await L(`plugin:${e}|registerListener`,{event:t,handler:o}),new H(e,t,o.id)}}async function L(e,t={},s){return window.__TAURI_INTERNALS__.invoke(e,t,s)}var z;(function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(z||(z={}));async function Be(e,t){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,t),await L("plugin:event|unlisten",{event:e,eventId:t})}async function Je(e,t,s){var o;const n=(o=void 0)!==null&&o!==void 0?o:{kind:"Any"};return L("plugin:event|listen",{event:e,target:n,handler:$(t)}).then(i=>async()=>Be(e,i))}export{qe as I,v as _,Me as a,Ne as b,je as c,Ye as d,Ke as e,b as f,T as g,F as h,L as i,Ge as j,Qe as k,Je as l,Ce as m,$e as n,Ve as p,ze as r,We as t,He as u};