@link-assistant/hive-mind 1.65.1 → 1.66.0

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.
@@ -0,0 +1,93 @@
1
+ en
2
+ error "Error"
3
+ success "Success"
4
+ warning "Warning"
5
+ failed "Failed"
6
+ info "Info"
7
+ error.invalid_github_url "Error: Invalid GitHub URL format"
8
+ error.invalid_github_url_monitoring "Error: Invalid GitHub URL for monitoring"
9
+ error.missing_required_url "Error: Missing required github issue or pull request URL"
10
+ error.unable_determine_version "Error: Unable to determine version"
11
+ error.invalid_url_type "Error: Invalid GitHub URL format"
12
+ error.url_type_not_supported "URL type '{{type}}' is not supported"
13
+ error.failed_to_get_current_user "Error: Failed to get current user"
14
+ error.failed_to_initialize_repository "Error: Failed to initialize repository"
15
+ error.failed_to_create_fork "Failed to create fork after all retries"
16
+ error.fork_not_accessible "Fork exists but not accessible after multiple retries"
17
+ error.failed_to_add_upstream_remote "Failed to add upstream remote"
18
+ error.failed_to_checkout "Failed to checkout {{branch}}"
19
+ error.failed_to_sync "Failed to sync {{branch}} with upstream"
20
+ error.failed_to_get_default_branch "Failed to get default branch name"
21
+ error.failed_to_get_current_branch "Failed to get current branch"
22
+ error.failed_to_fetch_upstream "Failed to fetch upstream"
23
+ error.failed_to_add_pr_fork_remote "Failed to add pr-fork remote"
24
+ error.failed_to_fetch_from_pr_fork "Failed to fetch from pr-fork"
25
+ error.pr_does_not_exist "Error: PR #{{prNumber}} does not exist in {{owner}}/{{repo}}"
26
+ error.youtrack_url_detected_no_config "Error: YouTrack URL detected but YouTrack configuration not found"
27
+ error.telegram_bot_token_not_set "Error: TELEGRAM_BOT_TOKEN environment variable or --token option is not set"
28
+ error.invalid_github_url_solve "Error: Invalid GitHub URL for solve command"
29
+ error.invalid_language "Invalid language '{{value}}'. Supported: {{supported}}"
30
+ success.readme_created "README.md created successfully"
31
+ success.process_completed "Process completed"
32
+ success.error_reported_to_sentry "Error reported to Sentry successfully"
33
+ success.language_set "Language set to {{language}}"
34
+ warning.session_log_not_found "Warning: Session log for {{session}} not found, but continuing with resume attempt"
35
+ warning.failed_to_create_readme "Failed: Could not create README.md"
36
+ warning.could_not_determine_root_repository "Could not determine root repository"
37
+ warning.could_not_check_fork_status "Warning: Could not check fork status: {{message}}"
38
+ warning.no_linked_issue_found "Warning: No linked issue found in PR body"
39
+ warning.could_not_search_for_existing_prs "Warning: Could not search for existing PRs: {{message}}"
40
+ warning.could_not_get_current_user "Warning: Could not get current GitHub user"
41
+ warning.could_not_check_github_permissions "Warning: Could not check GitHub permissions: {{message}}"
42
+ warning.could_not_determine_token_scopes "Warning: Could not determine token scopes from auth status"
43
+ warning.failed_to_fetch_branches "Warning: Failed to fetch branches from remote"
44
+ warning.error_during_auto_pr_creation "Warning: Error during auto PR creation: {{message}}"
45
+ warning.could_not_convert_pr_to_draft "Warning: Could not convert PR to draft"
46
+ warning.could_not_check_convert_pr_draft_status "Warning: Could not check/convert PR draft status"
47
+ warning.could_not_post_work_start_comment "Warning: Could not post work start comment"
48
+ warning.could_not_post_work_end_comment "Warning: Could not post work end comment"
49
+ warning.could_not_convert_pr_to_ready "Warning: Could not convert PR to ready"
50
+ warning.could_not_convert_pr_to_ready_status "Warning: Could not convert PR to ready status"
51
+ warning.pr_created_but_no_url "Warning: PR created but no URL returned"
52
+ warning.could_not_assign_user "Could not assign user"
53
+ info.expected_github_url_format "Expected: https://github.com/owner or https://github.com/owner/repo"
54
+ info.you_can_use_formats "You can use any of these formats:"
55
+ info.format_https_owner "- https://github.com/owner"
56
+ info.format_https_owner_repo "- https://github.com/owner/repo"
57
+ info.format_http_owner "- http://github.com/owner (will be converted to https)"
58
+ info.format_github_owner "- github.com/owner (will add https://)"
59
+ info.format_owner "- owner (will be converted to https://github.com/owner)"
60
+ info.format_owner_repo "- owner/repo (will be converted to https://github.com/owner/repo)"
61
+ info.full_log_file "Full log file: {{path}}"
62
+ info.process_exited_with_code "Process exited with code {{code}}"
63
+ info.current_configuration "Current Configuration:"
64
+ process.using_repository_fallback "Using repository-by-repository fallback for {{scope}}: {{owner}}"
65
+ process.fetching_repository_list "Fetching repository list..."
66
+ process.command "Command: {{command}}"
67
+ check.number "Check #{{iteration}}:"
68
+ time.current "Current time: {{time}}"
69
+ telegram.fetching_limits "šŸ”„ Fetching usage limits..."
70
+ telegram.gathering_version "šŸ”„ Gathering version information..."
71
+ telegram.usage_limits_title "šŸ“Š *Usage Limits*"
72
+ telegram.version_information_title "šŸ¤– *Version Information*"
73
+ telegram.limits_only_in_groups "āŒ The /limits command only works in group chats. Please add this bot to a group and make it an admin."
74
+ telegram.version_only_in_groups "āŒ The /version command only works in group chats. Please add this bot to a group and make it an admin."
75
+ telegram.solve_only_in_groups "āŒ The {{commandDisplay}} command only works in group chats. Please add this bot to a group and make it an admin."
76
+ telegram.hive_only_in_groups "āŒ The /hive command only works in group chats. Please add this bot to a group and make it an admin."
77
+ telegram.solve_disabled "āŒ The solve command is disabled on this bot instance."
78
+ telegram.hive_disabled "āŒ The /hive command is disabled on this bot instance."
79
+ telegram.no_github_link_in_reply "āŒ No GitHub issue/PR link found in the replied message.\n\nExample: Reply to a message containing a GitHub issue link with `/solve`\n\nOr with options: `/solve --model opus`"
80
+ telegram.invalid_options "āŒ Invalid options: {{message}}\n\nUse /help to see available options"
81
+ telegram.invalid_isolation "āŒ Invalid --isolation value '{{value}}'. Must be: screen, tmux, or docker"
82
+ telegram.invalid_locked_isolation "āŒ Invalid locked --isolation value '{{value}}'. Must be: screen, tmux, or docker"
83
+ telegram.option_syntax_check "Please check your option syntax."
84
+ telegram.url_status_active "āŒ This URL is {{statusText}}.\n\nURL: {{url}}\nStatus: {{status}}\n\nšŸ’” Use /solve_queue to check the queue status."
85
+ telegram.url_session_running "āŒ A working session is already running for this URL.\n\nURL: {{url}}\nSession: `{{session}}`\n\nšŸ’” Wait for the current session to complete, or use /solve\\_stop to cancel it."
86
+ telegram.solve_rejected "āŒ Solve command rejected.\n\n{{infoBlock}}\n\n🚫 Reason: {{reason}}"
87
+ telegram.language_invalid "āŒ Invalid language. Supported: {{supported}}.\nUsage: /language <code>"
88
+ telegram.language_set "āœ… Language set to *{{language}}*."
89
+ telegram.language_current "🌐 Current language: *{{language}}*.\nSupported: {{supported}}.\nUsage: /language <code>"
90
+ language.en "English"
91
+ language.ru "Russian"
92
+ language.zh "Chinese"
93
+ language.hi "Hindi"
@@ -0,0 +1,93 @@
1
+ hi
2
+ error "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ"
3
+ success "सफल"
4
+ warning "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€"
5
+ failed "विफल"
6
+ info "ą¤øą„‚ą¤šą¤Øą¤¾"
7
+ error.invalid_github_url "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ GitHub URL ą¤Ŗą„ą¤°ą¤¾ą¤°ą„‚ą¤Ŗ"
8
+ error.invalid_github_url_monitoring "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤Øą¤æą¤—ą¤°ą¤¾ą¤Øą„€ ą¤•ą„‡ ą¤²ą¤æą¤ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ GitHub URL"
9
+ error.missing_required_url "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤†ą¤µą¤¶ą„ą¤Æą¤• GitHub issue या pull request URL गायब ą¤¹ą„ˆ"
10
+ error.unable_determine_version "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤øą¤‚ą¤øą„ą¤•ą¤°ą¤£ ą¤Øą¤æą¤°ą„ą¤§ą¤¾ą¤°ą¤æą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ ą¤…ą¤øą¤®ą¤°ą„ą¤„"
11
+ error.invalid_url_type "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ GitHub URL ą¤Ŗą„ą¤°ą¤¾ą¤°ą„‚ą¤Ŗ"
12
+ error.url_type_not_supported "URL ą¤Ŗą„ą¤°ą¤•ą¤¾ą¤° '{{type}}' ą¤øą¤®ą¤°ą„ą¤„ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„ˆ"
13
+ error.failed_to_get_current_user "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø ą¤‰ą¤Ŗą¤Æą„‹ą¤—ą¤•ą¤°ą„ą¤¤ą¤¾ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
14
+ error.failed_to_initialize_repository "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: ą¤°ą¤æą¤Ŗą„‰ą¤œą¤æą¤Ÿą¤°ą„€ आरंभ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
15
+ error.failed_to_create_fork "ą¤øą¤­ą„€ ą¤Ŗą„ą¤°ą¤Æą¤¾ą¤øą„‹ą¤‚ ą¤•ą„‡ बाद fork ą¤¬ą¤Øą¤¾ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
16
+ error.fork_not_accessible "Fork ą¤®ą„Œą¤œą„‚ą¤¦ ą¤¹ą„ˆ ą¤²ą„‡ą¤•ą¤æą¤Ø ą¤•ą¤ˆ ą¤Ŗą„ą¤°ą¤Æą¤¾ą¤øą„‹ą¤‚ ą¤•ą„‡ बाद ą¤­ą„€ ą¤Ŗą¤¹ą„ą¤ą¤š ą¤Æą„‹ą¤—ą„ą¤Æ ą¤Øą¤¹ą„€ą¤‚"
17
+ error.failed_to_add_upstream_remote "upstream ą¤°ą¤æą¤®ą„‹ą¤Ÿ ą¤œą„‹ą¤”ą¤¼ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
18
+ error.failed_to_checkout "{{branch}} पर ą¤øą„ą¤µą¤æą¤š ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
19
+ error.failed_to_sync "{{branch}} ą¤•ą„‹ upstream ą¤•ą„‡ साऄ सिंक ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
20
+ error.failed_to_get_default_branch "ą¤”ą¤æą¤«ą¤¼ą„‰ą¤²ą„ą¤Ÿ शाखा का नाम ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
21
+ error.failed_to_get_current_branch "ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø शाखा ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
22
+ error.failed_to_fetch_upstream "upstream ą¤øą„‡ ą¤”ą„‡ą¤Ÿą¤¾ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
23
+ error.failed_to_add_pr_fork_remote "pr-fork ą¤°ą¤æą¤®ą„‹ą¤Ÿ ą¤œą„‹ą¤”ą¤¼ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
24
+ error.failed_to_fetch_from_pr_fork "pr-fork ą¤øą„‡ ą¤”ą„‡ą¤Ÿą¤¾ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
25
+ error.pr_does_not_exist "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: PR #{{prNumber}} {{owner}}/{{repo}} ą¤®ą„‡ą¤‚ ą¤®ą„Œą¤œą„‚ą¤¦ ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„ˆ"
26
+ error.youtrack_url_detected_no_config "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: YouTrack URL का पता चला ą¤²ą„‡ą¤•ą¤æą¤Ø YouTrack ą¤•ą„‰ą¤Øą„ą¤«ą¤¼ą¤æą¤—ą¤°ą„‡ą¤¶ą¤Ø ą¤Øą¤¹ą„€ą¤‚ मिला"
27
+ error.telegram_bot_token_not_set "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: TELEGRAM_BOT_TOKEN ą¤Ŗą¤°ą„ą¤Æą¤¾ą¤µą¤°ą¤£ चर या --token ą¤µą¤æą¤•ą¤²ą„ą¤Ŗ ą¤øą„‡ą¤Ÿ ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„ˆ"
28
+ error.invalid_github_url_solve "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: solve कमांऔ ą¤•ą„‡ ą¤²ą¤æą¤ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ GitHub URL"
29
+ error.invalid_language "ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ भाषा '{{value}}'. ą¤øą¤®ą¤°ą„ą¤„ą¤æą¤¤: {{supported}}"
30
+ success.readme_created "README.md ą¤øą¤«ą¤²ą¤¤ą¤¾ą¤Ŗą„‚ą¤°ą„ą¤µą¤• बनाया गया"
31
+ success.process_completed "ą¤Ŗą„ą¤°ą¤•ą„ą¤°ą¤æą¤Æą¤¾ ą¤Ŗą„‚ą¤°ą„€ ą¤¹ą„ą¤ˆ"
32
+ success.error_reported_to_sentry "ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ ą¤øą¤«ą¤²ą¤¤ą¤¾ą¤Ŗą„‚ą¤°ą„ą¤µą¤• Sentry ą¤•ą„‹ ą¤°ą¤æą¤Ŗą„‹ą¤°ą„ą¤Ÿ ą¤•ą„€ ą¤—ą¤ˆ"
33
+ success.language_set "भाषा ą¤øą„‡ą¤Ÿ ą¤•ą„€ ą¤—ą¤ˆ: {{language}}"
34
+ warning.session_log_not_found "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤øą¤¤ą„ą¤° {{session}} ą¤•ą„‡ ą¤²ą¤æą¤ ą¤²ą„‰ą¤— ą¤Øą¤¹ą„€ą¤‚ मिला, ą¤²ą„‡ą¤•ą¤æą¤Ø फिर ą¤øą„‡ ą¤¶ą„ą¤°ą„‚ ą¤•ą¤°ą¤Øą„‡ का ą¤Ŗą„ą¤°ą¤Æą¤¾ą¤ø ą¤œą¤¾ą¤°ą„€ ą¤¹ą„ˆ"
35
+ warning.failed_to_create_readme "विफल: README.md ą¤Øą¤¹ą„€ą¤‚ बना सका"
36
+ warning.could_not_determine_root_repository "ą¤°ą„‚ą¤Ÿ ą¤°ą¤æą¤Ŗą„‰ą¤œą¤æą¤Ÿą¤°ą„€ ą¤Øą¤æą¤°ą„ą¤§ą¤¾ą¤°ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ ą¤•ą„€ जा ą¤øą¤•ą„€"
37
+ warning.could_not_check_fork_status "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: fork ą¤øą„ą¤„ą¤æą¤¤ą¤æ ą¤•ą„€ जाँच ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„‹ ą¤øą¤•ą„€: {{message}}"
38
+ warning.no_linked_issue_found "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR विवरण ą¤®ą„‡ą¤‚ ą¤•ą„‹ą¤ˆ ą¤œą„ą¤”ą¤¼ą¤¾ ą¤¹ą„ą¤† issue ą¤Øą¤¹ą„€ą¤‚ मिला"
39
+ warning.could_not_search_for_existing_prs "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤®ą„Œą¤œą„‚ą¤¦ą¤¾ PR ą¤Øą¤¹ą„€ą¤‚ ą¤¢ą„‚ą¤ą¤¢ ą¤øą¤•ą„‡: {{message}}"
40
+ warning.could_not_get_current_user "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø GitHub ą¤‰ą¤Ŗą¤Æą„‹ą¤—ą¤•ą¤°ą„ą¤¤ą¤¾ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„‹ सका"
41
+ warning.could_not_check_github_permissions "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: GitHub ą¤…ą¤Øą„ą¤®ą¤¤ą¤æą¤Æą¤¾ą¤ जाँच ą¤Øą¤¹ą„€ą¤‚ ą¤øą¤•ą„€: {{message}}"
42
+ warning.could_not_determine_token_scopes "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ऑऄ ą¤øą„ą¤„ą¤æą¤¤ą¤æ ą¤øą„‡ ą¤Ÿą„‹ą¤•ą¤Ø ą¤øą„ą¤•ą„‹ą¤Ŗ ą¤Øą¤æą¤°ą„ą¤§ą¤¾ą¤°ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„‹ ą¤øą¤•ą„‡"
43
+ warning.failed_to_fetch_branches "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤°ą¤æą¤®ą„‹ą¤Ÿ ą¤øą„‡ ą¤¶ą¤¾ą¤–ą¤¾ą¤ą¤ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą¤°ą¤Øą„‡ ą¤®ą„‡ą¤‚ विफल"
44
+ warning.error_during_auto_pr_creation "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤øą„ą¤µą¤šą¤¾ą¤²ą¤æą¤¤ PR ą¤Øą¤æą¤°ą„ą¤®ą¤¾ą¤£ ą¤•ą„‡ ą¤¦ą„Œą¤°ą¤¾ą¤Ø ą¤¤ą„ą¤°ą„ą¤Ÿą¤æ: {{message}}"
45
+ warning.could_not_convert_pr_to_draft "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR ą¤•ą„‹ draft ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ कर सका"
46
+ warning.could_not_check_convert_pr_draft_status "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR draft ą¤øą„ą¤„ą¤æą¤¤ą¤æ ą¤•ą„€ जाँच/ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤Ø ą¤Øą¤¹ą„€ą¤‚ ą¤¹ą„‹ सका"
47
+ warning.could_not_post_work_start_comment "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤•ą¤¾ą¤°ą„ą¤Æ ą¤Ŗą„ą¤°ą¤¾ą¤°ą¤‚ą¤­ ą¤Ÿą¤æą¤Ŗą„ą¤Ŗą¤£ą„€ ą¤Ŗą„‹ą¤øą„ą¤Ÿ ą¤Øą¤¹ą„€ą¤‚ कर सका"
48
+ warning.could_not_post_work_end_comment "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: ą¤•ą¤¾ą¤°ą„ą¤Æ ą¤øą¤®ą¤¾ą¤Ŗą„ą¤¤ą¤æ ą¤Ÿą¤æą¤Ŗą„ą¤Ŗą¤£ą„€ ą¤Ŗą„‹ą¤øą„ą¤Ÿ ą¤Øą¤¹ą„€ą¤‚ कर सका"
49
+ warning.could_not_convert_pr_to_ready "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR ą¤•ą„‹ ready ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ कर सका"
50
+ warning.could_not_convert_pr_to_ready_status "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR ą¤øą„ą¤„ą¤æą¤¤ą¤æ ą¤•ą„‹ ready ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤Øą¤¹ą„€ą¤‚ कर सका"
51
+ warning.pr_created_but_no_url "ą¤šą„‡ą¤¤ą¤¾ą¤µą¤Øą„€: PR बनाया गया ą¤²ą„‡ą¤•ą¤æą¤Ø URL वापस ą¤Øą¤¹ą„€ą¤‚ आया"
52
+ warning.could_not_assign_user "ą¤‰ą¤Ŗą¤Æą„‹ą¤—ą¤•ą¤°ą„ą¤¤ą¤¾ ą¤Øą¤æą¤Æą„ą¤•ą„ą¤¤ ą¤Øą¤¹ą„€ą¤‚ कर सका"
53
+ info.expected_github_url_format "ą¤…ą¤Ŗą„‡ą¤•ą„ą¤·ą¤æą¤¤: https://github.com/owner या https://github.com/owner/repo"
54
+ info.you_can_use_formats "आप ą¤‡ą¤Øą¤®ą„‡ą¤‚ ą¤øą„‡ ą¤•ą¤æą¤øą„€ ą¤­ą„€ ą¤Ŗą„ą¤°ą¤¾ą¤°ą„‚ą¤Ŗ का ą¤‰ą¤Ŗą¤Æą„‹ą¤— कर ą¤øą¤•ą¤¤ą„‡ ą¤¹ą„ˆą¤‚:"
55
+ info.format_https_owner "- https://github.com/owner"
56
+ info.format_https_owner_repo "- https://github.com/owner/repo"
57
+ info.format_http_owner "- http://github.com/owner (https ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤¹ą„‹ą¤—ą¤¾)"
58
+ info.format_github_owner "- github.com/owner (https:// ą¤œą„‹ą¤”ą¤¼ą¤¾ ą¤œą¤¾ą¤ą¤—ą¤¾)"
59
+ info.format_owner "- owner (https://github.com/owner ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤¹ą„‹ą¤—ą¤¾)"
60
+ info.format_owner_repo "- owner/repo (https://github.com/owner/repo ą¤®ą„‡ą¤‚ ą¤Ŗą¤°ą¤æą¤µą¤°ą„ą¤¤ą¤æą¤¤ ą¤¹ą„‹ą¤—ą¤¾)"
61
+ info.full_log_file "ą¤Ŗą„‚ą¤°ą¤¾ ą¤²ą„‰ą¤— फ़ाइल: {{path}}"
62
+ info.process_exited_with_code "ą¤Ŗą„ą¤°ą¤•ą„ą¤°ą¤æą¤Æą¤¾ ą¤•ą„‹ą¤” {{code}} ą¤•ą„‡ साऄ ą¤øą¤®ą¤¾ą¤Ŗą„ą¤¤ ą¤¹ą„ą¤ˆ"
63
+ info.current_configuration "ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø ą¤•ą„‰ą¤Øą„ą¤«ą¤¼ą¤æą¤—ą¤°ą„‡ą¤¶ą¤Ø:"
64
+ process.using_repository_fallback "{{scope}} ą¤•ą„‡ ą¤²ą¤æą¤ ą¤°ą¤æą¤Ŗą„‰ą¤œą¤æą¤Ÿą¤°ą„€-दर-ą¤°ą¤æą¤Ŗą„‰ą¤œą¤æą¤Ÿą¤°ą„€ ą¤«ą¤¼ą„‰ą¤²ą¤¬ą„ˆą¤• का ą¤‰ą¤Ŗą¤Æą„‹ą¤—: {{owner}}"
65
+ process.fetching_repository_list "ą¤°ą¤æą¤Ŗą„‰ą¤œą¤æą¤Ÿą¤°ą„€ ą¤øą„‚ą¤šą„€ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą„€ जा ą¤°ą¤¹ą„€ ą¤¹ą„ˆ..."
66
+ process.command "कमांऔ: {{command}}"
67
+ check.number "जाँच #{{iteration}}:"
68
+ time.current "ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø समय: {{time}}"
69
+ telegram.fetching_limits "šŸ”„ ą¤‰ą¤Ŗą¤Æą„‹ą¤— ą¤øą„€ą¤®ą¤¾ą¤ą¤ ą¤Ŗą„ą¤°ą¤¾ą¤Ŗą„ą¤¤ ą¤•ą„€ जा ą¤°ą¤¹ą„€ ą¤¹ą„ˆą¤‚..."
70
+ telegram.gathering_version "šŸ”„ ą¤øą¤‚ą¤øą„ą¤•ą¤°ą¤£ ą¤œą¤¾ą¤Øą¤•ą¤¾ą¤°ą„€ ą¤ą¤•ą¤¤ą„ą¤° ą¤•ą„€ जा ą¤°ą¤¹ą„€ ą¤¹ą„ˆ..."
71
+ telegram.usage_limits_title "šŸ“Š *ą¤‰ą¤Ŗą¤Æą„‹ą¤— ą¤øą„€ą¤®ą¤¾ą¤ą¤*"
72
+ telegram.version_information_title "šŸ¤– *ą¤øą¤‚ą¤øą„ą¤•ą¤°ą¤£ ą¤œą¤¾ą¤Øą¤•ą¤¾ą¤°ą„€*"
73
+ telegram.limits_only_in_groups "āŒ /limits कमांऔ ą¤•ą„‡ą¤µą¤² ą¤øą¤®ą„‚ą¤¹ ą¤šą„ˆą¤Ÿ ą¤®ą„‡ą¤‚ काम ą¤•ą¤°ą¤¤ą„€ ą¤¹ą„ˆą„¤ ą¤•ą„ƒą¤Ŗą¤Æą¤¾ ą¤¬ą„‰ą¤Ÿ ą¤•ą„‹ ą¤øą¤®ą„‚ą¤¹ ą¤®ą„‡ą¤‚ ą¤œą„‹ą¤”ą¤¼ą„‡ą¤‚ और ą¤µą„ą¤Æą¤µą¤øą„ą¤„ą¤¾ą¤Ŗą¤• ą¤¬ą¤Øą¤¾ą¤ą¤ą„¤"
74
+ telegram.version_only_in_groups "āŒ /version कमांऔ ą¤•ą„‡ą¤µą¤² ą¤øą¤®ą„‚ą¤¹ ą¤šą„ˆą¤Ÿ ą¤®ą„‡ą¤‚ काम ą¤•ą¤°ą¤¤ą„€ ą¤¹ą„ˆą„¤ ą¤•ą„ƒą¤Ŗą¤Æą¤¾ ą¤¬ą„‰ą¤Ÿ ą¤•ą„‹ ą¤øą¤®ą„‚ą¤¹ ą¤®ą„‡ą¤‚ ą¤œą„‹ą¤”ą¤¼ą„‡ą¤‚ और ą¤µą„ą¤Æą¤µą¤øą„ą¤„ą¤¾ą¤Ŗą¤• ą¤¬ą¤Øą¤¾ą¤ą¤ą„¤"
75
+ telegram.solve_only_in_groups "āŒ {{commandDisplay}} कमांऔ ą¤•ą„‡ą¤µą¤² ą¤øą¤®ą„‚ą¤¹ ą¤šą„ˆą¤Ÿ ą¤®ą„‡ą¤‚ काम ą¤•ą¤°ą¤¤ą„€ ą¤¹ą„ˆą„¤ ą¤•ą„ƒą¤Ŗą¤Æą¤¾ ą¤¬ą„‰ą¤Ÿ ą¤•ą„‹ ą¤øą¤®ą„‚ą¤¹ ą¤®ą„‡ą¤‚ ą¤œą„‹ą¤”ą¤¼ą„‡ą¤‚ और ą¤µą„ą¤Æą¤µą¤øą„ą¤„ą¤¾ą¤Ŗą¤• ą¤¬ą¤Øą¤¾ą¤ą¤ą„¤"
76
+ telegram.hive_only_in_groups "āŒ /hive कमांऔ ą¤•ą„‡ą¤µą¤² ą¤øą¤®ą„‚ą¤¹ ą¤šą„ˆą¤Ÿ ą¤®ą„‡ą¤‚ काम ą¤•ą¤°ą¤¤ą„€ ą¤¹ą„ˆą„¤ ą¤•ą„ƒą¤Ŗą¤Æą¤¾ ą¤¬ą„‰ą¤Ÿ ą¤•ą„‹ ą¤øą¤®ą„‚ą¤¹ ą¤®ą„‡ą¤‚ ą¤œą„‹ą¤”ą¤¼ą„‡ą¤‚ और ą¤µą„ą¤Æą¤µą¤øą„ą¤„ą¤¾ą¤Ŗą¤• ą¤¬ą¤Øą¤¾ą¤ą¤ą„¤"
77
+ telegram.solve_disabled "āŒ इस ą¤¬ą„‰ą¤Ÿ ą¤‡ą¤‚ą¤øą„ą¤Ÿą„‡ą¤‚ą¤ø पर solve कमांऔ ą¤…ą¤•ą„ą¤·ą¤® ą¤¹ą„ˆą„¤"
78
+ telegram.hive_disabled "āŒ इस ą¤¬ą„‰ą¤Ÿ ą¤‡ą¤‚ą¤øą„ą¤Ÿą„‡ą¤‚ą¤ø पर /hive कमांऔ ą¤…ą¤•ą„ą¤·ą¤® ą¤¹ą„ˆą„¤"
79
+ telegram.no_github_link_in_reply "āŒ ą¤‰ą¤¤ą„ą¤¤ą¤° ą¤¦ą¤æą¤ ą¤—ą¤ ą¤øą¤‚ą¤¦ą„‡ą¤¶ ą¤®ą„‡ą¤‚ ą¤•ą„‹ą¤ˆ GitHub issue/PR लिंक ą¤Øą¤¹ą„€ą¤‚ ą¤®ą¤æą¤²ą¤¾ą„¤\n\nउदाहरण: GitHub issue लिंक ą¤µą¤¾ą¤²ą„‡ ą¤øą¤‚ą¤¦ą„‡ą¤¶ का ą¤‰ą¤¤ą„ą¤¤ą¤° `/solve` ą¤øą„‡ ą¤¦ą„‡ą¤‚\n\nया ą¤µą¤æą¤•ą¤²ą„ą¤Ŗą„‹ą¤‚ ą¤•ą„‡ साऄ: `/solve --model opus`"
80
+ telegram.invalid_options "āŒ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ ą¤µą¤æą¤•ą¤²ą„ą¤Ŗ: {{message}}\n\ną¤‰ą¤Ŗą¤²ą¤¬ą„ą¤§ ą¤µą¤æą¤•ą¤²ą„ą¤Ŗ ą¤¦ą„‡ą¤–ą¤Øą„‡ ą¤•ą„‡ ą¤²ą¤æą¤ /help का ą¤‰ą¤Ŗą¤Æą„‹ą¤— ą¤•ą¤°ą„‡ą¤‚"
81
+ telegram.invalid_isolation "āŒ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ --isolation मान '{{value}}'ą„¤ ą¤¹ą„‹ą¤Øą¤¾ ą¤šą¤¾ą¤¹ą¤æą¤: screen, tmux, या docker"
82
+ telegram.invalid_locked_isolation "āŒ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ ą¤²ą„‰ą¤•ą„ą¤” --isolation मान '{{value}}'ą„¤ ą¤¹ą„‹ą¤Øą¤¾ ą¤šą¤¾ą¤¹ą¤æą¤: screen, tmux, या docker"
83
+ telegram.option_syntax_check "ą¤•ą„ƒą¤Ŗą¤Æą¤¾ ą¤…ą¤Ŗą¤Øą„‡ ą¤µą¤æą¤•ą¤²ą„ą¤Ŗ ą¤øą¤æą¤‚ą¤Ÿą„ˆą¤•ą„ą¤ø ą¤•ą„€ जाँच ą¤•ą¤°ą„‡ą¤‚ą„¤"
84
+ telegram.url_status_active "āŒ यह URL {{statusText}} ą¤¹ą„ˆą„¤\n\nURL: {{url}}\ną¤øą„ą¤„ą¤æą¤¤ą¤æ: {{status}}\n\nšŸ’” कतार ą¤øą„ą¤„ą¤æą¤¤ą¤æ ą¤¦ą„‡ą¤–ą¤Øą„‡ ą¤•ą„‡ ą¤²ą¤æą¤ /solve_queue का ą¤‰ą¤Ŗą¤Æą„‹ą¤— ą¤•ą¤°ą„‡ą¤‚ą„¤"
85
+ telegram.url_session_running "āŒ इस URL ą¤•ą„‡ ą¤²ą¤æą¤ ą¤Ŗą¤¹ą¤²ą„‡ ą¤øą„‡ ą¤ą¤• ą¤•ą¤¾ą¤°ą„ą¤Æ ą¤øą¤¤ą„ą¤° चल रहा ą¤¹ą„ˆą„¤\n\nURL: {{url}}\ną¤øą¤¤ą„ą¤°: `{{session}}`\n\nšŸ’” ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø ą¤øą¤¤ą„ą¤° ą¤•ą„‡ ą¤Ŗą„‚ą¤°ą¤¾ ą¤¹ą„‹ą¤Øą„‡ ą¤•ą„€ ą¤Ŗą„ą¤°ą¤¤ą„€ą¤•ą„ą¤·ą¤¾ ą¤•ą¤°ą„‡ą¤‚, या ą¤°ą¤¦ą„ą¤¦ ą¤•ą¤°ą¤Øą„‡ ą¤•ą„‡ ą¤²ą¤æą¤ /solve\\_stop का ą¤‰ą¤Ŗą¤Æą„‹ą¤— ą¤•ą¤°ą„‡ą¤‚ą„¤"
86
+ telegram.solve_rejected "āŒ Solve कमांऔ ą¤…ą¤øą„ą¤µą„€ą¤•ą„ƒą¤¤ą„¤\n\n{{infoBlock}}\n\n🚫 कारण: {{reason}}"
87
+ telegram.language_invalid "āŒ ą¤…ą¤®ą¤¾ą¤Øą„ą¤Æ ą¤­ą¤¾ą¤·ą¤¾ą„¤ ą¤øą¤®ą¤°ą„ą¤„ą¤æą¤¤: {{supported}}ą„¤\ną¤‰ą¤Ŗą¤Æą„‹ą¤—: /language <ą¤•ą„‹ą¤”>"
88
+ telegram.language_set "āœ… भाषा ą¤øą„‡ą¤Ÿ: *{{language}}*ą„¤"
89
+ telegram.language_current "🌐 ą¤µą¤°ą„ą¤¤ą¤®ą¤¾ą¤Ø भाषा: *{{language}}*ą„¤\ną¤øą¤®ą¤°ą„ą¤„ą¤æą¤¤: {{supported}}ą„¤\ną¤‰ą¤Ŗą¤Æą„‹ą¤—: /language <ą¤•ą„‹ą¤”>"
90
+ language.en "ą¤…ą¤‚ą¤—ą„ą¤°ą„‡ą¤œą¤¼ą„€"
91
+ language.ru "ą¤°ą„‚ą¤øą„€"
92
+ language.zh "ą¤šą„€ą¤Øą„€"
93
+ language.hi "ą¤¹ą¤æą¤Øą„ą¤¦ą„€"
@@ -0,0 +1,93 @@
1
+ ru
2
+ error "ŠžŃˆŠøŠ±ŠŗŠ°"
3
+ success "Успешно"
4
+ warning "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ"
5
+ failed "ŠŠµ уГалось"
6
+ info "Š˜Š½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ"
7
+ error.invalid_github_url "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ формат URL GitHub"
8
+ error.invalid_github_url_monitoring "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ URL GitHub Š“Š»Ń мониторинга"
9
+ error.missing_required_url "ŠžŃˆŠøŠ±ŠŗŠ°: ŠžŃ‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ Š¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ URL проблемы или запроса на ŃŠ»ŠøŃŠ½ŠøŠµ GitHub"
10
+ error.unable_determine_version "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµ ŃƒŠ“Š°ŠµŃ‚ŃŃ Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ Š²ŠµŃ€ŃŠøŃŽ"
11
+ error.invalid_url_type "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ формат URL GitHub"
12
+ error.url_type_not_supported "Тип URL '{{type}}' не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ"
13
+ error.failed_to_get_current_user "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń"
14
+ error.failed_to_initialize_repository "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµ уГалось ŠøŠ½ŠøŃ†ŠøŠ°Š»ŠøŠ·ŠøŃ€Š¾Š²Š°Ń‚ŃŒ репозиторий"
15
+ error.failed_to_create_fork "ŠŠµ уГалось ŃŠ¾Š·Š“Š°Ń‚ŃŒ форк после всех попыток"
16
+ error.fork_not_accessible "Форк ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, но Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ после Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… попыток"
17
+ error.failed_to_add_upstream_remote "ŠŠµ уГалось Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŃƒŠ“Š°Š»Ń‘Š½Š½Ń‹Š¹ репозиторий upstream"
18
+ error.failed_to_checkout "ŠŠµ уГалось ŠæŠµŃ€ŠµŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒŃŃ на {{branch}}"
19
+ error.failed_to_sync "ŠŠµ уГалось ŃŠøŠ½Ń…Ń€Š¾Š½ŠøŠ·ŠøŃ€Š¾Š²Š°Ń‚ŃŒ {{branch}} с upstream"
20
+ error.failed_to_get_default_branch "ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ ŠøŠ¼Ń ветки по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ"
21
+ error.failed_to_get_current_branch "ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Ń‚ŠµŠŗŃƒŃ‰ŃƒŃŽ Š²ŠµŃ‚ŠŗŃƒ"
22
+ error.failed_to_fetch_upstream "ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Ганные ŠøŠ· upstream"
23
+ error.failed_to_add_pr_fork_remote "ŠŠµ уГалось Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŃƒŠ“Š°Š»Ń‘Š½Š½Ń‹Š¹ репозиторий pr-fork"
24
+ error.failed_to_fetch_from_pr_fork "ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Ганные ŠøŠ· pr-fork"
25
+ error.pr_does_not_exist "ŠžŃˆŠøŠ±ŠŗŠ°: PR #{{prNumber}} не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ в {{owner}}/{{repo}}"
26
+ error.youtrack_url_detected_no_config "ŠžŃˆŠøŠ±ŠŗŠ°: ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ URL YouTrack, но ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃ YouTrack не найГена"
27
+ error.telegram_bot_token_not_set "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TELEGRAM_BOT_TOKEN или Š¾ŠæŃ†ŠøŃ --token не ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°"
28
+ error.invalid_github_url_solve "ŠžŃˆŠøŠ±ŠŗŠ°: ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ URL GitHub Š“Š»Ń команГы solve"
29
+ error.invalid_language "ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ ŃŠ·Ń‹Šŗ '{{value}}'. ŠŸŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ŃŃ: {{supported}}"
30
+ success.readme_created "README.md успешно созГан"
31
+ success.process_completed "ŠŸŃ€Š¾Ń†ŠµŃŃ Š·Š°Š²ŠµŃ€ŃˆŃ‘Š½"
32
+ success.error_reported_to_sentry "ŠžŃˆŠøŠ±ŠŗŠ° успешно отправлена в Sentry"
33
+ success.language_set "Язык ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½: {{language}}"
34
+ warning.session_log_not_found "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: Š–ŃƒŃ€Š½Š°Š» сеанса Š“Š»Ń {{session}} не найГен, но проГолжаем ŠæŠ¾ŠæŃ‹Ń‚ŠŗŃƒ Š²Š¾Š·Š¾Š±Š½Š¾Š²Š»ŠµŠ½ŠøŃ"
35
+ warning.failed_to_create_readme "ŠŠµ уГалось: ŠŠµ уГалось ŃŠ¾Š·Š“Š°Ń‚ŃŒ README.md"
36
+ warning.could_not_determine_root_repository "ŠŠµ уГалось Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ корневой репозиторий"
37
+ warning.could_not_check_fork_status "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ ŃŃ‚Š°Ń‚ŃƒŃ форка: {{message}}"
38
+ warning.no_linked_issue_found "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: Š”Š²ŃŠ·Š°Š½Š½Š°Ń проблема не найГена в теле PR"
39
+ warning.could_not_search_for_existing_prs "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось найти ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠµ PR: {{message}}"
40
+ warning.could_not_get_current_user "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń GitHub"
41
+ warning.could_not_check_github_permissions "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŃ GitHub: {{message}}"
42
+ warning.could_not_determine_token_scopes "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ области токена ŠøŠ· ŃŃ‚Š°Ń‚ŃƒŃŠ° Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø"
43
+ warning.failed_to_fetch_branches "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ ветки ŠøŠ· ŃƒŠ“Š°Š»Ń‘Š½Š½Š¾Š³Š¾ Ń€ŠµŠæŠ¾Š·ŠøŃ‚Š¾Ń€ŠøŃ"
44
+ warning.error_during_auto_pr_creation "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠžŃˆŠøŠ±ŠŗŠ° при автоматическом созГании PR: {{message}}"
45
+ warning.could_not_convert_pr_to_draft "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Ń‚ŃŒ PR в черновик"
46
+ warning.could_not_check_convert_pr_draft_status "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ/ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š°Ń‚ŃƒŃ черновика PR"
47
+ warning.could_not_post_work_start_comment "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось Š¾ŠæŃƒŠ±Š»ŠøŠŗŠ¾Š²Š°Ń‚ŃŒ комментарий о начале работы"
48
+ warning.could_not_post_work_end_comment "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось Š¾ŠæŃƒŠ±Š»ŠøŠŗŠ¾Š²Š°Ń‚ŃŒ комментарий о Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŠø работы"
49
+ warning.could_not_convert_pr_to_ready "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Ń‚ŃŒ PR в готовый"
50
+ warning.could_not_convert_pr_to_ready_status "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: ŠŠµ уГалось ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š°Ń‚ŃƒŃ PR в готовый"
51
+ warning.pr_created_but_no_url "ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ: PR созГан, но URL не возвращён"
52
+ warning.could_not_assign_user "ŠŠµ уГалось Š½Š°Š·Š½Š°Ń‡ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń"
53
+ info.expected_github_url_format "ŠžŠ¶ŠøŠ“Š°ŠµŃ‚ŃŃ: https://github.com/owner или https://github.com/owner/repo"
54
+ info.you_can_use_formats "Š’Ń‹ можете ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š»ŃŽŠ±Š¾Š¹ ŠøŠ· ŃŃ‚ŠøŃ… форматов:"
55
+ info.format_https_owner "- https://github.com/owner"
56
+ info.format_https_owner_repo "- https://github.com/owner/repo"
57
+ info.format_http_owner "- http://github.com/owner (Š±ŃƒŠ“ŠµŃ‚ преобразовано в https)"
58
+ info.format_github_owner "- github.com/owner (Š±ŃƒŠ“ŠµŃ‚ Гобавлено https://)"
59
+ info.format_owner "- owner (Š±ŃƒŠ“ŠµŃ‚ преобразовано в https://github.com/owner)"
60
+ info.format_owner_repo "- owner/repo (Š±ŃƒŠ“ŠµŃ‚ преобразовано в https://github.com/owner/repo)"
61
+ info.full_log_file "ŠŸŠ¾Š»Š½Ń‹Š¹ файл Š¶ŃƒŃ€Š½Š°Š»Š°: {{path}}"
62
+ info.process_exited_with_code "ŠŸŃ€Š¾Ń†ŠµŃŃ Š·Š°Š²ŠµŃ€ŃˆŠøŠ»ŃŃ с коГом {{code}}"
63
+ info.current_configuration "Š¢ŠµŠŗŃƒŃ‰Š°Ń ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃ:"
64
+ process.using_repository_fallback "Использование резервного метоГа репозиторий-за-репозиторием Š“Š»Ń {{scope}}: {{owner}}"
65
+ process.fetching_repository_list "ŠŸŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ списка репозиториев..."
66
+ process.command "КоманГа: {{command}}"
67
+ check.number "ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠ° #{{iteration}}:"
68
+ time.current "Š¢ŠµŠŗŃƒŃ‰ŠµŠµ Š²Ń€ŠµŠ¼Ń: {{time}}"
69
+ telegram.fetching_limits "šŸ”„ ŠŸŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ лимитов ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ..."
70
+ telegram.gathering_version "šŸ”„ Дбор информации о версии..."
71
+ telegram.usage_limits_title "šŸ“Š *Лимиты ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ*"
72
+ telegram.version_information_title "šŸ¤– *Š˜Š½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ о версии*"
73
+ telegram.limits_only_in_groups "āŒ КоманГа /limits работает Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š³Ń€ŃƒŠæŠæŠ¾Š²Ń‹Ń… чатах. Š”Š¾Š±Š°Š²ŃŒŃ‚Šµ бота в Š³Ń€ŃƒŠæŠæŃƒ Šø сГелайте его аГминистратором."
74
+ telegram.version_only_in_groups "āŒ КоманГа /version работает Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š³Ń€ŃƒŠæŠæŠ¾Š²Ń‹Ń… чатах. Š”Š¾Š±Š°Š²ŃŒŃ‚Šµ бота в Š³Ń€ŃƒŠæŠæŃƒ Šø сГелайте его аГминистратором."
75
+ telegram.solve_only_in_groups "āŒ КоманГа {{commandDisplay}} работает Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š³Ń€ŃƒŠæŠæŠ¾Š²Ń‹Ń… чатах. Š”Š¾Š±Š°Š²ŃŒŃ‚Šµ бота в Š³Ń€ŃƒŠæŠæŃƒ Šø сГелайте его аГминистратором."
76
+ telegram.hive_only_in_groups "āŒ КоманГа /hive работает Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š³Ń€ŃƒŠæŠæŠ¾Š²Ń‹Ń… чатах. Š”Š¾Š±Š°Š²ŃŒŃ‚Šµ бота в Š³Ń€ŃƒŠæŠæŃƒ Šø сГелайте его аГминистратором."
77
+ telegram.solve_disabled "āŒ КоманГа solve Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½Š° в ŃŃ‚Š¾Š¼ ŃŠŗŠ·ŠµŠ¼ŠæŠ»ŃŃ€Šµ бота."
78
+ telegram.hive_disabled "āŒ КоманГа /hive Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½Š° в ŃŃ‚Š¾Š¼ ŃŠŗŠ·ŠµŠ¼ŠæŠ»ŃŃ€Šµ бота."
79
+ telegram.no_github_link_in_reply "āŒ Š’ сообщении, на которое вы ответили, не найГена ссылка на ŠæŃ€Š¾Š±Š»ŠµŠ¼Ńƒ/PR GitHub.\n\nŠŸŃ€ŠøŠ¼ŠµŃ€: ŠžŃ‚Š²ŠµŃ‚ŃŒŃ‚Šµ на сообщение со ссылкой на ŠæŃ€Š¾Š±Š»ŠµŠ¼Ńƒ GitHub команГой `/solve`\n\nИли с Š¾ŠæŃ†ŠøŃŠ¼Šø: `/solve --model opus`"
80
+ telegram.invalid_options "āŒ ŠŠµŠ²ŠµŃ€Š½Ń‹Šµ опции: {{message}}\n\nŠ˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ /help, чтобы ŃƒŠ²ŠøŠ“ŠµŃ‚ŃŒ Š“Š¾ŃŃ‚ŃƒŠæŠ½Ń‹Šµ опции"
81
+ telegram.invalid_isolation "āŒ ŠŠµŠ²ŠµŃ€Š½Š¾Šµ значение --isolation '{{value}}'. Š”Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾: screen, tmux или docker"
82
+ telegram.invalid_locked_isolation "āŒ ŠŠµŠ²ŠµŃ€Š½Š¾Šµ заблокированное значение --isolation '{{value}}'. Š”Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾: screen, tmux или docker"
83
+ telegram.option_syntax_check "ŠŸŃ€Š¾Š²ŠµŃ€ŃŒŃ‚Šµ синтаксис опций."
84
+ telegram.url_status_active "āŒ Этот URL имеет ŃŃ‚Š°Ń‚ŃƒŃ {{statusText}}.\n\nURL: {{url}}\nŠ”Ń‚Š°Ń‚ŃƒŃ: {{status}}\n\nšŸ’” Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ /solve_queue Š“Š»Ń проверки очереГи."
85
+ telegram.url_session_running "āŒ Š”Š»Ń ŃŃ‚Š¾Š³Š¾ URL уже Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ся рабочий сеанс.\n\nURL: {{url}}\nДеанс: `{{session}}`\n\nšŸ’” Š”Š¾Š¶Š“ŠøŃ‚ŠµŃŃŒ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ сеанса или ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚е /solve\\_stop Š“Š»Ń отмены."
86
+ telegram.solve_rejected "āŒ КоманГа solve отклонена.\n\n{{infoBlock}}\n\n🚫 ŠŸŃ€ŠøŃ‡ŠøŠ½Š°: {{reason}}"
87
+ telegram.language_invalid "āŒ ŠŠµŠ²ŠµŃ€Š½Ń‹Š¹ ŃŠ·Ń‹Šŗ. ŠŸŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ŃŃ: {{supported}}.\nИспользование: /language <коГ>"
88
+ telegram.language_set "āœ… Язык ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½: *{{language}}*."
89
+ telegram.language_current "🌐 Š¢ŠµŠŗŃƒŃ‰ŠøŠ¹ ŃŠ·Ń‹Šŗ: *{{language}}*.\nŠŸŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ŃŃ: {{supported}}.\nИспользование: /language <коГ>"
90
+ language.en "Английский"
91
+ language.ru "Русский"
92
+ language.zh "ŠšŠøŃ‚Š°Š¹ŃŠŗŠøŠ¹"
93
+ language.hi "ЄинГи"
@@ -0,0 +1,93 @@
1
+ zh
2
+ error "错误"
3
+ success "成功"
4
+ warning "č­¦å‘Š"
5
+ failed "失蓄"
6
+ info "俔息"
7
+ error.invalid_github_url "é”™čÆÆļ¼šGitHub URL ę ¼å¼ę— ę•ˆ"
8
+ error.invalid_github_url_monitoring "é”™čÆÆļ¼šē”ØäŗŽē›‘ęŽ§ēš„ GitHub URL ꗠꕈ"
9
+ error.missing_required_url "é”™čÆÆļ¼šē¼ŗå°‘åæ…éœ€ēš„ GitHub issue ꈖ pull request URL"
10
+ error.unable_determine_version "é”™čÆÆļ¼šę— ę³•ē”®å®šē‰ˆęœ¬"
11
+ error.invalid_url_type "é”™čÆÆļ¼šGitHub URL ę ¼å¼ę— ę•ˆ"
12
+ error.url_type_not_supported "URL ē±»åž‹ '{{type}}' äøå—ę”ÆęŒ"
13
+ error.failed_to_get_current_user "é”™čÆÆļ¼šę— ę³•čŽ·å–å½“å‰ē”Øęˆ·"
14
+ error.failed_to_initialize_repository "é”™čÆÆļ¼šę— ę³•åˆå§‹åŒ–ä»“åŗ“"
15
+ error.failed_to_create_fork "å¤šę¬”é‡čÆ•åŽä»ę— ę³•åˆ›å»ŗ fork"
16
+ error.fork_not_accessible "Fork å·²å­˜åœØä½†å¤šę¬”é‡čÆ•åŽä»ę— ę³•č®æé—®"
17
+ error.failed_to_add_upstream_remote "ę— ę³•ę·»åŠ  upstream čæœēØ‹ä»“åŗ“"
18
+ error.failed_to_checkout "ę— ę³•åˆ‡ę¢åˆ° {{branch}}"
19
+ error.failed_to_sync "无法将 {{branch}} äøŽ upstream 同歄"
20
+ error.failed_to_get_default_branch "ę— ę³•čŽ·å–é»˜č®¤åˆ†ę”Æåē§°"
21
+ error.failed_to_get_current_branch "ę— ę³•čŽ·å–å½“å‰åˆ†ę”Æ"
22
+ error.failed_to_fetch_upstream "ę— ę³•ä»Ž upstream čŽ·å–ę•°ę®"
23
+ error.failed_to_add_pr_fork_remote "ę— ę³•ę·»åŠ  pr-fork čæœēØ‹ä»“åŗ“"
24
+ error.failed_to_fetch_from_pr_fork "ę— ę³•ä»Ž pr-fork čŽ·å–ę•°ę®"
25
+ error.pr_does_not_exist "é”™čÆÆļ¼šPR #{{prNumber}} 在 {{owner}}/{{repo}} äø­äøå­˜åœØ"
26
+ error.youtrack_url_detected_no_config "é”™čÆÆļ¼šę£€ęµ‹åˆ° YouTrack URL ä½†ęœŖę‰¾åˆ° YouTrack é…ē½®"
27
+ error.telegram_bot_token_not_set "é”™čÆÆļ¼šęœŖč®¾ē½® TELEGRAM_BOT_TOKEN ēŽÆå¢ƒå˜é‡ęˆ– --token 选锹"
28
+ error.invalid_github_url_solve "é”™čÆÆļ¼šsolve å‘½ä»¤ēš„ GitHub URL ꗠꕈ"
29
+ error.invalid_language "ę— ę•ˆēš„čÆ­čØ€ '{{value}}'ć€‚ę”ÆęŒēš„čÆ­čØ€ļ¼š{{supported}}"
30
+ success.readme_created "README.md åˆ›å»ŗęˆåŠŸ"
31
+ success.process_completed "čæ›ēØ‹å·²å®Œęˆ"
32
+ success.error_reported_to_sentry "é”™čÆÆå·²ęˆåŠŸäøŠęŠ„åˆ° Sentry"
33
+ success.language_set "语言已设置为 {{language}}"
34
+ warning.session_log_not_found "č­¦å‘Šļ¼šęœŖę‰¾åˆ°ä¼ščÆ {{session}} ēš„ę—„åæ—ļ¼Œä½†å°†ē»§ē»­å°čÆ•ę¢å¤"
35
+ warning.failed_to_create_readme "å¤±č“„ļ¼šę— ę³•åˆ›å»ŗ README.md"
36
+ warning.could_not_determine_root_repository "ę— ę³•ē”®å®šę ¹ä»“åŗ“"
37
+ warning.could_not_check_fork_status "č­¦å‘Šļ¼šę— ę³•ę£€ęŸ„ fork ēŠ¶ę€ļ¼š{{message}}"
38
+ warning.no_linked_issue_found "č­¦å‘Šļ¼šåœØ PR å†…å®¹äø­ęœŖę‰¾åˆ°å…³č”ēš„ issue"
39
+ warning.could_not_search_for_existing_prs "č­¦å‘Šļ¼šę— ę³•ęœē“¢ēŽ°ęœ‰ēš„ PR:{{message}}"
40
+ warning.could_not_get_current_user "č­¦å‘Šļ¼šę— ę³•čŽ·å–å½“å‰ GitHub ē”Øęˆ·"
41
+ warning.could_not_check_github_permissions "č­¦å‘Šļ¼šę— ę³•ę£€ęŸ„ GitHub ęƒé™ļ¼š{{message}}"
42
+ warning.could_not_determine_token_scopes "č­¦å‘Šļ¼šę— ę³•ä»Žč®¤čÆēŠ¶ę€ē”®å®šä»¤ē‰ŒčŒƒå›“"
43
+ warning.failed_to_fetch_branches "č­¦å‘Šļ¼šę— ę³•ä»ŽčæœēØ‹čŽ·å–åˆ†ę”Æ"
44
+ warning.error_during_auto_pr_creation "č­¦å‘Šļ¼šč‡ŖåŠØåˆ›å»ŗ PR ę—¶å‡ŗé”™ļ¼š{{message}}"
45
+ warning.could_not_convert_pr_to_draft "č­¦å‘Šļ¼šę— ę³•å°† PR č½¬ę¢äøŗč‰ēØæ"
46
+ warning.could_not_check_convert_pr_draft_status "č­¦å‘Šļ¼šę— ę³•ę£€ęŸ„/č½¬ę¢ PR č‰ēØæēŠ¶ę€"
47
+ warning.could_not_post_work_start_comment "č­¦å‘Šļ¼šę— ę³•å‘åøƒå·„ä½œå¼€å§‹čÆ„č®ŗ"
48
+ warning.could_not_post_work_end_comment "č­¦å‘Šļ¼šę— ę³•å‘åøƒå·„ä½œē»“ęŸčÆ„č®ŗ"
49
+ warning.could_not_convert_pr_to_ready "č­¦å‘Šļ¼šę— ę³•å°† PR č½¬ę¢äøŗå°±ē»ŖēŠ¶ę€"
50
+ warning.could_not_convert_pr_to_ready_status "č­¦å‘Šļ¼šę— ę³•å°† PR ēŠ¶ę€č½¬ę¢äøŗå°±ē»Ŗ"
51
+ warning.pr_created_but_no_url "č­¦å‘Šļ¼šå·²åˆ›å»ŗ PR ä½†ęœŖčæ”å›ž URL"
52
+ warning.could_not_assign_user "ę— ę³•åˆ†é…ē”Øęˆ·"
53
+ info.expected_github_url_format "é¢„ęœŸę ¼å¼ļ¼šhttps://github.com/owner ꈖ https://github.com/owner/repo"
54
+ info.you_can_use_formats "ę‚ØåÆä»„ä½æē”Øä»„äø‹ä»»ę„ę ¼å¼ļ¼š"
55
+ info.format_https_owner "- https://github.com/owner"
56
+ info.format_https_owner_repo "- https://github.com/owner/repo"
57
+ info.format_http_owner "- http://github.com/ownerļ¼ˆå°†č½¬ę¢äøŗ https)"
58
+ info.format_github_owner "- github.com/ownerļ¼ˆå°†ę·»åŠ  https://)"
59
+ info.format_owner "- ownerļ¼ˆå°†č½¬ę¢äøŗ https://github.com/owner)"
60
+ info.format_owner_repo "- owner/repoļ¼ˆå°†č½¬ę¢äøŗ https://github.com/owner/repo)"
61
+ info.full_log_file "å®Œę•“ę—„åæ—ę–‡ä»¶ļ¼š{{path}}"
62
+ info.process_exited_with_code "čæ›ēØ‹é€€å‡ŗä»£ē ļ¼š{{code}}"
63
+ info.current_configuration "å½“å‰é…ē½®ļ¼š"
64
+ process.using_repository_fallback "ä½æē”ØęŒ‰ä»“åŗ“å›žé€€ę–¹å¼å¤„ē† {{scope}}:{{owner}}"
65
+ process.fetching_repository_list "ę­£åœØčŽ·å–ä»“åŗ“åˆ—č”Øā€¦ā€¦"
66
+ process.command "å‘½ä»¤ļ¼š{{command}}"
67
+ check.number "ę£€ęŸ„ #{{iteration}}:"
68
+ time.current "å½“å‰ę—¶é—“ļ¼š{{time}}"
69
+ telegram.fetching_limits "šŸ”„ ę­£åœØčŽ·å–ä½æē”Øé™é¢ā€¦ā€¦"
70
+ telegram.gathering_version "šŸ”„ ę­£åœØę”¶é›†ē‰ˆęœ¬äæ”ęÆā€¦ā€¦"
71
+ telegram.usage_limits_title "šŸ“Š *ä½æē”Øé™é¢*"
72
+ telegram.version_information_title "šŸ¤– *ē‰ˆęœ¬äæ”ęÆ*"
73
+ telegram.limits_only_in_groups "āŒ /limits å‘½ä»¤ä»…åœØē¾¤čŠäø­ęœ‰ę•ˆć€‚čÆ·å°†ęœ¬ęœŗå™ØäŗŗåŠ å…„ē¾¤ē»„å¹¶č®¾äøŗē®”ē†å‘˜ć€‚"
74
+ telegram.version_only_in_groups "āŒ /version å‘½ä»¤ä»…åœØē¾¤čŠäø­ęœ‰ę•ˆć€‚čÆ·å°†ęœ¬ęœŗå™ØäŗŗåŠ å…„ē¾¤ē»„å¹¶č®¾äøŗē®”ē†å‘˜ć€‚"
75
+ telegram.solve_only_in_groups "āŒ {{commandDisplay}} å‘½ä»¤ä»…åœØē¾¤čŠäø­ęœ‰ę•ˆć€‚čÆ·å°†ęœ¬ęœŗå™ØäŗŗåŠ å…„ē¾¤ē»„å¹¶č®¾äøŗē®”ē†å‘˜ć€‚"
76
+ telegram.hive_only_in_groups "āŒ /hive å‘½ä»¤ä»…åœØē¾¤čŠäø­ęœ‰ę•ˆć€‚čÆ·å°†ęœ¬ęœŗå™ØäŗŗåŠ å…„ē¾¤ē»„å¹¶č®¾äøŗē®”ē†å‘˜ć€‚"
77
+ telegram.solve_disabled "āŒ ę­¤ęœŗå™Øäŗŗå®žä¾‹å·²ē¦ē”Ø solve 命令。"
78
+ telegram.hive_disabled "āŒ ę­¤ęœŗå™Øäŗŗå®žä¾‹å·²ē¦ē”Ø /hive 命令。"
79
+ telegram.no_github_link_in_reply "āŒ č¢«å›žå¤ēš„ę¶ˆęÆäø­ęœŖę‰¾åˆ° GitHub issue/PR é“¾ęŽ„ć€‚\n\nē¤ŗä¾‹ļ¼šä½æē”Ø `/solve` 回复包含 GitHub issue é“¾ęŽ„ēš„ę¶ˆęÆ\n\nęˆ–åø¦é€‰é”¹ļ¼š`/solve --model opus`"
80
+ telegram.invalid_options "āŒ ę— ę•ˆé€‰é”¹ļ¼š{{message}}\n\n使用 /help ęŸ„ēœ‹åÆē”Øé€‰é”¹"
81
+ telegram.invalid_isolation "āŒ ę— ę•ˆēš„ --isolation 值 '{{value}}'ć€‚åæ…é”»ę˜Æļ¼šscreen态tmux ꈖ docker"
82
+ telegram.invalid_locked_isolation "āŒ ę— ę•ˆēš„é”å®š --isolation 值 '{{value}}'ć€‚åæ…é”»ę˜Æļ¼šscreen态tmux ꈖ docker"
83
+ telegram.option_syntax_check "čÆ·ę£€ęŸ„ę‚Øēš„é€‰é”¹čÆ­ę³•ć€‚"
84
+ telegram.url_status_active "āŒ ę­¤ URL ēŠ¶ę€äøŗ {{statusText}}怂\n\nURL:{{url}}\nēŠ¶ę€ļ¼š{{status}}\n\nšŸ’” 使用 /solve_queue ęŸ„ēœ‹é˜Ÿåˆ—ēŠ¶ę€ć€‚"
85
+ telegram.url_session_running "āŒ 评 URL å·²ęœ‰ę­£åœØčæč”Œēš„å·„ä½œä¼ščÆć€‚\n\nURL:{{url}}\nä¼ščÆļ¼š`{{session}}`\n\nšŸ’” ē­‰å¾…å½“å‰ä¼ščÆå®Œęˆļ¼Œęˆ–ä½æē”Ø /solve\\_stop å–ę¶ˆć€‚"
86
+ telegram.solve_rejected "āŒ Solve å‘½ä»¤č¢«ę‹’ē»ć€‚\n\n{{infoBlock}}\n\n🚫 åŽŸå› ļ¼š{{reason}}"
87
+ telegram.language_invalid "āŒ čÆ­čØ€ę— ę•ˆć€‚ę”ÆęŒēš„čÆ­čØ€ļ¼š{{supported}}怂\nē”Øę³•ļ¼š/language <代码>"
88
+ telegram.language_set "āœ… 语言已设置为 *{{language}}*怂"
89
+ telegram.language_current "🌐 å½“å‰čÆ­čØ€ļ¼š*{{language}}*怂\nę”ÆęŒēš„čÆ­čØ€ļ¼š{{supported}}怂\nē”Øę³•ļ¼š/language <代码>"
90
+ language.en "英语"
91
+ language.ru "俄语"
92
+ language.zh "äø­ę–‡"
93
+ language.hi "å°åœ°čÆ­"
package/src/review.mjs CHANGED
@@ -101,6 +101,11 @@ const createReviewYargsConfig = yargsInstance =>
101
101
  description: 'Execute the AI tool using bunx (experimental, may improve speed and memory usage)',
