Skip to content

Commit 7df74b8

Browse files
committed
chore(i18n): sync translations with latest source changes (chunk 1/1, 15 changes)
1 parent 210cdc7 commit 7df74b8

15 files changed

Lines changed: 431 additions & 432 deletions

File tree

translated_images/zh-HK/.co-op-translator.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@
7878
"language_code": "zh-HK"
7979
},
8080
"responsible.e4f51a917bafa4bf.webp": {
81-
"original_hash": "fa8d1e23eabb52aff991b3257f039a93",
82-
"translation_date": "2026-01-16T06:43:00+00:00",
81+
"original_hash": "59599665d7847ee45180b5d36cc18170",
82+
"translation_date": "2026-07-03T08:11:53+00:00",
8383
"source_file": "05-ResponsibleGenAI/images/responsible.png",
8484
"language_code": "zh-HK"
8585
},
5.43 KB
Loading

translated_images/zh-MO/.co-op-translator.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@
7878
"language_code": "zh-MO"
7979
},
8080
"responsible.e4f51a917bafa4bf.webp": {
81-
"original_hash": "fa8d1e23eabb52aff991b3257f039a93",
82-
"translation_date": "2026-01-16T06:42:54+00:00",
81+
"original_hash": "59599665d7847ee45180b5d36cc18170",
82+
"translation_date": "2026-07-03T08:11:47+00:00",
8383
"source_file": "05-ResponsibleGenAI/images/responsible.png",
8484
"language_code": "zh-MO"
8585
},
4.78 KB
Loading

translated_images/zh-TW/.co-op-translator.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@
7878
"language_code": "zh-TW"
7979
},
8080
"responsible.e4f51a917bafa4bf.webp": {
81-
"original_hash": "fa8d1e23eabb52aff991b3257f039a93",
82-
"translation_date": "2026-01-16T06:43:05+00:00",
81+
"original_hash": "59599665d7847ee45180b5d36cc18170",
82+
"translation_date": "2026-07-03T08:11:59+00:00",
8383
"source_file": "05-ResponsibleGenAI/images/responsible.png",
8484
"language_code": "zh-TW"
8585
},
7.41 KB
Loading

translations/zh-HK/.co-op-translator.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@
3636
"language_code": "zh-HK"
3737
},
3838
"04-PracticalSamples/calculator/README.md": {
39-
"original_hash": "e06073e14e9993e11abde764e5a8b42e",
40-
"translation_date": "2026-07-02T08:22:13+00:00",
39+
"original_hash": "41559a4802d4162e6f61829f0791a041",
40+
"translation_date": "2026-07-03T08:10:34+00:00",
4141
"source_file": "04-PracticalSamples/calculator/README.md",
4242
"language_code": "zh-HK"
4343
},
@@ -72,8 +72,8 @@
7272
"language_code": "zh-HK"
7373
},
7474
"README.md": {
75-
"original_hash": "4bab5acc4f048967cadc3f048ae93cac",
76-
"translation_date": "2026-07-02T08:16:43+00:00",
75+
"original_hash": "6ea50f657a0ce1d2f27180f61b25a2ba",
76+
"translation_date": "2026-07-03T08:10:04+00:00",
7777
"source_file": "README.md",
7878
"language_code": "zh-HK"
7979
},

translations/zh-HK/04-PracticalSamples/calculator/README.md

Lines changed: 78 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
# MCP 計算機入門教學
1+
# MCP 計算機教學初學者指南
22

33
## 目錄
44

