Skip to content

Commit c76b725

Browse files
committed
fix: replace hardcoded English strings with i18n translations
- Added translation keys for all error messages in message edit/delete operations - Updated webviewMessageHandler.ts to use t() function for all error messages - Added translations to all 17 supported languages for the new keys: - message.no_active_task_to_delete - message.invalid_timestamp_for_deletion - message.cannot_delete_missing_timestamp - message.cannot_delete_invalid_timestamp - message.message_not_found - message.error_deleting_message - message.error_editing_message This addresses review feedback from mrubens about hardcoded English strings.
1 parent 36be7d3 commit c76b725

File tree

19 files changed

+175
-10
lines changed

19 files changed

+175
-10
lines changed

src/core/webview/webviewMessageHandler.ts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export const webviewMessageHandler = async (
122122
let hasCheckpoint = false
123123

124124
if (!currentCline) {
125-
await vscode.window.showErrorMessage("No active task to delete messages from")
125+
await vscode.window.showErrorMessage(t("common:errors.message.no_active_task_to_delete"))
126126
return
127127
}
128128

@@ -163,8 +163,7 @@ export const webviewMessageHandler = async (
163163
}
164164

165165
if (messageIndex === -1) {
166-
const errorMessage = `Message with timestamp ${messageTs} not found`
167-
await vscode.window.showErrorMessage(errorMessage)
166+
await vscode.window.showErrorMessage(t("common:errors.message.message_not_found", { messageTs }))
168167
return
169168
}
170169

@@ -229,7 +228,9 @@ export const webviewMessageHandler = async (
229228
} catch (error) {
230229
console.error("Error in delete message:", error)
231230
vscode.window.showErrorMessage(
232-
`Error deleting message: ${error instanceof Error ? error.message : String(error)}`,
231+
t("common:errors.message.error_deleting_message", {
232+
error: error instanceof Error ? error.message : String(error),
233+
}),
233234
)
234235
}
235236
}
@@ -286,7 +287,7 @@ export const webviewMessageHandler = async (
286287
const { messageIndex, apiConversationHistoryIndex } = findMessageIndices(messageTs, currentCline)
287288

288289
if (messageIndex === -1) {
289-
const errorMessage = `Message with timestamp ${messageTs} not found`
290+
const errorMessage = t("common:errors.message.message_not_found", { messageTs })
290291
console.error("[handleEditMessageConfirm]", errorMessage)
291292
await vscode.window.showErrorMessage(errorMessage)
292293
return
@@ -395,7 +396,9 @@ export const webviewMessageHandler = async (
395396
} catch (error) {
396397
console.error("Error in edit message:", error)
397398
vscode.window.showErrorMessage(
398-
`Error editing message: ${error instanceof Error ? error.message : String(error)}`,
399+
t("common:errors.message.error_editing_message", {
400+
error: error instanceof Error ? error.message : String(error),
401+
}),
399402
)
400403
}
401404
}
@@ -1498,12 +1501,12 @@ export const webviewMessageHandler = async (
14981501
break
14991502
case "deleteMessage": {
15001503
if (!provider.getCurrentTask()) {
1501-
await vscode.window.showErrorMessage("No active task to delete messages from")
1504+
await vscode.window.showErrorMessage(t("common:errors.message.no_active_task_to_delete"))
15021505
break
15031506
}
15041507

15051508
if (typeof message.value !== "number" || !message.value) {
1506-
await vscode.window.showErrorMessage("Invalid message timestamp for deletion")
1509+
await vscode.window.showErrorMessage(t("common:errors.message.invalid_timestamp_for_deletion"))
15071510
break
15081511
}
15091512

@@ -1896,12 +1899,12 @@ export const webviewMessageHandler = async (
18961899
break
18971900
case "deleteMessageConfirm":
18981901
if (!message.messageTs) {
1899-
await vscode.window.showErrorMessage("Cannot delete message: missing timestamp")
1902+
await vscode.window.showErrorMessage(t("common:errors.message.cannot_delete_missing_timestamp"))
19001903
break
19011904
}
19021905

19031906
if (typeof message.messageTs !== "number") {
1904-
await vscode.window.showErrorMessage("Cannot delete message: invalid timestamp")
1907+
await vscode.window.showErrorMessage(t("common:errors.message.cannot_delete_invalid_timestamp"))
19051908
break
19061909
}
19071910

src/i18n/locales/ca/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/de/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/en/common.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@
8787
"apiKeyModelPlanMismatch": "API keys and subscription plans allow different models. Make sure the selected model is included in your plan.",
8888
"notFound": "Claude Code executable '{{claudePath}}' not found.\n\nPlease install Claude Code CLI:\n1. Visit {{installationUrl}} to download Claude Code\n2. Follow the installation instructions for your operating system\n3. Ensure the 'claude' command is available in your PATH\n4. Alternatively, configure a custom path in Roo settings under 'Claude Code Path'\n\nOriginal error: {{originalError}}"
8989
},
90+
"message": {
91+
"no_active_task_to_delete": "No active task to delete messages from",
92+
"invalid_timestamp_for_deletion": "Invalid message timestamp for deletion",
93+
"cannot_delete_missing_timestamp": "Cannot delete message: missing timestamp",
94+
"cannot_delete_invalid_timestamp": "Cannot delete message: invalid timestamp",
95+
"message_not_found": "Message with timestamp {{messageTs}} not found",
96+
"error_deleting_message": "Error deleting message: {{error}}",
97+
"error_editing_message": "Error editing message: {{error}}"
98+
},
9099
"gemini": {
91100
"generate_stream": "Gemini generate context stream error: {{error}}",
92101
"generate_complete_prompt": "Gemini completion error: {{error}}",

src/i18n/locales/es/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/fr/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/hi/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/id/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/it/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/i18n/locales/ja/common.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)