From 83e78cdb99537d5de04e7051c06979bc51fd302b Mon Sep 17 00:00:00 2001 From: Hongyu Shi Date: Fri, 31 Oct 2025 17:44:31 +0800 Subject: [PATCH] chore: update i18n Signed-off-by: Hongyu Shi --- .../locales/en_US/LC_MESSAGES/messages.po | 412 +++++++++++++----- src/i18n/locales/messages.pot | 374 +++++++++++----- .../locales/zh_CN/LC_MESSAGES/messages.po | 391 ++++++++++++----- 3 files changed, 858 insertions(+), 319 deletions(-) diff --git a/src/i18n/locales/en_US/LC_MESSAGES/messages.po b/src/i18n/locales/en_US/LC_MESSAGES/messages.po index 8e5ecdf..51e3d17 100644 --- a/src/i18n/locales/en_US/LC_MESSAGES/messages.po +++ b/src/i18n/locales/en_US/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: oi-cli\n" "Report-Msgid-Bugs-To: contact@openeuler.org\n" -"POT-Creation-Date: 2025-10-21 10:54+0800\n" +"POT-Creation-Date: 2025-10-31 17:01+0800\n" "PO-Revision-Date: 2025-10-20 19:28+0800\n" "Last-Translator: openEuler Intelligence Team\n" "Language-Team: English\n" @@ -41,7 +41,7 @@ msgstr "Unknown risk" msgid "✓ 确认" msgstr "✓ Confirm" -#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:201 +#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:191 msgid "✗ 取消" msgstr "✗ Cancel" @@ -58,192 +58,251 @@ msgstr "📝 Parameter Input" msgid "请输入 {param_name}" msgstr "Please enter {param_name}" -#: src/app/mcp_widgets.py:191 -msgid "补充说明(可选)" -msgstr "Additional notes (optional)" - -#: src/app/mcp_widgets.py:200 +#: src/app/mcp_widgets.py:190 msgid "✓ 提交" msgstr "✓ Submit" -#: src/app/settings.py:63 +#: src/app/settings.py:57 msgid "设置" msgstr "Settings" -#: src/app/settings.py:66 +#: src/app/settings.py:64 src/app/dialogs/user.py:179 +msgid "保存" +msgstr "Save" + +#: src/app/settings.py:65 src/app/dialogs/user.py:180 +#: src/app/dialogs/common.py:27 +msgid "取消" +msgstr "Cancel" + +#: src/app/settings.py:174 msgid "后端:" msgstr "Backend:" -#: src/app/settings.py:76 +#: src/app/settings.py:184 msgid "Base URL:" msgstr "Base URL:" -#: src/app/settings.py:88 +#: src/app/settings.py:196 msgid "API Key:" msgstr "API Key:" -#: src/app/settings.py:95 +#: src/app/settings.py:203 msgid "API 访问密钥,可选" msgstr "API access key, optional" -#: src/app/settings.py:103 src/app/settings.py:239 +#: src/app/settings.py:213 msgid "模型:" msgstr "Model:" -#: src/app/settings.py:108 src/app/settings.py:244 +#: src/app/settings.py:218 msgid "模型名称,可选" msgstr "Model name, optional" -#: src/app/settings.py:117 src/app/settings.py:272 -msgid "MCP 工具授权:" -msgstr "MCP Tool Authorization:" - -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:274 -#: src/app/settings.py:549 src/app/settings.py:555 -msgid "自动执行" -msgstr "Auto Execute" +#: src/app/settings.py:228 +msgid "用户设置:" +msgstr "User Settings:" -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:181 -#: src/app/settings.py:274 src/app/settings.py:549 src/app/settings.py:555 -msgid "手动确认" -msgstr "Manual Confirm" +#: src/app/settings.py:230 +msgid "更改用户设置" +msgstr "Change User Settings" -#: src/app/settings.py:133 -msgid "保存" -msgstr "Save" - -#: src/app/settings.py:134 src/app/dialogs/common.py:27 -msgid "取消" -msgstr "Cancel" - -#: src/app/settings.py:437 +#: src/app/settings.py:407 msgid "Base URL 不能为空" msgstr "Base URL cannot be empty" -#: src/app/settings.py:534 -msgid "切换中..." -msgstr "Switching..." - -#: src/app/tui.py:217 +#: src/app/tui.py:216 msgid "Enter command or question..." msgstr "Enter question or command..." -#: src/app/tui.py:226 +#: src/app/tui.py:225 msgid "Quit" msgstr "Quit" -#: src/app/tui.py:227 +#: src/app/tui.py:226 msgid "Settings" msgstr "Settings" -#: src/app/tui.py:228 +#: src/app/tui.py:227 msgid "Reset" msgstr "Reset Conversation" -#: src/app/tui.py:229 +#: src/app/tui.py:228 msgid "Agent" msgstr "Select Agent" -#: src/app/tui.py:230 +#: src/app/tui.py:229 msgid "Cancel" msgstr "Cancel" -#: src/app/tui.py:231 +#: src/app/tui.py:230 msgid "Focus" msgstr "Toggle Focus" -#: src/app/tui.py:255 +#: src/app/tui.py:254 #, python-brace-format msgid "Intelligent CLI Assistant {version}" msgstr "Command Line Tool {version}" -#: src/app/tui.py:371 +#: src/app/tui.py:372 msgid "[Cancelled]" msgstr "[Cancelled]" -#: src/app/tui.py:576 +#: src/app/tui.py:588 msgid "" "No response received, please check network connection or try again later" msgstr "" "No response received, please check network connection or try again later" -#: src/app/tui.py:684 +#: src/app/tui.py:696 msgid "Request timeout, processing stopped" msgstr "Request timeout, processing stopped" -#: src/app/tui.py:691 +#: src/app/tui.py:703 msgid "No response for a long time, processing stopped" msgstr "No response for a long time, processing stopped" -#: src/app/tui.py:744 src/app/tui.py:902 +#: src/app/tui.py:756 src/app/tui.py:914 msgid "Request timeout, please try again later" msgstr "Request timeout, please try again later" -#: src/app/tui.py:888 +#: src/app/tui.py:900 #, python-brace-format msgid "Server error: {message}" msgstr "Server error: {message}" -#: src/app/tui.py:890 +#: src/app/tui.py:902 #, python-brace-format msgid "Request failed: {message}" msgstr "Request failed: {message}" -#: src/app/tui.py:894 +#: src/app/tui.py:906 msgid "Network connection interrupted, please check network and try again" msgstr "Network connection interrupted, please check network and try again" -#: src/app/tui.py:906 +#: src/app/tui.py:918 msgid "Network connection error, please check network and try again" msgstr "Network connection error, please check network and try again" -#: src/app/tui.py:915 src/app/tui.py:949 +#: src/app/tui.py:927 src/app/tui.py:961 msgid "Server response error, please try again later" msgstr "Server response error, please try again later" -#: src/app/tui.py:920 +#: src/app/tui.py:932 msgid "Data format error, please try again later" msgstr "Data format error, please try again later" -#: src/app/tui.py:927 +#: src/app/tui.py:939 msgid "Authentication failed, please check configuration" msgstr "Authentication failed, please check configuration" -#: src/app/tui.py:951 +#: src/app/tui.py:963 #, python-brace-format msgid "Error processing command: {error}" msgstr "Processing command failed with error: {error}" -#: src/app/tui.py:1170 +#: src/app/tui.py:1088 src/app/tui.py:1114 src/app/tui.py:1308 +#: src/app/tui.py:1469 src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 +#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 +#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 +#: src/tool/oi_select_agent.py:94 +msgid "智能问答" +msgstr "Smart Chat" + +#: src/app/tui.py:1214 msgid "💡 MCP response sent" msgstr "💡 MCP response sent" -#: src/app/tui.py:1173 src/app/tui.py:1202 +#: src/app/tui.py:1217 src/app/tui.py:1246 msgid "❌ Current client does not support MCP response" msgstr "❌ Current client does not support MCP response" -#: src/app/tui.py:1182 +#: src/app/tui.py:1226 #, python-brace-format msgid "❌ Failed to send MCP response: {error}" msgstr "❌ Failed to send MCP response: {error}" -#: src/app/tui.py:1249 +#: src/app/tui.py:1293 #, python-brace-format msgid "⏱️ MCP response timeout ({seconds} seconds)" msgstr "⏱️ MCP response timeout ({seconds} seconds)" -#: src/app/tui.py:1253 +#: src/app/tui.py:1297 msgid "🚫 MCP response cancelled" msgstr "🚫 MCP response cancelled" -#: src/app/tui.py:1336 +#: src/app/tui.py:1379 msgid "Backend configuration validation failed, please check and modify" msgstr "Backend configuration validation failed, please check and modify" -#: src/app/tui.py:1337 +#: src/app/tui.py:1380 msgid "Configuration Error" msgstr "Configuration Error" +#: src/app/dialogs/user.py:90 +msgid "常规设置" +msgstr "General Settings" + +#: src/app/dialogs/user.py:91 +msgid "大模型设置" +msgstr "LLM Settings" + +#: src/app/dialogs/user.py:133 +msgid "用户名:" +msgstr "Username:" + +#: src/app/dialogs/user.py:142 +msgid "未登录" +msgstr "Not logged in" + +#: src/app/dialogs/user.py:150 +msgid "管理员" +msgstr "Administrator" + +#: src/app/dialogs/user.py:150 +msgid "普通用户" +msgstr "Regular User" + +#: src/app/dialogs/user.py:164 +msgid "MCP 工具授权:" +msgstr "MCP Tool Authorization:" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "自动执行" +msgstr "Auto Execute" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "手动确认" +msgstr "Manual Confirm" + +#: src/app/dialogs/user.py:214 +msgid "加载模型失败" +msgstr "Failed to load models" + +#: src/app/dialogs/user.py:216 +msgid "加载中..." +msgstr "Loading..." + +#: src/app/dialogs/user.py:219 +msgid "暂无可用模型" +msgstr "No models available" + +#: src/app/dialogs/user.py:255 +msgid "↑↓: 选择模型 空格: 激活 回车: 保存 ESC: 取消" +msgstr "↑↓: Select model Space: Activate Enter: Save ESC: Cancel" + +#: src/app/dialogs/user.py:273 +msgid "描述: " +msgstr "Description: " + +#: src/app/dialogs/user.py:284 +msgid "类型: " +msgstr "Type: " + +#: src/app/dialogs/user.py:294 +msgid "最大 Token: " +msgstr "Max Tokens: " + #: src/app/dialogs/common.py:25 msgid "确认退出吗?" msgstr "Are you sure you want to exit?" @@ -264,13 +323,6 @@ msgstr "Please select openEuler Intelligence backend to use agent features" msgid "按任意键关闭" msgstr "Press any key to close" -#: src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 -#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 -#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 -#: src/tool/oi_select_agent.py:94 -msgid "智能问答" -msgstr "Smart Chat" - #: src/app/dialogs/agent.py:113 msgid "OS 智能助手" msgstr "OS Smart Assistant" @@ -281,6 +333,34 @@ msgstr "" "Use arrow keys to select, Enter to confirm, ESC to cancel | ✓ indicates " "current selection" +#: src/backend/hermes/client.py:395 +msgid "未配置 Chat 模型" +msgstr "Chat model not configured" + +#: src/backend/hermes/client.py:396 +msgid "配置步骤" +msgstr "Configuration steps" + +#: src/backend/hermes/client.py:397 +msgid "按 Ctrl+S 打开设置" +msgstr "Press Ctrl+S to open settings" + +#: src/backend/hermes/client.py:398 +msgid "确认后端为 openEuler Intelligence" +msgstr "Confirm backend is openEuler Intelligence" + +#: src/backend/hermes/client.py:399 +msgid "点击 \"更改用户设置\" 按钮" +msgstr "Click \"Change User Settings\" button" + +#: src/backend/hermes/client.py:400 +msgid "切换到 \"大模型设置\" 标签页" +msgstr "Switch to \"LLM Settings\" tab" + +#: src/backend/hermes/client.py:401 +msgid "使用 ↑↓ 键选择模型,空格激活,回车保存" +msgstr "Use ↑↓ to select model, space to activate, enter to save" + #: src/backend/hermes/mcp_helpers.py:44 msgid "正在初始化工具" msgstr "Initializing tool" @@ -321,11 +401,11 @@ msgstr "Name" msgid "说明" msgstr "Description" -#: src/main.py:28 +#: src/main.py:27 msgid "openEuler Intelligence - Intelligent command-line tool" msgstr "openEuler Intelligence - Command-line Client" -#: src/main.py:29 +#: src/main.py:28 msgid "" "\n" "For more information and documentation, please visit:\n" @@ -337,33 +417,33 @@ msgstr "" " https://gitee.com/openeuler/euler-copilot-shell/tree/master/docs\n" " " -#: src/main.py:39 +#: src/main.py:38 msgid "General Options" msgstr "General Options" -#: src/main.py:40 +#: src/main.py:39 msgid "Show help and version information" msgstr "Show help and version information" -#: src/main.py:46 +#: src/main.py:45 msgid "Show this help message and exit" msgstr "Show this help message and exit" -#: src/main.py:53 +#: src/main.py:52 msgid "Show program version number and exit" msgstr "Show program version number and exit" -#: src/main.py:58 +#: src/main.py:57 msgid "Backend Configuration Options" msgstr "Backend Configuration Options" -#: src/main.py:59 +#: src/main.py:58 msgid "" "For initializing and configuring openEuler Intelligence backend services" msgstr "" "For initializing and configuring openEuler Intelligence backend services" -#: src/main.py:65 +#: src/main.py:64 msgid "" "Initialize openEuler Intelligence backend\n" " * Initialization requires administrator privileges and network connection" @@ -371,7 +451,7 @@ msgstr "" "Initialize openEuler Intelligence backend\n" " * Initialization requires administrator privileges and network connection" -#: src/main.py:73 +#: src/main.py:72 msgid "" "Change openEuler Intelligence LLM settings (requires valid local backend " "service)\n" @@ -381,98 +461,110 @@ msgstr "" "service)\n" " * Configuration editing requires administrator privileges" -#: src/main.py:80 +#: src/main.py:79 msgid "Application Configuration Options" msgstr "Application Configuration Options" -#: src/main.py:81 +#: src/main.py:80 msgid "For configuring application frontend behavior and preferences" msgstr "For configuring application frontend behavior and preferences" -#: src/main.py:86 +#: src/main.py:85 msgid "Select default agent" msgstr "Select default agent" +#: src/main.py:90 +msgid "Authentication Management Options" +msgstr "Authentication Management Options" + #: src/main.py:91 +msgid "For managing login and authentication" +msgstr "For managing login and authentication" + +#: src/main.py:96 +msgid "Login via browser to obtain API key" +msgstr "Login via browser to obtain API key" + +#: src/main.py:101 msgid "Language Settings" msgstr "Language Settings" -#: src/main.py:92 +#: src/main.py:102 msgid "For configuring application display language" msgstr "For configuring application display language" -#: src/main.py:100 +#: src/main.py:110 #, python-brace-format msgid "Set display language (available: {locales})" msgstr "Set display language (available: {locales})" -#: src/main.py:105 +#: src/main.py:115 msgid "Log Management Options" msgstr "Log Management Options" -#: src/main.py:106 +#: src/main.py:116 msgid "For viewing and configuring log output" msgstr "For viewing and configuring log output" -#: src/main.py:111 +#: src/main.py:121 msgid "Show latest log content (up to 1000 lines)" msgstr "Show latest log content (up to 1000 lines)" -#: src/main.py:117 +#: src/main.py:127 msgid "Set log level (available: DEBUG, INFO, WARNING, ERROR)" msgstr "Set log level (available: DEBUG, INFO, WARNING, ERROR)" -#: src/main.py:140 +#: src/main.py:150 #, python-brace-format msgid "Failed to retrieve logs: {error}\n" msgstr "Failed to retrieve logs: {error}\n" -#: src/main.py:147 +#: src/main.py:157 #, python-brace-format msgid "Invalid log level: {level}\n" msgstr "Invalid log level: {level}\n" -#: src/main.py:156 +#: src/main.py:166 #, python-format msgid "Log level has been set to: %s" msgstr "Log level has been set to: %s" -#: src/main.py:157 +#: src/main.py:167 msgid "This is a DEBUG level test message" msgstr "This is a DEBUG level test message" -#: src/main.py:158 +#: src/main.py:168 msgid "This is an INFO level test message" msgstr "This is an INFO level test message" -#: src/main.py:159 +#: src/main.py:169 msgid "This is a WARNING level test message" msgstr "This is a WARNING level test message" -#: src/main.py:160 +#: src/main.py:170 msgid "This is an ERROR level test message" msgstr "This is an ERROR level test message" -#: src/main.py:162 +#: src/main.py:172 #, python-brace-format msgid "✓ Log level successfully set to: {level}\n" msgstr "✓ Log level successfully set to: {level}\n" -#: src/main.py:163 +#: src/main.py:173 msgid "✓ Logging system initialized\n" msgstr "✓ Logging system initialized\n" -#: src/main.py:191 +#: src/main.py:201 #, python-brace-format msgid "✓ Language set to: {locale}\n" msgstr "✓ Language set to: {locale}\n" -#: src/main.py:193 +#: src/main.py:203 #, python-brace-format msgid "✗ Unsupported language: {locale}\n" msgstr "✗ Unsupported language: {locale}\n" -#: src/main.py:228 +#: src/main.py:246 msgid "Fatal error in Intelligent Shell application" msgstr "Fatal error in Intelligent Shell application" @@ -520,7 +612,9 @@ msgstr "Error: {error}\n" #: src/tool/oi_llm_config.py:77 msgid "需要管理员权限才能修改 openEuler Intelligence 配置文件" -msgstr "Administrator privileges are required to modify openEuler Intelligence configuration files" +msgstr "" +"Administrator privileges are required to modify openEuler Intelligence " +"configuration files" #: src/tool/oi_llm_config.py:84 #, python-brace-format @@ -549,13 +643,16 @@ msgstr "Error occurred when accessing configuration file: {error}" #: src/tool/oi_llm_config.py:127 #, python-brace-format msgid "权限不足:无法访问配置文件 {filename},请以管理员身份运行" -msgstr "Insufficient permissions: Cannot access configuration file {filename}, please run as administrator" +msgstr "" +"Insufficient permissions: Cannot access configuration file {filename}, " +"please run as administrator" #: src/tool/validators.py:135 src/tool/validators.py:584 #: src/tool/validators.py:647 #, python-brace-format msgid "连接超时 - 无法在 {timeout} 秒内连接到 {endpoint}" -msgstr "Connection timeout - Unable to connect to {endpoint} within {timeout} seconds" +msgstr "" +"Connection timeout - Unable to connect to {endpoint} within {timeout} seconds" #: src/tool/validators.py:140 #, python-brace-format @@ -676,7 +773,8 @@ msgstr "OpenAI Embedding configuration validation failed: {error}" #: src/tool/validators.py:598 #, python-brace-format msgid "OpenAI Embedding 配置验证成功 - 维度: {dimension}" -msgstr "OpenAI Embedding configuration validation successful - Dimension: {dimension}" +msgstr "" +"OpenAI Embedding configuration validation successful - Dimension: {dimension}" #: src/tool/validators.py:606 msgid "OpenAI Embedding 响应为空" @@ -685,7 +783,8 @@ msgstr "OpenAI Embedding response is empty" #: src/tool/validators.py:634 #, python-brace-format msgid "MindIE Embedding 配置验证成功 - 维度: {dimension}" -msgstr "MindIE Embedding configuration validation successful - Dimension: {dimension}" +msgstr "" +"MindIE Embedding configuration validation successful - Dimension: {dimension}" #: src/tool/validators.py:644 msgid "MindIE Embedding 响应格式不正确" @@ -762,7 +861,9 @@ msgstr "[Command start failed] Unable to create subprocess" #: src/tool/command_processor.py:136 #, python-brace-format msgid "无法启动命令 '{command}',请分析可能原因并给出解决建议。" -msgstr "Unable to start command '{command}', please analyze possible causes and provide solutions." +msgstr "" +"Unable to start command '{command}', please analyze possible causes and " +"provide solutions." #: src/tool/command_processor.py:165 #, python-brace-format @@ -794,3 +895,92 @@ msgstr "" #: src/tool/command_processor.py:206 msgid "读取 stderr 失败" msgstr "Failed to read stderr" + +#: src/tool/oi_login.py:66 +#, python-brace-format +msgid "✗ Failed to get authorization URL: {error}\n" +msgstr "✗ Failed to get authorization URL: {error}\n" + +#: src/tool/oi_login.py:142 +msgid "" +"\n" +"\n" +"✗ Login cancelled by user\n" +msgstr "" +"\n" +"\n" +"✗ Login cancelled by user\n" + +#: src/tool/oi_login.py:146 +#, python-brace-format +msgid "" +"\n" +"✗ An error occurred during login: {error}\n" +msgstr "" +"\n" +"✗ An error occurred during login: {error}\n" + +#: src/tool/oi_login.py:160 +msgid "✗ Error: openEuler Intelligence URL not configured\n" +msgstr "✗ Error: openEuler Intelligence URL not configured\n" + +#: src/tool/oi_login.py:161 +msgid "Please run deployment initialization first: oi --init\n" +msgstr "Please run deployment initialization first: oi --init\n" + +#: src/tool/oi_login.py:172 +msgid "Getting authorization URL from server...\n" +msgstr "Getting authorization URL from server...\n" + +#: src/tool/oi_login.py:176 +msgid "✗ Failed to get authorization URL\n" +msgstr "✗ Failed to get authorization URL\n" + +#: src/tool/oi_login.py:185 +msgid "Opening browser for login...\n" +msgstr "Opening browser for login...\n" + +#: src/tool/oi_login.py:186 +msgid "If the browser doesn't open automatically, please visit:\n" +msgstr "If the browser doesn't open automatically, please visit:\n" + +#: src/tool/oi_login.py:193 +msgid "Waiting for login to complete...\n" +msgstr "Waiting for login to complete...\n" + +#: src/tool/oi_login.py:206 +msgid "" +"\n" +"✓ Login successful!\n" +msgstr "" +"\n" +"✓ Login successful!\n" + +#: src/tool/oi_login.py:207 +msgid "✓ API Key has been saved to configuration\n" +msgstr "✓ API Key has been saved to configuration\n" + +#: src/tool/oi_login.py:210 +msgid "" +"\n" +"✗ Login failed: No session ID received\n" +msgstr "" +"\n" +"✗ Login failed: No session ID received\n" + +#: src/tool/oi_login.py:214 +#, python-brace-format +msgid "" +"\n" +"✗ Login failed: {error}\n" +msgstr "" +"\n" +"✗ Login failed: {error}\n" + +#: src/tool/oi_login.py:217 +msgid "" +"\n" +"✗ Login failed: Unknown result\n" +msgstr "" +"\n" +"✗ Login failed: Unknown result\n" diff --git a/src/i18n/locales/messages.pot b/src/i18n/locales/messages.pot index 2031632..0f48506 100644 --- a/src/i18n/locales/messages.pot +++ b/src/i18n/locales/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: oi-cli 2.0.0\n" "Report-Msgid-Bugs-To: contact@openeuler.org\n" -"POT-Creation-Date: 2025-10-21 10:54+0800\n" +"POT-Creation-Date: 2025-10-31 17:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgstr "" msgid "✓ 确认" msgstr "" -#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:201 +#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:191 msgid "✗ 取消" msgstr "" @@ -58,191 +58,250 @@ msgstr "" msgid "请输入 {param_name}" msgstr "" -#: src/app/mcp_widgets.py:191 -msgid "补充说明(可选)" -msgstr "" - -#: src/app/mcp_widgets.py:200 +#: src/app/mcp_widgets.py:190 msgid "✓ 提交" msgstr "" -#: src/app/settings.py:63 +#: src/app/settings.py:57 msgid "设置" msgstr "" -#: src/app/settings.py:66 +#: src/app/settings.py:64 src/app/dialogs/user.py:179 +msgid "保存" +msgstr "" + +#: src/app/settings.py:65 src/app/dialogs/user.py:180 +#: src/app/dialogs/common.py:27 +msgid "取消" +msgstr "" + +#: src/app/settings.py:174 msgid "后端:" msgstr "" -#: src/app/settings.py:76 +#: src/app/settings.py:184 msgid "Base URL:" msgstr "" -#: src/app/settings.py:88 +#: src/app/settings.py:196 msgid "API Key:" msgstr "" -#: src/app/settings.py:95 +#: src/app/settings.py:203 msgid "API 访问密钥,可选" msgstr "" -#: src/app/settings.py:103 src/app/settings.py:239 +#: src/app/settings.py:213 msgid "模型:" msgstr "" -#: src/app/settings.py:108 src/app/settings.py:244 +#: src/app/settings.py:218 msgid "模型名称,可选" msgstr "" -#: src/app/settings.py:117 src/app/settings.py:272 -msgid "MCP 工具授权:" -msgstr "" - -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:274 -#: src/app/settings.py:549 src/app/settings.py:555 -msgid "自动执行" -msgstr "" - -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:181 -#: src/app/settings.py:274 src/app/settings.py:549 src/app/settings.py:555 -msgid "手动确认" -msgstr "" - -#: src/app/settings.py:133 -msgid "保存" +#: src/app/settings.py:228 +msgid "用户设置:" msgstr "" -#: src/app/settings.py:134 src/app/dialogs/common.py:27 -msgid "取消" +#: src/app/settings.py:230 +msgid "更改用户设置" msgstr "" -#: src/app/settings.py:437 +#: src/app/settings.py:407 msgid "Base URL 不能为空" msgstr "" -#: src/app/settings.py:534 -msgid "切换中..." -msgstr "" - -#: src/app/tui.py:217 +#: src/app/tui.py:216 msgid "Enter command or question..." msgstr "" -#: src/app/tui.py:226 +#: src/app/tui.py:225 msgid "Quit" msgstr "" -#: src/app/tui.py:227 +#: src/app/tui.py:226 msgid "Settings" msgstr "" -#: src/app/tui.py:228 +#: src/app/tui.py:227 msgid "Reset" msgstr "" -#: src/app/tui.py:229 +#: src/app/tui.py:228 msgid "Agent" msgstr "" -#: src/app/tui.py:230 +#: src/app/tui.py:229 msgid "Cancel" msgstr "" -#: src/app/tui.py:231 +#: src/app/tui.py:230 msgid "Focus" msgstr "" -#: src/app/tui.py:255 +#: src/app/tui.py:254 #, python-brace-format msgid "Intelligent CLI Assistant {version}" msgstr "" -#: src/app/tui.py:371 +#: src/app/tui.py:372 msgid "[Cancelled]" msgstr "" -#: src/app/tui.py:576 +#: src/app/tui.py:588 msgid "" "No response received, please check network connection or try again later" msgstr "" -#: src/app/tui.py:684 +#: src/app/tui.py:696 msgid "Request timeout, processing stopped" msgstr "" -#: src/app/tui.py:691 +#: src/app/tui.py:703 msgid "No response for a long time, processing stopped" msgstr "" -#: src/app/tui.py:744 src/app/tui.py:902 +#: src/app/tui.py:756 src/app/tui.py:914 msgid "Request timeout, please try again later" msgstr "" -#: src/app/tui.py:888 +#: src/app/tui.py:900 #, python-brace-format msgid "Server error: {message}" msgstr "" -#: src/app/tui.py:890 +#: src/app/tui.py:902 #, python-brace-format msgid "Request failed: {message}" msgstr "" -#: src/app/tui.py:894 +#: src/app/tui.py:906 msgid "Network connection interrupted, please check network and try again" msgstr "" -#: src/app/tui.py:906 +#: src/app/tui.py:918 msgid "Network connection error, please check network and try again" msgstr "" -#: src/app/tui.py:915 src/app/tui.py:949 +#: src/app/tui.py:927 src/app/tui.py:961 msgid "Server response error, please try again later" msgstr "" -#: src/app/tui.py:920 +#: src/app/tui.py:932 msgid "Data format error, please try again later" msgstr "" -#: src/app/tui.py:927 +#: src/app/tui.py:939 msgid "Authentication failed, please check configuration" msgstr "" -#: src/app/tui.py:951 +#: src/app/tui.py:963 #, python-brace-format msgid "Error processing command: {error}" msgstr "" -#: src/app/tui.py:1170 +#: src/app/tui.py:1088 src/app/tui.py:1114 src/app/tui.py:1308 +#: src/app/tui.py:1469 src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 +#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 +#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 +#: src/tool/oi_select_agent.py:94 +msgid "智能问答" +msgstr "" + +#: src/app/tui.py:1214 msgid "💡 MCP response sent" msgstr "" -#: src/app/tui.py:1173 src/app/tui.py:1202 +#: src/app/tui.py:1217 src/app/tui.py:1246 msgid "❌ Current client does not support MCP response" msgstr "" -#: src/app/tui.py:1182 +#: src/app/tui.py:1226 #, python-brace-format msgid "❌ Failed to send MCP response: {error}" msgstr "" -#: src/app/tui.py:1249 +#: src/app/tui.py:1293 #, python-brace-format msgid "⏱️ MCP response timeout ({seconds} seconds)" msgstr "" -#: src/app/tui.py:1253 +#: src/app/tui.py:1297 msgid "🚫 MCP response cancelled" msgstr "" -#: src/app/tui.py:1336 +#: src/app/tui.py:1379 msgid "Backend configuration validation failed, please check and modify" msgstr "" -#: src/app/tui.py:1337 +#: src/app/tui.py:1380 msgid "Configuration Error" msgstr "" +#: src/app/dialogs/user.py:90 +msgid "常规设置" +msgstr "" + +#: src/app/dialogs/user.py:91 +msgid "大模型设置" +msgstr "" + +#: src/app/dialogs/user.py:133 +msgid "用户名:" +msgstr "" + +#: src/app/dialogs/user.py:142 +msgid "未登录" +msgstr "" + +#: src/app/dialogs/user.py:150 +msgid "管理员" +msgstr "" + +#: src/app/dialogs/user.py:150 +msgid "普通用户" +msgstr "" + +#: src/app/dialogs/user.py:164 +msgid "MCP 工具授权:" +msgstr "" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "自动执行" +msgstr "" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "手动确认" +msgstr "" + +#: src/app/dialogs/user.py:214 +msgid "加载模型失败" +msgstr "" + +#: src/app/dialogs/user.py:216 +msgid "加载中..." +msgstr "" + +#: src/app/dialogs/user.py:219 +msgid "暂无可用模型" +msgstr "" + +#: src/app/dialogs/user.py:255 +msgid "↑↓: 选择模型 空格: 激活 回车: 保存 ESC: 取消" +msgstr "" + +#: src/app/dialogs/user.py:273 +msgid "描述: " +msgstr "" + +#: src/app/dialogs/user.py:284 +msgid "类型: " +msgstr "" + +#: src/app/dialogs/user.py:294 +msgid "最大 Token: " +msgstr "" + #: src/app/dialogs/common.py:25 msgid "确认退出吗?" msgstr "" @@ -263,13 +322,6 @@ msgstr "" msgid "按任意键关闭" msgstr "" -#: src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 -#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 -#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 -#: src/tool/oi_select_agent.py:94 -msgid "智能问答" -msgstr "" - #: src/app/dialogs/agent.py:113 msgid "OS 智能助手" msgstr "" @@ -278,6 +330,34 @@ msgstr "" msgid "使用上下键选择,回车确认,ESC取消 | ✓ 表示当前选中" msgstr "" +#: src/backend/hermes/client.py:395 +msgid "未配置 Chat 模型" +msgstr "" + +#: src/backend/hermes/client.py:396 +msgid "配置步骤" +msgstr "" + +#: src/backend/hermes/client.py:397 +msgid "按 Ctrl+S 打开设置" +msgstr "" + +#: src/backend/hermes/client.py:398 +msgid "确认后端为 openEuler Intelligence" +msgstr "" + +#: src/backend/hermes/client.py:399 +msgid "点击 \"更改用户设置\" 按钮" +msgstr "" + +#: src/backend/hermes/client.py:400 +msgid "切换到 \"大模型设置\" 标签页" +msgstr "" + +#: src/backend/hermes/client.py:401 +msgid "使用 ↑↓ 键选择模型,空格激活,回车保存" +msgstr "" + #: src/backend/hermes/mcp_helpers.py:44 msgid "正在初始化工具" msgstr "" @@ -318,11 +398,11 @@ msgstr "" msgid "说明" msgstr "" -#: src/main.py:28 +#: src/main.py:27 msgid "openEuler Intelligence - Intelligent command-line tool" msgstr "" -#: src/main.py:29 +#: src/main.py:28 msgid "" "\n" "For more information and documentation, please visit:\n" @@ -330,136 +410,148 @@ msgid "" " " msgstr "" -#: src/main.py:39 +#: src/main.py:38 msgid "General Options" msgstr "" -#: src/main.py:40 +#: src/main.py:39 msgid "Show help and version information" msgstr "" -#: src/main.py:46 +#: src/main.py:45 msgid "Show this help message and exit" msgstr "" -#: src/main.py:53 +#: src/main.py:52 msgid "Show program version number and exit" msgstr "" -#: src/main.py:58 +#: src/main.py:57 msgid "Backend Configuration Options" msgstr "" -#: src/main.py:59 +#: src/main.py:58 msgid "" "For initializing and configuring openEuler Intelligence backend services" msgstr "" -#: src/main.py:65 +#: src/main.py:64 msgid "" "Initialize openEuler Intelligence backend\n" " * Initialization requires administrator privileges and network connection" msgstr "" -#: src/main.py:73 +#: src/main.py:72 msgid "" "Change openEuler Intelligence LLM settings (requires valid local backend " "service)\n" " * Configuration editing requires administrator privileges" msgstr "" -#: src/main.py:80 +#: src/main.py:79 msgid "Application Configuration Options" msgstr "" -#: src/main.py:81 +#: src/main.py:80 msgid "For configuring application frontend behavior and preferences" msgstr "" -#: src/main.py:86 +#: src/main.py:85 msgid "Select default agent" msgstr "" +#: src/main.py:90 +msgid "Authentication Management Options" +msgstr "" + #: src/main.py:91 +msgid "For managing login and authentication" +msgstr "" + +#: src/main.py:96 +msgid "Login via browser to obtain API key" +msgstr "" + +#: src/main.py:101 msgid "Language Settings" msgstr "" -#: src/main.py:92 +#: src/main.py:102 msgid "For configuring application display language" msgstr "" -#: src/main.py:100 +#: src/main.py:110 #, python-brace-format msgid "Set display language (available: {locales})" msgstr "" -#: src/main.py:105 +#: src/main.py:115 msgid "Log Management Options" msgstr "" -#: src/main.py:106 +#: src/main.py:116 msgid "For viewing and configuring log output" msgstr "" -#: src/main.py:111 +#: src/main.py:121 msgid "Show latest log content (up to 1000 lines)" msgstr "" -#: src/main.py:117 +#: src/main.py:127 msgid "Set log level (available: DEBUG, INFO, WARNING, ERROR)" msgstr "" -#: src/main.py:140 +#: src/main.py:150 #, python-brace-format msgid "Failed to retrieve logs: {error}\n" msgstr "" -#: src/main.py:147 +#: src/main.py:157 #, python-brace-format msgid "Invalid log level: {level}\n" msgstr "" -#: src/main.py:156 +#: src/main.py:166 #, python-format msgid "Log level has been set to: %s" msgstr "" -#: src/main.py:157 +#: src/main.py:167 msgid "This is a DEBUG level test message" msgstr "" -#: src/main.py:158 +#: src/main.py:168 msgid "This is an INFO level test message" msgstr "" -#: src/main.py:159 +#: src/main.py:169 msgid "This is a WARNING level test message" msgstr "" -#: src/main.py:160 +#: src/main.py:170 msgid "This is an ERROR level test message" msgstr "" -#: src/main.py:162 +#: src/main.py:172 #, python-brace-format msgid "✓ Log level successfully set to: {level}\n" msgstr "" -#: src/main.py:163 +#: src/main.py:173 msgid "✓ Logging system initialized\n" msgstr "" -#: src/main.py:191 +#: src/main.py:201 #, python-brace-format msgid "✓ Language set to: {locale}\n" msgstr "" -#: src/main.py:193 +#: src/main.py:203 #, python-brace-format msgid "✗ Unsupported language: {locale}\n" msgstr "" -#: src/main.py:228 +#: src/main.py:246 msgid "Fatal error in Intelligent Shell application" msgstr "" @@ -773,3 +865,79 @@ msgstr "" #: src/tool/command_processor.py:206 msgid "读取 stderr 失败" msgstr "" + +#: src/tool/oi_login.py:66 +#, python-brace-format +msgid "✗ Failed to get authorization URL: {error}\n" +msgstr "" + +#: src/tool/oi_login.py:142 +msgid "" +"\n" +"\n" +"✗ Login cancelled by user\n" +msgstr "" + +#: src/tool/oi_login.py:146 +#, python-brace-format +msgid "" +"\n" +"✗ An error occurred during login: {error}\n" +msgstr "" + +#: src/tool/oi_login.py:160 +msgid "✗ Error: openEuler Intelligence URL not configured\n" +msgstr "" + +#: src/tool/oi_login.py:161 +msgid "Please run deployment initialization first: oi --init\n" +msgstr "" + +#: src/tool/oi_login.py:172 +msgid "Getting authorization URL from server...\n" +msgstr "" + +#: src/tool/oi_login.py:176 +msgid "✗ Failed to get authorization URL\n" +msgstr "" + +#: src/tool/oi_login.py:185 +msgid "Opening browser for login...\n" +msgstr "" + +#: src/tool/oi_login.py:186 +msgid "If the browser doesn't open automatically, please visit:\n" +msgstr "" + +#: src/tool/oi_login.py:193 +msgid "Waiting for login to complete...\n" +msgstr "" + +#: src/tool/oi_login.py:206 +msgid "" +"\n" +"✓ Login successful!\n" +msgstr "" + +#: src/tool/oi_login.py:207 +msgid "✓ API Key has been saved to configuration\n" +msgstr "" + +#: src/tool/oi_login.py:210 +msgid "" +"\n" +"✗ Login failed: No session ID received\n" +msgstr "" + +#: src/tool/oi_login.py:214 +#, python-brace-format +msgid "" +"\n" +"✗ Login failed: {error}\n" +msgstr "" + +#: src/tool/oi_login.py:217 +msgid "" +"\n" +"✗ Login failed: Unknown result\n" +msgstr "" diff --git a/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po b/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po index c0926a4..1170717 100644 --- a/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po +++ b/src/i18n/locales/zh_CN/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: oi-cli\n" "Report-Msgid-Bugs-To: contact@openeuler.org\n" -"POT-Creation-Date: 2025-10-21 10:54+0800\n" +"POT-Creation-Date: 2025-10-31 17:01+0800\n" "PO-Revision-Date: 2025-10-21 09:40+0800\n" "Last-Translator: openEuler Intelligence Team\n" "Language-Team: Chinese (Simplified)\n" @@ -41,7 +41,7 @@ msgstr "未知风险" msgid "✓ 确认" msgstr "✓ 确认" -#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:201 +#: src/app/mcp_widgets.py:82 src/app/mcp_widgets.py:191 msgid "✗ 取消" msgstr "✗ 取消" @@ -58,191 +58,250 @@ msgstr "📝 参数输入" msgid "请输入 {param_name}" msgstr "请输入 {param_name}" -#: src/app/mcp_widgets.py:191 -msgid "补充说明(可选)" -msgstr "补充说明(可选)" - -#: src/app/mcp_widgets.py:200 +#: src/app/mcp_widgets.py:190 msgid "✓ 提交" msgstr "✓ 提交" -#: src/app/settings.py:63 +#: src/app/settings.py:57 msgid "设置" msgstr "设置" -#: src/app/settings.py:66 +#: src/app/settings.py:64 src/app/dialogs/user.py:179 +msgid "保存" +msgstr "保存" + +#: src/app/settings.py:65 src/app/dialogs/user.py:180 +#: src/app/dialogs/common.py:27 +msgid "取消" +msgstr "取消" + +#: src/app/settings.py:174 msgid "后端:" msgstr "后端:" -#: src/app/settings.py:76 +#: src/app/settings.py:184 msgid "Base URL:" msgstr "基础 URL:" -#: src/app/settings.py:88 +#: src/app/settings.py:196 msgid "API Key:" msgstr "API 密钥:" -#: src/app/settings.py:95 +#: src/app/settings.py:203 msgid "API 访问密钥,可选" msgstr "API 访问密钥,可选" -#: src/app/settings.py:103 src/app/settings.py:239 +#: src/app/settings.py:213 msgid "模型:" msgstr "模型:" -#: src/app/settings.py:108 src/app/settings.py:244 +#: src/app/settings.py:218 msgid "模型名称,可选" msgstr "模型名称,可选" -#: src/app/settings.py:117 src/app/settings.py:272 -msgid "MCP 工具授权:" -msgstr "MCP 工具授权:" +#: src/app/settings.py:228 +msgid "用户设置:" +msgstr "用户设置:" -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:274 -#: src/app/settings.py:549 src/app/settings.py:555 -msgid "自动执行" -msgstr "自动执行" - -#: src/app/settings.py:119 src/app/settings.py:174 src/app/settings.py:181 -#: src/app/settings.py:274 src/app/settings.py:549 src/app/settings.py:555 -msgid "手动确认" -msgstr "手动确认" - -#: src/app/settings.py:133 -msgid "保存" -msgstr "保存" +#: src/app/settings.py:230 +msgid "更改用户设置" +msgstr "更改用户设置" -#: src/app/settings.py:134 src/app/dialogs/common.py:27 -msgid "取消" -msgstr "取消" - -#: src/app/settings.py:437 +#: src/app/settings.py:407 msgid "Base URL 不能为空" msgstr "基础 URL 不能为空" -#: src/app/settings.py:534 -msgid "切换中..." -msgstr "切换中..." - -#: src/app/tui.py:217 +#: src/app/tui.py:216 msgid "Enter command or question..." msgstr "输入命令或问题..." -#: src/app/tui.py:226 +#: src/app/tui.py:225 msgid "Quit" msgstr "退出" -#: src/app/tui.py:227 +#: src/app/tui.py:226 msgid "Settings" msgstr "设置" -#: src/app/tui.py:228 +#: src/app/tui.py:227 msgid "Reset" msgstr "重置对话" -#: src/app/tui.py:229 +#: src/app/tui.py:228 msgid "Agent" msgstr "选择智能体" -#: src/app/tui.py:230 +#: src/app/tui.py:229 msgid "Cancel" msgstr "取消" -#: src/app/tui.py:231 +#: src/app/tui.py:230 msgid "Focus" msgstr "切换焦点" -#: src/app/tui.py:255 +#: src/app/tui.py:254 #, python-brace-format msgid "Intelligent CLI Assistant {version}" msgstr "智能命令行助手 {version}" -#: src/app/tui.py:371 +#: src/app/tui.py:372 msgid "[Cancelled]" msgstr "[已取消]" -#: src/app/tui.py:576 +#: src/app/tui.py:588 msgid "" "No response received, please check network connection or try again later" msgstr "没有收到响应,请检查网络连接或稍后重试" -#: src/app/tui.py:684 +#: src/app/tui.py:696 msgid "Request timeout, processing stopped" msgstr "请求超时,已停止处理" -#: src/app/tui.py:691 +#: src/app/tui.py:703 msgid "No response for a long time, processing stopped" msgstr "长时间无响应,已停止处理" -#: src/app/tui.py:744 src/app/tui.py:902 +#: src/app/tui.py:756 src/app/tui.py:914 msgid "Request timeout, please try again later" msgstr "请求超时,请稍后重试" -#: src/app/tui.py:888 +#: src/app/tui.py:900 #, python-brace-format msgid "Server error: {message}" msgstr "服务端错误: {message}" -#: src/app/tui.py:890 +#: src/app/tui.py:902 #, python-brace-format msgid "Request failed: {message}" msgstr "请求失败: {message}" -#: src/app/tui.py:894 +#: src/app/tui.py:906 msgid "Network connection interrupted, please check network and try again" msgstr "网络连接异常中断,请检查网络连接后重试" -#: src/app/tui.py:906 +#: src/app/tui.py:918 msgid "Network connection error, please check network and try again" msgstr "网络连接错误,请检查网络后重试" -#: src/app/tui.py:915 src/app/tui.py:949 +#: src/app/tui.py:927 src/app/tui.py:961 msgid "Server response error, please try again later" msgstr "服务端响应异常,请稍后重试" -#: src/app/tui.py:920 +#: src/app/tui.py:932 msgid "Data format error, please try again later" msgstr "数据格式错误,请稍后重试" -#: src/app/tui.py:927 +#: src/app/tui.py:939 msgid "Authentication failed, please check configuration" msgstr "认证失败,请检查配置" -#: src/app/tui.py:951 +#: src/app/tui.py:963 #, python-brace-format msgid "Error processing command: {error}" msgstr "处理命令时出错: {error}" -#: src/app/tui.py:1170 +#: src/app/tui.py:1088 src/app/tui.py:1114 src/app/tui.py:1308 +#: src/app/tui.py:1469 src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 +#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 +#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 +#: src/tool/oi_select_agent.py:94 +msgid "智能问答" +msgstr "智能问答" + +#: src/app/tui.py:1214 msgid "💡 MCP response sent" msgstr "💡 MCP 响应已发送" -#: src/app/tui.py:1173 src/app/tui.py:1202 +#: src/app/tui.py:1217 src/app/tui.py:1246 msgid "❌ Current client does not support MCP response" msgstr "❌ 当前客户端不支持 MCP 响应功能" -#: src/app/tui.py:1182 +#: src/app/tui.py:1226 #, python-brace-format msgid "❌ Failed to send MCP response: {error}" msgstr "❌ 发送 MCP 响应失败: {error}" -#: src/app/tui.py:1249 +#: src/app/tui.py:1293 #, python-brace-format msgid "⏱️ MCP response timeout ({seconds} seconds)" msgstr "⏱️ MCP 响应超时 ({seconds}秒)" -#: src/app/tui.py:1253 +#: src/app/tui.py:1297 msgid "🚫 MCP response cancelled" msgstr "🚫 MCP 响应被取消" -#: src/app/tui.py:1336 +#: src/app/tui.py:1379 msgid "Backend configuration validation failed, please check and modify" msgstr "后端配置验证失败,请检查并修改配置" -#: src/app/tui.py:1337 +#: src/app/tui.py:1380 msgid "Configuration Error" msgstr "配置错误" +#: src/app/dialogs/user.py:90 +msgid "常规设置" +msgstr "常规设置" + +#: src/app/dialogs/user.py:91 +msgid "大模型设置" +msgstr "大模型设置" + +#: src/app/dialogs/user.py:133 +msgid "用户名:" +msgstr "用户名:" + +#: src/app/dialogs/user.py:142 +msgid "未登录" +msgstr "未登录" + +#: src/app/dialogs/user.py:150 +msgid "管理员" +msgstr "管理员" + +#: src/app/dialogs/user.py:150 +msgid "普通用户" +msgstr "普通用户" + +#: src/app/dialogs/user.py:164 +msgid "MCP 工具授权:" +msgstr "MCP 工具授权:" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "自动执行" +msgstr "自动执行" + +#: src/app/dialogs/user.py:166 src/app/dialogs/user.py:374 +msgid "手动确认" +msgstr "手动确认" + +#: src/app/dialogs/user.py:214 +msgid "加载模型失败" +msgstr "加载模型失败" + +#: src/app/dialogs/user.py:216 +msgid "加载中..." +msgstr "加载中..." + +#: src/app/dialogs/user.py:219 +msgid "暂无可用模型" +msgstr "暂无可用模型" + +#: src/app/dialogs/user.py:255 +msgid "↑↓: 选择模型 空格: 激活 回车: 保存 ESC: 取消" +msgstr "↑↓: 选择模型 空格: 激活 回车: 保存 ESC: 取消" + +#: src/app/dialogs/user.py:273 +msgid "描述: " +msgstr "描述: " + +#: src/app/dialogs/user.py:284 +msgid "类型: " +msgstr "类型: " + +#: src/app/dialogs/user.py:294 +msgid "最大 Token: " +msgstr "最大 Token: " + #: src/app/dialogs/common.py:25 msgid "确认退出吗?" msgstr "确认退出吗?" @@ -263,13 +322,6 @@ msgstr "请选择 openEuler Intelligence 后端来使用智能体功能" msgid "按任意键关闭" msgstr "按任意键关闭" -#: src/app/dialogs/agent.py:60 src/app/dialogs/agent.py:130 -#: src/app/dialogs/agent.py:185 src/app/dialogs/agent.py:205 -#: src/app/dialogs/agent.py:208 src/tool/oi_select_agent.py:67 -#: src/tool/oi_select_agent.py:94 -msgid "智能问答" -msgstr "智能问答" - #: src/app/dialogs/agent.py:113 msgid "OS 智能助手" msgstr "OS 智能助手" @@ -278,6 +330,34 @@ msgstr "OS 智能助手" msgid "使用上下键选择,回车确认,ESC取消 | ✓ 表示当前选中" msgstr "使用上下键选择,回车确认,ESC取消 | ✓ 表示当前选中" +#: src/backend/hermes/client.py:395 +msgid "未配置 Chat 模型" +msgstr "未配置 Chat 模型" + +#: src/backend/hermes/client.py:396 +msgid "配置步骤" +msgstr "配置步骤" + +#: src/backend/hermes/client.py:397 +msgid "按 Ctrl+S 打开设置" +msgstr "按 Ctrl+S 打开设置" + +#: src/backend/hermes/client.py:398 +msgid "确认后端为 openEuler Intelligence" +msgstr "确认后端为 openEuler Intelligence" + +#: src/backend/hermes/client.py:399 +msgid "点击 \"更改用户设置\" 按钮" +msgstr "点击 \"更改用户设置\" 按钮" + +#: src/backend/hermes/client.py:400 +msgid "切换到 \"大模型设置\" 标签页" +msgstr "切换到 \"大模型设置\" 标签页" + +#: src/backend/hermes/client.py:401 +msgid "使用 ↑↓ 键选择模型,空格激活,回车保存" +msgstr "使用 ↑↓ 键选择模型,空格激活,回车保存" + #: src/backend/hermes/mcp_helpers.py:44 msgid "正在初始化工具" msgstr "正在初始化工具" @@ -318,11 +398,11 @@ msgstr "名称" msgid "说明" msgstr "说明" -#: src/main.py:28 +#: src/main.py:27 msgid "openEuler Intelligence - Intelligent command-line tool" msgstr "openEuler Intelligence - 智能命令行助手" -#: src/main.py:29 +#: src/main.py:28 msgid "" "\n" "For more information and documentation, please visit:\n" @@ -334,32 +414,32 @@ msgstr "" " https://gitee.com/openeuler/euler-copilot-shell/tree/master/docs\n" " " -#: src/main.py:39 +#: src/main.py:38 msgid "General Options" msgstr "通用选项" -#: src/main.py:40 +#: src/main.py:39 msgid "Show help and version information" msgstr "显示帮助信息和版本信息" -#: src/main.py:46 +#: src/main.py:45 msgid "Show this help message and exit" msgstr "显示此帮助信息并退出" -#: src/main.py:53 +#: src/main.py:52 msgid "Show program version number and exit" msgstr "显示程序版本号并退出" -#: src/main.py:58 +#: src/main.py:57 msgid "Backend Configuration Options" msgstr "后端配置选项" -#: src/main.py:59 +#: src/main.py:58 msgid "" "For initializing and configuring openEuler Intelligence backend services" msgstr "用于初始化和配置 openEuler Intelligence 后端服务" -#: src/main.py:65 +#: src/main.py:64 msgid "" "Initialize openEuler Intelligence backend\n" " * Initialization requires administrator privileges and network connection" @@ -367,7 +447,7 @@ msgstr "" "初始化 openEuler Intelligence 后端\n" " * 初始化操作需要管理员权限和网络连接" -#: src/main.py:73 +#: src/main.py:72 msgid "" "Change openEuler Intelligence LLM settings (requires valid local backend " "service)\n" @@ -376,98 +456,110 @@ msgstr "" "更改 openEuler Intelligence 大模型设置(需要有效的本地后端服务)\n" " * 配置编辑操作需要管理员权限" -#: src/main.py:80 +#: src/main.py:79 msgid "Application Configuration Options" msgstr "应用配置选项" -#: src/main.py:81 +#: src/main.py:80 msgid "For configuring application frontend behavior and preferences" msgstr "用于配置应用前端行为和偏好设置" -#: src/main.py:86 +#: src/main.py:85 msgid "Select default agent" msgstr "选择默认智能体" +#: src/main.py:90 +msgid "Authentication Management Options" +msgstr "身份认证管理选项" + #: src/main.py:91 +msgid "For managing login and authentication" +msgstr "用于管理登录和身份认证" + +#: src/main.py:96 +msgid "Login via browser to obtain API key" +msgstr "通过浏览器登录以获取 API 密钥" + +#: src/main.py:101 msgid "Language Settings" msgstr "语言设置" -#: src/main.py:92 +#: src/main.py:102 msgid "For configuring application display language" msgstr "用于配置应用显示语言" -#: src/main.py:100 +#: src/main.py:110 #, python-brace-format msgid "Set display language (available: {locales})" msgstr "设置显示语言 (可选: {locales})" -#: src/main.py:105 +#: src/main.py:115 msgid "Log Management Options" msgstr "日志管理选项" -#: src/main.py:106 +#: src/main.py:116 msgid "For viewing and configuring log output" msgstr "用于查看和配置日志输出" -#: src/main.py:111 +#: src/main.py:121 msgid "Show latest log content (up to 1000 lines)" msgstr "显示最新的日志内容(最多1000行)" -#: src/main.py:117 +#: src/main.py:127 msgid "Set log level (available: DEBUG, INFO, WARNING, ERROR)" msgstr "设置日志级别 (可选: DEBUG, INFO, WARNING, ERROR)" -#: src/main.py:140 +#: src/main.py:150 #, python-brace-format msgid "Failed to retrieve logs: {error}\n" msgstr "获取日志失败: {error}\n" -#: src/main.py:147 +#: src/main.py:157 #, python-brace-format msgid "Invalid log level: {level}\n" msgstr "无效的日志级别: {level}\n" -#: src/main.py:156 +#: src/main.py:166 #, python-format msgid "Log level has been set to: %s" msgstr "日志级别已设置为: %s" -#: src/main.py:157 +#: src/main.py:167 msgid "This is a DEBUG level test message" msgstr "这是一条 DEBUG 级别的测试消息" -#: src/main.py:158 +#: src/main.py:168 msgid "This is an INFO level test message" msgstr "这是一条 INFO 级别的测试消息" -#: src/main.py:159 +#: src/main.py:169 msgid "This is a WARNING level test message" msgstr "这是一条 WARNING 级别的测试消息" -#: src/main.py:160 +#: src/main.py:170 msgid "This is an ERROR level test message" msgstr "这是一条 ERROR 级别的测试消息" -#: src/main.py:162 +#: src/main.py:172 #, python-brace-format msgid "✓ Log level successfully set to: {level}\n" msgstr "✓ 日志级别已成功设置为: {level}\n" -#: src/main.py:163 +#: src/main.py:173 msgid "✓ Logging system initialized\n" msgstr "✓ 日志系统初始化完成\n" -#: src/main.py:191 +#: src/main.py:201 #, python-brace-format msgid "✓ Language set to: {locale}\n" msgstr "✓ 语言已设置为: {locale}\n" -#: src/main.py:193 +#: src/main.py:203 #, python-brace-format msgid "✗ Unsupported language: {locale}\n" msgstr "✗ 不支持的语言: {locale}\n" -#: src/main.py:228 +#: src/main.py:246 msgid "Fatal error in Intelligent Shell application" msgstr "智能 Shell 应用发生致命错误" @@ -788,3 +880,92 @@ msgstr "" #: src/tool/command_processor.py:206 msgid "读取 stderr 失败" msgstr "读取 stderr 失败" + +#: src/tool/oi_login.py:66 +#, python-brace-format +msgid "✗ Failed to get authorization URL: {error}\n" +msgstr "✗ 获取授权 URL 失败: {error}\n" + +#: src/tool/oi_login.py:142 +msgid "" +"\n" +"\n" +"✗ Login cancelled by user\n" +msgstr "" +"\n" +"\n" +"✗ 用户取消登录\n" + +#: src/tool/oi_login.py:146 +#, python-brace-format +msgid "" +"\n" +"✗ An error occurred during login: {error}\n" +msgstr "" +"\n" +"✗ 登录过程中发生错误: {error}\n" + +#: src/tool/oi_login.py:160 +msgid "✗ Error: openEuler Intelligence URL not configured\n" +msgstr "✗ 错误: openEuler Intelligence URL 未配置\n" + +#: src/tool/oi_login.py:161 +msgid "Please run deployment initialization first: oi --init\n" +msgstr "请先运行部署初始化: oi --init\n" + +#: src/tool/oi_login.py:172 +msgid "Getting authorization URL from server...\n" +msgstr "正在从服务器获取授权 URL...\n" + +#: src/tool/oi_login.py:176 +msgid "✗ Failed to get authorization URL\n" +msgstr "✗ 获取授权 URL 失败\n" + +#: src/tool/oi_login.py:185 +msgid "Opening browser for login...\n" +msgstr "正在打开浏览器进行登录...\n" + +#: src/tool/oi_login.py:186 +msgid "If the browser doesn't open automatically, please visit:\n" +msgstr "如果浏览器没有自动打开,请访问:\n" + +#: src/tool/oi_login.py:193 +msgid "Waiting for login to complete...\n" +msgstr "等待登录完成...\n" + +#: src/tool/oi_login.py:206 +msgid "" +"\n" +"✓ Login successful!\n" +msgstr "" +"\n" +"✓ 登录成功!\n" + +#: src/tool/oi_login.py:207 +msgid "✓ API Key has been saved to configuration\n" +msgstr "✓ API 密钥已保存到配置\n" + +#: src/tool/oi_login.py:210 +msgid "" +"\n" +"✗ Login failed: No session ID received\n" +msgstr "" +"\n" +"✗ 登录失败: 未收到会话 ID\n" + +#: src/tool/oi_login.py:214 +#, python-brace-format +msgid "" +"\n" +"✗ Login failed: {error}\n" +msgstr "" +"\n" +"✗ 登录失败: {error}\n" + +#: src/tool/oi_login.py:217 +msgid "" +"\n" +"✗ Login failed: Unknown result\n" +msgstr "" +"\n" +"✗ 登录失败: 未知结果\n" -- Gitee