auto-coder 1.0.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

Files changed (574) hide show
  1. auto_coder-2.0.0.dist-info/LICENSE +158 -0
  2. auto_coder-2.0.0.dist-info/METADATA +558 -0
  3. auto_coder-2.0.0.dist-info/RECORD +795 -0
  4. {auto_coder-1.0.0.dist-info → auto_coder-2.0.0.dist-info}/WHEEL +1 -1
  5. {auto_coder-1.0.0.dist-info → auto_coder-2.0.0.dist-info}/entry_points.txt +3 -3
  6. autocoder/__init__.py +31 -0
  7. autocoder/agent/auto_filegroup.py +32 -13
  8. autocoder/agent/auto_learn_from_commit.py +9 -1
  9. autocoder/agent/base_agentic/__init__.py +3 -0
  10. autocoder/agent/base_agentic/agent_hub.py +1 -1
  11. autocoder/agent/base_agentic/base_agent.py +235 -136
  12. autocoder/agent/base_agentic/default_tools.py +119 -118
  13. autocoder/agent/base_agentic/test_base_agent.py +1 -1
  14. autocoder/agent/base_agentic/tool_registry.py +32 -20
  15. autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +24 -3
  16. autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +24 -11
  17. autocoder/agent/base_agentic/types.py +42 -0
  18. autocoder/agent/entry_command_agent/chat.py +73 -59
  19. autocoder/auto_coder.py +31 -40
  20. autocoder/auto_coder_rag.py +11 -1084
  21. autocoder/auto_coder_runner.py +970 -2345
  22. autocoder/auto_coder_terminal.py +26 -0
  23. autocoder/auto_coder_terminal_v3.py +190 -0
  24. autocoder/chat/conf_command.py +224 -124
  25. autocoder/chat/models_command.py +361 -299
  26. autocoder/chat/rules_command.py +79 -31
  27. autocoder/chat_auto_coder.py +988 -398
  28. autocoder/chat_auto_coder_lang.py +23 -732
  29. autocoder/commands/auto_command.py +25 -8
  30. autocoder/commands/auto_web.py +1 -1
  31. autocoder/commands/tools.py +44 -44
  32. autocoder/common/__init__.py +150 -128
  33. autocoder/common/ac_style_command_parser/__init__.py +39 -2
  34. autocoder/common/ac_style_command_parser/config.py +422 -0
  35. autocoder/common/ac_style_command_parser/parser.py +292 -78
  36. autocoder/common/ac_style_command_parser/test_parser.py +241 -16
  37. autocoder/common/ac_style_command_parser/test_typed_parser.py +342 -0
  38. autocoder/common/ac_style_command_parser/typed_parser.py +653 -0
  39. autocoder/common/action_yml_file_manager.py +25 -13
  40. autocoder/common/agent_events/__init__.py +52 -0
  41. autocoder/common/agent_events/agent_event_emitter.py +193 -0
  42. autocoder/common/agent_events/event_factory.py +177 -0
  43. autocoder/common/agent_events/examples.py +307 -0
  44. autocoder/common/agent_events/types.py +113 -0
  45. autocoder/common/agent_events/utils.py +68 -0
  46. autocoder/common/agent_hooks/__init__.py +44 -0
  47. autocoder/common/agent_hooks/examples.py +582 -0
  48. autocoder/common/agent_hooks/hook_executor.py +217 -0
  49. autocoder/common/agent_hooks/hook_manager.py +288 -0
  50. autocoder/common/agent_hooks/types.py +133 -0
  51. autocoder/common/agent_hooks/utils.py +99 -0
  52. autocoder/common/agent_query_queue/queue_executor.py +324 -0
  53. autocoder/common/agent_query_queue/queue_manager.py +325 -0
  54. autocoder/common/agents/__init__.py +11 -0
  55. autocoder/common/agents/agent_manager.py +323 -0
  56. autocoder/common/agents/agent_parser.py +189 -0
  57. autocoder/common/agents/example_usage.py +344 -0
  58. autocoder/common/agents/integration_example.py +330 -0
  59. autocoder/common/agents/test_agent_parser.py +545 -0
  60. autocoder/common/async_utils.py +101 -0
  61. autocoder/common/auto_coder_lang.py +23 -972
  62. autocoder/common/autocoderargs_parser/__init__.py +14 -0
  63. autocoder/common/autocoderargs_parser/parser.py +184 -0
  64. autocoder/common/autocoderargs_parser/tests/__init__.py +1 -0
  65. autocoder/common/autocoderargs_parser/tests/test_args_parser.py +235 -0
  66. autocoder/common/autocoderargs_parser/tests/test_token_parser.py +195 -0
  67. autocoder/common/autocoderargs_parser/token_parser.py +290 -0
  68. autocoder/common/buildin_tokenizer.py +2 -4
  69. autocoder/common/code_auto_generate.py +149 -74
  70. autocoder/common/code_auto_generate_diff.py +163 -70
  71. autocoder/common/code_auto_generate_editblock.py +179 -89
  72. autocoder/common/code_auto_generate_strict_diff.py +167 -72
  73. autocoder/common/code_auto_merge_editblock.py +13 -6
  74. autocoder/common/code_modification_ranker.py +1 -1
  75. autocoder/common/command_completer.py +3 -3
  76. autocoder/common/command_file_manager/manager.py +183 -47
  77. autocoder/common/command_file_manager/test_command_file_manager.py +507 -0
  78. autocoder/common/command_templates.py +1 -1
  79. autocoder/common/conf_utils.py +2 -4
  80. autocoder/common/conversations/config.py +11 -3
  81. autocoder/common/conversations/get_conversation_manager.py +100 -2
  82. autocoder/common/conversations/llm_stats_models.py +264 -0
  83. autocoder/common/conversations/manager.py +112 -28
  84. autocoder/common/conversations/models.py +16 -2
  85. autocoder/common/conversations/storage/index_manager.py +134 -10
  86. autocoder/common/core_config/__init__.py +63 -0
  87. autocoder/common/core_config/agentic_mode_manager.py +109 -0
  88. autocoder/common/core_config/base_manager.py +123 -0
  89. autocoder/common/core_config/compatibility.py +151 -0
  90. autocoder/common/core_config/config_manager.py +156 -0
  91. autocoder/common/core_config/conversation_manager.py +31 -0
  92. autocoder/common/core_config/exclude_manager.py +72 -0
  93. autocoder/common/core_config/file_manager.py +177 -0
  94. autocoder/common/core_config/human_as_model_manager.py +129 -0
  95. autocoder/common/core_config/lib_manager.py +54 -0
  96. autocoder/common/core_config/main_manager.py +81 -0
  97. autocoder/common/core_config/mode_manager.py +126 -0
  98. autocoder/common/core_config/models.py +70 -0
  99. autocoder/common/core_config/test_memory_manager.py +1056 -0
  100. autocoder/common/env_manager.py +282 -0
  101. autocoder/common/env_manager_usage_example.py +211 -0
  102. autocoder/common/file_checkpoint/conversation_checkpoint.py +19 -19
  103. autocoder/common/file_checkpoint/manager.py +264 -48
  104. autocoder/common/file_checkpoint/test_backup.py +1 -18
  105. autocoder/common/file_checkpoint/test_manager.py +270 -1
  106. autocoder/common/file_checkpoint/test_store.py +1 -17
  107. autocoder/common/file_handler/__init__.py +23 -0
  108. autocoder/common/file_handler/active_context_handler.py +159 -0
  109. autocoder/common/file_handler/add_files_handler.py +409 -0
  110. autocoder/common/file_handler/chat_handler.py +180 -0
  111. autocoder/common/file_handler/coding_handler.py +401 -0
  112. autocoder/common/file_handler/commit_handler.py +200 -0
  113. autocoder/common/file_handler/lib_handler.py +156 -0
  114. autocoder/common/file_handler/list_files_handler.py +111 -0
  115. autocoder/common/file_handler/mcp_handler.py +268 -0
  116. autocoder/common/file_handler/models_handler.py +493 -0
  117. autocoder/common/file_handler/remove_files_handler.py +172 -0
  118. autocoder/common/git_utils.py +44 -8
  119. autocoder/common/global_cancel.py +15 -6
  120. autocoder/common/ignorefiles/test_ignore_file_utils.py +1 -1
  121. autocoder/common/international/__init__.py +31 -0
  122. autocoder/common/international/demo_international.py +92 -0
  123. autocoder/common/international/message_manager.py +157 -0
  124. autocoder/common/international/messages/__init__.py +56 -0
  125. autocoder/common/international/messages/async_command_messages.py +507 -0
  126. autocoder/common/international/messages/auto_coder_messages.py +2208 -0
  127. autocoder/common/international/messages/chat_auto_coder_messages.py +1547 -0
  128. autocoder/common/international/messages/command_help_messages.py +986 -0
  129. autocoder/common/international/messages/conversation_command_messages.py +191 -0
  130. autocoder/common/international/messages/git_helper_plugin_messages.py +159 -0
  131. autocoder/common/international/messages/queue_command_messages.py +751 -0
  132. autocoder/common/international/messages/rules_command_messages.py +77 -0
  133. autocoder/common/international/messages/sdk_messages.py +1707 -0
  134. autocoder/common/international/messages/token_helper_plugin_messages.py +361 -0
  135. autocoder/common/international/messages/tool_display_messages.py +1212 -0
  136. autocoder/common/international/messages/workflow_exception_messages.py +473 -0
  137. autocoder/common/international/test_international.py +612 -0
  138. autocoder/common/linter_core/__init__.py +28 -0
  139. autocoder/common/linter_core/base_linter.py +61 -0
  140. autocoder/common/linter_core/config_loader.py +271 -0
  141. autocoder/common/linter_core/formatters/__init__.py +0 -0
  142. autocoder/common/linter_core/formatters/base_formatter.py +38 -0
  143. autocoder/common/linter_core/formatters/raw_formatter.py +17 -0
  144. autocoder/common/linter_core/linter.py +166 -0
  145. autocoder/common/linter_core/linter_factory.py +216 -0
  146. autocoder/common/linter_core/linter_manager.py +333 -0
  147. autocoder/common/linter_core/linters/__init__.py +9 -0
  148. autocoder/common/linter_core/linters/java_linter.py +342 -0
  149. autocoder/common/linter_core/linters/python_linter.py +115 -0
  150. autocoder/common/linter_core/linters/typescript_linter.py +119 -0
  151. autocoder/common/linter_core/models/__init__.py +7 -0
  152. autocoder/common/linter_core/models/lint_result.py +91 -0
  153. autocoder/common/linter_core/models.py +33 -0
  154. autocoder/common/linter_core/tests/__init__.py +3 -0
  155. autocoder/common/linter_core/tests/test_config_loader.py +323 -0
  156. autocoder/common/linter_core/tests/test_config_loading.py +308 -0
  157. autocoder/common/linter_core/tests/test_factory_manager.py +234 -0
  158. autocoder/common/linter_core/tests/test_formatters.py +147 -0
  159. autocoder/common/linter_core/tests/test_integration.py +317 -0
  160. autocoder/common/linter_core/tests/test_java_linter.py +496 -0
  161. autocoder/common/linter_core/tests/test_linters.py +265 -0
  162. autocoder/common/linter_core/tests/test_models.py +81 -0
  163. autocoder/common/linter_core/tests/verify_config_loading.py +296 -0
  164. autocoder/common/linter_core/tests/verify_fixes.py +183 -0
  165. autocoder/common/llm_friendly_package/__init__.py +31 -0
  166. autocoder/common/llm_friendly_package/base_manager.py +102 -0
  167. autocoder/common/llm_friendly_package/docs_manager.py +121 -0
  168. autocoder/common/llm_friendly_package/library_manager.py +171 -0
  169. autocoder/common/{llm_friendly_package.py → llm_friendly_package/main_manager.py} +204 -231
  170. autocoder/common/llm_friendly_package/models.py +40 -0
  171. autocoder/common/llm_friendly_package/test_llm_friendly_package.py +536 -0
  172. autocoder/common/llms/__init__.py +15 -0
  173. autocoder/common/llms/demo_error_handling.py +85 -0
  174. autocoder/common/llms/factory.py +142 -0
  175. autocoder/common/llms/manager.py +264 -0
  176. autocoder/common/llms/pricing.py +121 -0
  177. autocoder/common/llms/registry.py +288 -0
  178. autocoder/common/llms/schema.py +77 -0
  179. autocoder/common/llms/simple_demo.py +45 -0
  180. autocoder/common/llms/test_quick_model.py +116 -0
  181. autocoder/common/llms/test_remove_functionality.py +182 -0
  182. autocoder/common/llms/tests/__init__.py +1 -0
  183. autocoder/common/llms/tests/test_manager.py +330 -0
  184. autocoder/common/llms/tests/test_registry.py +364 -0
  185. autocoder/common/mcp_tools/__init__.py +62 -0
  186. autocoder/common/{mcp_tools.py → mcp_tools/executor.py} +49 -40
  187. autocoder/common/{mcp_hub.py → mcp_tools/hub.py} +42 -68
  188. autocoder/common/{mcp_server_install.py → mcp_tools/installer.py} +16 -28
  189. autocoder/common/{mcp_server.py → mcp_tools/server.py} +176 -48
  190. autocoder/common/mcp_tools/test_keyboard_interrupt.py +93 -0
  191. autocoder/common/mcp_tools/test_mcp_tools.py +391 -0
  192. autocoder/common/{mcp_server_types.py → mcp_tools/types.py} +121 -48
  193. autocoder/common/mcp_tools/verify_functionality.py +202 -0
  194. autocoder/common/model_speed_tester.py +32 -26
  195. autocoder/common/priority_directory_finder/__init__.py +142 -0
  196. autocoder/common/priority_directory_finder/examples.py +230 -0
  197. autocoder/common/priority_directory_finder/finder.py +283 -0
  198. autocoder/common/priority_directory_finder/models.py +236 -0
  199. autocoder/common/priority_directory_finder/test_priority_directory_finder.py +431 -0
  200. autocoder/common/project_scanner/__init__.py +18 -0
  201. autocoder/common/project_scanner/compat.py +77 -0
  202. autocoder/common/project_scanner/scanner.py +436 -0
  203. autocoder/common/project_tracker/__init__.py +27 -0
  204. autocoder/common/project_tracker/api.py +228 -0
  205. autocoder/common/project_tracker/demo.py +272 -0
  206. autocoder/common/project_tracker/tracker.py +487 -0
  207. autocoder/common/project_tracker/types.py +53 -0
  208. autocoder/common/pruner/__init__.py +67 -0
  209. autocoder/common/pruner/agentic_conversation_pruner.py +651 -102
  210. autocoder/common/pruner/conversation_message_ids_api.py +386 -0
  211. autocoder/common/pruner/conversation_message_ids_manager.py +347 -0
  212. autocoder/common/pruner/conversation_message_ids_pruner.py +473 -0
  213. autocoder/common/pruner/conversation_normalizer.py +347 -0
  214. autocoder/common/pruner/conversation_pruner.py +26 -6
  215. autocoder/common/pruner/test_agentic_conversation_pruner.py +554 -112
  216. autocoder/common/pruner/test_conversation_normalizer.py +502 -0
  217. autocoder/common/pruner/test_tool_content_detector.py +324 -0
  218. autocoder/common/pruner/tool_content_detector.py +227 -0
  219. autocoder/common/pruner/tools/__init__.py +18 -0
  220. autocoder/common/pruner/tools/query_message_ids.py +264 -0
  221. autocoder/common/pruner/tools/test_agentic_pruning_logic.py +432 -0
  222. autocoder/common/pruner/tools/test_message_ids_pruning_only.py +192 -0
  223. autocoder/common/pull_requests/__init__.py +9 -1
  224. autocoder/common/pull_requests/utils.py +122 -1
  225. autocoder/common/rag_manager/rag_manager.py +36 -40
  226. autocoder/common/rulefiles/__init__.py +53 -1
  227. autocoder/common/rulefiles/api.py +250 -0
  228. autocoder/common/rulefiles/core/__init__.py +14 -0
  229. autocoder/common/rulefiles/core/manager.py +241 -0
  230. autocoder/common/rulefiles/core/selector.py +805 -0
  231. autocoder/common/rulefiles/models/__init__.py +20 -0
  232. autocoder/common/rulefiles/models/index.py +16 -0
  233. autocoder/common/rulefiles/models/init_rule.py +18 -0
  234. autocoder/common/rulefiles/models/rule_file.py +18 -0
  235. autocoder/common/rulefiles/models/rule_relevance.py +14 -0
  236. autocoder/common/rulefiles/models/summary.py +16 -0
  237. autocoder/common/rulefiles/test_rulefiles.py +776 -0
  238. autocoder/common/rulefiles/utils/__init__.py +34 -0
  239. autocoder/common/rulefiles/utils/monitor.py +86 -0
  240. autocoder/common/rulefiles/utils/parser.py +230 -0
  241. autocoder/common/save_formatted_log.py +67 -10
  242. autocoder/common/search_replace.py +8 -1
  243. autocoder/common/search_replace_patch/__init__.py +24 -0
  244. autocoder/common/search_replace_patch/base.py +115 -0
  245. autocoder/common/search_replace_patch/manager.py +248 -0
  246. autocoder/common/search_replace_patch/patch_replacer.py +304 -0
  247. autocoder/common/search_replace_patch/similarity_replacer.py +306 -0
  248. autocoder/common/search_replace_patch/string_replacer.py +181 -0
  249. autocoder/common/search_replace_patch/tests/__init__.py +3 -0
  250. autocoder/common/search_replace_patch/tests/run_tests.py +126 -0
  251. autocoder/common/search_replace_patch/tests/test_base.py +188 -0
  252. autocoder/common/search_replace_patch/tests/test_empty_line_insert.py +233 -0
  253. autocoder/common/search_replace_patch/tests/test_integration.py +389 -0
  254. autocoder/common/search_replace_patch/tests/test_manager.py +351 -0
  255. autocoder/common/search_replace_patch/tests/test_patch_replacer.py +316 -0
  256. autocoder/common/search_replace_patch/tests/test_regex_replacer.py +306 -0
  257. autocoder/common/search_replace_patch/tests/test_similarity_replacer.py +384 -0
  258. autocoder/common/shell_commands/__init__.py +197 -0
  259. autocoder/common/shell_commands/background_process_notifier.py +346 -0
  260. autocoder/common/shell_commands/command_executor.py +1127 -0
  261. autocoder/common/shell_commands/error_recovery.py +541 -0
  262. autocoder/common/shell_commands/exceptions.py +120 -0
  263. autocoder/common/shell_commands/interactive_executor.py +476 -0
  264. autocoder/common/shell_commands/interactive_pexpect_process.py +623 -0
  265. autocoder/common/shell_commands/interactive_process.py +744 -0
  266. autocoder/common/shell_commands/interactive_session_manager.py +1014 -0
  267. autocoder/common/shell_commands/monitoring.py +529 -0
  268. autocoder/common/shell_commands/process_cleanup.py +386 -0
  269. autocoder/common/shell_commands/process_manager.py +606 -0
  270. autocoder/common/shell_commands/test_interactive_pexpect_process.py +281 -0
  271. autocoder/common/shell_commands/tests/__init__.py +6 -0
  272. autocoder/common/shell_commands/tests/conftest.py +118 -0
  273. autocoder/common/shell_commands/tests/test_background_process_notifier.py +703 -0
  274. autocoder/common/shell_commands/tests/test_command_executor.py +448 -0
  275. autocoder/common/shell_commands/tests/test_error_recovery.py +305 -0
  276. autocoder/common/shell_commands/tests/test_exceptions.py +299 -0
  277. autocoder/common/shell_commands/tests/test_execute_batch.py +588 -0
  278. autocoder/common/shell_commands/tests/test_indented_batch_commands.py +244 -0
  279. autocoder/common/shell_commands/tests/test_integration.py +664 -0
  280. autocoder/common/shell_commands/tests/test_monitoring.py +546 -0
  281. autocoder/common/shell_commands/tests/test_performance.py +632 -0
  282. autocoder/common/shell_commands/tests/test_process_cleanup.py +397 -0
  283. autocoder/common/shell_commands/tests/test_process_manager.py +606 -0
  284. autocoder/common/shell_commands/tests/test_timeout_config.py +343 -0
  285. autocoder/common/shell_commands/tests/test_timeout_manager.py +520 -0
  286. autocoder/common/shell_commands/timeout_config.py +315 -0
  287. autocoder/common/shell_commands/timeout_manager.py +352 -0
  288. autocoder/common/terminal_paste/__init__.py +14 -0
  289. autocoder/common/terminal_paste/demo.py +145 -0
  290. autocoder/common/terminal_paste/demo_paste_functionality.py +95 -0
  291. autocoder/common/terminal_paste/paste_handler.py +200 -0
  292. autocoder/common/terminal_paste/paste_manager.py +118 -0
  293. autocoder/common/terminal_paste/tests/__init__.py +1 -0
  294. autocoder/common/terminal_paste/tests/test_paste_handler.py +182 -0
  295. autocoder/common/terminal_paste/tests/test_paste_manager.py +126 -0
  296. autocoder/common/terminal_paste/utils.py +163 -0
  297. autocoder/common/test_autocoder_args.py +232 -0
  298. autocoder/common/test_env_manager.py +173 -0
  299. autocoder/common/test_env_manager_integration.py +159 -0
  300. autocoder/common/text_similarity/__init__.py +9 -0
  301. autocoder/common/text_similarity/demo.py +216 -0
  302. autocoder/common/text_similarity/examples.py +266 -0
  303. autocoder/common/text_similarity/test_text_similarity.py +306 -0
  304. autocoder/common/text_similarity/text_similarity.py +194 -0
  305. autocoder/common/text_similarity/utils.py +125 -0
  306. autocoder/common/todos/__init__.py +61 -0
  307. autocoder/common/todos/cache/__init__.py +16 -0
  308. autocoder/common/todos/cache/base_cache.py +89 -0
  309. autocoder/common/todos/cache/cache_manager.py +228 -0
  310. autocoder/common/todos/cache/memory_cache.py +225 -0
  311. autocoder/common/todos/config.py +155 -0
  312. autocoder/common/todos/exceptions.py +35 -0
  313. autocoder/common/todos/get_todo_manager.py +161 -0
  314. autocoder/common/todos/manager.py +537 -0
  315. autocoder/common/todos/models.py +239 -0
  316. autocoder/common/todos/storage/__init__.py +14 -0
  317. autocoder/common/todos/storage/base_storage.py +76 -0
  318. autocoder/common/todos/storage/file_storage.py +278 -0
  319. autocoder/common/tokens/counter.py +24 -2
  320. autocoder/common/tools_manager/__init__.py +17 -0
  321. autocoder/common/tools_manager/examples.py +162 -0
  322. autocoder/common/tools_manager/manager.py +385 -0
  323. autocoder/common/tools_manager/models.py +39 -0
  324. autocoder/common/tools_manager/test_tools_manager.py +303 -0
  325. autocoder/common/tools_manager/utils.py +191 -0
  326. autocoder/common/v2/agent/agentic_callbacks.py +270 -0
  327. autocoder/common/v2/agent/agentic_edit.py +2699 -1856
  328. autocoder/common/v2/agent/agentic_edit_change_manager.py +474 -0
  329. autocoder/common/v2/agent/agentic_edit_tools/__init__.py +35 -1
  330. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_list_tool_resolver.py +279 -0
  331. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_write_tool_resolver.py +10 -1
  332. autocoder/common/v2/agent/agentic_edit_tools/background_task_tool_resolver.py +1167 -0
  333. autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +2 -2
  334. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_read_tool_resolver.py +214 -0
  335. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_write_tool_resolver.py +299 -0
  336. autocoder/common/v2/agent/agentic_edit_tools/count_tokens_tool_resolver.py +290 -0
  337. autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +564 -29
  338. autocoder/common/v2/agent/agentic_edit_tools/execute_workflow_tool_resolver.py +485 -0
  339. autocoder/common/v2/agent/agentic_edit_tools/extract_to_text_tool_resolver.py +225 -0
  340. autocoder/common/v2/agent/agentic_edit_tools/lint_report.py +79 -0
  341. autocoder/common/v2/agent/agentic_edit_tools/linter_config_models.py +343 -0
  342. autocoder/common/v2/agent/agentic_edit_tools/linter_enabled_tool_resolver.py +189 -0
  343. autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +169 -101
  344. autocoder/common/v2/agent/agentic_edit_tools/load_extra_document_tool_resolver.py +349 -0
  345. autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +243 -50
  346. autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +667 -147
  347. autocoder/common/v2/agent/agentic_edit_tools/run_named_subagents_tool_resolver.py +691 -0
  348. autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +410 -86
  349. autocoder/common/v2/agent/agentic_edit_tools/session_interactive_tool_resolver.py +115 -0
  350. autocoder/common/v2/agent/agentic_edit_tools/session_start_tool_resolver.py +190 -0
  351. autocoder/common/v2/agent/agentic_edit_tools/session_stop_tool_resolver.py +76 -0
  352. autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +207 -192
  353. autocoder/common/v2/agent/agentic_edit_tools/todo_read_tool_resolver.py +80 -63
  354. autocoder/common/v2/agent/agentic_edit_tools/todo_write_tool_resolver.py +237 -233
  355. autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +2 -2
  356. autocoder/common/v2/agent/agentic_edit_tools/web_crawl_tool_resolver.py +557 -0
  357. autocoder/common/v2/agent/agentic_edit_tools/web_search_tool_resolver.py +600 -0
  358. autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +56 -121
  359. autocoder/common/v2/agent/agentic_edit_types.py +343 -9
  360. autocoder/common/v2/agent/runner/__init__.py +3 -3
  361. autocoder/common/v2/agent/runner/base_runner.py +12 -26
  362. autocoder/common/v2/agent/runner/{event_runner.py → file_based_event_runner.py} +3 -2
  363. autocoder/common/v2/agent/runner/sdk_runner.py +150 -8
  364. autocoder/common/v2/agent/runner/terminal_runner.py +170 -57
  365. autocoder/common/v2/agent/runner/tool_display.py +557 -159
  366. autocoder/common/v2/agent/test_agentic_callbacks.py +265 -0
  367. autocoder/common/v2/agent/test_agentic_edit.py +194 -0
  368. autocoder/common/v2/agent/tool_caller/__init__.py +24 -0
  369. autocoder/common/v2/agent/tool_caller/default_tool_resolver_map.py +135 -0
  370. autocoder/common/v2/agent/tool_caller/integration_test.py +172 -0
  371. autocoder/common/v2/agent/tool_caller/plugins/__init__.py +14 -0
  372. autocoder/common/v2/agent/tool_caller/plugins/base_plugin.py +126 -0
  373. autocoder/common/v2/agent/tool_caller/plugins/examples/__init__.py +13 -0
  374. autocoder/common/v2/agent/tool_caller/plugins/examples/logging_plugin.py +164 -0
  375. autocoder/common/v2/agent/tool_caller/plugins/examples/security_filter_plugin.py +198 -0
  376. autocoder/common/v2/agent/tool_caller/plugins/plugin_interface.py +141 -0
  377. autocoder/common/v2/agent/tool_caller/test_tool_caller.py +278 -0
  378. autocoder/common/v2/agent/tool_caller/tool_call_plugin_manager.py +331 -0
  379. autocoder/common/v2/agent/tool_caller/tool_caller.py +337 -0
  380. autocoder/common/v2/agent/tool_caller/usage_example.py +193 -0
  381. autocoder/common/v2/code_agentic_editblock_manager.py +4 -4
  382. autocoder/common/v2/code_auto_generate.py +136 -78
  383. autocoder/common/v2/code_auto_generate_diff.py +135 -79
  384. autocoder/common/v2/code_auto_generate_editblock.py +174 -99
  385. autocoder/common/v2/code_auto_generate_strict_diff.py +151 -71
  386. autocoder/common/v2/code_auto_merge.py +1 -1
  387. autocoder/common/v2/code_auto_merge_editblock.py +13 -1
  388. autocoder/common/v2/code_diff_manager.py +3 -3
  389. autocoder/common/v2/code_editblock_manager.py +4 -14
  390. autocoder/common/v2/code_manager.py +1 -1
  391. autocoder/common/v2/code_strict_diff_manager.py +2 -2
  392. autocoder/common/wrap_llm_hint/__init__.py +10 -0
  393. autocoder/common/wrap_llm_hint/test_wrap_llm_hint.py +1067 -0
  394. autocoder/common/wrap_llm_hint/utils.py +432 -0
  395. autocoder/common/wrap_llm_hint/wrap_llm_hint.py +323 -0
  396. autocoder/completer/__init__.py +8 -0
  397. autocoder/completer/command_completer_v2.py +1051 -0
  398. autocoder/default_project/__init__.py +501 -0
  399. autocoder/dispacher/__init__.py +4 -12
  400. autocoder/dispacher/actions/action.py +165 -7
  401. autocoder/dispacher/actions/plugins/action_regex_project.py +2 -2
  402. autocoder/index/entry.py +116 -124
  403. autocoder/{agent → index/filter}/agentic_filter.py +322 -333
  404. autocoder/index/filter/normal_filter.py +5 -11
  405. autocoder/index/filter/quick_filter.py +1 -1
  406. autocoder/index/index.py +36 -9
  407. autocoder/index/tests/__init__.py +1 -0
  408. autocoder/index/tests/run_tests.py +195 -0
  409. autocoder/index/tests/test_entry.py +303 -0
  410. autocoder/index/tests/test_index_manager.py +314 -0
  411. autocoder/index/tests/test_module_integration.py +300 -0
  412. autocoder/index/tests/test_symbols_utils.py +183 -0
  413. autocoder/inner/__init__.py +4 -0
  414. autocoder/inner/agentic.py +932 -0
  415. autocoder/inner/async_command_handler.py +992 -0
  416. autocoder/inner/conversation_command_handlers.py +623 -0
  417. autocoder/inner/merge_command_handler.py +213 -0
  418. autocoder/inner/queue_command_handler.py +684 -0
  419. autocoder/models.py +95 -266
  420. autocoder/plugins/git_helper_plugin.py +31 -29
  421. autocoder/plugins/token_helper_plugin.py +65 -46
  422. autocoder/pyproject/__init__.py +32 -29
  423. autocoder/rag/agentic_rag.py +215 -75
  424. autocoder/rag/cache/simple_cache.py +1 -2
  425. autocoder/rag/loaders/image_loader.py +1 -1
  426. autocoder/rag/long_context_rag.py +42 -26
  427. autocoder/rag/qa_conversation_strategy.py +1 -1
  428. autocoder/rag/terminal/__init__.py +17 -0
  429. autocoder/rag/terminal/args.py +581 -0
  430. autocoder/rag/terminal/bootstrap.py +61 -0
  431. autocoder/rag/terminal/command_handlers.py +653 -0
  432. autocoder/rag/terminal/formatters/__init__.py +20 -0
  433. autocoder/rag/terminal/formatters/base.py +70 -0
  434. autocoder/rag/terminal/formatters/json_format.py +66 -0
  435. autocoder/rag/terminal/formatters/stream_json.py +95 -0
  436. autocoder/rag/terminal/formatters/text.py +28 -0
  437. autocoder/rag/terminal/init.py +120 -0
  438. autocoder/rag/terminal/utils.py +106 -0
  439. autocoder/rag/test_agentic_rag.py +389 -0
  440. autocoder/rag/test_doc_filter.py +3 -3
  441. autocoder/rag/test_long_context_rag.py +1 -1
  442. autocoder/rag/test_token_limiter.py +517 -10
  443. autocoder/rag/token_counter.py +3 -0
  444. autocoder/rag/token_limiter.py +19 -15
  445. autocoder/rag/tools/__init__.py +26 -2
  446. autocoder/rag/tools/bochaai_example.py +343 -0
  447. autocoder/rag/tools/bochaai_sdk.py +541 -0
  448. autocoder/rag/tools/metaso_example.py +268 -0
  449. autocoder/rag/tools/metaso_sdk.py +417 -0
  450. autocoder/rag/tools/recall_tool.py +28 -7
  451. autocoder/rag/tools/run_integration_tests.py +204 -0
  452. autocoder/rag/tools/test_all_providers.py +318 -0
  453. autocoder/rag/tools/test_bochaai_integration.py +482 -0
  454. autocoder/rag/tools/test_final_integration.py +215 -0
  455. autocoder/rag/tools/test_metaso_integration.py +424 -0
  456. autocoder/rag/tools/test_metaso_real.py +171 -0
  457. autocoder/rag/tools/test_web_crawl_tool.py +639 -0
  458. autocoder/rag/tools/test_web_search_tool.py +509 -0
  459. autocoder/rag/tools/todo_read_tool.py +202 -0
  460. autocoder/rag/tools/todo_write_tool.py +412 -0
  461. autocoder/rag/tools/web_crawl_tool.py +634 -0
  462. autocoder/rag/tools/web_search_tool.py +558 -0
  463. autocoder/rag/tools/web_tools_example.py +119 -0
  464. autocoder/rag/types.py +16 -0
  465. autocoder/rag/variable_holder.py +4 -2
  466. autocoder/rags.py +86 -79
  467. autocoder/regexproject/__init__.py +23 -21
  468. autocoder/sdk/__init__.py +46 -190
  469. autocoder/sdk/api.py +370 -0
  470. autocoder/sdk/async_runner/__init__.py +26 -0
  471. autocoder/sdk/async_runner/async_executor.py +650 -0
  472. autocoder/sdk/async_runner/async_handler.py +356 -0
  473. autocoder/sdk/async_runner/markdown_processor.py +595 -0
  474. autocoder/sdk/async_runner/task_metadata.py +284 -0
  475. autocoder/sdk/async_runner/worktree_manager.py +438 -0
  476. autocoder/sdk/cli/__init__.py +2 -5
  477. autocoder/sdk/cli/formatters.py +28 -204
  478. autocoder/sdk/cli/handlers.py +77 -44
  479. autocoder/sdk/cli/main.py +154 -171
  480. autocoder/sdk/cli/options.py +95 -22
  481. autocoder/sdk/constants.py +139 -51
  482. autocoder/sdk/core/auto_coder_core.py +484 -109
  483. autocoder/sdk/core/bridge.py +297 -115
  484. autocoder/sdk/exceptions.py +18 -12
  485. autocoder/sdk/formatters/__init__.py +19 -0
  486. autocoder/sdk/formatters/input.py +64 -0
  487. autocoder/sdk/formatters/output.py +247 -0
  488. autocoder/sdk/formatters/stream.py +54 -0
  489. autocoder/sdk/models/__init__.py +6 -5
  490. autocoder/sdk/models/options.py +55 -18
  491. autocoder/sdk/utils/formatters.py +27 -195
  492. autocoder/suffixproject/__init__.py +28 -25
  493. autocoder/terminal/__init__.py +14 -0
  494. autocoder/terminal/app.py +454 -0
  495. autocoder/terminal/args.py +32 -0
  496. autocoder/terminal/bootstrap.py +178 -0
  497. autocoder/terminal/command_processor.py +521 -0
  498. autocoder/terminal/command_registry.py +57 -0
  499. autocoder/terminal/help.py +97 -0
  500. autocoder/terminal/tasks/__init__.py +5 -0
  501. autocoder/terminal/tasks/background.py +77 -0
  502. autocoder/terminal/tasks/task_event.py +70 -0
  503. autocoder/terminal/ui/__init__.py +13 -0
  504. autocoder/terminal/ui/completer.py +268 -0
  505. autocoder/terminal/ui/keybindings.py +75 -0
  506. autocoder/terminal/ui/session.py +41 -0
  507. autocoder/terminal/ui/toolbar.py +64 -0
  508. autocoder/terminal/utils/__init__.py +13 -0
  509. autocoder/terminal/utils/errors.py +18 -0
  510. autocoder/terminal/utils/paths.py +19 -0
  511. autocoder/terminal/utils/shell.py +43 -0
  512. autocoder/terminal_v3/__init__.py +10 -0
  513. autocoder/terminal_v3/app.py +201 -0
  514. autocoder/terminal_v3/handlers/__init__.py +5 -0
  515. autocoder/terminal_v3/handlers/command_handler.py +131 -0
  516. autocoder/terminal_v3/models/__init__.py +6 -0
  517. autocoder/terminal_v3/models/conversation_buffer.py +214 -0
  518. autocoder/terminal_v3/models/message.py +50 -0
  519. autocoder/terminal_v3/models/tool_display.py +247 -0
  520. autocoder/terminal_v3/ui/__init__.py +7 -0
  521. autocoder/terminal_v3/ui/keybindings.py +56 -0
  522. autocoder/terminal_v3/ui/layout.py +141 -0
  523. autocoder/terminal_v3/ui/styles.py +43 -0
  524. autocoder/tsproject/__init__.py +23 -23
  525. autocoder/utils/auto_coder_utils/chat_stream_out.py +1 -1
  526. autocoder/utils/llms.py +88 -80
  527. autocoder/utils/math_utils.py +101 -0
  528. autocoder/utils/model_provider_selector.py +16 -4
  529. autocoder/utils/operate_config_api.py +33 -5
  530. autocoder/utils/thread_utils.py +2 -2
  531. autocoder/version.py +4 -2
  532. autocoder/workflow_agents/__init__.py +84 -0
  533. autocoder/workflow_agents/agent.py +143 -0
  534. autocoder/workflow_agents/exceptions.py +573 -0
  535. autocoder/workflow_agents/executor.py +489 -0
  536. autocoder/workflow_agents/loader.py +737 -0
  537. autocoder/workflow_agents/runner.py +267 -0
  538. autocoder/workflow_agents/types.py +172 -0
  539. autocoder/workflow_agents/utils.py +434 -0
  540. autocoder/workflow_agents/workflow_manager.py +211 -0
  541. auto_coder-1.0.0.dist-info/METADATA +0 -396
  542. auto_coder-1.0.0.dist-info/RECORD +0 -442
  543. auto_coder-1.0.0.dist-info/licenses/LICENSE +0 -201
  544. autocoder/auto_coder_server.py +0 -672
  545. autocoder/benchmark.py +0 -138
  546. autocoder/common/ac_style_command_parser/example.py +0 -7
  547. autocoder/common/cleaner.py +0 -31
  548. autocoder/common/command_completer_v2.py +0 -615
  549. autocoder/common/context_pruner.py +0 -477
  550. autocoder/common/conversation_pruner.py +0 -132
  551. autocoder/common/directory_cache/__init__.py +0 -1
  552. autocoder/common/directory_cache/cache.py +0 -192
  553. autocoder/common/directory_cache/test_cache.py +0 -190
  554. autocoder/common/file_checkpoint/examples.py +0 -217
  555. autocoder/common/llm_friendly_package_example.py +0 -138
  556. autocoder/common/llm_friendly_package_test.py +0 -63
  557. autocoder/common/pull_requests/test_module.py +0 -1
  558. autocoder/common/rulefiles/autocoderrules_utils.py +0 -484
  559. autocoder/common/text.py +0 -30
  560. autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -42
  561. autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -70
  562. autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -163
  563. autocoder/common/v2/agent/agentic_tool_display.py +0 -183
  564. autocoder/plugins/dynamic_completion_example.py +0 -148
  565. autocoder/plugins/sample_plugin.py +0 -160
  566. autocoder/sdk/cli/__main__.py +0 -26
  567. autocoder/sdk/cli/completion_wrapper.py +0 -38
  568. autocoder/sdk/cli/install_completion.py +0 -301
  569. autocoder/sdk/models/messages.py +0 -209
  570. autocoder/sdk/session/__init__.py +0 -32
  571. autocoder/sdk/session/session.py +0 -106
  572. autocoder/sdk/session/session_manager.py +0 -56
  573. {auto_coder-1.0.0.dist-info → auto_coder-2.0.0.dist-info}/top_level.txt +0 -0
  574. /autocoder/{sdk/example.py → common/agent_query_queue/__init__.py} +0 -0