5-
- [你將學到什麼](#你將學到什麼)
6-
- [先決條件](#先決條件)
5+
- [你將學習什麼](#你將學習什麼)
6+
- [前置條件](#前置條件)
77
- [了解專案結構](#了解專案結構)
8-
- [核心元件說明](#核心元件說明)
9-
- [1. 主要應用程式](#1-主要應用程式)
8+
- [核心組件說明](#核心組件說明)
9+
- [1. 主應用程式](#1-主應用程式)
1010
- [2. 計算機服務](#2-計算機服務)
11-
- [3. 直接 MCP 客戶端](#3-直接-mcp-客戶端)
12-
- [4. AI 驅動的客戶端](#4-ai-驅動的客戶端)
11+
- [3. 直接 MCP 用戶端](#3-直接-mcp-用戶端)
12+
- [4. AI 驅動用戶端](#4-ai-驅動用戶端)
1313
- [執行範例](#執行範例)
14-
- [整體運作流程](#整體運作流程)
15-
- [接下來的步驟](#接下來的步驟)
14+
- [整體運作原理](#整體運作原理)
15+
- [後續步驟](#後續步驟)
1616

17-
## 你將學到什麼
17+
## 你將學習什麼
1818

19-
本教學將解釋如何使用模型上下文協定(Model Context Protocol, MCP建立一個計算機服務。你將了解:
19+
本教學會說明如何使用模型上下文協定 (Model Context Protocol, MCP) 建立一個計算機服務。你將了解:
2020

21-
- 如何建立 AI 可用作工具的服務
22-
- 如何設定與 MCP 服務的直接通訊
23-
- AI 模型如何自動選擇使用哪個工具
21+
- 如何建立可供 AI 作為工具使用的服務
22+
- 如何設置與 MCP 服務的直接通訊
23+
- AI 模型如何自動選擇要使用的工具
2424
- 直接協定呼叫與 AI 輔助互動的差異
2525

26-
## 先決條件
26+
## 前置條件
2727

28-
開始之前,請確保你已具備
28+
開始之前,請確定你已經有
2929
- 安裝 Java 21 或以上版本
30-
- 使用 Maven 進行相依管理
31-
- 一個 Azure AI Foundry 模型部署(可用 `azd up` 佈署 — 參見 [第2章](../../02-SetupDevEnvironment/getting-started-azure-openai.md)
32-
- 已安裝並登入 [Azure CLI](https://learn.microsoft.com/cli/azure/install-azure-cli) (`az login`,無需 API 金鑰)
33-
- 具備 Java 與 Spring Boot 的基本知識
30+
- 使用 Maven 來管理相依性
31+
- 部署 Azure AI Foundry 模型(使用 `azd up` 佈署 — 詳見 [第 2 章](../../02-SetupDevEnvironment/getting-started-azure-openai.md)
32+
- 安裝 [Azure CLI](https://learn.microsoft.com/cli/azure/install-azure-cli),並以 `az login` 登入(無需金鑰認證)
33+
- 基本的 Java 與 Spring Boot 知識
3434

3535
## 了解專案結構
3636

@@ -47,13 +47,13 @@ calculator/
4747
└── Bot.java # Simple chat interface
4848
```
4949

50-
## 核心元件說明
50+
## 核心組件說明
5151

52-
### 1. 主要應用程式
52+
### 1. 主應用程式
5353

5454
**檔案:** `McpServerApplication.java`
5555

56-
這是我們計算機服務的進入點。它是一個標準的 Spring Boot 應用程式,並有一個特別的設定
56+
這是我們計算機服務的進入點。它是一個標準的 Spring Boot 應用程式,但有一個特別的新增
5757

5858
```java
5959
@SpringBootApplication
@@ -70,16 +70,16 @@ public class McpServerApplication {
7070
}
7171
```
7272

73-
**此程式做了什麼**
74-
- 啟動一個運行在 8080 端口的 Spring Boot 網路伺服器
75-
- 建立一個 `ToolCallbackProvider`使我們的計算機方法能作為 MCP 工具被使用
76-
- `@Bean` 註解告訴 Spring 將它管理為其他元件可以使用的組件
73+
**功能說明**
74+
- 啟動一個位於 8080 端口的 Spring Boot 網頁伺服器
75+
- 建立一個 `ToolCallbackProvider`使我們的計算機方法可作為 MCP 工具使用
76+
- `@Bean` 註解讓 Spring 將此組件管理,供其他部分使用
7777

7878
### 2. 計算機服務
7979

8080
**檔案:** `CalculatorService.java`
8181

82-
這裡是所有計算發生的地方。每個方法用 `@Tool` 標記,可透過 MCP 被調用
82+
所有數學計算在此進行。每個方法皆以 `@Tool` 註解標示,使其可以被 MCP 呼叫
8383

8484
```java
8585
@Service
@@ -97,37 +97,37 @@ public class CalculatorService {
9797
return formatResult(a, "-", b, result);
9898
}
9999

100-
// 更多計算器操作...
100+
// 更多計算機操作...
101101

102102
private String formatResult(double a, String operator, double b, double result) {
103103
return String.format("%.2f %s %.2f = %.2f", a, operator, b, result);
104104
}
105105
}
106106
```
107107

108-
**主要特點**
108+
**主要特色**
109109

110-
1. **`@Tool` 註解**告訴 MCP 此方法可被外部客戶端呼叫
111-
2. <strong>清晰描述</strong>:每個工具都有描述,幫助 AI 模型判斷何時使用
112-
3. <strong>統一回傳格式</strong>:所有操作均回傳人類易讀的字串,例如 "5.00 + 3.00 = 8.00"
110+
1. **`@Tool` 註解**表示 MCP 可從外部呼叫該方法
111+
2. <strong>明確說明</strong>:每個工具都有描述,有助 AI 模型理解何時使用
112+
3. <strong>一致回傳格式</strong>:所有運算返回易懂的字串,如 "5.00 + 3.00 = 8.00"
113113
4. <strong>錯誤處理</strong>:除以零及負數開根號會回傳錯誤訊息
114114

115-
**可用運算**
115+
**支援運算**
116116
- `add(a, b)` - 加法
117-
- `subtract(a, b)` - 減法(前減後
117+
- `subtract(a, b)` - 減法(第一數減第二數
118118
- `multiply(a, b)` - 乘法
119-
- `divide(a, b)` - 除法(含零除檢查
120-
- `power(base, exponent)` - 次方
121-
- `squareRoot(number)` - 開平方(含負數檢查)
119+
- `divide(a, b)` - 除法(含零除錯誤檢查
120+
- `power(base, exponent)` - 次方運算
121+
- `squareRoot(number)` - 平方根(含負數檢查)
122122
- `modulus(a, b)` - 取餘數
123123
- `absolute(number)` - 絕對值
124124
- `help()` - 回傳所有運算說明
125125

126-
### 3. 直接 MCP 客戶端
126+
### 3. 直接 MCP 用戶端
127127

128128
**檔案:** `SDKClient.java`
129129

130-
此客戶端直接與 MCP 伺服器通訊,不使用 AI,手動呼叫特定計算功能
130+
此用戶端直接與 MCP 伺服器通訊,不透過 AI。它手動呼叫特定計算功能
131131

132132
```java
133133
public class SDKClient {
@@ -163,27 +163,27 @@ public class SDKClient {
163163
}
164164
```
165165

166-
**此程式做了什麼**
167-
1. 使用建造者模式連接到 `http://localhost:8080` 的計算機伺服器
166+
**功能說明**
167+
1. 以建造者模式連接位於 `http://localhost:8080` 的計算機伺服器
168168
2. 列出所有可用工具(即計算機功能)
169-
3. 使用精確參數呼叫特定功能
169+
3. 以確切參數呼叫特定函式
170170
4. 直接列印結果
171171

172-
**注意:** 本範例使用 Spring AI 1.1.0-SNAPSHOT 版本,引入了 `WebFluxSseClientTransport` 的建造者模式。若你使用較舊穩定版本,可能需使用直接建構子
172+
<strong>注意:</strong>範例中使用 Spring AI 1.1.0-SNAPSHOT 版本,該版本新增了 `WebFluxSseClientTransport` 的建造者模式。如果你使用的是舊版穩定版,可能需要使用直接建構函式
173173

174-
**使用時機:** 當你已清楚知道要執行哪個計算,且想以程式化方式呼叫時
174+
<strong>使用時機:</strong>當你清楚知道要執行的計算,且想程式化呼叫時
175175

176-
### 4. AI 驅動的客戶端
176+
### 4. AI 驅動用戶端
177177

178178
**檔案:** `LangChain4jClient.java`
179179

180-
此客戶端使用 AI 模型(GPT-4o-mini)能自動決定使用哪些計算工具
180+
這個用戶端使用 AI 模型(GPT-4o-mini),能自行決定使用哪些計算工具
181181

182182
```java
183183
public class LangChain4jClient {
184184

185185
public static void main(String[] args) throws Exception {
186-
// 設定 AI 模型(Azure AI Foundry,通過 Microsoft Entra ID 進行無密鑰驗證)
186+
// 設置 AI 模型(Azure AI Foundry,通過 Microsoft Entra ID 進行無密鑰驗證)
187187
String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
188188
String baseUrl = (endpoint.endsWith("/") ? endpoint : endpoint + "/") + "openai/v1";
189189
String token = new DefaultAzureCredentialBuilder().build()
@@ -198,26 +198,26 @@ public class LangChain4jClient {
198198
// 連接到我們的計算器 MCP 伺服器
199199
McpTransport transport = new HttpMcpTransport.Builder()
200200
.sseUrl("http://localhost:8080/sse")
201-
.logRequests(true) // 顯示 AI 正在做什麼
201+
.logRequests(true) // 顯示 AI 正在執行的操作
202202
.logResponses(true)
203203
.build();
204204

205205
McpClient mcpClient = new DefaultMcpClient.Builder()
206206
.transport(transport)
207207
.build();
208208

209-
// AI 能夠存取我們的計算器工具
209+
// AI 訪問我們的計算器工具的權限
210210
ToolProvider toolProvider = McpToolProvider.builder()
211211
.mcpClients(List.of(mcpClient))
212212
.build();
213213

214-
// 建立一個可以使用我們計算器的 AI 機械人
214+
// 創建一個可以使用我們計算器的 AI 機械人
215215
Bot bot = AiServices.builder(Bot.class)
216216
.chatLanguageModel(model)
217217
.toolProvider(toolProvider)
218218
.build();
219219

220-
// 現在我們可以用自然語言要求 AI 進行計算
220+
// 現在我們可以用自然語言要求 AI 進行計算了
221221
String response = bot.chat("Calculate the sum of 24.5 and 17.3 using the calculator service");
222222
System.out.println(response);
223223

@@ -227,31 +227,31 @@ public class LangChain4jClient {
227227
}
228228
```
229229

230-
**此程式做了什麼**
231-
1. 利用你的 GitHub Token 建立 AI 模型連結
230+
**功能說明**
231+
1. 利用無金鑰認證(Microsoft Entra ID)建立 AI 模型連線
232232
2. 將 AI 連接到我們的計算機 MCP 伺服器
233-
3. AI 存取全部計算機工具的權限
234-
4. 允許自然語言請求,如「計算 24.5 與 17.3 的總和
233+
3. AI 可存取所有計算機工具
234+
4. 支援自然語言請求,如「計算 24.5 與 17.3 的和
235235

236-
**AI 自動**
237-
- 理解你想要執行加法
236+
**AI 會自動**
237+
- 理解你想要進行加法
238238
- 選擇 `add` 工具
239239
- 呼叫 `add(24.5, 17.3)`
240-
- 以自然語言回應結果
240+
- 以自然語言格式回傳結果
241241

242242
## 執行範例
243243

244244
### 步驟 1:啟動計算機伺服器
245245

246-
首先,登入並設定你的 Azure AI Foundry 端點(AI 客戶端必須,無 API 金鑰):
246+
首先,登入並設定你的 Azure AI Foundry 端點(AI 用戶端所需,鍵無需密鑰):
247247

248-
**Windows**
248+
**Windows:**
249249
```cmd
250250
az login
251251
set AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
252252
```
253253

254-
**Linux/macOS**
254+
**Linux/macOS:**
255255
```bash
256256
az login
257257
export AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
@@ -263,14 +263,14 @@ cd 04-PracticalSamples/calculator
263263
mvn clean spring-boot:run
264264
```
265265

266-
伺服器會運作於 `http://localhost:8080`,你應該會看到
266+
伺服器將在 `http://localhost:8080` 上啟動。你應該看到
267267
```
268268
Started McpServerApplication in X.XXX seconds
269269
```
270270

271-
### 步驟 2:使用直接客戶端測試
271+
### 步驟 2:用直接用戶端測試
272272

273-
在伺服器運行的同時,開一個<strong>新</strong>終端機,執行直接 MCP 客戶端
273+
在伺服器仍運行的情況下,於新的終端機執行直接 MCP 用戶端
274274
```bash
275275
cd 04-PracticalSamples/calculator
276276
mvn test-compile exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.SDKClient" -Dexec.classpathScope=test
@@ -283,38 +283,37 @@ Add Result = 5.00 + 3.00 = 8.00
283283
Square Root Result = √16.00 = 4.00
284284
```
285285

286-
### 步驟 3:使用 AI 客戶端測試
286+
### 步驟 3: AI 用戶端測試
287287

288288
```bash
289289
mvn test-compile exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.LangChain4jClient" -Dexec.classpathScope=test
290290
```
291291

292-
你會看到 AI 自動使用工具
292+
你會看到 AI 自動使用工具的過程
293293
```
294294
The sum of 24.5 and 17.3 is 41.8.
295295
The square root of 144 is 12.
296296
```
297297

298298
### 步驟 4:關閉 MCP 伺服器
299299

300-
測試完畢,於 AI 客戶端終端按 `Ctrl+C` 停止,MCP 伺服器會繼續執行直到你手動停止。
301-
停止伺服器,在啟動它的終端機按 `Ctrl+C`
300+
測試完成後,按 `Ctrl+C` 即可停止 AI 用戶端。MCP 伺服器會繼續執行,直到你在運行伺服器的終端機中按 `Ctrl+C` 停止它。
302301

303-
## 整體運作流程
302+
## 整體運作原理
304303

305-
以下為當你問 AI「5 + 3 等於多少?」的完整流程
304+
以下是你問 AI 「5 + 3 等於多少?」時的完整流程
306305

307-
1. <strong>你</strong> 用自然語言向 AI 提問
308-
2. **AI** 分析請求,判斷你想要加法
306+
1. <strong>你</strong> 用自然語言提出問題
307+
2. **AI** 分析請求,判斷你要做加法
309308
3. **AI** 呼叫 MCP 伺服器:`add(5.0, 3.0)`
310-
4. <strong>計算機服務</strong> 執行計算`5.0 + 3.0 = 8.0`
311-
5. <strong>計算機服務</strong> 回傳結果`"5.00 + 3.00 = 8.00"`
312-
6. **AI** 接收結果並組成自然語言回應
313-
7. <strong>你</strong> 收到:「5 3 的總和是 8」
309+
4. <strong>計算機服務</strong> 執行`5.0 + 3.0 = 8.0`
310+
5. <strong>計算機服務</strong> 回傳`"5.00 + 3.00 = 8.00"`
311+
6. **AI** 收到結果並組成自然語言回答
312+
7. <strong>你</strong> 得到: 「5 3 的和是 8」
314313

315-
## 接下來的步驟
314+
## 後續步驟
316315

317-
更多範例請參考 [第 04 章:實際範例](../README.md)
316+
更多範例,請參閱 [第 04 章:實務範例](../README.md)
318317

319318
---
320319

0 commit comments

Comments
 (0)