{
  "settings_view": {
    "title": "Settings",
    "portable_badge": "Portable Mode Active",
    "portable_description": "OxideTerm is running from a portable folder. Data stays beside the executable and automatic updates are disabled.",
    "local_terminal": {
      "title": "Local Terminal",
      "description": "Configure local terminal shell and preferences.",
      "shell": "Shell",
      "default_shell": "Default Shell",
      "default_shell_hint": "Shell to use when pressing Cmd+T",
      "select_shell": "Select shell",
      "path": "Path",
      "git_bash_path": "Git Bash Path",
      "git_bash_path_hint": "Optional: point to Git for Windows bash.exe, useful when Git is installed on another drive",
      "git_bash_path_placeholder": "e.g. D:\\Program Files\\Git\\bin\\bash.exe",
      "default_cwd": "Default Working Directory",
      "default_cwd_hint": "Initial directory for new terminals (blank = home)",
      "shortcuts": "Keyboard Shortcuts",
      "new_default_shell": "New Local Terminal (Default Shell)",
      "new_shell_launcher": "New Local Terminal (Shell Launcher)",
      "available_shells": "Available Shells",
      "loading_shells": "Loading available shells...",
      "default": "Default",
      "shell_profile": "Shell Profile",
      "load_shell_profile": "Load Shell Profile",
      "load_shell_profile_hint": "Execute shell startup files (.bashrc, .zshrc, Profile.ps1, etc.)",
      "oh_my_posh": "Oh My Posh (Windows)",
      "oh_my_posh_enable": "Enable Oh My Posh",
      "oh_my_posh_enable_hint": "Auto-initialize Oh My Posh prompt with UTF-8 encoding support",
      "oh_my_posh_theme": "Theme Path",
      "oh_my_posh_theme_hint": "Path to Oh My Posh theme file (.omp.json), blank = default theme",
      "oh_my_posh_theme_placeholder": "e.g. C:\\Users\\YourName\\.poshthemes\\agnoster.omp.json",
      "oh_my_posh_note": "Requires oh-my-posh to be installed. When enabled, PowerShell will auto-init UTF-8 and Oh My Posh",
      "custom_env": "Custom Environment Variables",
      "custom_env_hint": "Additional environment variables to set (format: KEY=VALUE, one per line)"
    },
    "tabs": {
      "general": "General",
      "terminal": "Terminal",
      "sftp": "SFTP Transfer",
      "ide": "IDE (Mini)",
      "appearance": "Appearance",
      "connections": "Connections",
      "ssh": "SSH Keys",
      "ai": "OxideSens",
      "knowledge": "Knowledge Base",
      "local": "Local Terminal",
      "reconnect": "Reconnect",
      "help": "Help & About",
      "keybindings": "Keybindings"
    },
    "general": {
      "title": "General",
      "description": "General application settings.",
      "language": "Language",
      "language_hint": "Choose your preferred language",
      "data_directory": "Data Directory",
      "data_directory_hint": "Location where connections, logs, and other data are stored",
      "select_data_directory": "Select Data Directory",
      "data_directory_changed": "Data directory changed. Restart the app to apply.",
      "change": "Change",
      "reset_data_directory": "Reset Data Directory",
      "reset_data_directory_confirm": "Reset data directory to default? Existing data at the custom location will not be moved. Restart required.",
      "reset_to_default": "Reset to Default",
      "data_directory_reset": "Data directory reset to default. Restart the app to apply.",
      "data_directory_restart_notice": "Changing the data directory requires an app restart. Existing data is not automatically migrated.",
      "data_directory_conflict": "Existing Data Found",
      "data_directory_conflict_detail": "The selected directory already contains OxideTerm data files: {{files}}. These files may be overwritten. Continue?",
      "portable_runtime": "Portable Runtime",
      "portable_runtime_hint": "This portable profile is running from a local folder with an instance lock and portable keystore state managed beside the app.",
      "portable_runtime_disabled_hint": "Portable runtime controls are only available when OxideTerm starts from a portable marker or portable.json beside the app.",
      "portable_root_dir": "Portable Root Directory",
      "portable_activation": "Activation Source",
      "portable_activation_marker": "Portable marker file",
      "portable_activation_config": "portable.json configuration",
      "portable_activation_disabled": "Portable mode disabled",
      "portable_config_path": "Portable Config Path",
      "portable_instance_lock_path": "Instance Lock Path",
      "portable_instance_lock_unavailable": "No portable instance lock is active",
      "portable_biometric": "Biometric Unlock",
      "portable_biometric_bound": "This portable folder is bound to OS biometrics on this device.",
      "portable_biometric_unbound": "No biometric unlock is bound yet. You can opt in without changing the portable storage format.",
      "portable_biometric_unsupported": "Biometric unlock is not available on this device. Portable mode continues to work with the local password only.",
      "portable_enable_biometric": "Enable Biometric Unlock",
      "portable_disable_biometric": "Disable Biometric Unlock",
      "portable_disable_biometric_confirm": "Remove the biometric binding for this portable folder on this device? The portable password will still work normally.",
      "portable_change_password": "Change Portable Password",
      "portable_password_changed": "Portable password updated.",
      "portable_biometric_enabled": "Biometric unlock enabled for this portable folder.",
      "portable_biometric_disabled": "Biometric unlock disabled for this portable folder.",
      "portable_change_password_title": "Change Portable Password",
      "portable_change_password_description": "Re-encrypt the portable keystore with a new password. If biometric unlock is already bound on this device, OxideTerm will update that binding as well.",
      "portable_change_password_pending": "Updating portable password...",
      "portable_current_password": "Current Portable Password",
      "portable_new_password": "New Portable Password",
      "portable_confirm_password": "Confirm New Portable Password",
      "portable_submit_change_password": "Update Password",
      "portable_enable_biometric_title": "Enable Biometric Unlock",
      "portable_enable_biometric_description": "Confirm the current portable password once to store a biometric-gated unlock on this device. The portable folder itself still remains password-based and portable.",
      "portable_enable_biometric_pending": "Enabling biometric unlock...",
      "portable_submit_enable_biometric": "Enable Biometrics",
      "portable_password_too_short": "Password must be at least 6 characters long.",
      "portable_password_mismatch": "Passwords do not match.",
      "portable_migration": "Portable Migration",
      "portable_migration_installed_hint": "Create a portable-ready .oxide bundle from this installed profile, including portable secrets that can be restored safely.",
      "portable_migration_portable_hint": "Import a portable .oxide bundle back into this profile and restore portable secrets such as AI provider keys.",
      "portable_migration_current_dir": "Current Data Directory",
      "portable_migration_target_dir": "Portable Data Directory",
      "portable_migration_secret_summary": "Portable secret items available for migration: {{count}}",
      "portable_migration_export": "Export Portable Bundle",
      "portable_migration_import": "Import Portable Bundle",
      "cli_companion": "CLI Companion",
      "cli_tool": "CLI Tool",
      "cli_tool_hint": "Install the oxt CLI to manage connections from your terminal",
      "cli_installed": "Installed",
      "cli_not_installed": "Not installed",
      "cli_reinstall_required": "Reinstall required",
      "cli_install": "Install",
      "cli_reinstall": "Reinstall",
      "cli_uninstall": "Uninstall",
      "cli_not_bundled": "CLI binary is not included in this build",
      "cli_reinstall_hint": "The installed CLI differs from the bundled CLI for OxideTerm {{version}}. Reinstall the bundled CLI to avoid protocol mismatches."
    },
    "terminal": {
      "title": "Terminal Settings",
      "description": "Configure appearance and behavior of the terminal emulator.",
      "font": "Font",
      "font_family": "Font Family",
      "font_family_hint": "Preset fonts (✓ = bundled fallback)",
      "select_font": "Select font",
      "custom_font": "Custom...",
      "custom_font_stack": "Custom Font Stack",
      "custom_font_stack_hint": "Enter font names in priority order, separated by commas",
      "font_preview": "Font Preview",
      "font_size": "Font Size",
      "font_size_hint": "Size of terminal characters",
      "line_height": "Line Height",
      "line_height_hint": "Spacing between lines",
      "encoding": "Terminal Encoding",
      "encoding_hint": "Text encoding for terminal input/output. Keep UTF-8 unless the remote host uses a legacy locale.",
      "renderer": "Renderer",
      "renderer_hint": "Choose WebGL or Canvas rendering. On Linux, Auto prefers WebGL but falls back to Canvas when software WebGL or unsafe WebKitGTK paths are detected.",
      "renderer_auto": "Auto (WebGL preferred)",
      "adaptive_renderer": "Dynamic Refresh Rate",
      "adaptive_renderer_hint": "Automatically adjusts rendering rate based on activity: Boost (120Hz+) during fast output, Normal (60Hz) for typing, Idle (1-15Hz) when inactive",
      "adaptive_renderer_auto": "Auto (Adaptive)",
      "adaptive_renderer_always60": "Always 60Hz",
      "adaptive_renderer_off": "Off (Direct Write)",
      "show_fps_overlay": "Show FPS Overlay",
      "show_fps_overlay_hint": "Display a live render-tier badge (B=boost, N=normal, I=idle), frame rate, and write rate in the terminal corner",
      "cursor": "Cursor",
      "cursor_style": "Cursor Style",
      "cursor_style_hint": "Shape of the text cursor",
      "cursor_block": "Block █",
      "cursor_underline": "Underline _",
      "cursor_bar": "Bar |",
      "cursor_blink": "Cursor Blink",
      "cursor_blink_hint": "Animate cursor blinking",
      "input_safety": "Input Safety",
      "paste_protection": "Paste Protection",
      "paste_protection_hint": "Confirm before pasting multi-line content to prevent accidental command execution",
      "osc52_clipboard": "OSC 52 Clipboard",
      "osc52_clipboard_hint": "Allow remote programs (tmux, vim) to write to system clipboard via OSC 52 escape sequence",
      "copy_on_select": "Copy on Select",
      "copy_on_select_hint": "Automatically copy terminal text to the system clipboard once a mouse selection settles",
      "middle_click_paste": "Middle-Click Paste",
      "middle_click_paste_hint": "Paste the current clipboard contents with middle click when the terminal is not in mouse-tracking mode",
      "selection_requires_shift": "Require Shift to Select Text",
      "selection_requires_shift_hint": "When enabled, plain drag keeps terminal interaction intact and only Shift + drag starts a text selection",
      "in_band_transfer": {
        "title": "In-Band File Transfer",
        "enabled": "Enable trzsz Transfer",
        "enabled_hint": "Handle trzsz upload and download sequences directly inside the terminal session.",
        "allow_directory": "Allow Directory Transfer",
        "allow_directory_hint": "When disabled, folder uploads and downloads are rejected before transfer starts.",
        "max_chunk_bytes": "Max Chunk Size",
        "max_chunk_bytes_hint": "Upper limit for each trzsz data chunk in bytes.",
        "max_file_count": "Max File Count",
        "max_file_count_hint": "Maximum number of files accepted in a single transfer.",
        "max_total_bytes": "Max Total Bytes",
        "max_total_bytes_hint": "Maximum cumulative transfer size in bytes for one transfer session.",
        "runtime_note": "Enabling or disabling trzsz takes effect immediately. Directory and size limits apply to the next transfer that starts after the change."
      },
      "smart_copy": "Smart Ctrl+C Copy",
      "smart_copy_hint": "On Windows and Linux, copy the current selection with Ctrl+C and only send SIGINT when nothing is selected",
      "buffer": "Buffer",
      "scrollback": "Main Terminal Scrollback Lines",
      "scrollback_hint": "Controls how many lines the main terminal view can scroll directly. Lower values reduce xterm memory usage; use Scrollback Viewer for longer history.",
      "backend_buffer_lines": "History Hot Buffer Lines",
      "backend_buffer_lines_hint": "Controls recent history retained by the backend for Scrollback Viewer, full-history search, and AI context.",
      "backend_buffer_recommended": "Applies to newly created sessions. Open sessions keep the backend buffer size they were created with.",
      "bg_title": "Background Image",
      "bg_enabled": "Enable Background",
      "bg_enabled_hint": "Master switch — turn off to disable background image without deleting images",
      "bg_gallery": "Image Gallery",
      "bg_add": "Add Image",
      "bg_clear_all": "Clear All",
      "bg_active": "Active",
      "bg_label": "Terminal Background",
      "bg_hint": "Upload images to the gallery. Click to activate, supports PNG, JPEG, WebP, and animated GIF.",
      "bg_select": "Select Image",
      "bg_select_title": "Choose Background Image",
      "bg_change": "Change Image",
      "bg_clear": "Remove",
      "bg_opacity": "Image Opacity",
      "bg_opacity_hint": "How visible the background image is (lower = subtler)",
      "bg_blur": "Background Blur",
      "bg_blur_hint": "Blur the background image (auto-capped on integrated GPUs)",
      "bg_fit": "Fit Mode",
      "bg_fit_hint": "How the image fills the terminal area",
      "bg_fit_cover": "Cover",
      "bg_fit_contain": "Contain",
      "bg_fit_fill": "Stretch",
      "bg_fit_tile": "Tile",
      "bg_tabs": "Enabled Tabs",
      "bg_tabs_hint": "Choose which tab types show the background image",
      "bg_tab_terminal": "SSH Terminal",
      "bg_tab_local": "Local Terminal",
      "bg_tab_sftp": "SFTP",
      "bg_tab_forwards": "Port Forwarding",
      "bg_tab_settings": "Settings",
      "bg_tab_ide": "IDE",
      "bg_tab_monitor": "Connection Monitor",
      "bg_tab_connections": "Connections",
      "bg_tab_topology": "Topology",
      "bg_tab_files": "File Manager",
      "bg_tab_sessions": "Session Manager",
      "bg_tab_launcher": "Launcher",
      "bg_tab_plugins": "Plugins",
      "highlight_rules": {
        "title": "Highlight Rules",
        "description": "Persist keyword or regex-based highlights for terminal output. Higher rules win when matches overlap.",
        "add_preset": "Add Preset",
        "preset_group_logs": "Logs & Status",
        "preset_group_network": "Network",
        "preset_group_system": "Paths & Files",
        "preset_group_identity": "IDs & Signatures",
        "preset_status": "Add Status Preset",
        "preset_ip": "Add IPv4 Preset",
        "preset_mac": "Add MAC Preset",
        "preset_timestamp": "Add Timestamp Preset",
        "preset_url": "Add URL Preset",
        "preset_port": "Add Port Preset",
        "preset_path": "Add Path Preset",
        "preset_uuid": "Add UUID Preset",
        "preset_email": "Add Email Preset",
        "preset_domain": "Add Domain Preset",
        "preset_sha256": "Add SHA256 Preset",
        "add_rule": "Add Rule",
        "limit": "Up to {{count}} rules per profile.",
        "priority_hint": "Drag to reorder priority from top to bottom.",
        "empty": "No highlight rules yet. Add a rule or start from a preset.",
        "untitled_rule": "Untitled rule",
        "collapse_rule": "Collapse rule",
        "expand_rule": "Expand rule",
        "preview": "Preview",
        "preview_hint": "Matches are resolved with the same priority rules used in the terminal.",
        "drag_rule": "Drag rule",
        "label": "Label",
        "label_placeholder": "Optional name for this rule",
        "pattern": "Pattern",
        "pattern_placeholder": "Keyword or regex pattern",
        "render_mode": "Render Mode",
        "render_mode_background": "Background",
        "render_mode_underline": "Underline",
        "render_mode_outline": "Outline",
        "foreground": "Foreground",
        "background": "Background",
        "enabled": "Enabled",
        "disabled": "Disabled",
        "regex": "Regex",
        "case_sensitive": "Case Sensitive",
        "delete": "Delete",
        "invalid_rule": "Invalid rule",
        "toast_auto_disabled_title": "Highlight rule disabled",
        "toast_auto_disabled_description": "{{count}} rule was disabled automatically because matching failed: {{reason}}.",
        "preset_label_error": "Error",
        "preset_label_warning": "Warning",
        "preset_label_ok": "OK",
        "preset_label_ip": "IPv4",
        "preset_label_mac": "MAC",
        "preset_label_timestamp": "Timestamp",
        "preset_label_url": "URL",
        "preset_label_port": "Port",
        "preset_label_path": "Path",
        "preset_label_uuid": "UUID",
        "preset_label_email": "Email",
        "preset_label_domain": "Domain",
        "preset_label_sha256": "SHA256",
        "preview_line_error": "2026-04-13 21:52:33 ERROR bridge timeout on session 127.0.0.1",
        "preview_line_warning": "warning: retrying ssh connection to 10.0.0.25:2222 via https://gateway.example.com",
        "preview_line_ok": "OK 02:3B:4C:5D:6E:7F uploaded artifact to 192.168.1.52",
        "preview_line_trace": "trace: request 550e8400-e29b-41d4-a716-446655440000 opened /var/log/nginx/access.log",
        "preview_line_audit": "audit: admin@example.com downloaded package from cdn.example.com with sha256 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
        "mode_hint": {
          "literal": "Literal mode matches plain text exactly as written.",
          "regex": "Regex mode uses RE2-compatible syntax for safe matching."
        },
        "runtime_reason": {
          "timeout": "the matcher timed out",
          "error": "the matcher returned an error"
        },
        "validation": {
          "empty-pattern": "Enter a keyword or regex pattern.",
          "pattern-too-long": "Pattern is too long.",
          "invalid-regex": "Regex syntax is invalid.",
          "unsupported-regex-syntax": "This regex uses syntax that RE2 does not support.",
          "empty-match": "Regex cannot match empty text."
        }
      },
      "autosuggest_local_history": "Command Bar: Local Shell History",
      "autosuggest_local_history_hint": "Use local zsh/bash/fish history as a source for the Command Bar history panel. It does not enable terminal ghost text.",
      "command_bar": "Command Bar",
      "command_bar_hint": "Show a bottom command bar for OxideTerm suggestions, AI Ask mode, broadcast, recording, cast playback, and split actions.",
      "command_bar_legacy_toolbar": "Show Legacy Top Toolbar",
      "command_bar_legacy_toolbar_hint": "Keep the old tab-bar terminal action buttons visible while the bottom command bar is enabled.",
      "command_bar_focus_handoff": "Focus Terminal for TUI Commands",
      "command_bar_focus_handoff_hint": "After running these commands from the Command Bar, focus the terminal because they usually take over keyboard input. Separate commands with spaces, commas, or new lines.",
      "command_marks": "Command Marks",
      "command_marks_hint": "Add lightweight iTerm2-style marks for reliable commands from the Command Bar, AI, and broadcast. The terminal buffer stays unchanged.",
      "command_marks_hover_actions": "Hover Actions",
      "command_marks_hover_actions_hint": "Show the copy output action in the command selection toolbar.",
      "gpu_canvas_experiments": "WebGPU canvas experiments",
      "gpu_canvas_experiments_hint": "Experimental GPU-backed visualizations. Does not replace the terminal renderer.",
      "quick_commands": "Quick Commands",
      "quick_commands_hint": "Show a built-in quick command library in the Command Bar.",
      "quick_commands_confirm": "Confirm Quick Command Run",
      "quick_commands_confirm_hint": "Ask before running a quick command from the Run button.",
      "quick_commands_toast": "Quick Command Toast",
      "quick_commands_toast_hint": "Show a toast after a quick command is sent.",
      "page_display": "Display",
      "page_input": "Input",
      "page_commandBar": "Command Bar",
      "page_history": "History & Marks",
      "page_transfer": "Transfer",
      "page_highlight": "Highlight"
    },
    "appearance": {
      "title": "Appearance",
      "description": "Customize the application theme.",
      "theme": "Theme",
      "color_theme": "Color Theme",
      "color_theme_hint": "Terminal color scheme",
      "select_theme": "Select theme",
      "layout": "Layout",
      "layout_hint": "Sidebar can be resized by dragging its right edge. Use the collapse button (◧) to hide it.",
      "theme_group_oxide": "Oxide Series",
      "theme_group_classic": "Classic / Other",
      "theme_group_custom": "Custom",
      "theme_import": "Import",
      "theme_export": "Export",
      "theme_import_success": "Theme \"{{name}}\" imported successfully",
      "theme_import_error": "Failed to import theme: {{error}}",
      "theme_export_success": "Theme exported successfully",
      "density": "UI Density",
      "density_hint": "Control spacing and padding throughout the interface",
      "density_compact": "Compact",
      "density_compact_desc": "Smaller spacing, more content visible",
      "density_comfortable": "Comfortable",
      "density_comfortable_desc": "Balanced spacing (default)",
      "density_spacious": "Spacious",
      "density_spacious_desc": "Larger spacing, more breathing room",
      "border_radius": "Border Radius",
      "border_radius_hint": "Global corner roundness for UI elements",
      "border_radius_unit": "px",
      "ui_font": "UI Font",
      "ui_font_hint": "Custom font for the application interface. Leave empty for system default.",
      "ui_font_placeholder": "System Default (Inter)",
      "animation": "Animation Speed",
      "animation_hint": "Control transition and animation speed",
      "animation_off": "Off",
      "animation_reduced": "Reduced",
      "animation_normal": "Normal",
      "animation_fast": "Fast",
      "frosted_glass": "Frosted Glass",
      "frosted_glass_hint": "Apply translucent blur effect to panels",
      "frosted_glass_off": "Off",
      "frosted_glass_css": "CSS Blur",
      "frosted_glass_native": "Native Vibrancy",
      "frosted_glass_native_hint": "Native vibrancy (macOS/Windows only)"
    },
    "custom_theme": {
      "create": "New Theme",
      "edit": "Edit",
      "create_title": "Create Custom Theme",
      "edit_title": "Edit Custom Theme",
      "description": "Customize terminal and UI colors to create your own theme.",
      "name": "Theme Name",
      "name_placeholder": "My Custom Theme",
      "new_theme_name": "My Theme",
      "duplicate_from": "Based On",
      "select_base": "Select base theme...",
      "terminal_colors": "Terminal Colors",
      "ui_colors": "UI Colors",
      "ui_colors_hint": "App chrome colors (sidebar, panels, borders)",
      "auto_derive": "Auto from Terminal",
      "save": "Save",
      "cancel": "Cancel",
      "delete": "Delete",
      "click_to_edit_hex": "Click to enter hex value",
      "section_background": "Background",
      "section_text": "Text",
      "section_border": "Borders & Dividers",
      "section_accent": "Accent",
      "section_semantic": "Status Colors",
      "colors": {
        "bg": "Background",
        "fg": "Foreground",
        "cursor": "Cursor",
        "selection": "Selection",
        "black": "Black",
        "red": "Red",
        "green": "Green",
        "yellow": "Yellow",
        "blue": "Blue",
        "magenta": "Magenta",
        "cyan": "Cyan",
        "white": "White",
        "bright_black": "Bright Black",
        "bright_red": "Bright Red",
        "bright_green": "Bright Green",
        "bright_yellow": "Bright Yellow",
        "bright_blue": "Bright Blue",
        "bright_magenta": "Bright Magenta",
        "bright_cyan": "Bright Cyan",
        "bright_white": "Bright White",
        "ui_bg": "Background",
        "ui_panel": "Panel",
        "ui_bg_card": "Card",
        "ui_bg_elevated": "Elevated",
        "ui_bg_sunken": "Sunken",
        "ui_hover": "Hover",
        "ui_border": "Border",
        "ui_text": "Text",
        "ui_text_muted": "Muted Text",
        "ui_accent": "Accent",
        "ui_accent_hover": "Accent Hover",
        "ui_active": "Active",
        "ui_bg_secondary": "Secondary BG",
        "ui_text_secondary": "Secondary Text",
        "ui_border_strong": "Strong Border",
        "ui_divider": "Divider",
        "ui_accent_text": "Accent Text",
        "ui_accent_secondary": "Secondary Accent",
        "ui_success": "Success",
        "ui_warning": "Warning",
        "ui_error": "Error",
        "ui_info": "Info"
      }
    },
    "connections": {
      "title": "Connection Defaults",
      "description": "Default settings for new connections.",
      "default_username": "Default Username",
      "default_port": "Default Port",
      "groups": {
        "title": "Groups",
        "description": "Manage connection groups.",
        "new_placeholder": "New group name...",
        "add": "Add"
      },
      "ssh_config": {
        "title": "Import from SSH Config",
        "description": "Scan ~/.ssh/config for hosts.",
        "no_hosts": "No hosts found in ~/.ssh/config",
        "import": "Import",
        "select_all": "Select All",
        "deselect_all": "Deselect All",
        "import_selected": "Import Selected ({{count}})",
        "importing": "Importing...",
        "batch_import_success": "Successfully imported {{count}} host(s)",
        "batch_import_skipped": "{{count}} host(s) skipped (already exist)",
        "already_imported": "Already imported"
      },
      "idle_timeout": {
        "title": "Connection Pool",
        "description": "Configure how idle SSH connections are managed.",
        "label": "Idle Timeout",
        "5min": "5 minutes",
        "15min": "15 minutes",
        "30min": "30 minutes (default)",
        "1hr": "1 hour",
        "never": "Never (keep alive)",
        "hint": "SSH connections with no open terminals will be disconnected after this period. Set to 'Never' to keep connections alive indefinitely.",
        "save_failed": "Failed to save idle timeout setting"
      }
    },
    "ssh_keys": {
      "title": "SSH Keys",
      "description": "Manage local SSH keys detected in ~/.ssh/",
      "encrypted": "Encrypted",
      "no_keys": "No keys found in default location."
    },
    "ai": {
      "title": "OxideSens",
      "description": "Configure OpenAI-compatible API and context limits.",
      "general": "General",
      "enable": "Enable AI Capabilities",
      "enable_hint": "Enable inline chat and context analysis",
      "privacy_notice": "Privacy Notice",
      "privacy_text": "All requests are initiated locally. API keys are stored in the system keychain. Only selected terminal context is sent to the configured endpoint.",
      "provider_settings": "Provider Settings",
      "provider_settings_summary": "{{count}} providers configured",
      "base_url": "Base URL",
      "model": "Model",
      "api_key": "API Key",
      "api_key_stored": "Stored securely in system keychain.",
      "remove": "Remove",
      "remove_confirm": "Remove API key?",
      "remove_failed": "Failed to remove API key: {{error}}",
      "save": "Save",
      "saving": "Saving...",
      "save_failed": "Failed to save API key: {{error}}",
      "context_controls": "Context Controls",
      "max_context": "Max Context Length",
      "max_context_hint": "Maximum characters to send for analysis.",
      "buffer_history": "Buffer History",
      "buffer_history_hint": "How many lines of terminal output to include.",
      "chars_2000": "2,000 chars (~500 tokens)",
      "chars_4000": "4,000 chars (~1,000 tokens)",
      "chars_8000": "8,000 chars (~2,000 tokens)",
      "chars_16000": "16,000 chars (~4,000 tokens)",
      "chars_32000": "32,000 chars (~8,000 tokens)",
      "lines_50": "50 lines",
      "lines_100": "100 lines",
      "lines_200": "200 lines",
      "lines_400": "400 lines",
      "context_sources": "Context Sources",
      "context_source_ide": "IDE Context",
      "context_source_ide_hint": "Include open files and project info from IDE mode in AI context.",
      "context_source_sftp": "SFTP Context",
      "context_source_sftp_hint": "Include current directory and selected files from file browser in AI context.",
      "active": "Active",
      "set_active": "Set Active",
      "provider_enabled": "Enabled",
      "provider_disabled": "Disabled",
      "provider_models_summary": "{{count}} models",
      "provider_name": "Display Name",
      "default_model": "Default Model",
      "custom_provider": "Custom Provider",
      "add_provider": "Add Provider",
      "provider_template": "Provider Protocol",
      "provider_template_openai_compatible": "OpenAI-compatible / Relay",
      "provider_template_deepseek": "DeepSeek",
      "provider_template_openai": "OpenAI",
      "provider_template_anthropic": "Anthropic",
      "provider_template_gemini": "Google Gemini",
      "provider_template_ollama": "Ollama / Local",
      "embedding_title": "Embedding Configuration",
      "embedding_description": "Configure a dedicated embedding model for the Knowledge Base. This is separate from the chat model.",
      "embedding_provider": "Embedding Provider",
      "embedding_provider_placeholder": "Select a provider...",
      "embedding_provider_default": "Auto-select embedding provider",
      "embedding_model": "Embedding Model",
      "remove_provider_confirm": "Remove provider \"{{name}}\"?",
      "available_models": "Available Models",
      "refresh_models": "Refresh Models",
      "refresh_failed": "Failed to refresh models: {{error}}",
      "show_all_models": "Show all {{count}}",
      "show_fewer_models": "Show fewer",
      "click_to_set_default": "Click to set as default model",
      "system_prompt_title": "System Prompt",
      "custom_system_prompt": "Custom System Prompt",
      "system_prompt_placeholder": "Enter a custom system prompt... (leave empty to use default)",
      "system_prompt_hint": "Customize OxideSens's behavior. Leave empty to use the default OxideSens prompt.",
      "max_response_tokens": "Max Response Tokens",
      "max_response_tokens_hint": "Maximum tokens the AI can use for its response. Leave empty for automatic calculation.",
      "reasoning_title": "Global Reasoning / Thinking Default",
      "reasoning_hint": "Used when a provider or model does not override it. Unsupported providers ignore this setting.",
      "reasoning_provider_default": "Reasoning default",
      "reasoning_inherit_global": "Inherit global ({{value}})",
      "reasoning_inherit_provider": "Inherit provider",
      "reasoning_auto": "Auto (provider default)",
      "reasoning_off": "Off",
      "reasoning_low": "Low",
      "reasoning_medium": "Medium",
      "reasoning_high": "High",
      "reasoning_max": "Max",
      "model_reasoning_overrides": "Model Reasoning Overrides",
      "model_reasoning_overrides_hint": "Optional per-model thinking depth. Leave inherited unless a specific model needs different behavior.",
      "model_reasoning_overrides_empty": "Refresh models for each provider before configuring model reasoning.",
      "model_reasoning_provider_summary": "{{count}} models · {{overrides}} overrides",
      "model_context_windows": "Model Context Windows",
      "model_context_windows_hint": "Override the detected context window size for each model. User values take precedence over API results and built-in rules.",
      "model_context_windows_empty": "Refresh models for each provider before configuring context windows.",
      "ctx_source_user": "User",
      "ctx_source_api": "API",
      "ctx_source_pattern": "Built-in",
      "ctx_source_name": "Name",
      "ctx_source_default": "Default",
      "ctx_reset": "Reset to auto-detected",
      "ctx_provider_summary": "{{count}} models · {{overrides}} overrides",
      "tool_use": "Tool Use",
      "tool_use_enabled": "Enable Tool Use",
      "tool_use_enabled_hint": "Allow the AI to execute commands, read files, and perform actions on remote servers via function calling.",
      "tool_use_approve_hint": "Select which tools the AI can use without confirmation. Tools not selected here will ask for confirmation before running.",
      "tool_use_disabled_tools_title": "{{count}} tools are globally disabled",
      "tool_use_disabled_tools_hint": "These tools will not be exposed to OxideSens. This state usually comes from the legacy in-chat tool switcher or safety debugging.",
      "tool_use_restore_disabled_tools": "Restore all tools",
      "tool_use_max_rounds": "Max Tool Rounds",
      "tool_use_max_rounds_hint": "Maximum tool/model round trips per reply before OxideSens stops the loop. Default: 10.",
      "tool_use_policy_summary": "Read-only actions are automatic; execution, writes, settings changes, and transfers follow the approval policy below.",
      "tool_policy_read_title": "Read-only discovery",
      "tool_policy_read_desc": "Targets, terminal observation, settings reads, and preference recall are always allowed automatically.",
      "tool_policy_execute_title": "Run commands",
      "tool_policy_execute_desc": "Allow run_command without asking each time. Destructive commands still require confirmation.",
      "tool_policy_interactive_title": "Terminal input",
      "tool_policy_interactive_desc": "Allow sending input to visible terminals, including Enter and control sequences.",
      "tool_policy_write_title": "Resource changes",
      "tool_policy_write_desc": "Choose which write-like actions can run without asking each time.",
      "tool_policy_navigation_title": "Connections and app surfaces",
      "tool_policy_navigation_desc": "Choose whether OxideSens can connect targets or just open UI surfaces without asking.",
      "tool_policy_warning": "Default mode requires approval for dangerous commands. Bypass mode can skip that approval only for the current chat after explicit confirmation. Passwords, sudo prompts, passphrases, and credentials must still be handled by you.",
      "tool_use_group_terminal": "Terminal & Files",
      "tool_use_group_session": "Session",
      "tool_use_group_infrastructure": "Infrastructure",
      "tool_use_group_sftp": "SFTP",
      "tool_use_group_ide": "IDE",
      "tool_use_group_local_terminal": "Local Terminal",
      "tool_use_group_settings": "Settings",
      "tool_use_group_connection_pool": "Connection Pool",
      "tool_use_group_connection_monitor": "Connection Monitor",
      "tool_use_group_session_manager": "Session Manager",
      "tool_use_group_plugin_manager": "Plugin Manager",
      "tool_use_group_tui_interaction": "TUI Interaction",
      "tool_use_group_mcp": "MCP Servers",
      "tool_use_group_navigation": "Navigation",
      "tool_use_group_status": "Status & Observability",
      "tool_use_group_rag": "Knowledge Base (RAG)",
      "experimental": "Experimental",
      "tool_use_subgroup_read_only": "Read-Only",
      "tool_use_subgroup_write": "Write / Execute",
      "tool_use_approve_all": "Approve All",
      "tool_use_approve_none": "Revoke All",
      "tool_use_expand": "Expand",
      "tool_use_collapse": "Collapse",
      "tool_use_collapsed_summary": "{{approved}} / {{total}} tools approved for auto-use",
      "tool_use_write_warning": "Write tools grant the AI command execution and file modification capabilities. Enable only on trusted servers.",
      "memory_title": "Memory / Preferences",
      "memory_enabled": "Include saved memory",
      "memory_enabled_hint": "Inject these long-lived preferences into AI chats. The content stays local until you send a message.",
      "memory_placeholder": "- Prefer concise Chinese replies.\n- Explain the plan before large code changes.\n- I care about terminal rendering and SSH performance.",
      "memory_hint": "Use this for stable preferences only. Avoid secrets, passwords, tokens, or one-off task facts. Current chat instructions always take priority.",
      "memory_clear": "Clear Memory",
      "tool_policy_read_auto": "Read-only discovery is always automatic",
      "tool_policy_execute_run_command": "Run non-destructive commands",
      "tool_policy_interactive_send_input": "Send text, Enter, and control sequences",
      "tool_policy_connect_target": "Connect saved SSH targets",
      "tool_policy_open_surface": "Open app tabs and surfaces",
      "tool_policy_write_settings": "Modify settings",
      "tool_policy_write_file": "Write remote/local files",
      "tool_policy_transfer_resource": "Start SFTP transfers",
      "tool_policy_remember_preference": "Save long-lived AI memory preferences",
      "execution_profiles": "Execution Profiles",
      "execution_profiles_hint": "Bundle model, reasoning, tool policy, context chips, and memory/RAG preferences.",
      "profile_add": "New profile",
      "profile_default": "Default",
      "profile_set_default": "Set default",
      "profile_inherit_provider": "Use active provider",
      "profile_inherit_model": "Use provider default"
    },
    "sftp": {
      "title": "SFTP Transfer",
      "description": "Configure file transfer behavior and performance.",
      "concurrent": "Max Concurrent Transfers",
      "concurrent_hint": "Maximum simultaneous file transfers (1-10)",
      "directory_parallelism": "Directory Transfer Parallelism",
      "directory_parallelism_hint": "Number of files transferred at the same time during recursive folder upload or download. Falls back to serial when speed limiting is enabled.",
      "bandwidth": "Bandwidth Limiting",
      "bandwidth_hint": "Limit upload/download speed per transfer",
      "speed_limit": "Speed Limit (KB/s)",
      "conflict": "Default Conflict Action",
      "conflict_hint": "Behavior when destination file exists",
      "conflict_ask": "Ask each time",
      "conflict_overwrite": "Always overwrite",
      "conflict_skip": "Always skip",
      "conflict_rename": "Keep both (rename)",
      "transfer_count_one": "{{count}} transfer",
      "transfer_count_other": "{{count}} transfers"
    },
    "ide": {
      "title": "IDE Mode (Mini)",
      "description": "Configure the built-in code editor behavior.",
      "auto_save": "Auto Save",
      "auto_save_hint": "Automatically save files when switching tabs or losing focus.",
      "word_wrap": "Word Wrap",
      "word_wrap_hint": "Wrap long lines instead of horizontal scrolling.",
      "agent_title": "Remote Agent",
      "agent_description": "OxideTerm can deploy a lightweight agent binary to remote hosts for enhanced IDE performance. The agent provides POSIX-native file operations, real-time file watching, and faster search — all running locally on the remote server.",
      "agent_feature_atomic": "Atomic file writes (no data loss on network disruption)",
      "agent_feature_watch": "Real-time file watching via inotify (instant refresh)",
      "agent_feature_hash": "Hash-based conflict detection (prevents overwriting external changes)",
      "agent_feature_search": "Server-side grep and deep directory tree loading",
      "agent_supported": "Bundled: x86_64, aarch64 (Linux)",
      "agent_auto_hint": "When opening IDE mode on supported Linux x86_64/aarch64 hosts, the agent is deployed based on the policy below — you will be prompted to confirm on first use (or deploy automatically if set to 'Always Enable').",
      "agent_extra_hint": "Prebuilt binaries are no longer provided for other architectures. Build the agent from source yourself, then manually upload it to ~/.oxideterm/oxideterm-agent on the remote host.",
      "agent_transparency_title": "Transparency & Privacy",
      "agent_path_label": "Deploy Path",
      "agent_path_detail": "The agent binary is placed at ~/.oxideterm/oxideterm-agent in the remote user's home directory.",
      "agent_lifecycle_label": "Lifecycle",
      "agent_lifecycle_detail": "Deployed on first IDE mode open and persists between sessions. Automatically updated when a new version is available. Can be safely deleted at any time — it will be re-deployed when needed.",
      "agent_privacy_label": "Privacy",
      "agent_privacy_detail": "The agent is a standalone binary that communicates exclusively with OxideTerm over the existing SSH connection (stdio). It makes no third-party network connections, sends no telemetry, and collects no data.",
      "editor_typography": "Editor Typography",
      "editor_typography_hint": "Override terminal font size and line height for the code editor. Leave empty to follow terminal settings.",
      "font_size": "Font Size",
      "font_size_hint": "Editor font size in pixels. Empty = follow terminal.",
      "line_height": "Line Height",
      "line_height_hint": "Editor line spacing. Empty = follow terminal.",
      "agent_mode_label": "Agent Deploy Policy",
      "agent_mode_hint": "Control whether OxideTerm deploys the agent to remote hosts when opening IDE mode.",
      "agent_mode_ask": "Ask Every Time",
      "agent_mode_enabled": "Always Enable",
      "agent_mode_disabled": "SFTP Only"
    },
    "ai_confirm": {
      "title": "Enable AI Capabilities?",
      "description": "Confirm enabling AI features for terminal context analysis.",
      "intro": "This will allow OxideTerm to send selected terminal context to your configured AI endpoint.",
      "point_local": "All requests are initiated directly from your local machine",
      "point_no_server": "No intermediate server is used (unless configured otherwise)",
      "point_context": "Only text you specifically select or query is sent to the API",
      "cancel": "Cancel",
      "enable": "Enable"
    },
    "help": {
      "title": "Help & About",
      "description": "Application information, keyboard shortcuts, and resources.",
      "version_info": "Version Information",
      "app_name": "Application",
      "version": "Version",
      "tech_stack": "Technology Stack",
      "shortcuts": "Keyboard Shortcuts",
      "category_app": "Application",
      "category_terminal": "Terminal",
      "category_split": "Split Pane",
      "category_file_manager": "File Manager",
      "category_editor": "Editor",
      "category_sftp": "SFTP",
      "shortcut_sftp_enter_dir": "Enter Directory",
      "shortcut_sftp_upload": "Upload",
      "shortcut_sftp_download": "Download",
      "shortcut_new_tab": "New Terminal Tab",
      "shortcut_shell_launcher": "Shell Launcher",
      "shortcut_close_tab": "Close Tab",
      "shortcut_find": "Find in Terminal",
      "shortcut_ai_panel": "OxideSens",
      "shortcut_close_panel": "Close Panel",
      "shortcut_split_h": "Split Horizontal",
      "shortcut_split_v": "Split Vertical",
      "shortcut_close_pane": "Close Pane",
      "shortcut_nav_pane": "Navigate Panes",
      "shortcut_next_tab": "Next Tab",
      "shortcut_prev_tab": "Previous Tab",
      "shortcut_go_to_tab": "Go to Tab 1-9",
      "shortcut_new_connection": "New SSH Connection",
      "shortcut_command_palette": "Command Palette",
      "shortcut_toggle_sidebar": "Toggle Sidebar",
      "shortcut_settings": "Open Settings",
      "shortcut_zen_mode": "Toggle Zen Mode",
      "shortcut_close_other_tabs": "Close Other Tabs",
      "shortcut_nav_back": "Navigate Back",
      "shortcut_nav_forward": "Navigate Forward",
      "shortcut_font_increase": "Increase Font Size",
      "shortcut_font_decrease": "Decrease Font Size",
      "shortcut_font_reset": "Reset Font Size",
      "shortcut_recording": "Toggle Recording",
      "category_palette": "Command Palette",
      "shortcut_event_log": "Event Log",
      "shortcut_ai_sidebar": "AI Sidebar",
      "shortcut_broadcast": "Broadcast Mode",
      "shortcut_select_all": "Select All",
      "shortcut_copy": "Copy",
      "shortcut_cut": "Cut",
      "shortcut_paste": "Paste",
      "shortcut_rename": "Rename",
      "shortcut_delete": "Delete",
      "shortcut_quick_look": "Quick Look",
      "shortcut_open": "Open / Enter",
      "shortcut_save": "Save",
      "shortcut_close": "Close",
      "resources": "Resources",
      "github": "GitHub Repository",
      "issues": "Report an Issue",
      "disclaimer": "Disclaimer",
      "website": "Official Website",
      "documentation": "Documentation",
      "diagnostics": "Diagnostics",
      "open_logs": "Log Directory",
      "open_logs_hint": "Open the application log directory in your file manager",
      "open": "Open",
      "license": "OxideTerm is open source software licensed under the GNU General Public License v3.0 (GPL-3.0)",
      "copyright": "Copyright © {{year}} {{author}}",
      "shortcut_keyboard_shortcuts": "Keyboard Shortcuts",
      "check_update": "Check for Updates",
      "checking": "Checking for updates...",
      "up_to_date": "You're up to date",
      "update_available": "New version available",
      "update_available_toast": "A new version is available. Go to Settings → Help to update.",
      "download_install": "Download & Install",
      "downloading": "Downloading update...",
      "ready_to_restart": "Update installed — restart to apply",
      "restart_now": "Restart Now",
      "update_error": "Update check failed",
      "retry": "Retry",
      "release_notes": "Release Notes",
      "no_changelog": "No release notes available",
      "skip_version": "Skip this version",
      "cancel": "Cancel",
      "verifying": "Verifying...",
      "installing": "Installing...",
      "skipped_version": "Skipped: v{{version}}",
      "clear_skip": "Clear",
      "portable_mode": "Portable Mode",
      "portable_mode_hint": "This session is using the portable bootstrap flow and keeps its data next to the executable.",
      "updates_manual_only": "Manual updates only",
      "updates_manual_only_hint": "Automatic update checks and in-app installs are disabled in portable mode. Replace the portable folder with a newer OxideTerm build to update.",
      "update_channel": "Update Channel",
      "update_channel_hint": "Beta channel receives pre-release builds",
      "channel_stable": "Stable",
      "channel_beta": "Beta",
      "memory_diagnostics_title": "Memory Diagnostics",
      "memory_diagnostics_hint": "Break down process memory, WebView estimates, terminal buffers, viewer caches, AI/tool output, and GPU surfaces. Sampling runs only while this panel is open.",
      "memory_recording": "Recording",
      "memory_refresh": "Refresh",
      "memory_export": "Export report",
      "memory_rss": "Process RSS",
      "memory_rss_hint": "Resident memory reported by the operating system.",
      "memory_webview_heap": "WebView heap",
      "memory_webview_heap_hint": "JavaScript heap when the WebView exposes it.",
      "memory_scrollback": "Scrollback buffers",
      "memory_scrollback_hint": "{{count}} hot buffers tracked by Rust.",
      "memory_frontend_estimate": "Frontend estimate",
      "memory_frontend_estimate_hint": "Provider estimates and heap when available.",
      "memory_timeline": "Memory timeline",
      "memory_breakdown": "Breakdown / session heatmap",
      "memory_gpu_enabled": "WebGPU experiment enabled",
      "memory_canvas2d": "Canvas2D fallback",
      "memory_warning_rss_high": "Process RSS is above 1 GB. Check terminal count, scrollback buffers, and loaded AI/tool output.",
      "memory_warning_scrollbuffer_near_cap": "One or more ScrollBuffers are near their max line cap.",
      "memory_warning_frontend_high_risk": "A frontend provider reports high memory pressure.",
      "memory_warning_gpu_surfaces_many": "Many GPU/Canvas surfaces are alive. Closed views may be leaking renderers.",
      "memory_source": "Source",
      "memory_objects": "Objects",
      "memory_estimate": "Estimate",
      "memory_risk": "Risk",
      "memory_risk_low": "Low",
      "memory_risk_medium": "Medium",
      "memory_risk_high": "High",
      "memory_no_providers": "No frontend diagnostics providers reported data yet.",
      "memory_export_warning": "Exported diagnostics contain counts, estimates, paths or session identifiers only. Terminal output, AI message text, API keys and environment values are not included.",
      "memory_open": "Open",
      "memory_close": "Close"
    },
    "errors": {
      "create_group_failed": "Failed to create group: {{error}}",
      "delete_group_failed": "Failed to delete group: {{error}}",
      "import_success": "Successfully imported \"{{name}}\" as a saved connection!",
      "import_failed": "Failed to import host: {{error}}"
    },
    "mcp": {
      "title": "MCP Servers",
      "description": "Connect to Model Context Protocol servers to extend AI capabilities with external tools.",
      "add_server": "Add Server",
      "no_servers": "No MCP servers configured. Add a server to get started.",
      "status_disconnected": "Disconnected",
      "status_connecting": "Connecting",
      "status_connected": "Connected",
      "status_error": "Error",
      "connect": "Connect",
      "disconnect": "Disconnect",
      "connecting": "Connecting...",
      "refresh_tools": "Refresh tools",
      "remove": "Remove server",
      "tools_count": "{{count}} tools available",
      "add_server_title": "Add MCP Server",
      "add_server_description": "Configure a new MCP server connection.",
      "server_name": "Server Name",
      "transport": "Transport",
      "command": "Command",
      "args": "Arguments (one per line)",
      "url": "Server URL",
      "cancel": "Cancel",
      "add": "Add",
      "auth_token": "Auth Token",
      "auth_token_placeholder": "Bearer token (optional)",
      "fallback_legacy_sse": "Legacy SSE fallback",
      "env_vars": "Environment Variables",
      "env_key_placeholder": "Variable name",
      "env_value_placeholder": "Value",
      "add_env_var": "Add env var",
      "auth_header_name": "Auth Header",
      "auth_header_mode": "Auth Mode",
      "auth_header_mode_bearer": "Bearer token",
      "auth_header_mode_raw": "Raw token",
      "auth_header_mode_none": "No auth header",
      "extra_headers": "Extra Headers",
      "header_key_placeholder": "Header name",
      "header_value_placeholder": "Header value",
      "add_header": "Add header",
      "extra_headers_hint": "Extra headers are stored as normal settings. Put secrets in the auth token field.",
      "retry_on_disconnect": "Auto-retry on disconnect"
    },
    "reconnect": {
      "title": "Auto-Reconnect",
      "description": "Configure automatic reconnection behavior when SSH connections are lost.",
      "enabled": "Enable Auto-Reconnect",
      "enabled_hint": "Automatically attempt to restore connections when network interruptions are detected.",
      "strategy": "Retry Strategy",
      "max_attempts": "Max Retry Attempts",
      "max_attempts_hint": "Maximum number of reconnection attempts before giving up.",
      "base_delay": "Base Retry Delay",
      "base_delay_hint": "Initial wait time before the first retry attempt.",
      "max_delay": "Max Retry Delay",
      "max_delay_hint": "Upper limit for retry delay with exponential backoff.",
      "formula_hint": "Retries use exponential backoff with jitter: each subsequent attempt waits longer (up to the max delay), with a small random variation to avoid thundering herd."
    },
    "knowledge": {
      "title": "Knowledge Base",
      "description": "Import and manage operations documentation for AI-powered retrieval. Documents are indexed and can be automatically referenced during OxideSens chat.",
      "collections": "Collections",
      "create_collection": "New Collection",
      "create_description": "Create a new document collection. Collections group related documents together.",
      "collection_name": "Collection Name",
      "collection_name_placeholder": "e.g. Deployment Runbooks",
      "scope": "Scope",
      "scope_global": "Global",
      "scope_connection": "Connection-specific",
      "no_collections": "No collections yet. Create one to start importing documents.",
      "import_files": "Import Files",
      "generate_embeddings": "Generate Embeddings",
      "semantic_search": "Semantic Search",
      "semantic_search_description": "Optional vector search for the Knowledge Base. Keyword search works without embeddings.",
      "keyword_search_ready": "Keyword search ready",
      "semantic_search_using": "Semantic search: {{provider}} · {{model}}",
      "semantic_search_not_configured": "Semantic search not configured",
      "semantic_search_missing_model": "Embedding model missing",
      "embedding_api_key_checking": "Checking API key...",
      "embedding_api_key_missing": "API key missing",
      "configure_embeddings": "Configure",
      "auto_embedding_provider": "Auto-select embedding provider",
      "embedding_provider_unsupported": "Selected provider does not support embeddings",
      "reindex": "Rebuild Index",
      "no_documents": "No documents in this collection. Import Markdown or text files to get started.",
      "chunks": "chunks",
      "stat_docs": "documents",
      "stat_chunks": "chunks",
      "stat_embedded": "embedded",
      "stat_updated": "Updated",
      "delete_confirm_title": "Confirm Delete",
      "delete_collection_confirm": "Are you sure you want to delete collection \"{{name}}\"? This will remove all documents and indexes.",
      "delete_document_confirm": "Are you sure you want to delete document \"{{name}}\"?",
      "error_create_collection": "Failed to create collection",
      "error_import": "Failed to import files",
      "error_generate_embeddings": "Failed to generate embeddings",
      "error_reindex": "Failed to rebuild index",
      "error_delete": "Failed to delete",
      "error_no_embedding_support": "Selected provider does not support embeddings. Configure an Embedding Provider in Knowledge Base settings.",
      "error_no_embedding_model": "No embedding model configured. Set an Embedding Model in Knowledge Base settings.",
      "error_no_embedding_api_key": "No API key configured for the selected embedding provider.",
      "new_document": "New Document",
      "new_document_description": "Create a blank document that you can edit externally.",
      "new_document_title": "Document Title",
      "new_document_title_placeholder": "e.g. Server Setup Guide",
      "new_document_format": "Format",
      "edit_externally": "Edit in external editor",
      "sync_changes": "Sync changes from external editor",
      "doc_updated": "Document updated and re-indexed",
      "doc_no_changes": "No changes detected",
      "error_open_external": "Failed to open external editor",
      "error_sync": "Failed to sync document changes",
      "error_create_document": "Failed to create document",
      "embedding_partial_failure": "{{failed}} of {{total}} chunks failed to embed",
      "stats_stale": "Stats may be out of date",
      "file_filter_documents": "Documents"
    },
    "keybindings": {
      "title": "Keybindings",
      "description": "Customize keyboard shortcuts for all actions.",
      "intl_keyboard_note": "On international keyboard layouts (e.g. French, German), symbol shortcuts (such as ⌘/Ctrl+[ ] \\ |) are automatically normalized for cross-layout compatibility. To bind Alt-specific actions, please use non-symbol keys instead.",
      "search_placeholder": "Search actions...",
      "scope_all": "All",
      "scope_global": "Global",
      "scope_terminal": "Terminal",
      "scope_split": "Split Pane",
      "scope_palette": "Command Palette",
      "column_action": "Action",
      "column_shortcut": "Shortcut",
      "column_scope": "Scope",
      "record_prompt": "Press a key combination...",
      "record_cancel": "Press Esc to cancel",
      "conflict_warning": "Conflict with \"{{action}}\" in {{scope}} scope",
      "override_anyway": "Assign Anyway",
      "reset_to_default": "Reset to Default",
      "reset_all": "Reset All",
      "reset_all_confirm": "Reset all keyboard shortcuts to their defaults? This cannot be undone.",
      "modified": "Modified",
      "default_value": "Default",
      "no_results": "No matching actions found",
      "import": "Import",
      "export": "Export",
      "import_success": "Keybindings imported successfully",
      "import_error": "Failed to import keybindings: {{error}}",
      "export_success": "Keybindings exported successfully",
      "export_error": "Failed to export keybindings",
      "import_invalid": "Invalid keybinding file format",
      "actions": {
        "app.newTerminal": "New Terminal Tab",
        "app.shellLauncher": "Shell Launcher",
        "app.closeTab": "Close Tab",
        "app.closeOtherTabs": "Close Other Tabs",
        "app.newConnection": "New SSH Connection",
        "app.settings": "Open Settings",
        "app.toggleSidebar": "Toggle Sidebar",
        "app.commandPalette": "Command Palette",
        "app.zenMode": "Toggle Zen Mode",
        "app.nextTab": "Next Tab",
        "app.prevTab": "Previous Tab",
        "app.navBack": "Navigate Back",
        "app.navForward": "Navigate Forward",
        "app.goToTab1": "Go to Tab 1",
        "app.goToTab2": "Go to Tab 2",
        "app.goToTab3": "Go to Tab 3",
        "app.goToTab4": "Go to Tab 4",
        "app.goToTab5": "Go to Tab 5",
        "app.goToTab6": "Go to Tab 6",
        "app.goToTab7": "Go to Tab 7",
        "app.goToTab8": "Go to Tab 8",
        "app.goToTab9": "Go to Tab 9",
        "app.fontIncrease": "Increase Font Size",
        "app.fontDecrease": "Decrease Font Size",
        "app.fontReset": "Reset Font Size",
        "app.showShortcuts": "Show Keyboard Shortcuts",
        "terminal.search": "Find in Terminal",
        "terminal.paste": "Paste into Terminal",
        "terminal.aiPanel": "OxideSens Panel",
        "terminal.recording": "Toggle Recording",
        "terminal.closePanel": "Close Panel",
        "split.horizontal": "Split Horizontal",
        "split.vertical": "Split Vertical",
        "split.closePane": "Close Pane",
        "split.navLeft": "Navigate Left Pane",
        "split.navRight": "Navigate Right Pane",
        "palette.eventLog": "Event Log",
        "palette.aiSidebar": "AI Sidebar",
        "palette.broadcast": "Broadcast Mode"
      }
    }
  }
}
