Skip to content

Commit e782581

Browse files
committed
feat(mcp): add tool detail dialog localization #371
Add localized strings for MCP tool detail dialog and refactor hardcoded text to use resource bundles. Includes both Chinese and English translations.
1 parent 9a21558 commit e782581

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed

core/src/main/kotlin/cc/unitmesh/devti/mcp/ui/McpToolDetailDialog.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cc.unitmesh.devti.mcp.ui
22

3+
import cc.unitmesh.devti.AutoDevBundle
34
import cc.unitmesh.devti.mcp.client.CustomMcpServerManager
45
import cc.unitmesh.devti.mcp.client.MockDataGenerator
56
import cc.unitmesh.devti.provider.local.JsonLanguageField
@@ -31,7 +32,7 @@ class McpToolDetailDialog(
3132
private var mainPanel: JPanel? = null
3233

3334
init {
34-
title = "MCP Tool Detail - $serverName"
35+
title = AutoDevBundle.message("mcp.tool.detail.dialog.title", serverName)
3536
init()
3637
}
3738

@@ -52,13 +53,13 @@ class McpToolDetailDialog(
5253
}
5354
}
5455
row {
55-
label("From server: $serverName").applyToComponent {
56+
label(AutoDevBundle.message("mcp.tool.detail.dialog.from.server", serverName)).applyToComponent {
5657
font = JBUI.Fonts.label(14.0f)
5758
foreground = JBColor(0x6B7280, 0x9DA0A8)
5859
}
5960
}
6061
row {
61-
val descriptionText = tool.description ?: "No description available"
62+
val descriptionText = tool.description ?: AutoDevBundle.message("mcp.tool.detail.dialog.no.description")
6263
val descLabel = JTextPane().apply {
6364
text = descriptionText
6465
font = JBUI.Fonts.label(12.0f)
@@ -70,7 +71,7 @@ class McpToolDetailDialog(
7071
cell(descLabel).resizableColumn()
7172
}
7273

73-
group("Parameters") {
74+
group(AutoDevBundle.message("mcp.tool.detail.dialog.parameters")) {
7475
tool.inputSchema.properties.forEach { param: Map.Entry<String, JsonElement> ->
7576
row {
7677
label(param.key)
@@ -83,7 +84,7 @@ class McpToolDetailDialog(
8384
}
8485
}
8586
}
86-
group("Verify (Auto Generate)") {
87+
group(AutoDevBundle.message("mcp.tool.detail.dialog.verify")) {
8788
row {
8889
cell(jsonLanguageField!!)
8990
.resizableColumn()
@@ -93,7 +94,7 @@ class McpToolDetailDialog(
9394
}
9495
}
9596

96-
group("Result") {
97+
group(AutoDevBundle.message("mcp.tool.detail.dialog.result")) {
9798
row {
9899
cell(resultPanel!!)
99100
.resizableColumn()
@@ -112,7 +113,7 @@ class McpToolDetailDialog(
112113
background = UIUtil.getPanelBackground()
113114
}
114115

115-
val executeButton = JButton("Execute").apply {
116+
val executeButton = JButton(AutoDevBundle.message("mcp.tool.detail.dialog.execute")).apply {
116117
font = JBUI.Fonts.label(14.0f)
117118
addActionListener {
118119
onExecute()
@@ -134,7 +135,6 @@ class McpToolDetailDialog(
134135
lineWrap = true
135136
wrapStyleWord = true
136137
isEditable = false
137-
font = JBUI.Fonts.create("Monospaced", 12)
138138
}
139139

140140
panel.add(JBScrollPane(textArea), BorderLayout.CENTER)
@@ -146,4 +146,4 @@ class McpToolDetailDialog(
146146
mainPanel?.revalidate()
147147
mainPanel?.repaint()
148148
}
149-
}
149+
}

core/src/main/resources/messages/AutoDevBundle_en.properties

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ chat.panel.select.files.title=Select Files for Workspace
229229
chat.panel.select.files.description=Choose files to add to your workspace
230230
chat.panel.remove.file.tooltip=Remove file from workspace
231231

232+
indexer.generate.domain=Generate domain.csv
233+
232234
# MCP Chat Config Dialog
233235
mcp.chat.config.dialog.title=Model Configuration
234236
mcp.chat.config.dialog.temperature=Temperature: {0}
@@ -244,5 +246,12 @@ mcp.chat.result.error.tool.not.found=Error: Could not find matching tool ''{0}''
244246
mcp.chat.result.execution.time=Duration
245247
mcp.chat.result.execute.all=Execute All Tools
246248
mcp.chat.result.tab.messages=Message Log
249+
# MCP Tool Detail Dialog
250+
mcp.tool.detail.dialog.title=MCP Tool Detail - {0}
251+
mcp.tool.detail.dialog.from.server=From server: {0}
252+
mcp.tool.detail.dialog.no.description=No description available
253+
mcp.tool.detail.dialog.parameters=Parameters
254+
mcp.tool.detail.dialog.verify=Verify (Auto Generate)
255+
mcp.tool.detail.dialog.result=Result
256+
mcp.tool.detail.dialog.execute=Execute
247257

248-
indexer.generate.domain=Generate domain.csv

core/src/main/resources/messages/AutoDevBundle_zh.properties

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ settings.autodev.coder.enableRenameSuggestion=启用重命名建议
123123
settings.autodev.coder.enableAutoRepairDiff=启用自动 Apply 和修复 Diff
124124
settings.autodev.coder.enableAutoRunTerminal=启用自动运行终端(有风险)
125125
settings.autodev.coder.enableAutoLintCode=启用自动修复 Lint 代码
126-
settings.autodev.coder.enableRenderWebview=在聊天页面中启用渲染 WebView
126+
settings.autodev.coder.enableRenderWebview=在聊天���面中启用渲染 WebView
127127
settings.autodev.coder.enableAutoScrollInSketch=在 Sketch 中启用自动滚动
128128
settings.autodev.coder.enableDiffViewer=在 Sketch 中启用 Diff 视图
129129
shell.command.suggestion.action.default.text=如何创建一个新的分支?
@@ -220,6 +220,8 @@ chat.panel.select.files.description=选择要添加到工作区的文件
220220
chat.panel.remove.file.tooltip=从工作区移除文件
221221
chat.panel.add.openFiles=添加所有打开的文件
222222

223+
indexer.generate.domain=生成 domain.csv
224+
223225
# MCP Chat Config Dialog
224226
mcp.chat.config.dialog.title=模型配置
225227
mcp.chat.config.dialog.temperature=温度: {0}
@@ -234,4 +236,11 @@ mcp.chat.result.error.tool.not.found=错误:找不到匹配的工具 ''{0}''
234236
mcp.chat.result.execution.time=Duration
235237
mcp.chat.result.execute.all=Execute All Tools
236238
mcp.chat.result.tab.messages=Message Log
237-
indexer.generate.domain=生成 domain.csv
239+
# MCP Tool Detail Dialog
240+
mcp.tool.detail.dialog.title=MCP 工具详情 - {0}
241+
mcp.tool.detail.dialog.from.server=来自服务器: {0}
242+
mcp.tool.detail.dialog.no.description=暂无描述
243+
mcp.tool.detail.dialog.parameters=参数
244+
mcp.tool.detail.dialog.verify=验证(自动生成)
245+
mcp.tool.detail.dialog.result=结果
246+
mcp.tool.detail.dialog.execute=执行

0 commit comments

Comments
 (0)