chore(i18n): opencode-companion+link-ip-mon

This commit is contained in:
Lemmy
2026-08-09 13:52:47 -04:00
parent 961c5c8ebc
commit 82f1cffd55
4 changed files with 322 additions and 322 deletions
+32 -32
View File
@@ -1,49 +1,49 @@
{ {
"title": "Link/IP Monitor",
"settings": {
"interval_seconds": {
"label": "Check interval (s)",
"description": "How often each host is checked."
},
"timeout_seconds": {
"label": "Ping timeout (s)",
"description": "How long to wait for a reply before treating it as a failure."
},
"notify_on_recovery": {
"label": "Notify when a host comes back",
"description": "Send a notification when a host that was down responds again."
},
"glyph": {
"label": "Bar icon",
"description": "Icon shown in the bar for this widget."
}
},
"notify": { "notify": {
"duplicate_host": "{host} is already in the list",
"host_down": "{host} is unreachable", "host_down": "{host} is unreachable",
"host_up": "{host} is responding again", "host_up": "{host} is responding again",
"invalid_host": "{host} is not a valid IP, host or link", "invalid_host": "{host} is not a valid IP, host or link"
"duplicate_host": "{host} is already in the list"
}, },
"panel": { "panel": {
"empty": "No hosts configured yet",
"add_placeholder": "IP, host or link",
"add_label_placeholder": "Description (optional) — e.g. Router, Server", "add_label_placeholder": "Description (optional) — e.g. Router, Server",
"add_placeholder": "IP, host or link",
"empty": "No hosts configured yet",
"invalid_format": "Invalid — enter an IP (0.0.0.0), a host or a link", "invalid_format": "Invalid — enter an IP (0.0.0.0), a host or a link",
"status_online": "Online",
"status_offline": "Offline",
"status_checking": "Checking…", "status_checking": "Checking…",
"tooltip_check_now": "Check now", "status_offline": "Offline",
"status_online": "Online",
"tooltip_add": "Add", "tooltip_add": "Add",
"tooltip_remove": "Remove", "tooltip_add_host": "Add host",
"tooltip_confirm_remove": "Confirm removal",
"tooltip_cancel": "Cancel", "tooltip_cancel": "Cancel",
"tooltip_drag": "Drag to reorder", "tooltip_check_now": "Check now",
"tooltip_close_form": "Close", "tooltip_close_form": "Close",
"tooltip_add_host": "Add host" "tooltip_confirm_remove": "Confirm removal",
"tooltip_drag": "Drag to reorder",
"tooltip_remove": "Remove"
}, },
"settings": {
"glyph": {
"description": "Icon shown in the bar for this widget.",
"label": "Bar icon"
},
"interval_seconds": {
"description": "How often each host is checked.",
"label": "Check interval (s)"
},
"notify_on_recovery": {
"description": "Send a notification when a host that was down responds again.",
"label": "Notify when a host comes back"
},
"timeout_seconds": {
"description": "How long to wait for a reply before treating it as a failure.",
"label": "Ping timeout (s)"
}
},
"title": "Link/IP Monitor",
"widget": { "widget": {
"checking_now": "Checking now…",
"tooltip_all_up": "All monitored hosts are responding", "tooltip_all_up": "All monitored hosts are responding",
"tooltip_down_prefix": "Down:", "tooltip_down_prefix": "Down:"
"checking_now": "Checking now…"
} }
} }
+32 -32
View File
@@ -1,49 +1,49 @@
{ {
"title": "Link/IP Monitor",
"settings": {
"interval_seconds": {
"label": "Intervalo entre checagens (s)",
"description": "Com que frequência cada host é checado."
},
"timeout_seconds": {
"label": "Timeout do ping (s)",
"description": "Quanto tempo esperar por resposta antes de considerar falha."
},
"notify_on_recovery": {
"label": "Notificar quando o host volta",
"description": "Envia uma notificação quando um host que estava fora do ar volta a responder."
},
"glyph": {
"label": "Ícone da barra",
"description": "Ícone mostrado na barra para este widget."
}
},
"notify": { "notify": {
"duplicate_host": "{host} já está na lista",
"host_down": "{host} está inacessível", "host_down": "{host} está inacessível",
"host_up": "{host} voltou a responder", "host_up": "{host} voltou a responder",
"invalid_host": "{host} não é um IP, host ou link válido", "invalid_host": "{host} não é um IP, host ou link válido"
"duplicate_host": "{host} já está na lista"
}, },
"panel": { "panel": {
"empty": "Nenhum host configurado ainda",
"add_placeholder": "IP, host ou link",
"add_label_placeholder": "Descrição (opcional) — ex: Roteador, Servidor", "add_label_placeholder": "Descrição (opcional) — ex: Roteador, Servidor",
"add_placeholder": "IP, host ou link",
"empty": "Nenhum host configurado ainda",
"invalid_format": "Inválido — informe um IP (0.0.0.0), um host ou um link", "invalid_format": "Inválido — informe um IP (0.0.0.0), um host ou um link",
"status_online": "Online",
"status_offline": "Offline",
"status_checking": "Checando…", "status_checking": "Checando…",
"tooltip_check_now": "Checar agora", "status_offline": "Offline",
"status_online": "Online",
"tooltip_add": "Adicionar", "tooltip_add": "Adicionar",
"tooltip_remove": "Remover", "tooltip_add_host": "Adicionar host",
"tooltip_confirm_remove": "Confirmar remoção",
"tooltip_cancel": "Cancelar", "tooltip_cancel": "Cancelar",
"tooltip_drag": "Arraste para reordenar", "tooltip_check_now": "Checar agora",
"tooltip_close_form": "Fechar", "tooltip_close_form": "Fechar",
"tooltip_add_host": "Adicionar host" "tooltip_confirm_remove": "Confirmar remoção",
"tooltip_drag": "Arraste para reordenar",
"tooltip_remove": "Remover"
}, },
"settings": {
"glyph": {
"description": "Ícone mostrado na barra para este widget.",
"label": "Ícone da barra"
},
"interval_seconds": {
"description": "Com que frequência cada host é checado.",
"label": "Intervalo entre checagens (s)"
},
"notify_on_recovery": {
"description": "Envia uma notificação quando um host que estava fora do ar volta a responder.",
"label": "Notificar quando o host volta"
},
"timeout_seconds": {
"description": "Quanto tempo esperar por resposta antes de considerar falha.",
"label": "Timeout do ping (s)"
}
},
"title": "Link/IP Monitor",
"widget": { "widget": {
"checking_now": "Checando agora…",
"tooltip_all_up": "Todos os hosts monitorados estão respondendo", "tooltip_all_up": "Todos os hosts monitorados estão respondendo",
"tooltip_down_prefix": "Fora do ar:", "tooltip_down_prefix": "Fora do ar:"
"checking_now": "Checando agora…"
} }
} }
+129 -129
View File
@@ -1,170 +1,170 @@
{ {
"state": { "chat": {
"tip": { "assistant": "Assistant",
"online": "OpenCode: connected", "back": "Back to sessions",
"offline": "OpenCode: offline", "dismiss_error": "Dismiss",
"starting": "OpenCode: starting server…", "empty": "No messages yet. Send a prompt to begin.",
"busy": "OpenCode: processing…", "open_terminal": "Open in terminal",
"waiting_permission": "OpenCode: waiting for permission" "placeholder": "Ask OpenCode anything… (Enter = newline, Ctrl+Enter = send)",
}, "refresh": "Refresh",
"unread": "{count} unread response(s)" "select_agent": "Agent",
"select_model": "Model",
"send": "Send (Ctrl+Enter)",
"stop": "Stop",
"thinking": "Thinking…",
"title": "OpenCode Chat",
"you": "You"
}, },
"chooser": { "chooser": {
"title": "OpenCode — Sessions",
"refresh": "Refresh",
"new_session": "New Session",
"empty": "No sessions yet. Create one to get started.",
"open": "Open session",
"delete": "Delete session", "delete": "Delete session",
"delete_confirm": "Confirm delete",
"delete_cancel": "Cancel", "delete_cancel": "Cancel",
"search": "Search sessions…", "delete_confirm": "Confirm delete",
"no_match": "No sessions match your search." "empty": "No sessions yet. Create one to get started.",
}, "new_session": "New Session",
"chat": { "no_match": "No sessions match your search.",
"title": "OpenCode Chat", "open": "Open session",
"you": "You",
"assistant": "Assistant",
"empty": "No messages yet. Send a prompt to begin.",
"thinking": "Thinking…",
"stop": "Stop",
"send": "Send (Ctrl+Enter)",
"refresh": "Refresh", "refresh": "Refresh",
"open_terminal": "Open in terminal", "search": "Search sessions…",
"back": "Back to sessions", "title": "OpenCode — Sessions"
"placeholder": "Ask OpenCode anything… (Enter = newline, Ctrl+Enter = send)",
"select_model": "Model",
"select_agent": "Agent",
"dismiss_error": "Dismiss"
},
"permission": {
"title": "Permission Required",
"default_message": "OpenCode wants to perform an action that requires your approval.",
"allow": "Allow",
"allow_remember": "Always Allow",
"deny": "Deny"
},
"mcp": {
"title": "MCP Servers",
"connected": "Connected",
"failed": "Failed",
"disabled": "Disabled"
}, },
"error": { "error": {
"abort_failed": "Failed to abort session",
"connection_failed": "Could not connect to server",
"connection_failed_detail": "The server did not respond to a health check.",
"create_session_failed": "Failed to create session",
"delete_session_failed": "Failed to delete session",
"exe_not_found": "opencode not found on PATH", "exe_not_found": "opencode not found on PATH",
"exe_not_found_detail": "Install opencode and ensure it is available on your PATH.", "exe_not_found_detail": "Install opencode and ensure it is available on your PATH.",
"external_not_configured": "External server URL not configured",
"permission_failed": "Failed to respond to permission",
"prompt_failed": "Failed to send prompt",
"question_failed": "Failed to answer question",
"server_failed": "Failed to start OpenCode server", "server_failed": "Failed to start OpenCode server",
"server_timeout": "Server did not start in time", "server_timeout": "Server did not start in time",
"server_timeout_detail": "The server did not become healthy within the timeout period.", "server_timeout_detail": "The server did not become healthy within the timeout period.",
"external_not_configured": "External server URL not configured",
"connection_failed": "Could not connect to server",
"connection_failed_detail": "The server did not respond to a health check.",
"session_not_found": "Session not found",
"create_session_failed": "Failed to create session",
"delete_session_failed": "Failed to delete session",
"abort_failed": "Failed to abort session",
"prompt_failed": "Failed to send prompt",
"permission_failed": "Failed to respond to permission",
"question_failed": "Failed to answer question",
"session_error": "Session encountered an error", "session_error": "Session encountered an error",
"session_error_detail": "The agent stopped due to an error.", "session_error_detail": "The agent stopped due to an error.",
"session_not_found": "Session not found",
"sse_disconnected": "Event stream disconnected" "sse_disconnected": "Event stream disconnected"
}, },
"notify": { "mcp": {
"title": "OpenCode", "connected": "Connected",
"new_session": "Creating new session…", "disabled": "Disabled",
"permission_title": "Permission Request", "failed": "Failed",
"permission_body": "OpenCode is waiting for your approval." "title": "MCP Servers"
}, },
"time": { "notify": {
"just_now": "just now", "new_session": "Creating new session…",
"minutes_ago": "{n}m ago", "permission_body": "OpenCode is waiting for your approval.",
"hours_ago": "{n}h ago", "permission_title": "Permission Request",
"days_ago": "{n}d ago" "title": "OpenCode"
},
"permission": {
"allow": "Allow",
"allow_remember": "Always Allow",
"default_message": "OpenCode wants to perform an action that requires your approval.",
"deny": "Deny",
"title": "Permission Required"
},
"question": {
"cancel": "Cancel",
"custom": "Custom Answer",
"submit": "Submit",
"title": "Question"
}, },
"settings": { "settings": {
"server_mode": {
"label": "Server Mode",
"description": "How the plugin connects to OpenCode. 'auto' manages a local server; 'external' connects to a user-specified URL."
},
"server_host": {
"label": "Server Host",
"description": "Hostname the managed server binds to. Default: 127.0.0.1 (loopback only)."
},
"server_port": {
"label": "Server Port",
"description": "Port the managed server listens on. Default: 4096."
},
"server_url": {
"label": "External Server URL",
"description": "Base URL of an external OpenCode server (e.g., http://127.0.0.1:4096). Used when Server Mode is 'external'."
},
"default_workspace": {
"label": "Default Workspace",
"description": "Default working directory for new sessions. Leave empty to use the current directory."
},
"default_model": {
"label": "Default Model",
"description": "Default model in 'provider/model' format (e.g., 'anthropic/claude-3-5-sonnet-20241022'). Leave empty to use server default."
},
"default_agent": {
"label": "Default Agent",
"description": "Default agent to use for new sessions. Default: 'build'."
},
"auto_start": { "auto_start": {
"label": "Auto-start Server", "description": "Automatically start the managed server when the plugin loads.",
"description": "Automatically start the managed server when the plugin loads." "label": "Auto-start Server"
},
"show_tool_calls": {
"label": "Show Tool Calls",
"description": "Display tool call status cards in the chat view."
},
"show_reasoning": {
"label": "Show Reasoning",
"description": "Display reasoning/thinking text in the chat view."
},
"notify_on_complete": {
"label": "Notify on Completion",
"description": "Show a desktop notification when a response completes."
},
"max_messages_load": {
"label": "Max Messages to Load",
"description": "Messages loaded per session (1–100). Set the slider to its top notch for unlimited. Default: 50."
}, },
"debug_logging": { "debug_logging": {
"label": "Debug Logging", "description": "Print debug messages to the Noctalia log.",
"description": "Print debug messages to the Noctalia log." "label": "Debug Logging"
},
"default_agent": {
"description": "Default agent to use for new sessions. Default: 'build'.",
"label": "Default Agent"
},
"default_model": {
"description": "Default model in 'provider/model' format (e.g., 'anthropic/claude-3-5-sonnet-20241022'). Leave empty to use server default.",
"label": "Default Model"
},
"default_workspace": {
"description": "Default working directory for new sessions. Leave empty to use the current directory.",
"label": "Default Workspace"
}, },
"language": { "language": {
"label": "Language",
"description": "Language for this plugin's UI. 'Auto' follows the Noctalia shell language.", "description": "Language for this plugin's UI. 'Auto' follows the Noctalia shell language.",
"label": "Language",
"options": { "options": {
"auto": "Auto (follow shell)", "auto": "Auto (follow shell)",
"en": "English", "en": "English",
"vi": "Tiếng Việt" "vi": "Tiếng Việt"
} }
}, },
"ui_mode": { "max_messages_load": {
"label": "UI Mode", "description": "Messages loaded per session (1–100). Set the slider to its top notch for unlimited. Default: 50.",
"description": "Full shows a spacious layout; Compact tightens padding, fonts and hides secondary details to keep the panel minimal.", "label": "Max Messages to Load"
"options": { },
"full": "Full", "notify_on_complete": {
"compact": "Compact" "description": "Show a desktop notification when a response completes.",
} "label": "Notify on Completion"
}, },
"panel_mode": { "panel_mode": {
"label": "Panel Layout",
"description": "Fill right opens a full-height panel pinned to the right edge; Compact shows the original floating panel near the bar click.", "description": "Fill right opens a full-height panel pinned to the right edge; Compact shows the original floating panel near the bar click.",
"label": "Panel Layout",
"options": { "options": {
"fill_right": "Full-height right side", "compact": "Compact (near click)",
"compact": "Compact (near click)" "fill_right": "Full-height right side"
}
},
"server_host": {
"description": "Hostname the managed server binds to. Default: 127.0.0.1 (loopback only).",
"label": "Server Host"
},
"server_mode": {
"description": "How the plugin connects to OpenCode. 'auto' manages a local server; 'external' connects to a user-specified URL.",
"label": "Server Mode"
},
"server_port": {
"description": "Port the managed server listens on. Default: 4096.",
"label": "Server Port"
},
"server_url": {
"description": "Base URL of an external OpenCode server (e.g., http://127.0.0.1:4096). Used when Server Mode is 'external'.",
"label": "External Server URL"
},
"show_reasoning": {
"description": "Display reasoning/thinking text in the chat view.",
"label": "Show Reasoning"
},
"show_tool_calls": {
"description": "Display tool call status cards in the chat view.",
"label": "Show Tool Calls"
},
"ui_mode": {
"description": "Full shows a spacious layout; Compact tightens padding, fonts and hides secondary details to keep the panel minimal.",
"label": "UI Mode",
"options": {
"compact": "Compact",
"full": "Full"
} }
} }
}, },
"question": { "state": {
"title": "Question", "tip": {
"custom": "Custom Answer", "busy": "OpenCode: processing…",
"cancel": "Cancel", "offline": "OpenCode: offline",
"submit": "Submit" "online": "OpenCode: connected",
"starting": "OpenCode: starting server…",
"waiting_permission": "OpenCode: waiting for permission"
},
"unread": "{count} unread response(s)"
},
"time": {
"days_ago": "{n}d ago",
"hours_ago": "{n}h ago",
"just_now": "just now",
"minutes_ago": "{n}m ago"
} }
} }
+129 -129
View File
@@ -1,170 +1,170 @@
{ {
"state": { "chat": {
"tip": { "assistant": "Trợ lý",
"online": "OpenCode: đã kết nối", "back": "Quay lại danh sách phiên",
"offline": "OpenCode: ngắt kết nối", "dismiss_error": "Bỏ qua",
"starting": "OpenCode: đang khởi động…", "empty": "Chưa có tin nhắn. Gửi prompt để bắt đầu.",
"busy": "OpenCode: đang xử lý…", "open_terminal": "Mở trong terminal",
"waiting_permission": "OpenCode: chờ cấp quyền" "placeholder": "Hỏi OpenCode bất cứ điều gì… (Enter = xuống dòng, Ctrl+Enter = gửi)",
}, "refresh": "Làm mới",
"unread": "{count} phản hồi chưa đọc" "select_agent": "Agent",
"select_model": "Mô hình",
"send": "Gửi (Ctrl+Enter)",
"stop": "Dừng",
"thinking": "Đang suy nghĩ…",
"title": "OpenCode Chat",
"you": "Bạn"
}, },
"chooser": { "chooser": {
"title": "OpenCode — Phiên",
"refresh": "Làm mới",
"new_session": "Tạo phiên mới",
"empty": "Chưa có phiên nào. Tạo một phiên để bắt đầu.",
"open": "Mở phiên",
"delete": "Xóa phiên", "delete": "Xóa phiên",
"delete_confirm": "Xác nhận xóa",
"delete_cancel": "Hủy", "delete_cancel": "Hủy",
"search": "Tìm phiên…", "delete_confirm": "Xác nhận xóa",
"no_match": "Không có phiên nào khớp." "empty": "Chưa có phiên nào. Tạo một phiên để bắt đầu.",
}, "new_session": "Tạo phiên mới",
"chat": { "no_match": "Không có phiên nào khớp.",
"title": "OpenCode Chat", "open": "Mở phiên",
"you": "Bạn",
"assistant": "Trợ lý",
"empty": "Chưa có tin nhắn. Gửi prompt để bắt đầu.",
"thinking": "Đang suy nghĩ…",
"stop": "Dừng",
"send": "Gửi (Ctrl+Enter)",
"refresh": "Làm mới", "refresh": "Làm mới",
"open_terminal": "Mở trong terminal", "search": "Tìm phiên…",
"back": "Quay lại danh sách phiên", "title": "OpenCode — Phiên"
"placeholder": "Hỏi OpenCode bất cứ điều gì… (Enter = xuống dòng, Ctrl+Enter = gửi)",
"select_model": "Mô hình",
"select_agent": "Agent",
"dismiss_error": "Bỏ qua"
},
"permission": {
"title": "Cần cấp quyền",
"default_message": "OpenCode muốn thực hiện một hành động cần sự chấp thuận của bạn.",
"allow": "Cho phép",
"allow_remember": "Luôn cho phép",
"deny": "Từ chối"
},
"mcp": {
"title": "Máy chủ MCP",
"connected": "Đã kết nối",
"failed": "Lỗi",
"disabled": "Đã tắt"
}, },
"error": { "error": {
"abort_failed": "Không thể hủy phiên",
"connection_failed": "Không thể kết nối đến máy chụ",
"connection_failed_detail": "Máy chủ không phản hồi health check.",
"create_session_failed": "Không thể tạo phiên",
"delete_session_failed": "Không thể xóa phiên",
"exe_not_found": "Không tìm thấy opencode trên PATH", "exe_not_found": "Không tìm thấy opencode trên PATH",
"exe_not_found_detail": "Cài đặt opencode và đảm bảo nó có trên PATH.", "exe_not_found_detail": "Cài đặt opencode và đảm bảo nó có trên PATH.",
"external_not_configured": "URL máy chủ bên ngoài chưa được cấu hình",
"permission_failed": "Không thể phản hồi yêu cầu quyền",
"prompt_failed": "Không thể gửi prompt",
"question_failed": "Không thể trả lời câu hỏi",
"server_failed": "Không thể khởi động máy chủ OpenCode", "server_failed": "Không thể khởi động máy chủ OpenCode",
"server_timeout": "Máy chủ không khởi động kịp thời gian", "server_timeout": "Máy chủ không khởi động kịp thời gian",
"server_timeout_detail": "Máy chủ không trở nên sỏng trong khoảng thời gian chờ.", "server_timeout_detail": "Máy chủ không trở nên sỏng trong khoảng thời gian chờ.",
"external_not_configured": "URL máy chủ bên ngoài chưa được cấu hình",
"connection_failed": "Không thể kết nối đến máy chụ",
"connection_failed_detail": "Máy chủ không phản hồi health check.",
"session_not_found": "Không tìm thấy phiên",
"create_session_failed": "Không thể tạo phiên",
"delete_session_failed": "Không thể xóa phiên",
"abort_failed": "Không thể hủy phiên",
"prompt_failed": "Không thể gửi prompt",
"permission_failed": "Không thể phản hồi yêu cầu quyền",
"question_failed": "Không thể trả lời câu hỏi",
"session_error": "Phiên gặp lỗi", "session_error": "Phiên gặp lỗi",
"session_error_detail": "Agent đã dừng do gặp lỗi.", "session_error_detail": "Agent đã dừng do gặp lỗi.",
"session_not_found": "Không tìm thấy phiên",
"sse_disconnected": "Luồng sự kiện đã ngắt kết nối" "sse_disconnected": "Luồng sự kiện đã ngắt kết nối"
}, },
"notify": { "mcp": {
"title": "OpenCode", "connected": "Đã kết nối",
"new_session": "Đang tạo phiên mới…", "disabled": "Đã tắt",
"permission_title": "Yêu cầu quyền", "failed": "Lỗi",
"permission_body": "OpenCode đang chờ bạn phê duyệt." "title": "Máy chủ MCP"
}, },
"time": { "notify": {
"just_now": "vừa xong", "new_session": "Đang tạo phiên mới…",
"minutes_ago": "{n} phút trước", "permission_body": "OpenCode đang chờ bạn phê duyệt.",
"hours_ago": "{n} giờ trước", "permission_title": "Yêu cầu quyền",
"days_ago": "{n} ngày trước" "title": "OpenCode"
},
"permission": {
"allow": "Cho phép",
"allow_remember": "Luôn cho phép",
"default_message": "OpenCode muốn thực hiện một hành động cần sự chấp thuận của bạn.",
"deny": "Từ chối",
"title": "Cần cấp quyền"
},
"question": {
"cancel": "Hủy",
"custom": "Trả lời tùy chỉnh",
"submit": "Gửi",
"title": "Câu hỏi"
}, },
"settings": { "settings": {
"server_mode": {
"label": "Chế độ máy chủ",
"description": "Cách plugin kết nối đến OpenCode. 'auto' quản lý máy chụ cục bộ; 'external' kết nối đến URL do người dùng chỉ định."
},
"server_host": {
"label": "Máy chủ host",
"description": "Hostname máy chủ cục bộ bind vào. Mặc định: 127.0.0.1 (chỉ loopback)."
},
"server_port": {
"label": "Cổng máy chủ",
"description": "Cổng máy chủ cục bộ lắng nghe. Mặc định: 4096."
},
"server_url": {
"label": "URL máy chủ bên ngoài",
"description": "URL cơ sở của máy chủ OpenCode bên ngoài (ví dụ: http://127.0.0.1:4096). Dùng khi chế độ máy chủ là 'external'."
},
"default_workspace": {
"label": "Thư mục làm việc mặc định",
"description": "Thư mục làm việc mặc định cho phiên mới. Để trống để dùng thư mục hiện tại."
},
"default_model": {
"label": "Model mặc định",
"description": "Model mặc định theo định dạng 'provider/model' (ví dụ: 'anthropic/claude-3-5-sonnet-20241022'). Để trống để dùng mặc định của máy chủ."
},
"default_agent": {
"label": "Agent mặc định",
"description": "Agent mặc định cho phiên mới. Mặc định: 'build'."
},
"auto_start": { "auto_start": {
"label": "Tự động khởi động", "description": "Tự động khởi động máy chủ cục bộ khi plugin tải.",
"description": "Tự động khởi động máy chủ cục bộ khi plugin tải." "label": "Tự động khởi động"
},
"show_tool_calls": {
"label": "Hiện tool calls",
"description": "Hiển thị trạng thái tool call trong khung chat."
},
"show_reasoning": {
"label": "Hiện reasoning",
"description": "Hiển thị nội dung reasoning/thinking trong khung chat."
},
"notify_on_complete": {
"label": "Thông báo khi hoàn tất",
"description": "Hiển thị thông báo trên desktop khi phản hồi hoàn tất."
},
"max_messages_load": {
"label": "Số tin nhắn tải tối đa",
"description": "Số tin nhắn tải mỗi phiên (1–100). Kéo thanh trượt lên mức cao nhất để không giới hạn. Mặc định: 50."
}, },
"debug_logging": { "debug_logging": {
"label": "Gỡ lỗi", "description": "In thông tin gỡ lỗi vào nhật ký Noctalia.",
"description": "In thông tin gỡ lỗi vào nhật ký Noctalia." "label": "Gỡ lỗi"
},
"default_agent": {
"description": "Agent mặc định cho phiên mới. Mặc định: 'build'.",
"label": "Agent mặc định"
},
"default_model": {
"description": "Model mặc định theo định dạng 'provider/model' (ví dụ: 'anthropic/claude-3-5-sonnet-20241022'). Để trống để dùng mặc định của máy chủ.",
"label": "Model mặc định"
},
"default_workspace": {
"description": "Thư mục làm việc mặc định cho phiên mới. Để trống để dùng thư mục hiện tại.",
"label": "Thư mục làm việc mặc định"
}, },
"language": { "language": {
"label": "Ngôn ngữ",
"description": "Ngôn ngữ giao diện của plugin này. 'Tự động' theo ngôn ngữ của Noctalia.", "description": "Ngôn ngữ giao diện của plugin này. 'Tự động' theo ngôn ngữ của Noctalia.",
"label": "Ngôn ngữ",
"options": { "options": {
"auto": "Tự động (theo shell)", "auto": "Tự động (theo shell)",
"en": "English", "en": "English",
"vi": "Tiếng Việt" "vi": "Tiếng Việt"
} }
}, },
"ui_mode": { "max_messages_load": {
"label": "Chế độ giao diện", "description": "Số tin nhắn tải mỗi phiên (1–100). Kéo thanh trượt lên mức cao nhất để không giới hạn. Mặc định: 50.",
"description": "Full hiển thị bố cục rộng rãi; Compact thu nhỏ padding, chữ và ẩn chi tiết phụ để panel gọn gàng tối giản.", "label": "Số tin nhắn tải tối đa"
"options": { },
"full": "Full", "notify_on_complete": {
"compact": "Compact" "description": "Hiển thị thông báo trên desktop khi phản hồi hoàn tất.",
} "label": "Thông báo khi hoàn tất"
}, },
"panel_mode": { "panel_mode": {
"label": "Kiểu panel",
"description": "Full-height sát phải mở panel cao trọn màn hình ghim vào mép phải; Compact hiển thị panel nổi gần chỗ bấm trên thanh bar.", "description": "Full-height sát phải mở panel cao trọn màn hình ghim vào mép phải; Compact hiển thị panel nổi gần chỗ bấm trên thanh bar.",
"label": "Kiểu panel",
"options": { "options": {
"fill_right": "Thanh cao full màn bên phải", "compact": "Gọn (gần điểm bấm)",
"compact": "Gọn (gần điểm bấm)" "fill_right": "Thanh cao full màn bên phải"
}
},
"server_host": {
"description": "Hostname máy chủ cục bộ bind vào. Mặc định: 127.0.0.1 (chỉ loopback).",
"label": "Máy chủ host"
},
"server_mode": {
"description": "Cách plugin kết nối đến OpenCode. 'auto' quản lý máy chụ cục bộ; 'external' kết nối đến URL do người dùng chỉ định.",
"label": "Chế độ máy chủ"
},
"server_port": {
"description": "Cổng máy chủ cục bộ lắng nghe. Mặc định: 4096.",
"label": "Cổng máy chủ"
},
"server_url": {
"description": "URL cơ sở của máy chủ OpenCode bên ngoài (ví dụ: http://127.0.0.1:4096). Dùng khi chế độ máy chủ là 'external'.",
"label": "URL máy chủ bên ngoài"
},
"show_reasoning": {
"description": "Hiển thị nội dung reasoning/thinking trong khung chat.",
"label": "Hiện reasoning"
},
"show_tool_calls": {
"description": "Hiển thị trạng thái tool call trong khung chat.",
"label": "Hiện tool calls"
},
"ui_mode": {
"description": "Full hiển thị bố cục rộng rãi; Compact thu nhỏ padding, chữ và ẩn chi tiết phụ để panel gọn gàng tối giản.",
"label": "Chế độ giao diện",
"options": {
"compact": "Compact",
"full": "Full"
} }
} }
}, },
"question": { "state": {
"title": "Câu hỏi", "tip": {
"custom": "Trả lời tùy chỉnh", "busy": "OpenCode: đang xử lý…",
"cancel": "Hủy", "offline": "OpenCode: ngắt kết nối",
"submit": "Gửi" "online": "OpenCode: đã kết nối",
"starting": "OpenCode: đang khởi động…",
"waiting_permission": "OpenCode: chờ cấp quyền"
},
"unread": "{count} phản hồi chưa đọc"
},
"time": {
"days_ago": "{n} ngày trước",
"hours_ago": "{n} giờ trước",
"just_now": "vừa xong",
"minutes_ago": "{n} phút trước"
} }
} }