@@ -0,0 +1,1547 @@
1
+ """
2
+ Chat auto-coder messages for internationalization
3
+ Contains all messages used by the chat auto-coder interface
4
+ """
5
+
6
+ CHAT_AUTO_CODER_MESSAGES = {
7
+ "auto_command_analyzing": {
8
+ "en": "Analyzing Command Request",
9
+ "zh": "正在分析命令请求",
10
+ "ja": "コマンドリクエストを分析中",
11
+ "ar": "تحليل طلب الأمر",
12
+ "ru": "Анализ запроса команды",
13
+ },
14
+ "mcp_remove_error": {
15
+ "en": "Error removing MCP server: {{error}}",
16
+ "zh": "移除 MCP 服务器时出错:{{error}}",
17
+ "ja": "MCPサーバーの削除エラー: {{error}}",
18
+ "ar": "خطأ في إزالة خادم MCP: {{error}}",
19
+ "ru": "Ошибка удаления MCP сервера: {{error}}",
20
+ },
21
+ "mcp_remove_success": {
22
+ "en": "Successfully removed MCP server: {{result}}",
23
+ "zh": "成功移除 MCP 服务器:{{result}}",
24
+ "ja": "MCPサーバーを正常に削除しました: {{result}}",
25
+ "ar": "تم حذف خادم MCP بنجاح: {{result}}",
26
+ "ru": "MCP сервер успешно удален: {{result}}",
27
+ },
28
+ "mcp_list_running_error": {
29
+ "en": "Error listing running MCP servers: {{error}}",
30
+ "zh": "列出运行中的 MCP 服务器时出错:{{error}}",
31
+ "ja": "実行中のMCPサーバーのリスト表示エラー: {{error}}",
32
+ "ar": "خطأ في إدراج خوادم MCP قيد التشغيل: {{error}}",
33
+ "ru": "Ошибка при получении списка работающих MCP серверов: {{error}}",
34
+ },
35
+ "mcp_list_running_title": {
36
+ "en": "Running MCP servers:",
37
+ "zh": "正在运行的 MCP 服务器:",
38
+ "ja": "実行中のMCPサーバー:",
39
+ "ar": "خوادم MCP قيد التشغيل:",
40
+ "ru": "Работающие MCP серверы:",
41
+ },
42
+ "mcp_list_builtin_error": {
43
+ "en": "Error listing builtin MCP servers: {{error}}",
44
+ "zh": "列出内置 MCP 服务器时出错:{{error}}",
45
+ "ja": "内蔵MCPサーバーのリスト表示エラー: {{error}}",
46
+ "ar": "خطأ في إدراج خوادم MCP المدمجة: {{error}}",
47
+ "ru": "Ошибка при получении списка встроенных MCP серверов: {{error}}",
48
+ },
49
+ "mcp_list_builtin_title": {
50
+ "en": "Available builtin MCP servers:",
51
+ "zh": "可用的内置 MCP 服务器:",
52
+ "ja": "利用可能な内蔵MCPサーバー:",
53
+ "ar": "خوادم MCP المدمجة المتاحة:",
54
+ "ru": "Доступные встроенные MCP серверы:",
55
+ },
56
+ "mcp_list_external_title": {
57
+ "en": "Available external MCP servers:",
58
+ "zh": "可用的外部 MCP 服务器:",
59
+ "ja": "利用可能な外部MCPサーバー:",
60
+ "ar": "خوادم MCP الخارجية المتاحة:",
61
+ "ru": "Доступные внешние MCP серверы:",
62
+ },
63
+ "mcp_list_marketplace_title": {
64
+ "en": "Available marketplace MCP servers:",
65
+ "zh": "可用的市场 MCP 服务器:",
66
+ "ja": "利用可能なマーケットプレイスMCPサーバー:",
67
+ "ar": "خوادم MCP المتاحة في السوق:",
68
+ "ru": "Доступные MCP серверы из маркетплейса:",
69
+ },
70
+ "mcp_refresh_error": {
71
+ "en": "Error refreshing MCP servers: {{error}}",
72
+ "zh": "刷新 MCP 服务器时出错:{{error}}",
73
+ "ja": "MCPサーバーの更新エラー: {{error}}",
74
+ "ar": "خطأ في تحديث خوادم MCP: {{error}}",
75
+ "ru": "Ошибка обновления MCP серверов: {{error}}",
76
+ },
77
+ "mcp_refresh_success": {
78
+ "en": "Successfully refreshed MCP servers",
79
+ "zh": "成功刷新 MCP 服务器",
80
+ "ja": "MCPサーバーを正常に更新しました",
81
+ "ar": "تم تحديث خوادم MCP بنجاح",
82
+ "ru": "MCP серверы успешно обновлены",
83
+ },
84
+ "mcp_install_error": {
85
+ "en": "Error installing MCP server: {{error}}",
86
+ "zh": "安装 MCP 服务器时出错:{{error}}",
87
+ "ja": "MCPサーバーのインストールエラー: {{error}}",
88
+ "ar": "خطأ في تثبيت خادم MCP: {{error}}",
89
+ "ru": "Ошибка установки MCP сервера: {{error}}",
90
+ },
91
+ "mcp_install_success": {
92
+ "en": "Successfully installed MCP server: {{result}}",
93
+ "zh": "成功安装 MCP 服务器:{{result}}",
94
+ "ja": "MCPサーバーを正常にインストールしました: {{result}}",
95
+ "ar": "تم تثبيت خادم MCP بنجاح: {{result}}",
96
+ "ru": "MCP сервер успешно установлен: {{result}}",
97
+ },
98
+ "mcp_query_empty": {
99
+ "en": "Please enter your query.",
100
+ "zh": "请输入您的查询。",
101
+ "ja": "クエリを入力してください。",
102
+ "ar": "يرجى إدخال استفسارك.",
103
+ "ru": "Пожалуйста, введите ваш запрос.",
104
+ },
105
+ "mcp_error_title": {
106
+ "en": "Error",
107
+ "zh": "错误",
108
+ "ja": "エラー",
109
+ "ar": "خطأ",
110
+ "ru": "Ошибка",
111
+ },
112
+ "mcp_response_title": {
113
+ "en": "MCP Response",
114
+ "zh": "MCP 响应",
115
+ "ja": "MCP応答",
116
+ "ar": "استجابة MCP",
117
+ "ru": "Ответ MCP",
118
+ },
119
+ "initializing": {
120
+ "en": "🚀 Initializing system...",
121
+ "zh": "🚀 正在初始化系统...",
122
+ "ja": "🚀 システムを初期化中...",
123
+ "ar": "🚀 تهيئة النظام...",
124
+ "ru": "🚀 Инициализация системы...",
125
+ },
126
+ "not_initialized": {
127
+ "en": "The current directory is not initialized as an auto-coder project.",
128
+ "zh": "当前目录未初始化为auto-coder项目。",
129
+ "ja": "現在のディレクトリはauto-coderプロジェクトとして初期化されていません。",
130
+ "ar": "الدليل الحالي غير مهيأ كمشروع auto-coder.",
131
+ "ru": "Текущий каталог не инициализирован как проект auto-coder.",
132
+ },
133
+ "init_prompt": {
134
+ "en": "Do you want to initialize the project now? (y/n): ",
135
+ "zh": "是否现在初始化项目?(y/n): ",
136
+ "ja": "今すぐプロジェクトを初期化しますか? (y/n): ",
137
+ "ar": "هل تريد تهيئة المشروع الآن؟ (y/n): ",
138
+ "ru": "Хотите инициализировать проект сейчас? (y/n): ",
139
+ },
140
+ "init_success": {
141
+ "en": "Project initialized successfully.",
142
+ "zh": "项目初始化成功。",
143
+ "ja": "プロジェクトの初期化に成功しました。",
144
+ "ar": "تم تهيئة المشروع بنجاح.",
145
+ "ru": "Проект успешно инициализирован.",
146
+ },
147
+ "init_fail": {
148
+ "en": "Failed to initialize the project.",
149
+ "zh": "项目初始化失败。",
150
+ "ja": "プロジェクトの初期化に失敗しました。",
151
+ "ar": "فشلت تهيئة المشروع.",
152
+ "ru": "Не удалось инициализировать проект.",
153
+ },
154
+ "init_manual": {
155
+ "en": "Please try manually: auto-coder init --source_dir .",
156
+ "zh": "请尝试手动初始化:auto-coder init --source_dir .",
157
+ "ja": "手動で実行してください: auto-coder init --source_dir .",
158
+ "ar": "يرجى المحاولة يدوياً: auto-coder init --source_dir .",
159
+ "ru": "Попробуйте выполнить вручную: auto-coder init --source_dir .",
160
+ },
161
+ "exit_no_init": {
162
+ "en": "Exiting without initialization.",
163
+ "zh": "退出而不初始化。",
164
+ "ja": "初期化せずに終了します。",
165
+ "ar": "الخروج دون تهيئة.",
166
+ "ru": "Выход без инициализации.",
167
+ },
168
+ "created_dir": {
169
+ "en": "Created directory: {{path}}",
170
+ "zh": "创建目录:{{path}}",
171
+ "ja": "ディレクトリを作成しました: {{path}}",
172
+ "ar": "تم إنشاء الدليل: {{path}}",
173
+ "ru": "Создан каталог: {{path}}",
174
+ },
175
+ "init_complete": {
176
+ "en": "Project initialization completed.",
177
+ "zh": "项目初始化完成。",
178
+ "ja": "プロジェクトの初期化が完了しました。",
179
+ "ar": "اكتملت تهيئة المشروع.",
180
+ "ru": "Инициализация проекта завершена.",
181
+ },
182
+ "checking_ray": {
183
+ "en": "Checking Ray status...",
184
+ "zh": "正在检查Ray状态...",
185
+ "ja": "Rayのステータスを確認中...",
186
+ "ar": "التحقق من حالة Ray...",
187
+ "ru": "Проверка статуса Ray...",
188
+ },
189
+ "ray_not_running": {
190
+ "en": "Ray is not running. Starting Ray...",
191
+ "zh": "Ray未运行。正在启动Ray...",
192
+ "ja": "Rayが実行されていません。Rayを起動中...",
193
+ "ar": "Ray غير قيد التشغيل. بدء تشغيل Ray...",
194
+ "ru": "Ray не запущен. Запуск Ray...",
195
+ },
196
+ "ray_start_success": {
197
+ "en": "Ray started successfully.",
198
+ "zh": "Ray启动成功。",
199
+ "ja": "Rayが正常に起動しました。",
200
+ "ar": "تم بدء تشغيل Ray بنجاح.",
201
+ "ru": "Ray успешно запущен.",
202
+ },
203
+ "ray_start_fail": {
204
+ "en": "Failed to start Ray. Please start it manually.",
205
+ "zh": "Ray启动失败。请手动启动。",
206
+ "ja": "Rayの起動に失敗しました。手動で起動してください。",
207
+ "ar": "فشل في بدء تشغيل Ray. يرجى البدء يدوياً.",
208
+ "ru": "Не удалось запустить Ray. Пожалуйста, запустите вручную.",
209
+ },
210
+ "ray_running": {
211
+ "en": "Ray is already running.",
212
+ "zh": "Ray已经在运行。",
213
+ "ja": "Rayはすでに実行中です。",
214
+ "ar": "Ray قيد التشغيل بالفعل.",
215
+ "ru": "Ray уже запущен.",
216
+ },
217
+ "checking_model": {
218
+ "en": "Checking deepseek_chat model availability...",
219
+ "zh": "正在检查deepseek_chat模型可用性...",
220
+ "ja": "deepseek_chatモデルの可用性を確認中...",
221
+ "ar": "التحقق من توفر نموذج deepseek_chat...",
222
+ "ru": "Проверка доступности модели deepseek_chat...",
223
+ },
224
+ "model_available": {
225
+ "en": "deepseek_chat model is available.",
226
+ "zh": "deepseek_chat模型可用。",
227
+ "ja": "deepseek_chatモデルが利用可能です。",
228
+ "ar": "نموذج deepseek_chat متاح.",
229
+ "ru": "Модель deepseek_chat доступна.",
230
+ },
231
+ "model_timeout": {
232
+ "en": "Command timed out. deepseek_chat model might not be available.",
233
+ "zh": "命令超时。deepseek_chat模型可能不可用。",
234
+ "ja": "コマンドがタイムアウトしました。deepseek_chatモデルが利用できない可能性があります。",
235
+ "ar": "انتهت مهلة الأمر. قد لا يكون نموذج deepseek_chat متاحاً.",
236
+ "ru": "Истекло время выполнения команды. Модель deepseek_chat может быть недоступна.",
237
+ },
238
+ "model_error": {
239
+ "en": "Error occurred while checking deepseek_chat model.",
240
+ "zh": "检查deepseek_chat模型时出错。",
241
+ "ja": "deepseek_chatモデルの確認中にエラーが発生しました。",
242
+ "ar": "حدث خطأ أثناء التحقق من نموذج deepseek_chat.",
243
+ "ru": "Произошла ошибка при проверке модели deepseek_chat.",
244
+ },
245
+ "model_not_available": {
246
+ "en": "deepseek_chat model is not available.",
247
+ "zh": "deepseek_chat模型不可用。",
248
+ "ja": "deepseek_chatモデルは利用できません。",
249
+ "ar": "نموذج deepseek_chat غير متاح.",
250
+ "ru": "Модель deepseek_chat недоступна.",
251
+ },
252
+ "provider_selection": {
253
+ "en": "Select a provider for deepseek_chat model:",
254
+ "zh": "为deepseek_chat模型选择一个提供商:",
255
+ "ja": "deepseek_chatモデルのプロバイダーを選択してください:",
256
+ "ar": "اختر مزود لنموذج deepseek_chat:",
257
+ "ru": "Выберите провайдера для модели deepseek_chat:",
258
+ },
259
+ "no_provider": {
260
+ "en": "No provider selected. Exiting initialization.",
261
+ "zh": "未选择提供商。退出初始化。",
262
+ "ja": "プロバイダーが選択されていません。初期化を終了します。",
263
+ "ar": "لم يتم اختيار مزود. الخروج من التهيئة.",
264
+ "ru": "Провайдер не выбран. Выход из инициализации.",
265
+ },
266
+ "enter_api_key": {
267
+ "en": "Please enter your API key(https://www.deepseek.com/): ",
268
+ "zh": "请输入您的API密钥(https://www.deepseek.com/):",
269
+ "ja": "APIキーを入力してください(https://www.deepseek.com/): ",
270
+ "ar": "يرجى إدخال مفتاح API الخاص بك(https://www.deepseek.com/): ",
271
+ "ru": "Пожалуйста, введите ваш API ключ(https://www.deepseek.com/): ",
272
+ },
273
+ "deploying_model": {
274
+ "en": "Deploying deepseek_chat model using {}...",
275
+ "zh": "正在使用{}部署deepseek_chat模型...",
276
+ "ja": "{}を使用してdeepseek_chatモデルをデプロイ中...",
277
+ "ar": "نشر نموذج deepseek_chat باستخدام {}...",
278
+ "ru": "Развертывание модели deepseek_chat с использованием {}...",
279
+ },
280
+ "deploy_complete": {
281
+ "en": "Deployment completed.",
282
+ "zh": "部署完成。",
283
+ "ja": "デプロイが完了しました。",
284
+ "ar": "اكتمل النشر.",
285
+ "ru": "Развертывание завершено.",
286
+ },
287
+ "deploy_fail": {
288
+ "en": "Deployment failed. Please try again or deploy manually.",
289
+ "zh": "部署失败。请重试或手动部署。",
290
+ "ja": "デプロイに失敗しました。再試行するか手動でデプロイしてください。",
291
+ "ar": "فشل النشر. يرجى المحاولة مرة أخرى أو النشر يدوياً.",
292
+ "ru": "Развертывание не удалось. Пожалуйста, попробуйте снова или разверните вручную.",
293
+ },
294
+ "validating_deploy": {
295
+ "en": "Validating the deployment...",
296
+ "zh": "正在验证部署...",
297
+ "ja": "デプロイを検証中...",
298
+ "ar": "التحقق من صحة النشر...",
299
+ "ru": "Проверка развертывания...",
300
+ },
301
+ "validation_success": {
302
+ "en": "Validation successful. deepseek_chat model is now available.",
303
+ "zh": "验证成功。deepseek_chat模型现在可用。",
304
+ "ja": "検証に成功しました。deepseek_chatモデルが利用可能になりました。",
305
+ "ar": "نجح التحقق. نموذج deepseek_chat متاح الآن.",
306
+ "ru": "Проверка прошла успешно. Модель deepseek_chat теперь доступна.",
307
+ },
308
+ "validation_fail": {
309
+ "en": "Validation failed. The model might not be deployed correctly.",
310
+ "zh": "验证失败。模型可能未正确部署。",
311
+ "ja": "検証に失敗しました。モデルが正しくデプロイされていない可能性があります。",
312
+ "ar": "فشل التحقق. قد لا يكون النموذج منشوراً بشكل صحيح.",
313
+ "ru": "Проверка не удалась. Модель может быть развернута неправильно.",
314
+ },
315
+ "manual_start": {
316
+ "en": "Please try to start the model manually using:",
317
+ "zh": "请尝试使用以下命令手动启动模型:",
318
+ "ja": "以下のコマンドを使用してモデルを手動で起動してください:",
319
+ "ar": "يرجى محاولة بدء تشغيل النموذج يدوياً باستخدام:",
320
+ "ru": "Пожалуйста, попробуйте запустить модель вручную, используя:",
321
+ },
322
+ "init_complete_final": {
323
+ "en": "Initialization completed.",
324
+ "zh": "初始化完成。",
325
+ "ja": "初期化が完了しました。",
326
+ "ar": "اكتملت التهيئة.",
327
+ "ru": "Инициализация завершена.",
328
+ },
329
+ "project_type_config": {
330
+ "en": "Project Type Configuration",
331
+ "zh": "项目类型配置",
332
+ "ja": "プロジェクトタイプ設定",
333
+ "ar": "تكوين نوع المشروع",
334
+ "ru": "Конфигурация типа проекта",
335
+ },
336
+ "project_type_supports": {
337
+ "en": "The project_type supports:",
338
+ "zh": "项目类型支持:",
339
+ "ja": "プロジェクトタイプがサポートする項目:",
340
+ "ar": "يدعم نوع المشروع:",
341
+ "ru": "Тип проекта поддерживает:",
342
+ },
343
+ "language_suffixes": {
344
+ "en": " - Language suffixes (e.g., .py, .java, .ts)",
345
+ "zh": " - 语言后缀(例如:.py, .java, .ts)",
346
+ "ja": " - 言語の拡張子(例:.py, .java, .ts)",
347
+ "ar": " - لواحق اللغة (مثل .py, .java, .ts)",
348
+ "ru": " - Расширения языков (например, .py, .java, .ts)",
349
+ },
350
+ "predefined_types": {
351
+ "en": " - Predefined types: py (Python), ts (TypeScript/JavaScript)",
352
+ "zh": " - 预定义类型:py(Python), ts(TypeScript/JavaScript)",
353
+ "ja": " - 定義済みタイプ: py (Python), ts (TypeScript/JavaScript)",
354
+ "ar": " - الأنواع المحددة مسبقاً: py (Python), ts (TypeScript/JavaScript)",
355
+ "ru": " - Предопределенные типы: py (Python), ts (TypeScript/JavaScript)",
356
+ },
357
+ "mixed_projects": {
358
+ "en": "For mixed language projects, use comma-separated values.",
359
+ "zh": "对于混合语言项目,使用逗号分隔的值。",
360
+ "ja": "混合言語プロジェクトの場合は、カンマ区切りの値を使用してください。",
361
+ "ar": "للمشاريع متعددة اللغات، استخدم قيماً مفصولة بفواصل.",
362
+ "ru": "Для проектов со смешанными языками используйте значения, разделенные запятыми.",
363
+ },
364
+ "examples": {
365
+ "en": "Examples: '.java,.scala' or '.py,.ts'",
366
+ "zh": "示例:'.java,.scala' 或 '.py,.ts'",
367
+ "ja": "例: '.java,.scala' または '.py,.ts'",
368
+ "ar": "أمثلة: '.java,.scala' أو '.py,.ts'",
369
+ "ru": "Примеры: '.java,.scala' или '.py,.ts'",
370
+ },
371
+ "default_type": {
372
+ "en": "Default is 'py' if left empty.",
373
+ "zh": "如果留空,默认为 'py'。",
374
+ "ja": "空白の場合、デフォルトは 'py' です。",
375
+ "ar": "الافتراضي هو 'py' إذا ترك فارغاً.",
376
+ "ru": "По умолчанию 'py', если оставить пустым.",
377
+ },
378
+ "enter_project_type": {
379
+ "en": "Enter the project type: ",
380
+ "zh": "请输入项目类型:",
381
+ "ja": "プロジェクトタイプを入力してください: ",
382
+ "ar": "أدخل نوع المشروع: ",
383
+ "ru": "Введите тип проекта: ",
384
+ },
385
+ "project_type_set": {
386
+ "en": "Project type set to:",
387
+ "zh": "项目类型设置为:",
388
+ "ja": "プロジェクトタイプが設定されました:",
389
+ "ar": "تم تعيين نوع المشروع إلى:",
390
+ "ru": "Тип проекта установлен как:",
391
+ },
392
+ "using_default_type": {
393
+ "en": "will automatically collect extensions of code file, otherwise default to 'py'",
394
+ "zh": "使用默认项目类型,会自动查找代码代码相关的后缀名,如果项目为空,则默认为py",
395
+ "ja": "デフォルトのプロジェクトタイプを使用し、コードファイルの拡張子を自動的に収集します。プロジェクトが空の場合はpyがデフォルトです",
396
+ "ar": "سيجمع امتدادات ملفات الكود تلقائياً، وإلا فالافتراضي هو 'py'",
397
+ "ru": "автоматически соберет расширения файлов кода, иначе по умолчанию 'py'",
398
+ },
399
+ "change_setting_later": {
400
+ "en": "You can change this setting later using",
401
+ "zh": "您可以稍后使用以下命令更改此设置",
402
+ "ja": "この設定は後で以下のコマンドで変更できます",
403
+ "ar": "يمكنك تغيير هذا الإعداد لاحقاً باستخدام",
404
+ "ru": "Вы можете изменить эту настройку позже, используя",
405
+ },
406
+ "supported_commands": {
407
+ "en": "Supported commands:",
408
+ "zh": "支持的命令:",
409
+ "ja": "サポートされているコマンド:",
410
+ "ar": "الأوامر المدعومة:",
411
+ "ru": "Поддерживаемые команды:",
412
+ },
413
+ "commands": {
414
+ "en": "Commands",
415
+ "zh": "命令",
416
+ "ja": "コマンド",
417
+ "ar": "الأوامر",
418
+ "ru": "Команды",
419
+ },
420
+ "description": {
421
+ "en": "Description",
422
+ "zh": "描述",
423
+ "ja": "説明",
424
+ "ar": "الوصف",
425
+ "ru": "Описание",
426
+ },
427
+ "add_files_desc": {
428
+ "en": "Add files to the current session",
429
+ "zh": "将文件添加到当前会话",
430
+ "ja": "現在のセッションにファイルを追加",
431
+ "ar": "إضافة ملفات إلى الجلسة الحالية",
432
+ "ru": "Добавить файлы в текущую сессию",
433
+ },
434
+ "remove_files_desc": {
435
+ "en": "Remove files from the current session",
436
+ "zh": "从当前会话中移除文件",
437
+ "ja": "現在のセッションからファイルを削除",
438
+ "ar": "إزالة ملفات من الجلسة الحالية",
439
+ "ru": "Удалить файлы из текущей сессии",
440
+ },
441
+ "chat_desc": {
442
+ "en": "Chat with the AI about the current active files to get insights",
443
+ "zh": "与AI聊天,获取关于当前活动文件的见解",
444
+ "ja": "現在のアクティブファイルについてAIとチャットして洞察を得る",
445
+ "ar": "الدردشة مع الذكاء الاصطناعي حول الملفات النشطة الحالية للحصول على رؤى",
446
+ "ru": "Чат с ИИ о текущих активных файлах для получения инсайтов",
447
+ },
448
+ "coding_desc": {
449
+ "en": "Request the AI to modify code based on requirements",
450
+ "zh": "根据需求请求AI修改代码",
451
+ "ja": "要件に基づいてAIにコードの修正を依頼",
452
+ "ar": "طلب من الذكاء الاصطناعي تعديل الكود بناءً على المتطلبات",
453
+ "ru": "Попросить ИИ изменить код на основе требований",
454
+ },
455
+ "ask_desc": {
456
+ "en": "Ask the AI any questions or get insights about the current project, without modifying code",
457
+ "zh": "向AI提问或获取关于当前项目的见解,不修改代码",
458
+ "ja": "現在のプロジェクトについてAIに質問や洞察を求める(コード修正なし)",
459
+ "ar": "اسأل الذكاء الاصطناعي أي أسئلة أو احصل على رؤى حول المشروع الحالي، دون تعديل الكود",
460
+ "ru": "Задавать ИИ вопросы или получать инсайты о текущем проекте без изменения кода",
461
+ },
462
+ "summon_desc": {
463
+ "en": "Summon the AI to perform complex tasks using the auto_tool agent",
464
+ "zh": "召唤AI使用auto_tool代理执行复杂任务",
465
+ "ja": "auto_toolエージェントを使用して複雑なタスクを実行するようAIを召喚",
466
+ "ar": "استدعاء الذكاء الاصطناعي لأداء مهام معقدة باستخدام وكيل auto_tool",
467
+ "ru": "Вызвать ИИ для выполнения сложных задач с использованием агента auto_tool",
468
+ },
469
+ "revert_desc": {
470
+ "en": "Revert commits from last coding chat",
471
+ "zh": "撤销上次代码聊天的提交",
472
+ "ja": "最後のコーディングチャットからのコミットを取り消し",
473
+ "ar": "التراجع عن التزامات من آخر محادثة برمجة",
474
+ "ru": "Отменить коммиты из последнего чата кодирования",
475
+ },
476
+ "conf_desc": {
477
+ "en": "Set configuration. Use /conf project_type:<type> to set project type for indexing",
478
+ "zh": "设置配置。使用 /conf project_type:<type> 设置索引的项目类型",
479
+ "ja": "設定を行う。/conf project_type:<type> を使用してインデックス用のプロジェクトタイプを設定",
480
+ "ar": "تعيين التكوين. استخدم /conf project_type:<type> لتعيين نوع المشروع للفهرسة",
481
+ "ru": "Настроить конфигурацию. Используйте /conf project_type:<type> для установки типа проекта для индексации",
482
+ },
483
+ "index_query_desc": {
484
+ "en": "Query the project index",
485
+ "zh": "查询项目索引",
486
+ "ja": "プロジェクトインデックスを検索",
487
+ "ar": "استعلام فهرس المشروع",
488
+ "ru": "Запросить индекс проекта",
489
+ },
490
+ "index_build_desc": {
491
+ "en": "Trigger building the project index",
492
+ "zh": "触发构建项目索引",
493
+ "ja": "プロジェクトインデックスの構築をトリガー",
494
+ "ar": "تشغيل بناء فهرس المشروع",
495
+ "ru": "Запустить построение индекса проекта",
496
+ },
497
+ "list_files_desc": {
498
+ "en": "List all active files in the current session",
499
+ "zh": "列出当前会话中的所有活动文件",
500
+ "ja": "現在のセッション内のすべてのアクティブファイルをリスト",
501
+ "ar": "إدراج جميع الملفات النشطة في الجلسة الحالية",
502
+ "ru": "Список всех активных файлов в текущей сессии",
503
+ },
504
+ "help_desc": {
505
+ "en": "Show this help message",
506
+ "zh": "显示此帮助消息",
507
+ "ja": "このヘルプメッセージを表示",
508
+ "ar": "إظهار رسالة المساعدة هذه",
509
+ "ru": "Показать это справочное сообщение",
510
+ },
511
+ "exclude_dirs_desc": {
512
+ "en": "Add directories to exclude from project",
513
+ "zh": "添加要从项目中排除的目录",
514
+ "ja": "プロジェクトから除外するディレクトリを追加",
515
+ "ar": "إضافة دلائل لاستبعادها من المشروع",
516
+ "ru": "Добавить каталоги для исключения из проекта",
517
+ },
518
+ "shell_desc": {
519
+ "en": "Execute a shell command or switch to shell mode",
520
+ "zh": "执行shell命令或切换到shell模式",
521
+ "ja": "シェルコマンドを実行またはシェルモードに切り替え",
522
+ "ar": "تنفيذ أمر shell أو التبديل إلى وضع shell",
523
+ "ru": "Выполнить команду shell или переключиться в режим shell",
524
+ },
525
+ "shell_mode_desc": {
526
+ "en": "Shell mode - all non-command input will be executed as shell commands",
527
+ "zh": "Shell模式 - 所有非命令输入都将作为shell命令执行",
528
+ "ja": "シェルモード - すべての非コマンド入力はシェルコマンドとして実行されます",
529
+ "ar": "وضع Shell - سيتم تنفيذ جميع المدخلات غير الأوامر كأوامر shell",
530
+ "ru": "Режим Shell - все некомандные вводы будут выполнены как команды shell",
531
+ },
532
+ "index_export_success": {
533
+ "en": "Successfully exported index to {{ path }}",
534
+ "zh": "成功导出索引到 {{ path }}",
535
+ "ja": "インデックスを {{ path }} に正常にエクスポートしました",
536
+ "ar": "تم تصدير الفهرس بنجاح إلى {{ path }}",
537
+ "ru": "Индекс успешно экспортирован в {{ path }}",
538
+ },
539
+ "index_export_fail": {
540
+ "en": "Failed to export index to {{ path }}",
541
+ "zh": "导出索引到 {{ path }} 失败",
542
+ "ja": "{{ path }} へのインデックスエクスポートに失敗しました",
543
+ "ar": "فشل في تصدير الفهرس إلى {{ path }}",
544
+ "ru": "Не удалось экспортировать индекс в {{ path }}",
545
+ },
546
+ "index_import_success": {
547
+ "en": "Successfully imported index from {{ path }}",
548
+ "zh": "成功从 {{ path }} 导入索引",
549
+ "ja": "{{ path }} からインデックスを正常にインポートしました",
550
+ "ar": "تم استيراد الفهرس بنجاح من {{ path }}",
551
+ "ru": "Индекс успешно импортирован из {{ path }}",
552
+ },
553
+ "index_import_fail": {
554
+ "en": "Failed to import index from {{ path }}",
555
+ "zh": "从 {{ path }} 导入索引失败",
556
+ "ja": "{{ path }} からのインデックスインポートに失敗しました",
557
+ "ar": "فشل في استيراد الفهرس من {{ path }}",
558
+ "ru": "Не удалось импортировать индекс из {{ path }}",
559
+ },
560
+ "index_not_found": {
561
+ "en": "Index file not found at {{ path }}",
562
+ "zh": "在 {{ path }} 未找到索引文件",
563
+ "ja": "{{ path }} でインデックスファイルが見つかりません",
564
+ "ar": "ملف الفهرس غير موجود في {{ path }}",
565
+ "ru": "Файл индекса не найден в {{ path }}",
566
+ },
567
+ "index_backup_success": {
568
+ "en": "Backed up existing index to {{ path }}",
569
+ "zh": "已备份现有索引到 {{ path }}",
570
+ "ja": "既存のインデックスを {{ path }} にバックアップしました",
571
+ "ar": "تم نسخ الفهرس الموجود احتياطياً إلى {{ path }}",
572
+ "ru": "Существующий индекс создан резервная копия в {{ path }}",
573
+ },
574
+ "index_convert_path_fail": {
575
+ "en": "Could not convert path {{ path }}",
576
+ "zh": "无法转换路径 {{ path }}",
577
+ "ja": "パス {{ path }} を変換できませんでした",
578
+ "ar": "لا يمكن تحويل المسار {{ path }}",
579
+ "ru": "Не удалось преобразовать путь {{ path }}",
580
+ },
581
+ "index_error": {
582
+ "en": "Error in index operation: {{ error }}",
583
+ "zh": "索引操作出错:{{ error }}",
584
+ "ja": "インデックス操作でエラーが発生しました: {{ error }}",
585
+ "ar": "خطأ في عملية الفهرس: {{ error }}",
586
+ "ru": "Ошибка при выполнении операции индекса: {{ error }}",
587
+ },
588
+ "voice_input_desc": {
589
+ "en": "Convert voice input to text",
590
+ "zh": "将语音输入转换为文本",
591
+ "ja": "音声入力をテキストに変換",
592
+ "ar": "تحويل إدخال الصوت إلى نص",
593
+ "ru": "Преобразовать голосовой ввод в текст",
594
+ },
595
+ "mode_desc": {
596
+ "en": "Switch input mode",
597
+ "zh": "切换输入模式",
598
+ "ja": "入力モードを切り替え",
599
+ "ar": "تبديل وضع الإدخال",
600
+ "ru": "Переключить режим ввода",
601
+ },
602
+ "conf_key": {"en": "Key", "zh": "键", "ja": "キー", "ar": "المفتاح", "ru": "Ключ"},
603
+ "conf_value": {
604
+ "en": "Value",
605
+ "zh": "值",
606
+ "ja": "値",
607
+ "ar": "القيمة",
608
+ "ru": "Значение",
609
+ },
610
+ "conf_title": {
611
+ "en": "Configuration Settings",
612
+ "zh": "配置设置",
613
+ "ja": "設定",
614
+ "ar": "إعدادات التكوين",
615
+ "ru": "Настройки конфигурации",
616
+ },
617
+ "conf_subtitle": {
618
+ "en": "Use /conf <key>:<value> to modify these settings",
619
+ "zh": "使用 /conf <key>:<value> 修改这些设置",
620
+ "ja": "/conf <key>:<value> を使用してこれらの設定を変更してください",
621
+ "ar": "استخدم /conf <key>:<value> لتعديل هذه الإعدادات",
622
+ "ru": "Используйте /conf <ключ>:<значение> для изменения этих настроек",
623
+ },
624
+ "lib_desc": {
625
+ "en": "Manage libraries",
626
+ "zh": "管理库",
627
+ "ja": "ライブラリを管理",
628
+ "ar": "إدارة المكتبات",
629
+ "ru": "Управление библиотеками",
630
+ },
631
+ "exit_desc": {
632
+ "en": "Exit the program",
633
+ "zh": "退出程序",
634
+ "ja": "プログラムを終了",
635
+ "ar": "إنهاء البرنامج",
636
+ "ru": "Выйти из программы",
637
+ },
638
+ "design_desc": {
639
+ "en": "Generate SVG image based on the provided description",
640
+ "zh": "根据需求设计SVG图片",
641
+ "ja": "提供された説明に基づいてSVG画像を生成",
642
+ "ar": "إنشاء صورة SVG بناءً على الوصف المقدم",
643
+ "ru": "Создать SVG изображение на основе предоставленного описания",
644
+ },
645
+ "commit_desc": {
646
+ "en": "Auto generate yaml file and commit changes based on user's manual changes",
647
+ "zh": "根据用户人工修改的代码自动生成yaml文件并提交更改",
648
+ "ja": "ユーザーの手動変更に基づいてyamlファイルを自動生成し、変更をコミット",
649
+ "ar": "إنشاء ملف yaml تلقائياً والتزام بالتغييرات بناءً على التعديلات اليدوية للمستخدم",
650
+ "ru": "Автоматически создать yaml файл и зафиксировать изменения на основе ручных изменений пользователя",
651
+ },
652
+ "models_desc": {
653
+ "en": "Manage model configurations, only available in lite mode",
654
+ "zh": "管理模型配置,仅在lite模式下可用",
655
+ "ja": "モデル設定を管理(liteモードでのみ利用可能)",
656
+ "ar": "إدارة تكوينات النماذج، متاح فقط في وضع lite",
657
+ "ru": "Управление конфигурациями моделей, доступно только в lite режиме",
658
+ },
659
+ "models_usage": {
660
+ "en": """Usage: /models <command>
661
+ Available subcommands:
662
+ provider/model <api_key> - Activate a built-in model and set its API key (recommended for quick start).
663
+ /list [pattern] - List all configured models (built-in + custom). Optionally filter by pattern (supports wildcards).
664
+ /chat <model_name> <question> - Chat with a specific model to test it.
665
+ /add_provider - Add a custom provider. Provide parameters in 'key=value' format, e.g., name=my_model model_name=gpt-4 base_url=... api_key=...
666
+ /remove <name> - Remove a configured model by its name (only custom models can be removed).
667
+ /input_price <name> <value> - Set the input price for a model (unit: Million tokens).
668
+ /output_price <name> <value> - Set the output price for a model (unit: Million tokens).
669
+ /speed <name> <value> - Set the average speed for a model (unit: seconds per request).
670
+ /speed-test [<rounds>] - Test the speed of configured models. Optionally specify the number of rounds.
671
+ /speed-test /long_context [<rounds>] - Test model speed using a long context. Optionally specify the number of rounds.""",
672
+ "zh": """用法: /models <命令>
673
+ 可用的子命令:
674
+ provider/model <API密钥> - 激活一个内置模型并设置其 API 密钥 (推荐快速开始)。
675
+ /list [模式] - 列出所有已配置的模型 (包括内置和自定义)。可选择使用模式过滤 (支持通配符)。
676
+ /chat <模型名称> <问题> - 与指定模型对话以测试它。
677
+ /add_provider - 添加一个自定义 provider。参数使用 'key=value' 格式提供,例如:name=my_model model_name=gpt-4 base_url=... api_key=...
678
+ /remove <名称> - 根据名称移除一个已配置的模型 (仅能删除自定义模型)。
679
+ /input_price <名称> <价格> - 设置指定模型的输入价格 (单位: 百万 Token)。
680
+ /output_price <名称> <价格> - 设置指定模型的输出价格 (单位: 百万 Token)。
681
+ /speed <名称> <速度> - 设置指定模型的平均速度 (单位: 秒/请求)。
682
+ /speed-test [<轮数>] - 测试已配置模型的速度。可以指定测试轮数 (可选)。
683
+ /speed-test /long_context [<轮数>] - 使用长文本上下文测试模型速度。可以指定测试轮数 (可选)。""",
684
+ "ja": """使用法: /models <コマンド>
685
+ 利用可能なサブコマンド:
686
+ provider/model <APIキー> - 内蔵モデルを有効化し、APIキーを設定(クイックスタート推奨)。
687
+ /list [パターン] - 設定済みのすべてのモデルをリスト(内蔵 + カスタム)。オプションでパターンでフィルタ(ワイルドカード対応)。
688
+ /chat <モデル名> <質問> - 指定されたモデルとチャットしてテストします。
689
+ /add_provider - カスタムプロバイダーを追加。'key=value' 形式でパラメータを提供。例: name=my_model model_name=gpt-4 base_url=... api_key=...
690
+ /remove <名前> - 名前でモデルを削除(カスタムモデルのみ削除可能)。
691
+ /input_price <名前> <価格> - モデルの入力価格を設定(単位: 百万トークン)。
692
+ /output_price <名前> <価格> - モデルの出力価格を設定(単位: 百万トークン)。
693
+ /speed <名前> <速度> - モデルの平均速度を設定(単位: 秒/リクエスト)。
694
+ /speed-test [<ラウンド数>] - 設定済みモデルの速度をテスト。オプションでラウンド数を指定。
695
+ /speed-test /long_context [<ラウンド数>] - 長いコンテキストを使用してモデル速度をテスト。オプションでラウンド数を指定。""",
696
+ "ar": """الاستخدام: /models <الأمر>
697
+ الأوامر الفرعية المتاحة:
698
+ provider/model <مفتاح API> - تفعيل نموذج مدمج وتعيين مفتاح API الخاص به (موصى به للبداية السريعة).
699
+ /list [نمط] - إدراج جميع النماذج المكونة (مدمجة + مخصصة). تصفية اختيارية بالنمط (يدعم أحرف البدل).
700
+ /chat <اسم النموذج> <السؤال> - الدردشة مع نموذج محدد لاختباره.
701
+ /add_provider - إضافة مزود مخصص. قدم المعاملات بصيغة 'key=value'، مثل: name=my_model model_name=gpt-4 base_url=... api_key=...
702
+ /remove <الاسم> - إزالة نموذج مكون بالاسم (يمكن إزالة النماذج المخصصة فقط).
703
+ /input_price <الاسم> <القيمة> - تعيين سعر الإدخال للنموذج (الوحدة: مليون رمز).
704
+ /output_price <الاسم> <القيمة> - تعيين سعر الإخراج للنموذج (الوحدة: مليون رمز).
705
+ /speed <الاسم> <القيمة> - تعيين السرعة المتوسطة للنموذج (الوحدة: ثوان لكل طلب).
706
+ /speed-test [<الجولات>] - اختبار سرعة النماذج المكونة. حدد عدد الجولات اختيارياً.
707
+ /speed-test /long_context [<الجولات>] - اختبار سرعة النموذج باستخدام سياق طويل. حدد عدد الجولات اختيارياً.""",
708
+ "ru": """Использование: /models <команда>
709
+ Доступные подкоманды:
710
+ provider/model <api_ключ> - Активировать встроенную модель и установить её API ключ (рекомендуется для быстрого старта).
711
+ /list [шаблон] - Список всех настроенных моделей (встроенные + пользовательские). Опциональная фильтрация по шаблону (поддержка подстановочных знаков).
712
+ /chat <имя_модели> <вопрос> - Чат с конкретной моделью для тестирования.
713
+ /add_provider - Добавить пользовательского провайдера. Укажите параметры в формате 'ключ=значение', например: name=my_model model_name=gpt-4 base_url=... api_key=...
714
+ /remove <имя> - Удалить настроенную модель по имени (можно удалить только пользовательские модели).
715
+ /input_price <имя> <значение> - Установить цену ввода для модели (единица: Миллион токенов).
716
+ /output_price <имя> <значение> - Установить цену вывода для модели (единица: Миллион токенов).
717
+ /speed <имя> <значение> - Установить среднюю скорость для модели (единица: секунды на запрос).
718
+ /speed-test [<раунды>] - Тест скорости настроенных моделей. По желанию укажите количество раундов.
719
+ /speed-test /long_context [<раунды>] - Тест скорости модели с длинным контекстом. По желанию укажите количество раундов.""",
720
+ },
721
+ "models_added": {
722
+ "en": "Added/Updated model '{{name}}' successfully.",
723
+ "zh": "成功添加/更新模型 '{{name}}'。",
724
+ "ja": "モデル '{{name}}' を正常に追加/更新しました。",
725
+ "ar": "تم إضافة/تحديث النموذج '{{name}}' بنجاح.",
726
+ "ru": "Модель '{{name}}' успешно добавлена/обновлена.",
727
+ },
728
+ "models_add_failed": {
729
+ "en": "Failed to add model '{{name}}'. Model not found in defaults.",
730
+ "zh": "添加模型 '{{name}}' 失败。在默认模型中未找到该模型。",
731
+ "ja": "モデル '{{name}}' の追加に失敗しました。デフォルトモデルで見つかりません。",
732
+ "ar": "فشل في إضافة النموذج '{{name}}'. النموذج غير موجود في الافتراضيات.",
733
+ "ru": "Не удалось добавить модель '{{name}}'. Модель не найдена в значениях по умолчанию.",
734
+ },
735
+ "models_add_usage": {
736
+ "en": "Usage: /models /add <name> <api_key> \n Available models: \n{{models}}",
737
+ "zh": "用法: /models /add <name> <api_key> \n 可用模型: \n{{models}}",
738
+ "ja": "使用法: /models /add <name> <api_key> \n 利用可能なモデル: \n{{models}}",
739
+ "ar": "الاستخدام: /models /add <name> <api_key> \n النماذج المتاحة: \n{{models}}",
740
+ "ru": "Использование: /models /add <имя> <api_ключ> \n Доступные модели: \n{{models}}",
741
+ },
742
+ "models_add_model_params": {
743
+ "en": "Please provide parameters in key=value format",
744
+ "zh": "请提供 key=value 格式的参数",
745
+ "ja": "key=value 形式でパラメータを提供してください",
746
+ "ar": "يرجى تقديم المعاملات بصيغة key=value",
747
+ "ru": "Пожалуйста, предоставьте параметры в формате ключ=значение",
748
+ },
749
+ "models_add_model_name_required": {
750
+ "en": "'name' parameter is required",
751
+ "zh": "缺少必需的 'name' 参数",
752
+ "ja": "'name' パラメータが必要です",
753
+ "ar": "معامل 'name' مطلوب",
754
+ "ru": "Требуется параметр 'name'",
755
+ },
756
+ "models_add_model_exists": {
757
+ "en": "Model '{{name}}' already exists.",
758
+ "zh": "模型 '{{name}}' 已存在。",
759
+ "ja": "モデル '{{name}}' は既に存在します。",
760
+ "ar": "النموذج '{{name}}' موجود بالفعل.",
761
+ "ru": "Модель '{{name}}' уже существует.",
762
+ },
763
+ "models_add_model_success": {
764
+ "en": "Successfully added custom model: {{name}}",
765
+ "zh": "成功添加自定义模型: {{name}}",
766
+ "ja": "カスタムモデル {{name}} を正常に追加しました",
767
+ "ar": "تم إضافة النموذج المخصص {{name}} بنجاح",
768
+ "ru": "Пользовательская модель {{name}} успешно добавлена",
769
+ },
770
+ "models_add_model_remove": {
771
+ "en": "Model '{{name}}' not found.",
772
+ "zh": "找不到模型 '{{name}}'。",
773
+ "ja": "モデル '{{name}}' が見つかりません。",
774
+ "ar": "النموذج '{{name}}' غير موجود.",
775
+ "ru": "Модель '{{name}}' не найдена.",
776
+ },
777
+ "models_add_model_removed": {
778
+ "en": "Removed model: {{name}}",
779
+ "zh": "已移除模型: {{name}}",
780
+ "ja": "モデルを削除しました: {{name}}",
781
+ "ar": "تم إزالة النموذج: {{name}}",
782
+ "ru": "Модель удалена: {{name}}",
783
+ },
784
+ "models_unknown_subcmd": {
785
+ "en": "Unknown subcommand: {{subcmd}}",
786
+ "zh": "未知的子命令: {{subcmd}}",
787
+ "ja": "未知のサブコマンド: {{subcmd}}",
788
+ "ar": "أمر فرعي غير معروف: {{subcmd}}",
789
+ "ru": "Неизвестная подкоманда: {{subcmd}}",
790
+ },
791
+ "models_input_price_updated": {
792
+ "en": "Updated input price for model {{name}} to {{price}} M/token",
793
+ "zh": "已更新模型 {{name}} 的输入价格为 {{price}} M/token",
794
+ "ja": "モデル {{name}} の入力価格を {{price}} M/token に更新しました",
795
+ "ar": "تم تحديث سعر الإدخال للنموذج {{name}} إلى {{price}} M/token",
796
+ "ru": "Обновлена цена ввода для модели {{name}} до {{price}} М/токен",
797
+ },
798
+ "models_output_price_updated": {
799
+ "en": "Updated output price for model {{name}} to {{price}} M/token",
800
+ "zh": "已更新模型 {{name}} 的输出价格为 {{price}} M/token",
801
+ "ja": "モデル {{name}} の出力価格を {{price}} M/token に更新しました",
802
+ "ar": "تم تحديث سعر الإخراج للنموذج {{name}} إلى {{price}} M/token",
803
+ "ru": "Обновлена цена вывода для модели {{name}} до {{price}} М/токен",
804
+ },
805
+ "models_invalid_price": {
806
+ "en": "Invalid price value: {{error}}",
807
+ "zh": "无效的价格值: {{error}}",
808
+ "ja": "無効な価格値: {{error}}",
809
+ "ar": "قيمة سعر غير صالحة: {{error}}",
810
+ "ru": "Неверное значение цены: {{error}}",
811
+ },
812
+ "models_input_price_usage": {
813
+ "en": "Usage: /models /input_price <name> <value>",
814
+ "zh": "用法: /models /input_price <name> <value>",
815
+ "ja": "使用法: /models /input_price <name> <value>",
816
+ "ar": "الاستخدام: /models /input_price <name> <value>",
817
+ "ru": "Использование: /models /input_price <имя> <значение>",
818
+ },
819
+ "models_output_price_usage": {
820
+ "en": "Usage: /models /output_price <name> <value>",
821
+ "zh": "用法: /models /output_price <name> <value>",
822
+ "ja": "使用法: /models /output_price <name> <value>",
823
+ "ar": "الاستخدام: /models /output_price <name> <value>",
824
+ "ru": "Использование: /models /output_price <имя> <значение>",
825
+ },
826
+ "models_speed_updated": {
827
+ "en": "Updated speed for model {{name}} to {{speed}} s/request",
828
+ "zh": "已更新模型 {{name}} 的速度为 {{speed}} 秒/请求",
829
+ "ja": "モデル {{name}} の速度を {{speed}} 秒/リクエスト に更新しました",
830
+ "ar": "تم تحديث سرعة النموذج {{name}} إلى {{speed}} ثانية/طلب",
831
+ "ru": "Обновлена скорость для модели {{name}} до {{speed}} сек/запрос",
832
+ },
833
+ "models_invalid_speed": {
834
+ "en": "Invalid speed value: {{error}}",
835
+ "zh": "无效的速度值: {{error}}",
836
+ "ja": "無効な速度値: {{error}}",
837
+ "ar": "قيمة سرعة غير صالحة: {{error}}",
838
+ "ru": "Неверное значение скорости: {{error}}",
839
+ },
840
+ "models_speed_usage": {
841
+ "en": "Usage: /models /speed <name> <value>",
842
+ "zh": "用法: /models /speed <name> <value>",
843
+ "ja": "使用法: /models /speed <name> <value>",
844
+ "ar": "الاستخدام: /models /speed <name> <value>",
845
+ "ru": "Использование: /models /speed <имя> <значение>",
846
+ },
847
+ "models_title": {
848
+ "en": "All Models (内置 + models.json)",
849
+ "zh": "所有模型 (内置 + models.json)",
850
+ "ja": "すべてのモデル (内蔵 + models.json)",
851
+ "ar": "جميع النماذج (مدمج + models.json)",
852
+ "ru": "Все модели (встроенные + models.json)",
853
+ },
854
+ "models_no_models": {
855
+ "en": "No models found.",
856
+ "zh": "未找到任何模型。",
857
+ "ja": "モデルが見つかりません。",
858
+ "ar": "لم يتم العثور على نماذج.",
859
+ "ru": "Модели не найдены.",
860
+ },
861
+ "models_no_models_matching_pattern": {
862
+ "en": "No models found matching pattern: {{pattern}}",
863
+ "zh": "未找到匹配模式的模型: {{pattern}}",
864
+ "ja": "パターン {{pattern}} に一致するモデルが見つかりません",
865
+ "ar": "لم يتم العثور على نماذج تطابق النمط: {{pattern}}",
866
+ "ru": "Модели, соответствующие шаблону {{pattern}}, не найдены",
867
+ },
868
+ "models_lite_only": {
869
+ "en": "The /models command is only available in lite mode",
870
+ "zh": "/models 命令仅在 lite 模式下可用",
871
+ "ja": "/models コマンドは lite モードでのみ利用可能です",
872
+ "ar": "أمر /models متاح فقط في وضع lite",
873
+ "ru": "Команда /models доступна только в lite режиме",
874
+ },
875
+ "models_api_key_exists": {
876
+ "en": "API key file exists: {{path}}",
877
+ "zh": "API密钥文件存在: {{path}}",
878
+ "ja": "APIキーファイルが存在します: {{path}}",
879
+ "ar": "ملف مفتاح API موجود: {{path}}",
880
+ "ru": "Файл API ключа существует: {{path}}",
881
+ },
882
+ "models_not_found": {
883
+ "en": "Model '{{name}}' not found in built-in models.",
884
+ "zh": "在内置模型中未找到模型 '{{name}}'。",
885
+ "ja": "内蔵モデルでモデル '{{name}}' が見つかりません。",
886
+ "ar": "النموذج '{{name}}' غير موجود في النماذج المدمجة.",
887
+ "ru": "Модель '{{name}}' не найдена во встроенных моделях.",
888
+ },
889
+ "models_not_found_hint": {
890
+ "en": "\nTip: Use '/models /list' to view all available built-in models.",
891
+ "zh": "\n提示:使用 '/models /list' 查看所有可用的内置模型。",
892
+ "ja": "\nヒント: '/models /list' を使用して、利用可能なすべての内蔵モデルを表示します。",
893
+ "ar": "\nتلميح: استخدم '/models /list' لعرض جميع النماذج المدمجة المتاحة.",
894
+ "ru": "\nПодсказка: Используйте '/models /list' для просмотра всех доступных встроенных моделей.",
895
+ },
896
+ "models_activate_usage": {
897
+ "en": "Usage: /models <provider/model_name> <api_key>",
898
+ "zh": "用法: /models <provider/model_name> <api_key>",
899
+ "ja": "使用法: /models <provider/model_name> <api_key>",
900
+ "ar": "الاستخدام: /models <provider/model_name> <api_key>",
901
+ "ru": "Использование: /models <provider/model_name> <api_key>",
902
+ },
903
+ "models_activate_example": {
904
+ "en": "Example: /models deepseek/deepseek-chat sk-xxx",
905
+ "zh": "示例: /models deepseek/deepseek-chat sk-xxx",
906
+ "ja": "例: /models deepseek/deepseek-chat sk-xxx",
907
+ "ar": "مثال: /models deepseek/deepseek-chat sk-xxx",
908
+ "ru": "Пример: /models deepseek/deepseek-chat sk-xxx",
909
+ },
910
+ "models_activate_list_hint": {
911
+ "en": "\nUse '/models /list' to view all available models.",
912
+ "zh": "\n使用 '/models /list' 查看所有可用的模型。",
913
+ "ja": "\n'/models /list' を使用して、利用可能なすべてのモデルを表示します。",
914
+ "ar": "\nاستخدم '/models /list' لعرض جميع النماذج المتاحة.",
915
+ "ru": "\nИспользуйте '/models /list' для просмотра всех доступных моделей.",
916
+ },
917
+ "models_remove_failed": {
918
+ "en": "Failed to remove model '{{name}}'. Cannot remove default models.",
919
+ "zh": "移除模型 '{{name}}' 失败。无法移除默认模型。",
920
+ "ja": "モデル '{{name}}' の削除に失敗しました。デフォルトモデルは削除できません。",
921
+ "ar": "فشل في إزالة النموذج '{{name}}'. لا يمكن إزالة النماذج الافتراضية.",
922
+ "ru": "Не удалось удалить модель '{{name}}'. Невозможно удалить модели по умолчанию.",
923
+ },
924
+ "models_speed_not_implemented": {
925
+ "en": "Speed functionality is not implemented yet.",
926
+ "zh": "速度功能尚未实现。",
927
+ "ja": "速度機能はまだ実装されていません。",
928
+ "ar": "وظيفة السرعة لم يتم تنفيذها بعد.",
929
+ "ru": "Функционал скорости пока не реализован.",
930
+ },
931
+ "config_invalid_format": {
932
+ "en": "Error: Invalid configuration format. Use 'key:value' or '/drop key'.",
933
+ "zh": "错误:配置格式无效。请使用 'key:value' 或 '/drop key'。",
934
+ "ja": "エラー: 設定形式が無効です。'key:value' または '/drop key' を使用してください。",
935
+ "ar": "خطأ: تنسيق التكوين غير صالح. استخدم 'key:value' أو '/drop key'.",
936
+ "ru": "Ошибка: Неверный формат конфигурации. Используйте 'ключ:значение' или '/drop ключ'.",
937
+ },
938
+ "config_value_empty": {
939
+ "en": "Error: Value cannot be empty. Use 'key:value'.",
940
+ "zh": "错误:值不能为空。请使用 'key:value'。",
941
+ "ja": "エラー: 値は空にできません。'key:value' を使用してください。",
942
+ "ar": "خطأ: القيمة لا يمكن أن تكون فارغة. استخدم 'key:value'.",
943
+ "ru": "Ошибка: Значение не может быть пустым. Используйте 'ключ:значение'.",
944
+ },
945
+ "config_set_success": {
946
+ "en": "Set {{key}} to {{value}}",
947
+ "zh": "已设置 {{key}} 为 {{value}}",
948
+ "ja": "{{key}} を {{value}} に設定しました",
949
+ "ar": "تم تعيين {{key}} إلى {{value}}",
950
+ "ru": "Установлено {{key}} в {{value}}",
951
+ },
952
+ "config_delete_success": {
953
+ "en": "Deleted configuration: {{key}}",
954
+ "zh": "已删除配置:{{key}}",
955
+ "ja": "設定を削除しました: {{key}}",
956
+ "ar": "تم حذف التكوين: {{key}}",
957
+ "ru": "Конфигурация удалена: {{key}}",
958
+ },
959
+ "config_not_found": {
960
+ "en": "Configuration not found: {{key}}",
961
+ "zh": "未找到配置:{{key}}",
962
+ "ja": "設定が見つかりません: {{key}}",
963
+ "ar": "التكوين غير موجود: {{key}}",
964
+ "ru": "Конфигурация не найдена: {{key}}",
965
+ },
966
+ "add_files_matched": {
967
+ "en": "All specified files are already in the current session or no matches found.",
968
+ "zh": "所有指定的文件都已在当前会话中或未找到匹配项。",
969
+ "ja": "指定されたファイルはすべて現在のセッションに既に含まれているか、一致するものが見つかりません。",
970
+ "ar": "جميع الملفات المحددة موجودة بالفعل في الجلسة الحالية أو لم يتم العثور على تطابقات.",
971
+ "ru": "Все указанные файлы уже в текущей сессии или совпадения не найдены.",
972
+ },
973
+ "add_files_added_files": {
974
+ "en": "Added Files",
975
+ "zh": "已添加的文件",
976
+ "ja": "追加されたファイル",
977
+ "ar": "الملفات المضافة",
978
+ "ru": "Добавленные файлы",
979
+ },
980
+ "add_files_no_args": {
981
+ "en": "Please provide arguments for the /add_files command.",
982
+ "zh": "请为 /add_files 命令提供参数。",
983
+ "ja": "/add_files コマンドの引数を提供してください。",
984
+ "ar": "يرجى تقديم وسائط لأمر /add_files.",
985
+ "ru": "Пожалуйста, предоставьте аргументы для команды /add_files.",
986
+ },
987
+ "remove_files_all": {
988
+ "en": "Removed all files.",
989
+ "zh": "已移除所有文件。",
990
+ "ja": "すべてのファイルを削除しました。",
991
+ "ar": "تم إزالة جميع الملفات.",
992
+ "ru": "Все файлы удалены.",
993
+ },
994
+ "remove_files_removed": {
995
+ "en": "Removed Files",
996
+ "zh": "已移除的文件",
997
+ "ja": "削除されたファイル",
998
+ "ar": "الملفات المحذوفة",
999
+ "ru": "Удаленные файлы",
1000
+ },
1001
+ "remove_files_none": {
1002
+ "en": "No files were removed.",
1003
+ "zh": "没有文件被移除。",
1004
+ "ja": "ファイルは削除されませんでした。",
1005
+ "ar": "لم يتم إزالة أي ملفات.",
1006
+ "ru": "Файлы не были удалены.",
1007
+ },
1008
+ "files_removed": {
1009
+ "en": "Files Removed",
1010
+ "zh": "移除的文件",
1011
+ "ja": "削除されたファイル",
1012
+ "ar": "الملفات المحذوفة",
1013
+ "ru": "Удаленные файлы",
1014
+ },
1015
+ "models_api_key_empty": {
1016
+ "en": "Warning : {{name}} API key is empty. Please set a valid API key.",
1017
+ "zh": "警告: {{name}} API key 为空。请设置一个有效的 API key。",
1018
+ "ja": "警告: {{name}} の API キーが空です。有効な API キーを設定してください。",
1019
+ "ar": "تحذير: مفتاح API الخاص بـ {{name}} فارغ. يرجى تعيين مفتاح API صالح.",
1020
+ "ru": "Предупреждение: API ключ {{name}} пуст. Пожалуйста, установите действительный API ключ.",
1021
+ },
1022
+ "commit_generating": {
1023
+ "en": "{{ model_name }} Generating commit message...",
1024
+ "zh": "{{ model_name }} 正在生成提交信息...",
1025
+ "ja": "{{ model_name }} がコミットメッセージを生成中...",
1026
+ "ar": "{{ model_name }} ينشئ رسالة الالتزام...",
1027
+ "ru": "{{ model_name }} генерирует сообщение коммита...",
1028
+ },
1029
+ "auto_command_reasoning_title": {
1030
+ "en": "Reply",
1031
+ "zh": "回复",
1032
+ "ja": "返信",
1033
+ "ar": "الرد",
1034
+ "ru": "Ответ",
1035
+ },
1036
+ "commit_message": {
1037
+ "en": "{{ model_name }} Generated commit message: {{ message }}",
1038
+ "zh": "{{ model_name }} 生成的提交信息: {{ message }}",
1039
+ "ja": "{{ model_name }} が生成したコミットメッセージ: {{ message }}",
1040
+ "ar": "رسالة الالتزام المولدة بواسطة {{ model_name }}: {{ message }}",
1041
+ "ru": "{{ model_name }} сгенерировал сообщение коммита: {{ message }}",
1042
+ },
1043
+ "commit_failed": {
1044
+ "en": "{{ model_name }} Failed to generate commit message: {{ error }}",
1045
+ "zh": "{{ model_name }} 生成提交信息失败: {{ error }}",
1046
+ "ja": "{{ model_name }} がコミットメッセージの生成に失敗しました: {{ error }}",
1047
+ "ar": "فشل {{ model_name }} في توليد رسالة الالتزام: {{ error }}",
1048
+ "ru": "{{ model_name }} не удалось сгенерировать сообщение коммита: {{ error }}",
1049
+ },
1050
+ "confirm_execute": {
1051
+ "en": "Do you want to execute this script?",
1052
+ "zh": "是否执行此脚本?",
1053
+ "ja": "このスクリプトを実行しますか?",
1054
+ "ar": "هل تريد تنفيذ هذا السكريبت؟",
1055
+ "ru": "Хотите выполнить этот скрипт?",
1056
+ },
1057
+ "official_doc": {
1058
+ "en": "Official Documentation: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
1059
+ "zh": "官方文档: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
1060
+ "ja": "公式ドキュメント: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
1061
+ "ar": "الوثائق الرسمية: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
1062
+ "ru": "Официальная документация: https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI",
1063
+ },
1064
+ "plugins_desc": {
1065
+ "en": "Manage plugins",
1066
+ "zh": "管理插件",
1067
+ "ja": "プラグインを管理",
1068
+ "ar": "إدارة الإضافات",
1069
+ "ru": "Управление плагинами",
1070
+ },
1071
+ "plugins_usage": {
1072
+ "en": "Usage: /plugins <command>\nAvailable subcommands:\n /plugins /list - List all available plugins\n /plugins /load <name> - Load a plugin\n /plugins /unload <name> - Unload a plugin\n /plugins/dirs - List plugin directories\n /plugins/dirs /add <path> - Add a plugin directory\n /plugins/dirs /remove <path> - Remove a plugin directory\n /plugins/dirs /clear - Clear all plugin directories",
1073
+ "zh": "用法: /plugins <命令>\n可用的子命令:\n /plugins /list - 列出所有可用插件\n /plugins /load <名称> - 加载一个插件\n /plugins /unload <名称> - 卸载一个插件\n /plugins/dirs - 列出插件目录\n /plugins/dirs /add <路径> - 添加一个插件目录\n /plugins/dirs /remove <路径> - 移除一个插件目录\n /plugins/dirs /clear - 清除所有插件目录",
1074
+ "ja": "使用法: /plugins <コマンド>\n利用可能なサブコマンド:\n /plugins /list - 利用可能なすべてのプラグインをリスト\n /plugins /load <名前> - プラグインを読み込み\n /plugins /unload <名前> - プラグインをアンロード\n /plugins/dirs - プラグインディレクトリをリスト\n /plugins/dirs /add <パス> - プラグインディレクトリを追加\n /plugins/dirs /remove <パス> - プラグインディレクトリを削除\n /plugins/dirs /clear - すべてのプラグインディレクトリをクリア",
1075
+ "ar": "الاستخدام: /plugins <الأمر>\nالأوامر الفرعية المتاحة:\n /plugins /list - إدراج جميع الإضافات المتاحة\n /plugins /load <الاسم> - تحميل إضافة\n /plugins /unload <الاسم> - إلغاء تحميل إضافة\n /plugins/dirs - إدراج دلائل الإضافات\n /plugins/dirs /add <المسار> - إضافة دليل إضافة\n /plugins/dirs /remove <المسار> - إزالة دليل إضافة\n /plugins/dirs /clear - مسح جميع دلائل الإضافات",
1076
+ "ru": "Использование: /plugins <команда>\nДоступные подкоманды:\n /plugins /list - Список всех доступных плагинов\n /plugins /load <имя> - Загрузить плагин\n /plugins /unload <имя> - Выгрузить плагин\n /plugins/dirs - Список каталогов плагинов\n /plugins/dirs /add <путь> - Добавить каталог плагинов\n /plugins/dirs /remove <путь> - Удалить каталог плагинов\n /plugins/dirs /clear - Очистить все каталоги плагинов",
1077
+ },
1078
+ "mcp_server_info_error": {
1079
+ "en": "Error getting MCP server info: {{error}}",
1080
+ "zh": "获取 MCP 服务器信息时出错:{{error}}",
1081
+ "ja": "MCPサーバー情報の取得エラー: {{error}}",
1082
+ "ar": "خطأ في الحصول على معلومات خادم MCP: {{error}}",
1083
+ "ru": "Ошибка получения информации MCP сервера: {{error}}",
1084
+ },
1085
+ "mcp_server_info_title": {
1086
+ "en": "Connected MCP Server Info",
1087
+ "zh": "已连接的MCP服务器信息",
1088
+ "ja": "接続されたMCPサーバー情報",
1089
+ "ar": "معلومات خادم MCP المتصل",
1090
+ "ru": "Информация о подключенном MCP сервере",
1091
+ },
1092
+ "active_context_desc": {
1093
+ "en": "Manage active context tasks, list all tasks and their status",
1094
+ "zh": "管理活动上下文任务,列出所有任务及其状态",
1095
+ "ja": "アクティブなコンテキストタスクを管理し、すべてのタスクとその状態を一覧表示",
1096
+ "ar": "إدارة مهام السياق النشط، إدراج جميع المهام وحالتها",
1097
+ "ru": "Управление активными контекстными задачами, список всех задач и их статус",
1098
+ },
1099
+ "auto_desc": {
1100
+ "en": "Smart command analysis and execution with AI assistance",
1101
+ "zh": "通过AI辅助进行智能命令分析和执行",
1102
+ "ja": "AIアシスタントによるスマートなコマンド分析と実行",
1103
+ "ar": "تحليل وتنفيذ الأوامر الذكية بمساعدة الذكاء الاصطناعي",
1104
+ "ru": "Умный анализ и выполнение команд с помощью ИИ",
1105
+ },
1106
+ "auto_new_desc": {
1107
+ "en": "Start a new AI conversation session",
1108
+ "zh": "开始一个新的AI对话会话",
1109
+ "ja": "新しいAI会話セッションを開始",
1110
+ "ar": "بدء جلسة محادثة ذكاء اصطناعي جديدة",
1111
+ "ru": "Начать новую сессию разговора с ИИ",
1112
+ },
1113
+ "auto_resume_desc": {
1114
+ "en": "Resume a previous conversation by ID",
1115
+ "zh": "通过ID恢复之前的对话",
1116
+ "ja": "IDで以前の会話を再開",
1117
+ "ar": "استئناف محادثة سابقة بواسطة المعرف",
1118
+ "ru": "Возобновить предыдущий разговор по ID",
1119
+ },
1120
+ "auto_list_desc": {
1121
+ "en": "List all conversation sessions",
1122
+ "zh": "列出所有对话会话",
1123
+ "ja": "すべての会話セッションを一覧表示",
1124
+ "ar": "إدراج جميع جلسات المحادثة",
1125
+ "ru": "Список всех сессий разговоров",
1126
+ },
1127
+ "auto_command_desc": {
1128
+ "en": "Execute commands from a template file",
1129
+ "zh": "从模板文件执行命令",
1130
+ "ja": "テンプレートファイルからコマンドを実行",
1131
+ "ar": "تنفيذ الأوامر من ملف القالب",
1132
+ "ru": "Выполнить команды из файла шаблона",
1133
+ },
1134
+ "marketplace_add_success": {
1135
+ "en": "Successfully added marketplace item: {{name}}",
1136
+ "zh": "成功添加市场项目:{{name}}",
1137
+ "ja": "マーケットプレイスアイテムを正常に追加しました: {{name}}",
1138
+ "ar": "تم إضافة عنصر السوق بنجاح: {{name}}",
1139
+ "ru": "Успешно добавлен элемент маркетплейса: {{name}}",
1140
+ },
1141
+ "marketplace_add_error": {
1142
+ "en": "Error adding marketplace item: {{name}} - {{error}}",
1143
+ "zh": "添加市场项目时出错:{{name}} - {{error}}",
1144
+ "ja": "マーケットプレイスアイテムの追加エラー: {{name}} - {{error}}",
1145
+ "ar": "خطأ في إضافة عنصر السوق: {{name}} - {{error}}",
1146
+ "ru": "Ошибка добавления элемента маркетплейса: {{name}} - {{error}}",
1147
+ },
1148
+ "rules_desc": {
1149
+ "en": "Analyze current files with rules and create code learning notes",
1150
+ "zh": "使用规则分析当前文件并创建代码学习笔记",
1151
+ "ja": "ルールを使用して現在のファイルを分析し、コード学習ノートを作成",
1152
+ "ar": "تحليل الملفات الحالية بالقواعد وإنشاء ملاحظات تعلم الكود",
1153
+ "ru": "Анализировать текущие файлы по правилам и создавать заметки для изучения кода",
1154
+ },
1155
+ "rules_file_list_title": {
1156
+ "en": "Rules Files List (Pattern: {{pattern}})",
1157
+ "zh": "规则文件列表 (匹配: {{pattern}})",
1158
+ "ja": "ルールファイルリスト (パターン: {{pattern}})",
1159
+ "ar": "قائمة ملفات القواعد (النمط: {{pattern}})",
1160
+ "ru": "Список файлов правил (Шаблон: {{pattern}})",
1161
+ },
1162
+ "rules_file_path": {
1163
+ "en": "File Path",
1164
+ "zh": "文件路径",
1165
+ "ja": "ファイルパス",
1166
+ "ar": "مسار الملف",
1167
+ "ru": "Путь к файлу",
1168
+ },
1169
+ "rules_content_length": {
1170
+ "en": "Content Length",
1171
+ "zh": "内容长度",
1172
+ "ja": "コンテンツ長",
1173
+ "ar": "طول المحتوى",
1174
+ "ru": "Длина содержимого",
1175
+ },
1176
+ "rules_help_subtitle": {
1177
+ "en": "Use '/rules help' for more information",
1178
+ "zh": "使用 '/rules help' 获取更多帮助",
1179
+ "ja": "詳細については '/rules help' を使用してください",
1180
+ "ar": "استخدم '/rules help' للحصول على مزيد من المعلومات",
1181
+ "ru": "Используйте '/rules help' для получения дополнительной информации",
1182
+ },
1183
+ "rules_no_files_found": {
1184
+ "en": "No rules files found. Use '/rules /help' to learn how to add rules.",
1185
+ "zh": "未找到任何规则文件。请使用 '/rules /help' 了解如何添加规则。",
1186
+ "ja": "ルールファイルが見つかりません。'/rules /help' を使用してルールの追加方法を確認してください。",
1187
+ "ar": "لم يتم العثور على ملفات قواعد. استخدم '/rules /help' لتعلم كيفية إضافة القواعد.",
1188
+ "ru": "Файлы правил не найдены. Используйте '/rules /help' чтобы узнать, как добавить правила.",
1189
+ },
1190
+ "rules_no_matching_files": {
1191
+ "en": "No rules files found matching pattern '{{pattern}}'.",
1192
+ "zh": "没有找到匹配模式 '{{pattern}}' 的规则文件。",
1193
+ "ja": "パターン '{{pattern}}' に一致するルールファイルが見つかりません。",
1194
+ "ar": "لم يتم العثور على ملفات قواعد تطابق النمط '{{pattern}}'.",
1195
+ "ru": "Файлы правил, соответствующие шаблону '{{pattern}}', не найдены.",
1196
+ },
1197
+ "rules_remove_param_required": {
1198
+ "en": "Error: 'remove' command requires a parameter (file pattern). Usage: /rules /remove <pattern>",
1199
+ "zh": "错误: 'remove' 命令需要一个参数(文件匹配模式)。用法: /rules /remove <匹配模式>",
1200
+ "ja": "エラー: 'remove' コマンドにはパラメータ(ファイルパターン)が必要です。使用法: /rules /remove <パターン>",
1201
+ "ar": "خطأ: أمر 'remove' يتطلب معامل (نمط الملف). الاستخدام: /rules /remove <pattern>",
1202
+ "ru": "Ошибка: команда 'remove' требует параметр (шаблон файла). Использование: /rules /remove <шаблон>",
1203
+ },
1204
+ "rules_no_files_to_remove": {
1205
+ "en": "No rules files found matching pattern '{{pattern}}'.",
1206
+ "zh": "没有找到匹配模式 '{{pattern}}' 的规则文件。",
1207
+ "ja": "パターン '{{pattern}}' に一致するルールファイルが見つかりません。",
1208
+ "ar": "لم يتم العثور على ملفات قواعد تطابق النمط '{{pattern}}'.",
1209
+ "ru": "Файлы правил, соответствующие шаблону '{{pattern}}', не найдены.",
1210
+ },
1211
+ "rules_delete_error": {
1212
+ "en": "Error deleting file '{{file_path}}': {{error}}",
1213
+ "zh": "删除文件 '{{file_path}}' 时出错: {{error}}",
1214
+ "ja": "ファイル '{{file_path}}' の削除エラー: {{error}}",
1215
+ "ar": "خطأ في حذف الملف '{{file_path}}': {{error}}",
1216
+ "ru": "Ошибка удаления файла '{{file_path}}': {{error}}",
1217
+ },
1218
+ "rules_delete_success": {
1219
+ "en": "Successfully deleted {{count}} rules files.",
1220
+ "zh": "成功删除了 {{count}} 个规则文件。",
1221
+ "ja": "{{count}} 個のルールファイルを正常に削除しました。",
1222
+ "ar": "تم حذف {{count}} من ملفات القواعد بنجاح.",
1223
+ "ru": "Успешно удалено {{count}} файлов правил.",
1224
+ },
1225
+ "rules_no_active_files": {
1226
+ "en": "Error: No files selected for analysis. Please use 'add_files' command to add files first.",
1227
+ "zh": "错误: 没有选择任何文件进行分析。请先使用 'add_files' 命令添加文件。",
1228
+ "ja": "エラー: 分析用のファイルが選択されていません。まず 'add_files' コマンドでファイルを追加してください。",
1229
+ "ar": "خطأ: لم يتم اختيار أي ملفات للتحليل. يرجى استخدام أمر 'add_files' لإضافة الملفات أولاً.",
1230
+ "ru": "Ошибка: Файлы для анализа не выбраны. Пожалуйста, сначала используйте команду 'add_files' для добавления файлов.",
1231
+ },
1232
+ "rules_file_read_error": {
1233
+ "en": "Error reading file '{{file_path}}': {{error}}",
1234
+ "zh": "读取文件 '{{file_path}}' 时出错: {{error}}",
1235
+ "ja": "ファイル '{{file_path}}' の読み取りエラー: {{error}}",
1236
+ "ar": "خطأ في قراءة الملف '{{file_path}}': {{error}}",
1237
+ "ru": "Ошибка чтения файла '{{file_path}}': {{error}}",
1238
+ },
1239
+ "rules_analysis_error": {
1240
+ "en": "Error analyzing code: {{error}}",
1241
+ "zh": "分析代码时出错: {{error}}",
1242
+ "ja": "コード分析エラー: {{error}}",
1243
+ "ar": "خطأ في تحليل الكود: {{error}}",
1244
+ "ru": "Ошибка анализа кода: {{error}}",
1245
+ },
1246
+ "rules_help_text": {
1247
+ "en": """
1248
+ /rules command usage:
1249
+ /rules [query] - Analyze current added files, optionally provide specific query content.
1250
+ /rules /list [pattern] - List all rules files. Optionally provide wildcard pattern (e.g. *.md).
1251
+ /rules /remove <pattern> - Delete rules files matching the specified pattern.
1252
+ /rules /get <pattern> - Display the content of rules files matching the specified pattern.
1253
+ /rules /help or /rules help - Show this help message.
1254
+
1255
+ Rules file usage:
1256
+ Rules files are stored in the project's .autocoderrules/ directory, in Markdown format.
1257
+ The system automatically monitors changes to this directory and updates rules.
1258
+ """,
1259
+ "zh": """
1260
+ /rules 命令用法:
1261
+ /rules [查询内容] - 分析当前已添加的文件,可选提供具体查询内容。
1262
+ /rules /list [匹配模式] - 列出所有规则文件。可选提供通配符匹配模式 (例如: *.md).
1263
+ /rules /remove <匹配模式> - 删除匹配指定模式的规则文件。
1264
+ /rules /get <匹配模式> - 显示匹配指定模式的规则文件内容。
1265
+ /rules /help 或 /rules help - 显示此帮助信息。
1266
+
1267
+ 规则文件用法:
1268
+ 规则文件存储在项目的 .autocoderrules/ 目录下,为 Markdown 格式。
1269
+ 系统会自动监控该目录的变化并更新规则。
1270
+ """,
1271
+ "ja": """
1272
+ /rules コマンド使用法:
1273
+ /rules [クエリ] - 現在追加されているファイルを分析、オプションで特定のクエリ内容を提供。
1274
+ /rules /list [パターン] - すべてのルールファイルをリスト。オプションでワイルドカードパターンを提供 (例: *.md)。
1275
+ /rules /remove <パターン> - 指定されたパターンに一致するルールファイルを削除。
1276
+ /rules /get <パターン> - 指定されたパターンに一致するルールファイルの内容を表示。
1277
+ /rules /help または /rules help - このヘルプメッセージを表示。
1278
+
1279
+ ルールファイル使用法:
1280
+ ルールファイルはプロジェクトの .autocoderrules/ ディレクトリにMarkdown形式で格納されます。
1281
+ システムはこのディレクトリの変更を自動的に監視し、ルールを更新します。
1282
+ """,
1283
+ "ar": """
1284
+ استخدام أمر /rules:
1285
+ /rules [الاستعلام] - تحليل الملفات المضافة حالياً، اختيارياً تقديم محتوى استعلام محدد.
1286
+ /rules /list [النمط] - إدراج جميع ملفات القواعد. اختيارياً تقديم نمط بدل (مثل *.md).
1287
+ /rules /remove <النمط> - حذف ملفات القواعد المطابقة للنمط المحدد.
1288
+ /rules /get <النمط> - عرض محتوى ملفات القواعد المطابقة للنمط المحدد.
1289
+ /rules /help أو /rules help - إظهار رسالة المساعدة هذه.
1290
+
1291
+ استخدام ملف القواعد:
1292
+ يتم تخزين ملفات القواعد في دليل .autocoderrules/ للمشروع، بصيغة Markdown.
1293
+ يراقب النظام تلقائياً التغييرات في هذا الدليل ويحدث القواعد.
1294
+ """,
1295
+ "ru": """
1296
+ Использование команды /rules:
1297
+ /rules [запрос] - Анализировать текущие добавленные файлы, по желанию предоставить конкретный контент запроса.
1298
+ /rules /list [шаблон] - Список всех файлов правил. По желанию предоставить шаблон подстановки (например *.md).
1299
+ /rules /remove <шаблон> - Удалить файлы правил, соответствующие указанному шаблону.
1300
+ /rules /get <шаблон> - Отобразить содержимое файлов правил, соответствующих указанному шаблону.
1301
+ /rules /help или /rules help - Показать это справочное сообщение.
1302
+
1303
+ Использование файла правил:
1304
+ Файлы правил хранятся в каталоге .autocoderrules/ проекта в формате Markdown.
1305
+ Система автоматически отслеживает изменения в этом каталоге и обновляет правила.
1306
+ """,
1307
+ },
1308
+ "rules_unknown_command": {
1309
+ "en": "Unknown subcommand '/rules {{subcommand}}'. Use '/rules /help' for help.",
1310
+ "zh": "未知的子命令 '/rules {{subcommand}}'。请使用 '/rules /help' 获取帮助。",
1311
+ "ja": "未知のサブコマンド '/rules {{subcommand}}'。ヘルプについては '/rules /help' を使用してください。",
1312
+ "ar": "أمر فرعي غير معروف '/rules {{subcommand}}'. استخدم '/rules /help' للحصول على المساعدة.",
1313
+ "ru": "Неизвестная подкоманда '/rules {{subcommand}}'. Используйте '/rules /help' для справки.",
1314
+ },
1315
+ "rules_command_error": {
1316
+ "en": "Error executing '/rules {{subcommand}}': {{error}}",
1317
+ "zh": "执行 '/rules {{subcommand}}' 时发生错误: {{error}}",
1318
+ "ja": "'/rules {{subcommand}}' の実行エラー: {{error}}",
1319
+ "ar": "خطأ في تنفيذ '/rules {{subcommand}}': {{error}}",
1320
+ "ru": "Ошибка выполнения '/rules {{subcommand}}': {{error}}",
1321
+ },
1322
+ "rules_get_param_required": {
1323
+ "en": "Error: 'get' command requires a parameter (file pattern). Usage: /rules /get <pattern>",
1324
+ "zh": "错误: 'get' 命令需要一个参数(文件匹配模式)。用法: /rules /get <匹配模式>",
1325
+ "ja": "エラー: 'get' コマンドにはパラメータ(ファイルパターン)が必要です。使用法: /rules /get <パターン>",
1326
+ "ar": "خطأ: أمر 'get' يتطلب معامل (نمط الملف). الاستخدام: /rules /get <pattern>",
1327
+ "ru": "Ошибка: команда 'get' требует параметр (шаблон файла). Использование: /rules /get <шаблон>",
1328
+ },
1329
+ "rules_get_no_matching_files": {
1330
+ "en": "No rules files found matching pattern '{{pattern}}'.",
1331
+ "zh": "没有找到匹配模式 '{{pattern}}' 的规则文件。",
1332
+ "ja": "パターン '{{pattern}}' に一致するルールファイルが見つかりません。",
1333
+ "ar": "لم يتم العثور على ملفات قواعد تطابق النمط '{{pattern}}'.",
1334
+ "ru": "Файлы правил, соответствующие шаблону '{{pattern}}', не найдены.",
1335
+ },
1336
+ "rules_get_file_title": {
1337
+ "en": "Rule File: {{file_path}}",
1338
+ "zh": "规则文件: {{file_path}}",
1339
+ "ja": "ルールファイル: {{file_path}}",
1340
+ "ar": "ملف القواعد: {{file_path}}",
1341
+ "ru": "Файл правил: {{file_path}}",
1342
+ },
1343
+ "rules_get_read_error": {
1344
+ "en": "Error reading file '{{file_path}}': {{error}}",
1345
+ "zh": "读取文件 '{{file_path}}' 时出错: {{error}}",
1346
+ "ja": "ファイル '{{file_path}}' の読み取りエラー: {{error}}",
1347
+ "ar": "خطأ في قراءة الملف '{{file_path}}': {{error}}",
1348
+ "ru": "Ошибка чтения файла '{{file_path}}': {{error}}",
1349
+ },
1350
+ "rules_commit_param_required": {
1351
+ "en": "Error: 'commit' command requires parameters. Usage: /rules /commit <commit_id> /query <query>",
1352
+ "zh": "错误: 'commit' 命令需要参数。用法: /rules /commit <commit_id> /query <查询内容>",
1353
+ "ja": "エラー: 'commit' コマンドにはパラメータが必要です。使用法: /rules /commit <commit_id> /query <クエリ>",
1354
+ "ar": "خطأ: أمر 'commit' يتطلب معاملات. الاستخدام: /rules /commit <commit_id> /query <query>",
1355
+ "ru": "Ошибка: команда 'commit' требует параметры. Использование: /rules /commit <commit_id> /query <запрос>",
1356
+ },
1357
+ "rules_commit_format_error": {
1358
+ "en": "Error: Command format must be '/rules /commit <commit_id> /query <query>'",
1359
+ "zh": "错误:命令格式必须为 '/rules /commit <commit_id> /query <你的需求>'",
1360
+ "ja": "エラー: コマンド形式は '/rules /commit <commit_id> /query <クエリ>' である必要があります",
1361
+ "ar": "خطأ: تنسيق الأمر يجب أن يكون '/rules /commit <commit_id> /query <query>'",
1362
+ "ru": "Ошибка: Формат команды должен быть '/rules /commit <commit_id> /query <запрос>'",
1363
+ },
1364
+ "rules_commit_id_required": {
1365
+ "en": "Error: Commit ID must be provided",
1366
+ "zh": "错误:必须提供 commit ID",
1367
+ "ja": "エラー: コミットIDを提供する必要があります",
1368
+ "ar": "خطأ: يجب توفير معرف الالتزام",
1369
+ "ru": "Ошибка: Необходимо указать ID коммита",
1370
+ },
1371
+ "rules_query_required": {
1372
+ "en": "Error: Query content must be provided",
1373
+ "zh": "错误:必须提供查询内容",
1374
+ "ja": "エラー: クエリ内容を提供する必要があります",
1375
+ "ar": "خطأ: يجب توفير محتوى الاستعلام",
1376
+ "ru": "Ошибка: Необходимо указать содержимое запроса",
1377
+ },
1378
+ "rules_commit_success": {
1379
+ "en": "Successfully analyzed commit {{commit_id}}, query: {{query}}",
1380
+ "zh": "成功分析 commit {{commit_id}},查询:{{query}}",
1381
+ "ja": "コミット {{commit_id}} の分析が成功しました、クエリ: {{query}}",
1382
+ "ar": "تم تحليل الالتزام {{commit_id}} بنجاح، الاستعلام: {{query}}",
1383
+ "ru": "Успешно проанализирован коммит {{commit_id}}, запрос: {{query}}",
1384
+ },
1385
+ "rules_commit_error": {
1386
+ "en": "Error analyzing commit {{commit_id}}: {{error}}",
1387
+ "zh": "分析 commit {{commit_id}} 时出错:{{error}}",
1388
+ "ja": "コミット {{commit_id}} の分析エラー: {{error}}",
1389
+ "ar": "خطأ في تحليل الالتزام {{commit_id}}: {{error}}",
1390
+ "ru": "Ошибка анализа коммита {{commit_id}}: {{error}}",
1391
+ },
1392
+ "wait_system_processing": {
1393
+ "en": "⚠️ System is processing, please wait... (max wait time: {{timeout}} seconds)",
1394
+ "zh": "⚠️ 系统正在处理中,请稍等... (最多等待 {{timeout}} 秒)",
1395
+ "ja": "⚠️ システムが処理中です、お待ちください... (最大待機時間: {{timeout}} 秒)",
1396
+ "ar": "⚠️ النظام قيد المعالجة، يرجى الانتظار... (الحد الأقصى لوقت الانتظار: {{timeout}} ثانية)",
1397
+ "ru": "⚠️ Система обрабатывает, пожалуйста, подождите... (максимальное время ожидания: {{timeout}} секунд)",
1398
+ },
1399
+ "wait_processing_dots": {
1400
+ "en": "Waiting{{dots}} ({{remaining}} seconds remaining)",
1401
+ "zh": "等待中{{dots}} (剩余 {{remaining}} 秒)",
1402
+ "ja": "待機中{{dots}} (残り {{remaining}} 秒)",
1403
+ "ar": "في الانتظار{{dots}} ({{remaining}} ثانية متبقية)",
1404
+ "ru": "Ожидание{{dots}} (осталось {{remaining}} секунд)",
1405
+ },
1406
+ "wait_timeout_allow_continue": {
1407
+ "en": "⏰ Wait timeout ({{timeout}} seconds), allowing new command input",
1408
+ "zh": "⏰ 等待超时 ({{timeout}} 秒),允许继续输入新指令",
1409
+ "ja": "⏰ 待機タイムアウト ({{timeout}} 秒)、新しいコマンド入力を許可します",
1410
+ "ar": "⏰ انتهت مهلة الانتظار ({{timeout}} ثانية)، مسموح بإدخال أوامر جديدة",
1411
+ "ru": "⏰ Истекло время ожидания ({{timeout}} секунд), разрешен ввод новых команд",
1412
+ },
1413
+ "wait_system_ready": {
1414
+ "en": "✅ System is ready, you can continue operating",
1415
+ "zh": "✅ 系统已准备就绪,可以继续操作",
1416
+ "ja": "✅ システムの準備ができました、操作を続行できます",
1417
+ "ar": "✅ النظام جاهز، يمكنك متابعة العمل",
1418
+ "ru": "✅ Система готова, вы можете продолжить работу",
1419
+ },
1420
+ "exit_ctrl_d": {
1421
+ "en": "Exit: Ctrl+D",
1422
+ "zh": "退出: Ctrl+D",
1423
+ "ja": "終了: Ctrl+D",
1424
+ "ar": "الخروج: Ctrl+D",
1425
+ "ru": "Выход: Ctrl+D",
1426
+ },
1427
+ "goodbye": {
1428
+ "en": "GoodBye!",
1429
+ "zh": "再见!",
1430
+ "ja": "さようなら!",
1431
+ "ar": "وداعاً!",
1432
+ "ru": "До свидания!",
1433
+ },
1434
+ "shell_interactive_desc": {
1435
+ "en": "Start an interactive sub-shell",
1436
+ "zh": "启动交互式子shell",
1437
+ "ja": "対話式サブシェルを開始",
1438
+ "ar": "بدء صدفة فرعية تفاعلية",
1439
+ "ru": "Запустить интерактивную суб-оболочку",
1440
+ },
1441
+ "shell_single_command_desc": {
1442
+ "en": "Execute a single shell command",
1443
+ "zh": "执行单行shell命令",
1444
+ "ja": "単一のシェルコマンドを実行",
1445
+ "ar": "تنفيذ أمر shell واحد",
1446
+ "ru": "Выполнить одну команду shell",
1447
+ },
1448
+ "plugin_commands_title": {
1449
+ "en": "Plugin Commands:",
1450
+ "zh": "插件命令:",
1451
+ "ja": "プラグインコマンド:",
1452
+ "ar": "أوامر الإضافات:",
1453
+ "ru": "Команды плагинов:",
1454
+ },
1455
+ "plugin_command_header": {
1456
+ "en": "Command",
1457
+ "zh": "命令",
1458
+ "ja": "コマンド",
1459
+ "ar": "الأمر",
1460
+ "ru": "Команда",
1461
+ },
1462
+ "plugin_description_header": {
1463
+ "en": "Description",
1464
+ "zh": "描述",
1465
+ "ja": "説明",
1466
+ "ar": "الوصف",
1467
+ "ru": "Описание",
1468
+ },
1469
+ "plugin_from_unknown": {
1470
+ "en": "from unknown plugin",
1471
+ "zh": "来自未知插件",
1472
+ "ja": "不明なプラグインから",
1473
+ "ar": "من إضافة غير معروفة",
1474
+ "ru": "от неизвестного плагина",
1475
+ },
1476
+ "plugin_from": {"en": "from", "zh": "来自", "ja": "から", "ar": "من", "ru": "от"},
1477
+ "loaded_plugins_builtin": {
1478
+ "en": "Loaded {{count}} builtin plugin(s)",
1479
+ "zh": "已加载 {{count}} 个内置插件",
1480
+ "ja": "{{count}} 個の内蔵プラグインを読み込みました",
1481
+ "ar": "تم تحميل {{count}} من الإضافات المدمجة",
1482
+ "ru": "Загружено {{count}} встроенных плагинов",
1483
+ },
1484
+ "no_builtin_plugins_loaded": {
1485
+ "en": "No builtin plugins loaded",
1486
+ "zh": "未加载内置插件",
1487
+ "ja": "内蔵プラグインは読み込まれていません",
1488
+ "ar": "لم يتم تحميل إضافات مدمجة",
1489
+ "ru": "Встроенные плагины не загружены",
1490
+ },
1491
+ "please_enter_request": {
1492
+ "en": "Please enter your request.",
1493
+ "zh": "请输入您的请求。",
1494
+ "ja": "リクエストを入力してください。",
1495
+ "ar": "يرجى إدخال طلبك.",
1496
+ "ru": "Пожалуйста, введите ваш запрос.",
1497
+ },
1498
+ "please_enter_design_request": {
1499
+ "en": "Please enter your design request.",
1500
+ "zh": "请输入您的设计请求。",
1501
+ "ja": "デザインリクエストを入力してください。",
1502
+ "ar": "يرجى إدخال طلب التصميم الخاص بك.",
1503
+ "ru": "Пожалуйста, введите ваш запрос на дизайн.",
1504
+ },
1505
+ "please_enter_query": {
1506
+ "en": "Please enter your query.",
1507
+ "zh": "请输入您的查询。",
1508
+ "ja": "クエリを入力してください。",
1509
+ "ar": "يرجى إدخال استفسارك.",
1510
+ "ru": "Пожалуйста, введите ваш запрос.",
1511
+ },
1512
+ "switched_to_shell_mode": {
1513
+ "en": "Switched to shell mode. All non-command input will be executed as shell commands.",
1514
+ "zh": "已切换到shell模式。所有非命令输入都将作为shell命令执行。",
1515
+ "ja": "シェルモードに切り替えました。すべての非コマンド入力はシェルコマンドとして実行されます。",
1516
+ "ar": "تم التبديل إلى وضع shell. سيتم تنفيذ جميع المدخلات غير الأوامر كأوامر shell.",
1517
+ "ru": "Переключен в режим shell. Все некомандные вводы будут выполнены как команды shell.",
1518
+ },
1519
+ "unknown_command": {
1520
+ "en": "Unknown command: {{command}}",
1521
+ "zh": "未知命令:{{command}}",
1522
+ "ja": "未知のコマンド: {{command}}",
1523
+ "ar": "أمر غير معروف: {{command}}",
1524
+ "ru": "Неизвестная команда: {{command}}",
1525
+ },
1526
+ "type_help_for_commands": {
1527
+ "en": "Type /help to see available commands.",
1528
+ "zh": "输入 /help 查看可用命令。",
1529
+ "ja": "/help と入力して利用可能なコマンドを表示してください。",
1530
+ "ar": "اكتب /help لرؤية الأوامر المتاحة.",
1531
+ "ru": "Введите /help, чтобы увидеть доступные команды.",
1532
+ },
1533
+ "type_help_to_see_commands": {
1534
+ "en": "Type /help to see available commands.",
1535
+ "zh": "输入 /help 查看可用命令。",
1536
+ "ja": "/help と入力して利用可能なコマンドを表示してください。",
1537
+ "ar": "اكتب /help لرؤية الأوامر المتاحة.",
1538
+ "ru": "Введите /help, чтобы увидеть доступные команды.",
1539
+ },
1540
+ "loaded_plugins_title": {
1541
+ "en": "Loaded Plugins:",
1542
+ "zh": "已加载的插件:",
1543
+ "ja": "読み込まれたプラグイン:",
1544
+ "ar": "المكونات الإضافية المحملة:",
1545
+ "ru": "Загруженные плагины:",
1546
+ },
1547
+ }