From 37097aeb017b4f8fb7e1ddaf675f734957591479 Mon Sep 17 00:00:00 2001
From: Jasmine Tseng <33498014+j4092627@users.noreply.github.com>
Date: Thu, 2 Apr 2026 21:07:44 +0800
Subject: [PATCH 1/3] amazing mandarin
---
README.md | 60 +++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/README.md b/README.md
index 0e05f01..badffa7 100644
--- a/README.md
+++ b/README.md
@@ -4,20 +4,20 @@
-快速、易於整合腳本的 PChome 24h 購物命令列工具。支援商品搜尋、檢視商品詳情、比較多項商品以及取得商品推薦。內建 JSON 優先輸出、適合人類閱讀的表格格式,以及標準化的資料結構(Schema)。
+快速且易於整合腳本的 PChome 24h 商品查詢 CLI 工具。支援商品搜尋、檢視商品詳情、商品比較與推薦功能。內建 JSON 優先輸出、人類可讀的表格格式,以及標準化的資料結構(Schema)。
## 功能特色
-- **搜尋 (Search)** - 支援透過關鍵字搜尋商品,並可依照品牌、價格區間、評價、庫存狀態、24h 到貨、排序方式進行篩選,同時支援自訂輸出欄位
-- **檢視 (View)** - 顯示詳細的商品資訊,包含規格、圖片以及相關警告提示
-- **推薦 (Recommend)** - 根據指定商品取得相關的推薦商品,並可選擇顯示推薦原因
-- **比較 (Compare)** - 並排比較多項商品,支援自訂顯示欄位
-- **建議 (Suggest)** - 提供搜尋關鍵字的自動補全與建議
-- **多種輸出格式** - 支援適合閱讀的文字表格格式、供腳本使用的 JSON 格式,以及適合串流或 AI 代理程式(Agent)整合的 NDJSON 格式
-- **標準化資料結構 (Schema)** - 無論語系為何,皆維持穩定的英文欄位鍵值(`v1`),確保 AI 代理程式或腳本整合不會因語系切換而失效
+- **搜尋 (Search)** - 透過關鍵字搜尋商品,可依照品牌、價格區間、評價、庫存狀態、24h 到貨、排序方式進行篩選,同時支援自訂輸出欄位
+- **檢視 (View)** - 顯示商品資訊,包含規格、圖片以及相關警告
+- **推薦 (Recommend)** - 根據商品取得相關商品推薦,並可選擇顯示推薦原因
+- **比較 (Compare)** - 比較多項商品,支援自訂顯示欄位
+- **建議 (Suggest)** - 關鍵字自動補全與建議
+- **多種輸出格式** - 包含適合閱讀的文字表格、供腳本使用的 JSON 格式,以及供串流或 AI agent 整合的 NDJSON 格式
+- **標準化資料結構 (Schema)** - 無論語系皆維持英文欄位鍵值(`v1`),確保 agent 或腳本整合不受語系切換影響
- **多國語系 (i18n)** - 支援繁體中文(預設)與英文介面
-- **彈性的商品輸入格式** - 支援直接輸入商品編號(例如 `DRAA5K-A900JOK9O`)、帶有後綴的編號(例如 `DRAA5K-A900JOK9O-000`),或是完整的 PChome 商品網址
-- **高度可設定** - 可透過 `~/.pchome/config.toml` 設定各指令的預設值、欄位排序以及輸出偏好
+- **商品輸入格式** - 支援直接輸入商品編號(例如 `DRAA5K-A900JOK9O`)、含後綴的編號(例如 `DRAA5K-A900JOK9O-000`),或是完整的 PChome 商品網址
+- **設定** - 可透過 `~/.pchome/config.toml` 設定各指令預設值、欄位排序以及輸出偏好
## 安裝方式
@@ -34,9 +34,9 @@ scoop bucket add oliyy https://github.com/oliyy/scoop-bucket.git
scoop install oliyy/pchome-cli
```
-### 預先編譯的二進位檔 (Prebuilt Binaries)
+### 執行檔 (Prebuilt Binaries)
-您可以從 [GitHub Releases](https://github.com/oliy/pchome-cli/releases) 下載符合您作業系統的壓縮檔,解壓縮後將 `pchome` 放置於系統的 `PATH` 路徑下。
+從 [GitHub Releases](https://github.com/oliy/pchome-cli/releases) 下載壓縮檔,解壓縮後將 `pchome` 放置於系統 `PATH` 路徑下。
### 從原始碼編譯
@@ -60,8 +60,8 @@ go install github.com/oliy/pchome-cli/cmd/pchome@latest
取得協助:
-- `pchome --help` 會顯示最上層的指令群組。
-- 若要查看特定指令的說明,可使用 `pchome --help`。
+- `pchome --help` 顯示最上層的指令群組。
+- 使用 `pchome --help` 查看特定指令說明。
## 快速開始
@@ -118,7 +118,7 @@ pchome view https://24h.pchome.com.tw/prod/DRAA5K-A900JOK9O
# 基本推薦
pchome recommend DMBL53-A900JDNJS --top 8
-# 顯示每項商品的推薦原因
+# 顯示商品的推薦原因
pchome recommend DMAB3X-A900EVNNM --top 10 --why
```
@@ -139,14 +139,14 @@ pchome suggest "掃地機"
`PRODUCT` 參數支援以下格式:
- 原始商品編號:`DRAA5K-A900JOK9O`
-- 帶後綴的商品編號:`DRAA5K-A900JOK9O-000`
-- 完整的 PChome 商品網址:`https://24h.pchome.com.tw/prod/DRAA5K-A900JOK9O`
+- 有後綴的商品編號:`DRAA5K-A900JOK9O-000`
+- PChome 商品網址:`https://24h.pchome.com.tw/prod/DRAA5K-A900JOK9O`
## 輸出格式
### 文字 (Text)
-預設選項,以簡潔的表格呈現適合人類閱讀的格式:
+以簡潔的表格呈現,方便人類閱讀 (預設):
```bash
pchome search "掃地機器人" --limit 3
@@ -154,7 +154,7 @@ pchome search "掃地機器人" --limit 3
### JSON
-適合腳本與自動化流程的機器可讀格式:
+輸出機器可讀格式,方便腳本與自動化流程使用:
```bash
pchome search "掃地機器人" --limit 3 --format json
@@ -163,7 +163,7 @@ pchome view DRAA5K-A900JOK9O --format json
### NDJSON
-每行一個 JSON 物件,非常適合串流處理與 AI 代理程式整合:
+每行一筆資料,適用於串流處理與 agent 整合:
```bash
pchome search "掃地機器人" --limit 5 --format ndjson
@@ -172,7 +172,7 @@ pchome recommend DMBL53-A900JDNJS --top 5 --format ndjson
`ndjson` 格式支援 `search`、`recommend`、`compare` 與 `suggest` 指令。
-資料輸出至 stdout,錯誤訊息與進度則輸出至 stderr,方便您進行管線(Piping)處理:
+將資料輸出至 stdout,錯誤訊息與進度則輸出至 stderr,方便進行管線(Piping)處理:
```bash
pchome search "掃地機器人" --format json | jq '.products[] | select(.price < 10000)'
@@ -180,13 +180,13 @@ pchome search "掃地機器人" --format json | jq '.products[] | select(.price
## 設定與組態
-在啟動時,`pchome` 會確認以下路徑的設定檔是否存在:
+在啟動時,`pchome`會確認設定檔是否存在以下路徑:
```bash
~/.pchome/config.toml
```
-若檔案不存在,系統會自動建立並填入所有預設設定。
+若檔案不存在,系統會自動建立並填入所有預設值。
設定優先順序:
@@ -236,17 +236,17 @@ token = ""
備註:
-- `columns = []` 代表「使用該指令的內建預設欄位排序」。
-- 若您設定了 `columns`,該列表將會成為該指令的預設顯示欄位。
+- `columns = []` 代表「使用該指令的預設欄位排序」。
+- 更改 `columns` 後,該列表即為預設欄位順序。
- `i18n.language` 目前支援 `zh-TW` 與 `en`。
-- 設定載入器會拒絕未知的鍵值,以防止拼寫錯誤被靜默忽略。
+- 為避免拼寫錯誤被靜默忽略,載入器會拒絕未知鍵值。
## 實際應用範例
### 搜尋並篩選商品
```bash
-# 帶有價格區間與庫存篩選的搜尋
+# 價格區間與庫存篩選的搜尋
pchome search "掃地機器人" --min-price 5000 --max-price 15000 --in-stock
# 依照品牌與最低評價進行篩選
@@ -256,16 +256,16 @@ pchome search "掃地機器人" --brand Roborock --min-rating 4.8
pchome search "掃地機器人" --arrival-24h --sort price-asc
```
-### 取得附帶原因的推薦商品
+### 取得推薦商品的原因
```bash
pchome recommend DMAB3X-A900EVNNM --top 10 --why
```
-### 將 JSON 輸出管線連接至 jq
+### 將 JSON 輸出給 jq 處理
```bash
-# 擷取低於特定價格門檻的商品名稱
+# 取得低於特定價格的商品名稱
pchome search "掃地機器人" --format json | jq '.products[] | select(.price < 10000) | .name'
```
From 979f4764f67bdca0a07daa81323de3fcb59988d7 Mon Sep 17 00:00:00 2001
From: Jasmine Tseng <33498014+j4092627@users.noreply.github.com>
Date: Fri, 3 Apr 2026 08:55:07 +0800
Subject: [PATCH 2/3] fix mandarin
---
pkg/i18n/i18n.go | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/pkg/i18n/i18n.go b/pkg/i18n/i18n.go
index 331b9b0..793b6dd 100644
--- a/pkg/i18n/i18n.go
+++ b/pkg/i18n/i18n.go
@@ -230,11 +230,11 @@ var translations = map[Language]map[Key]string{
RootFlagFormat: "輸出格式:text|json|ndjson",
RootFlagSchemaVersion: "機器可讀輸出的 schema 版本",
RootFlagTimeout: "API 請求逾時時間",
- RootFlagNameWidth: "文字輸出時的商品名稱欄位寬度",
+ RootFlagNameWidth: "商品名稱欄位寬度",
SearchShort: "搜尋商品",
SearchExample: " pchome search \"掃地機器人\" --min-price 5000 --max-price 15000 --in-stock",
- SearchFlagCategory: "分類編號",
+ SearchFlagCategory: "分類識別碼",
SearchFlagBrand: "品牌篩選(部分符合即可)",
SearchFlagSort: "排序方式:relevance(相關度)|price-asc(價格低至高)|price-desc(價格高至低)|newest(最新上架)|best-selling(最暢銷)",
SearchFlagPage: "起始頁碼",
@@ -247,8 +247,8 @@ var translations = map[Language]map[Key]string{
SearchFlagArrival24h: "只顯示支援 24h 到貨的商品",
SearchFlagColumns: "以逗號分隔的顯示欄位 (#,price,list,discount,rating,reviews,24h,qty,stock,brand,name,id,url,desc)",
SearchFlagShowURL: "在文字輸出中包含商品網址",
- SearchFlagCompact: "在文字輸出中縮減商品名稱欄位寬度",
- SearchFlagWide: "在文字輸出中增加商品名稱欄位寬度",
+ SearchFlagCompact: "使用較窄的商品名稱欄位",
+ SearchFlagWide: "使用較寬的商品名稱欄位",
ViewShort: "檢視商品詳情",
ViewExample: " pchome view https://24h.pchome.com.tw/prod/DRAA5K-A900JOK9O",
@@ -260,15 +260,15 @@ var translations = map[Language]map[Key]string{
RecommendFlagColumns: "以逗號分隔的顯示欄位 (#,score,price,list,discount,rating,reviews,24h,qty,stock,brand,name,id,url,why)",
RecommendFlagShowURL: "在文字輸出中包含商品網址",
RecommendFlagShowWhy: "在文字輸出中顯示推薦原因",
- RecommendFlagCompact: "在文字輸出中縮減商品名稱欄位寬度",
- RecommendFlagWide: "在文字輸出中增加商品名稱欄位寬度",
+ RecommendFlagCompact: "使用較窄的推薦商品名稱欄位",
+ RecommendFlagWide: "使用較寬的推薦商品名稱欄位",
CompareShort: "比較多項商品",
CompareExample: " pchome compare DMBL53-A900JDNJS DMBL1C-A900JA04J",
CompareFlagColumns: "以逗號分隔的顯示欄位 (#,price,list,discount,rating,reviews,24h,qty,stock,brand,name,id,url)",
CompareFlagShowURL: "在文字輸出中包含商品網址",
- CompareFlagCompact: "在文字輸出中縮減商品名稱欄位寬度",
- CompareFlagWide: "在文字輸出中增加商品名稱欄位寬度",
+ CompareFlagCompact: "使用較窄的比較商品名稱欄位",
+ CompareFlagWide: "使用較寬的比較商品名稱欄位",
SuggestShort: "提供搜尋建議",
SuggestExample: " pchome suggest \"掃地機\"",
@@ -287,13 +287,13 @@ var translations = map[Language]map[Key]string{
FieldSalesName: "商品名稱",
FieldNick: "簡稱",
FieldTagline: "促銷標語",
- FieldDescription: "商品特色",
- FieldPrice: "網路價",
- FieldListPrice: "市價",
+ FieldDescription: "商品描述",
+ FieldPrice: "售價",
+ FieldListPrice: "原價",
FieldLowestObserved: "歷史低價",
FieldDiscount: "折扣",
FieldRating: "評價",
- FieldAvailability: "供貨狀態",
+ FieldAvailability: "庫存狀態",
FieldFlags: "活動標籤",
FieldCategories: "分類",
FieldBrandAliases: "品牌別名",
@@ -316,21 +316,21 @@ var translations = map[Language]map[Key]string{
FilterMaxPrice: "最高價",
FilterMinRating: "最低評價",
FilterInStock: "有庫存",
- FilterArrival24h: "24h 到貨",
+ FilterArrival24h: "24h到貨",
HeaderIndex: "#",
HeaderPrice: "網路價",
HeaderList: "市價",
HeaderDiscount: "折扣%",
HeaderRating: "評價",
- HeaderReviews: "評價數",
+ HeaderReviews: "評價數量",
Header24h: "24h",
HeaderQty: "庫存",
HeaderBrand: "品牌",
HeaderName: "商品名稱",
HeaderProductID: "商品編號",
HeaderURL: "網址",
- HeaderDescription: "商品特色",
+ HeaderDescription: "商品描述",
HeaderScore: "相關度",
HeaderWhy: "推薦原因",
HeaderSuggestion: "搜尋建議",
From e6fd7f3b337a02fb19b24b796e992c7f7d0637a7 Mon Sep 17 00:00:00 2001
From: Oliyy
Date: Mon, 6 Apr 2026 12:25:50 +0800
Subject: [PATCH 3/3] chore: update tests to match new strings
---
cmd/testdata/help/root_zh_tw.golden | 2 +-
cmd/testdata/render/product_detail_zh_tw.golden | 6 +++---
cmd/testdata/render/search_zh_tw.golden | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/cmd/testdata/help/root_zh_tw.golden b/cmd/testdata/help/root_zh_tw.golden
index 8aa27a9..3092147 100644
--- a/cmd/testdata/help/root_zh_tw.golden
+++ b/cmd/testdata/help/root_zh_tw.golden
@@ -22,7 +22,7 @@
選項:
--format string 輸出格式:text|json|ndjson (default "text")
-h, --help 顯示 pchome 的說明
- --name-width int 文字輸出時的商品名稱欄位寬度 (default 30)
+ --name-width int 商品名稱欄位寬度 (default 30)
--schema-version string 機器可讀輸出的 schema 版本 (default "v1")
--timeout duration API 請求逾時時間 (default 20s)
-v, --version 顯示 pchome 的版本資訊
diff --git a/cmd/testdata/render/product_detail_zh_tw.golden b/cmd/testdata/render/product_detail_zh_tw.golden
index 7ede70f..def03bb 100644
--- a/cmd/testdata/render/product_detail_zh_tw.golden
+++ b/cmd/testdata/render/product_detail_zh_tw.golden
@@ -3,10 +3,10 @@ Micron Crucial X10
網址: https://24h.pchome.com.tw/prod/DRAA5K-A900JOK9O
品牌: Micron
商品名稱: Crucial X10 1TB
-網路價: 4,340
-市價: 5,999
+售價: 4,340
+原價: 5,999
折扣: 28%
評價: 5(4 則評價)
-供貨狀態: 庫存=9 | 24h=Y | 出貨=Consign
+庫存狀態: 庫存=9 | 24h=Y | 出貨=Consign
品牌別名: Micron, 美光
主圖: https://example.com/image.jpg
diff --git a/cmd/testdata/render/search_zh_tw.golden b/cmd/testdata/render/search_zh_tw.golden
index 597f701..276fdda 100644
--- a/cmd/testdata/render/search_zh_tw.golden
+++ b/cmd/testdata/render/search_zh_tw.golden
@@ -1,4 +1,4 @@
搜尋 "掃地機器人" | 傳回 1 筆(共 100 筆)| 第 1 頁 | 已掃描 1 頁 | 排序=relevance
- # | 網路價 | 評價 | 評價數 | 24h | 庫存 | 品牌 | 商品名稱 | 商品編號
- ---|--------|------|--------|-----|------|--------|---------------------------|------------------
- 1 | 6,999 | 4.9 | 33 | Y | 20 | Xiaomi | 小米 Xiaomi 掃拖機器人H40 | DMBL53-A900JDNJS
+ # | 網路價 | 評價 | 評價數量 | 24h | 庫存 | 品牌 | 商品名稱 | 商品編號
+ ---|--------|------|----------|-----|------|--------|---------------------------|------------------
+ 1 | 6,999 | 4.9 | 33 | Y | 20 | Xiaomi | 小米 Xiaomi 掃拖機器人H40 | DMBL53-A900JDNJS