102
102
  default: false,
103
103
  })
104
+ .option('language', {
105
+ type: 'string',
106
+ description: 'Language for user-facing output (en, ru, zh, hi). Defaults to detected system locale.',
107
+ choices: ['en', 'ru', 'zh', 'hi'],
108
+ })
104
109
  .check(parsed => {
105
110
  if (!parsed['pr-url'] && !parsed.prUrl && !parsed._?.[0]) {
106
111
  throw new Error('The GitHub pull request URL is required');
@@ -128,6 +133,10 @@ const prUrl = argv['pr-url'] || argv.prUrl || argv._[0];
128
133
  // Set global verbose mode for log function
129
134
  global.verboseMode = argv.verbose;
130
135
 
136
+ // Initialize i18n based on --language (or detected system locale)
137
+ const { initI18n } = await import('./i18n.lib.mjs');
138
+ await initI18n(argv.language);
139
+
131
140
  // Create permanent log file immediately with timestamp
132
141
  const scriptDir = path.dirname(process.argv[1]);
133
142
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
@@ -5,7 +5,7 @@ const { use } = eval(await (await fetch('https://unpkg.com/use-m/use.js')).text(
5
5
 
6
6
  // Use command-stream for consistent $ behavior across runtimes
7
7
  const { $: __rawDollar$ } = await use('command-stream');
8
- const { wrapDollarWithGhRetry } = await import('./github-rate-limit.lib.mjs');
8
+ const { wrapDollarWithGhRetry, execGhWithRetry } = await import('./github-rate-limit.lib.mjs');
9
9
  const $ = wrapDollarWithGhRetry(__rawDollar$);
10
10
  const { getLinoYargsFactory, hideBin, parseCliArgumentsWithLino } = await import('./cli-arguments.lib.mjs');
11
11
  const path = (await use('path')).default;
@@ -378,20 +378,19 @@ async function reviewer(reviewerId) {
378
378
  // Function to check if a PR already has approvals
379
379
  async function hasApprovals(prUrl) {
380
380
  try {
381
- const { exec } = await import('child_process');
382
- const { promisify } = await import('util');
383
- const execAsync = promisify(exec);
384
-
385
381
  // Extract owner, repo, and PR number from URL
386
382
  const urlMatch = prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull\/(\d+)/);
387
383
  if (!urlMatch) return false;
388
384
 
389
385
  const [, prOwner, prRepo, prNumber] = urlMatch;
390
386
 
391
- // Check for reviews using GitHub API
387
+ // Check for reviews using GitHub API (#1756: retry on transient 5xx + rate-limit)
392
388
  const cmd = `gh api repos/${prOwner}/${prRepo}/pulls/${prNumber}/reviews --paginate --jq '[.[] | select(.state == "APPROVED")] | length'`;
393
389
 
394
- const { stdout } = await execAsync(cmd, { encoding: 'utf8', env: process.env });
390
+ const { stdout } = await execGhWithRetry(cmd, {
391
+ execOptions: { encoding: 'utf8', env: process.env },
392
+ label: `gh api reviews (PR #${prNumber})`,
393
+ });
395
394
  const approvalCount = parseInt(stdout.trim()) || 0;
396
395
 
397
396
  if (approvalCount > 0) {
@@ -432,25 +431,24 @@ async function fetchPullRequests() {
432
431
 
433
432
  await log(` šŸ”Ž Command: ${searchCmd}`, { verbose: true });
434
433
 
435
- // Use async exec to avoid escaping issues
436
- const { exec } = await import('child_process');
437
- const { promisify } = await import('util');
438
- const execAsync = promisify(exec);
439
- const { stdout } = await execAsync(searchCmd, { encoding: 'utf8', env: process.env });
434
+ // #1756: route through execGhWithRetry to retry transient 5xx + rate-limit
435
+ const { stdout } = await execGhWithRetry(searchCmd, {
436
+ execOptions: { encoding: 'utf8', env: process.env },
437
+ label: 'gh search prs (all PRs)',
438
+ });
440
439
  prs = JSON.parse(stdout || '[]');
441
440
  } else {
442
- // Use label filter
443
- const { exec } = await import('child_process');
444
- const { promisify } = await import('util');
445
- const execAsync = promisify(exec);
446
-
447
441
  // For repositories, use gh pr list which works better
448
442
  if (scope === 'repository') {
449
443
  const listCmd = `gh pr list --repo ${owner}/${repo} --state open --label "${argv.reviewLabel}" --limit 100 --json url,title,number,isDraft`;
450
444
  await log(` šŸ”Ž Command: ${listCmd}`, { verbose: true });
451
445
 
452
446
  try {
453
- const { stdout } = await execAsync(listCmd, { encoding: 'utf8', env: process.env });
447
+ // #1756: retry on transient 5xx + rate-limit
448
+ const { stdout } = await execGhWithRetry(listCmd, {
449
+ execOptions: { encoding: 'utf8', env: process.env },
450
+ label: 'gh pr list (label filter)',
451
+ });
454
452
  prs = JSON.parse(stdout || '[]');
455
453
  } catch (listError) {
456
454
  await log(` āš ļø List failed: ${listError.message.split('\n')[0]}`, { verbose: true });
@@ -481,7 +479,11 @@ async function fetchPullRequests() {
481
479
  await log(` šŸ”Ž Command: ${searchCmd}`, { verbose: true });
482
480
 
483
481
  try {
484
- const { stdout } = await execAsync(searchCmd, { encoding: 'utf8', env: process.env });
482
+ // #1756: retry on transient 5xx + rate-limit
483
+ const { stdout } = await execGhWithRetry(searchCmd, {
484
+ execOptions: { encoding: 'utf8', env: process.env },
485
+ label: 'gh search prs (label filter)',
486
+ });
485
487
  prs = JSON.parse(stdout || '[]');
486
488
  } catch (searchError) {
487
489
  await log(` āš ļø Search failed: ${searchError.message.split('\n')[0]}`, { verbose: true });
@@ -6,7 +6,7 @@
6
6
  import { closingIssueNumbersContain, parseClosingIssueNumbers } from './pr-issue-linking.lib.mjs';
7
7
  import { buildPushRejectionExplanation, getRemoteBranchDivergenceSnapshot, synchronizeExistingIssueBranchBeforeAutoPrCreation } from './solve.branch-divergence.lib.mjs';
8
8
 
9
- import { wrapDollarWithGhRetry as _wrapDollarWithGhRetry } from './github-rate-limit.lib.mjs'; // rate-limit marker (#1726): gh API calls flow through $ wrapped by caller
9
+ import { wrapDollarWithGhRetry as _wrapDollarWithGhRetry, execGhWithRetry } from './github-rate-limit.lib.mjs'; // rate-limit marker (#1726): gh API calls flow through $ wrapped by caller. Issue #1756: execGhWithRetry retries on transient 5xx (504) too.
10
10
 
11
11
  export async function handleAutoPrCreation({ argv, tempDir, branchName, issueNumber, owner, repo, defaultBranch, forkedRepo, isContinueMode, prNumber, log, formatAligned, $, reportError, path, fs }) {
12
12
  // Skip auto-PR creation if:
@@ -903,16 +903,16 @@ Proceed.
903
903
  await log(` Current user: ${currentUser}`, { verbose: true });
904
904
 
905
905
  // Check if user has push access (is a collaborator or owner)
906
- // IMPORTANT: We need to completely suppress the JSON error output
907
- // Using async exec to have full control over stderr
906
+ // IMPORTANT: We need to completely suppress the JSON error output.
907
+ // Issue #1756: route through execGhWithRetry so transient 5xx
908
+ // (504) and rate-limit responses are retried instead of being
909
+ // mistaken for "user is not a collaborator".
908
910
  try {
909
- const { exec } = await import('child_process');
910
- const { promisify } = await import('util');
911
- const execAsync = promisify(exec);
912
911
  // This will throw if user doesn't have access, but won't print anything
913
- await execAsync(`gh api repos/${owner}/${repo}/collaborators/${currentUser} 2>/dev/null`, {
914
- encoding: 'utf8',
915
- env: process.env,
912
+ await execGhWithRetry(`gh api repos/${owner}/${repo}/collaborators/${currentUser} 2>/dev/null`, {
913
+ execOptions: { encoding: 'utf8', env: process.env },
914
+ label: `gh api collaborators (${owner}/${repo}/${currentUser})`,
915
+ log: msg => log(msg, { level: 'warn' }),
916
916
  });
917
917
  canAssign = true;
918
918
  await log(' User has collaborator access', { verbose: true });
@@ -1093,13 +1093,11 @@ ${prBody}`,
1093
1093
  );
1094
1094
  }
1095
1095
 
1096
- // Use async exec for gh pr create to avoid command-stream output issues
1097
- // Similar to how create-test-repo.mjs handles it
1096
+ // Issue #1756: route `gh pr create` through execGhWithRetry so a
1097
+ // single transient 5xx (e.g. `HTTP 504: 504 Gateway Timeout
1098
+ // (https://api.github.com/graphql)`) or rate-limit response retries
1099
+ // instead of aborting the whole solve session.
1098
1100
  try {
1099
- const { exec } = await import('child_process');
1100
- const { promisify } = await import('util');
1101
- const execAsync = promisify(exec);
1102
-
1103
1101
  // Write PR body to temp file to avoid shell escaping issues
1104
1102
  const prBodyFile = `/tmp/pr-body-${Date.now()}.md`;
1105
1103
  await fs.writeFile(prBodyFile, prBody);
@@ -1135,9 +1133,16 @@ ${prBody}`,
1135
1133
  let prCreateStderr = '';
1136
1134
  let assigneeFailed = false;
1137
1135
 
1136
+ const prCreateExecOptions = { encoding: 'utf8', cwd: tempDir, env: process.env };
1137
+ const prCreateRetryLogger = msg => log(msg, { level: 'warn' });
1138
+
1138
1139
  // Try to create PR with assignee first (if specified)
1139
1140
  try {
1140
- const result = await execAsync(command, { encoding: 'utf8', cwd: tempDir, env: process.env });
1141
+ const result = await execGhWithRetry(command, {
1142
+ execOptions: prCreateExecOptions,
1143
+ label: 'gh pr create',
1144
+ log: prCreateRetryLogger,
1145
+ });
1141
1146
  output = result.stdout;
1142
1147
  prCreateStderr = result.stderr || '';
1143
1148
  } catch (firstError) {
@@ -1165,7 +1170,11 @@ ${prBody}`,
1165
1170
  }
1166
1171
 
1167
1172
  // Retry without assignee - if this fails, let the error propagate to outer catch
1168
- const retryResult = await execAsync(command, { encoding: 'utf8', cwd: tempDir, env: process.env });
1173
+ const retryResult = await execGhWithRetry(command, {
1174
+ execOptions: prCreateExecOptions,
1175
+ label: 'gh pr create (no assignee)',
1176
+ log: prCreateRetryLogger,
1177
+ });
1169
1178
  output = retryResult.stdout;
1170
1179
  prCreateStderr = retryResult.stderr || '';
1171
1180
  } else {
@@ -552,6 +552,11 @@ export const SOLVE_OPTION_DEFINITIONS = {
552
552
  description: '[EXPERIMENTAL] Enable live progress monitoring. Accepts "comment" (default, updates a per-session PR comment) or "pr" (updates PR description). Plain --working-session-live-progress means "comment". Works with or without --interactive-mode.',
553
553
  default: false,
554
554
  },
555
+ language: {
556
+ type: 'string',
557
+ description: 'Language for user-facing output (en, ru, zh, hi). Defaults to detected system locale. Affects terminal status/error messages and bot-generated PR/issue comments. Does not affect AI prompts.',
558
+ choices: ['en', 'ru', 'zh', 'hi'],
559
+ },
555
560
  };
556
561
 
557
562
  // Function to create yargs configuration - avoids duplication
package/src/solve.mjs CHANGED
@@ -84,6 +84,10 @@ try {
84
84
  }
85
85
  global.verboseMode = argv.verbose;
86
86
 
87
+ // Initialize i18n based on --language (or detected system locale)
88
+ const { initI18n } = await import('./i18n.lib.mjs');
89
+ await initI18n(argv.language);
90
+
87
91
  setupVerboseLogInterceptor(); // Issue #1466: capture [VERBOSE] output in log files
88
92
  setupStdioLogInterceptor(); // Issue #1549: capture ALL terminal output in log file
89
93
 
@@ -85,6 +85,11 @@ export const createYargsConfig = yargsInstance =>
85
85
  choices: ['text', 'json'],
86
86
  default: 'text',
87
87
  })
88
+ .option('language', {
89
+ type: 'string',
90
+ description: 'Language for user-facing output (en, ru, zh, hi). Defaults to detected system locale.',
91
+ choices: ['en', 'ru', 'zh', 'hi'],
92
+ })
88
93
  .check(argv => {
89
94
  if (!argv['task-input'] && !argv._[0]) {
90
95
  throw new Error('Please provide a GitHub issue URL or task description');