Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .changeset/zh-docs-opportunity-stage-names.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
'hotcrm': patch
---

The Chinese docs now name the seven opportunity stages the way the shipped
locale pack does, and the remaining lead-convert verb face follows the action
label.

`src/translations/zh-CN.ts` is what a Chinese reader sees on screen. Four of the
seven `crm_opportunity.stage` option labels had drifted — and unlike the earlier
term fixes this was not one page getting a word wrong, it was every Chinese page
consistently using a second vocabulary the product never displays:

| value | pack ships | docs said |
| --- | --- | --- |
| `prospecting` | 寻找客户 | 开发期 |
| `qualification` | 资格审查 | 资格审核 |
| `closed_won` | 成交 | 赢单 |
| `closed_lost` | 失败 | 输单 |

`needs_analysis` / `proposal` / `negotiation` already matched and are untouched.
Both stage tables (Opportunities and Pipeline Management, zh-Hans and zh-Hant)
now carry the shipped labels, and so does every sentence that names a stage: the
drag-to-advance example, the close-reason table, the $100K alert, the approval
outcome, the quote-accepted advance, the lead-conversion step that creates an
opportunity, and the glossary's closed-won/lost entry.

**A word the pack ships nowhere is drift wherever it appears; a word the pack
does ship is only drift where it names the stage.** 开发期, 资格审核 and 输单
appear nowhere in the pack, so they are gone from the Chinese docs entirely —
except 开发期 on the integrations pages, where it means the development
environment and not the `prospecting` stage. 赢单 and 丢单 by contrast *are* the
pack's own outcome vocabulary (赢单原因, 丢单原因, 赢/丢单详情, 赢单数, 丢单数,
赢单概率), so they stay wherever they name a reason, a metric or an outcome, and
change only where the reader would go looking for that word as a stage value.
That is why 「未赢单、未丢单的交易」, 「赢单率」 and 「赢单原因」 read as before
while 「阶段会被自动设为**赢单**」 became 成交.

Where the docs paired 赢单 with the non-pack 输单 to name the two *reason
fields* rather than the stages — the state-machine close requirement, the cube
dimension, the Win/Loss report — the pack's counterpart is 丢单, not 失败, so
those became 赢单/丢单.

Two terms belonging to different objects stay separate, as the pack intends:
`crm_opportunity.stage.qualification` is 「资格审查」 and
`crm_lead._sections.qualification` is 「资格评估」. The Leads pages' 「通过资格审核」
is a thing a person does, not either label, and is untouched.

**The convert verb face.** `convert_lead` ships the label 「转化线索」, but the
Sales Copilot page named that very button 「转换线索」. That page now uses the
shipped label, and the traditional-Chinese residuals left over when the
simplified twins were corrected — Accounts, Quick Tour, Introduction, Testing
and CI, and the Traditional Sales Copilot page, which named the action
「轉換潛在客戶」 — now read 转化 / 轉化 as well.

Documentation only: the locale pack is the contract, so nothing under `src/`
changed.

Fixes #829.
2 changes: 1 addition & 1 deletion content/docs/administration/state-machines.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Prospecting → Qualification → Proposal → Negotiation

- 移动到 *Proposal* 之前 **必须填写关闭日期**。
- 移动到 *Negotiation* 之前 **必须填写金额**。
- 进入 *Closed Lost* 或 *Closed Won* 时 **必须填写赢单/输单原因**。
- 进入 *Closed Lost* 或 *Closed Won* 时 **必须填写赢单/丢单原因**。
- 如果金额 > $500K 且尚未授予折扣审批,进入 *Closed Won* **可能需要审批**。

## 为什么状态机很重要
Expand Down
2 changes: 1 addition & 1 deletion content/docs/administration/state-machines.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Prospecting → Qualification → Proposal → Negotiation

- 移動到 *Proposal* 之前 **必須填寫關閉日期**。
- 移動到 *Negotiation* 之前 **必須填寫金額**。
- 進入 *Closed Lost* 或 *Closed Won* 時 **必須填寫贏單/輸單原因**。
- 進入 *Closed Lost* 或 *Closed Won* 時 **必須填寫贏單/丟單原因**。
- 如果金額 > $500K 且尚未授予折扣審批,進入 *Closed Won* **可能需要審批**。

## 為什麼狀態機很重要
Expand Down
4 changes: 2 additions & 2 deletions content/docs/ai-copilot/sales-copilot.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ ObjectStack 环境已经自带的 **平台助手**(`ask`)之上。当你在
- 每项判断所依据的 **字段或活动**。
- 单一的 **建议下一步**,并引用线索 ID。

若评分达到 70 及以上且你同意,技能会调用真实的 **转换线索** 操作;否则它会调用 **安排
跟进** 并给出建议的日期。未经你明确确认,绝不执行转换。
若评分达到 70 及以上且你同意,技能会调用真实的 **转化线索** 操作;否则它会调用 **安排
跟进** 并给出建议的日期。未经你明确确认,绝不执行转化。

### 3. ✍️ 邮件撰写

Expand Down
4 changes: 2 additions & 2 deletions content/docs/ai-copilot/sales-copilot.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ ObjectStack 環境已經自帶的 **平台助手**(`ask`)之上。當你在
- 每項判斷所依據的 **欄位或活動**。
- 單一的 **建議下一步**,並引用潛在客戶 ID。

若評分達到 70 及以上且你同意,技能會呼叫真實的 **轉換潛在客戶** 操作;否則它會呼叫
**安排跟進** 並給出建議的日期。未經你明確確認,絕不執行轉換。
若評分達到 70 及以上且你同意,技能會呼叫真實的 **轉化潛在客戶** 操作;否則它會呼叫
**安排跟進** 並給出建議的日期。未經你明確確認,絕不執行轉化。

### 3. ✍️ 郵件撰寫

Expand Down
2 changes: 1 addition & 1 deletion content/docs/analytics/cubes.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ description: 为 HotCRM 分析提供支持的数据层——四个内置多维
- 所有者(及团队、地区)
- 产品(及类别、系列)
- 周期(日、周、月、季、年)
- 赢单/输单原因
- 赢单/丢单原因
- 线索来源

**示例问题**:
Expand Down
2 changes: 1 addition & 1 deletion content/docs/analytics/cubes.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ description: 為 HotCRM 分析提供支援的資料層——四個內建多維
- 擁有者(及團隊、地區)
- 產品(及類別、系列)
- 週期(日、週、月、季、年)
- 贏單/輸單原因
- 贏單/丟單原因
- 潛在客戶來源

**範例問題**:
Expand Down
4 changes: 2 additions & 2 deletions content/docs/analytics/reports.zh-Hans.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 报表
description: 标准报表库——管道、赢单/输单、预测、工单量、SLA 绩效等。
description: 标准报表库——管道、赢单/丢单、预测、工单量、SLA 绩效等。
---

# 报表
Expand All @@ -17,7 +17,7 @@ HotCRM 开箱即用地提供以下报表:
| --- | --- |
| **Pipeline by Stage** | 所有未结交易按阶段分组,带 $ 合计 |
| **Forecast vs Actual** | 成交赢单对比预测,按周期 |
| **Win/Loss Analysis** | 已结交易按赢单/输单分组,带原因分解 |
| **Win/Loss Analysis** | 已结交易按赢单/丢单分组,带原因分解 |
| **Sales Cycle Length** | 从创建到成交的天数,按所有者和产品 |
| **Top Performing Reps** | 成交排行榜 |
| **Stale Opportunities** | 14 天以上无活动的交易 |
Expand Down
4 changes: 2 additions & 2 deletions content/docs/analytics/reports.zh-Hant.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: 報表
description: 標準報表庫——管道、贏單/輸單、預測、工單量、SLA 績效等。
description: 標準報表庫——管道、贏單/丟單、預測、工單量、SLA 績效等。
---

# 報表
Expand All @@ -17,7 +17,7 @@ HotCRM 開箱即用地提供以下報表:
| --- | --- |
| **Pipeline by Stage** | 所有未結交易按階段分組,帶 $ 合計 |
| **Forecast vs Actual** | 成交贏單對比預測,按週期 |
| **Win/Loss Analysis** | 已結交易按贏單/輸單分組,帶原因分解 |
| **Win/Loss Analysis** | 已結交易按贏單/丟單分組,帶原因分解 |
| **Sales Cycle Length** | 從建立到成交的天數,按擁有者和產品 |
| **Top Performing Reps** | 成交排行榜 |
| **Stale Opportunities** | 14 天以上無活動的交易 |
Expand Down
2 changes: 1 addition & 1 deletion content/docs/customization/testing-and-ci.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -263,5 +263,5 @@ const accounts = await rt.seed.accountFactory(50, { tier: 'platinum' });
- ✅ **對 AI 提示拍快照** —— 微小的提示變更會明顯改變輸出。
- ✅ **雙向測試共用** —— 使用者能看到什麼 + 不能看到什麼。
- ✅ 在 CI 中使用 **確定性的 LLM mock**;真實 LLM 測試在獨立的工作流程中每晚執行。
- ✅ 讓 E2E 測試少而 **關鍵** —— 涵蓋登入、線索轉換、成交、案例解決。
- ✅ 讓 E2E 測試少而 **關鍵** —— 涵蓋登入、線索轉化、成交、案例解決。
- ✅ **在每次推廣到 UAT 之前** 執行完整套件 —— 絕不部署一個失敗的建構。
2 changes: 1 addition & 1 deletion content/docs/getting-started/introduction.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ description: HotCRM 是什麼、面向誰,以及開箱即用包含哪些內容
| [**AI Copilot**](/zh-Hant/docs/ai-copilot/index) | 一個起草郵件、分流案例、彙總客戶的助手 |
| [**分析**](/zh-Hant/docs/analytics/index) | 儀表板、報表和自助式資料 cube |

一切開箱即用地**串聯在一起** —— 線索轉換為商機,商機關聯到報價單和合約,合約觸發續約,支援案例能看到客戶的完整歷史。
一切開箱即用地**串聯在一起** —— 線索轉化為商機,商機關聯到報價單和合約,合約觸發續約,支援案例能看到客戶的完整歷史。

## HotCRM 面向誰

Expand Down
4 changes: 2 additions & 2 deletions content/docs/getting-started/quick-tour.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ description: HotCRM 的 5 分鐘演練 —— 主頁、你的第一條線索、
2. 填寫 **Name**、**Company**、**Email**。
3. 儲存。線索會自動指派給你。
4. 在潛在客戶詳情頁上請助手 *「判定此潛在客戶資格」* —— [潛在客戶資格判定技能](/zh-Hant/docs/ai-copilot/sales-copilot) 會按 BANT 給出 0–100 的評分並建議下一步操作。
5. 準備就緒後,點擊 **Convert** 一步將線索轉換為 Account + Contact + Opportunity。
5. 準備就緒後,點擊 **Convert** 一步將線索轉化為 Account + Contact + Opportunity。

➜ 了解更多:[線索](/zh-Hant/docs/sales/leads)

## 4. 你的第一個商機

**商機**是你正在處理的真實交易。

1. 由線索轉換自動建立,或 **Sales → Opportunities → New**。
1. 由線索轉化自動建立,或 **Sales → Opportunities → New**。
2. 設定 **Account**、**Amount**、**Close Date**、**Stage**。
3. 隨著交易推進,將其在各階段間移動:*Prospecting → Qualification → Proposal → Negotiation → Closed Won*。
4. 系統會強制執行[狀態機](/zh-Hant/docs/administration/state-machines) —— 你不能隨意跳過階段。
Expand Down
4 changes: 2 additions & 2 deletions content/docs/reference/glossary.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ description: CRM 与平台术语 —— 按字母排序,让你在会议中不

**Churn(流失)** —— 客户流失。Logo 流失(客户数量)vs 收入流失(金额)。

**Closed won / lost(赢单 / 输单)** —— 商机的终止阶段。
**Closed won / lost(成交 / 失败)** —— 商机的终止阶段。

**Commit(承诺)** —— 用于销售代表*承诺*成交的商机的预测类别。

Expand Down Expand Up @@ -197,7 +197,7 @@ description: CRM 与平台术语 —— 按字母排序,让你在会议中不

**Workflow rule(工作流规则)** —— 一种简单的保存后自动化:条件 → 字段更新 / 邮件 / 任务。

**Win rate(赢单率)** —— 赢单 ÷(赢单 + 输单)。不含"未决策即关闭"。
**Win rate(赢单率)** —— 赢单 ÷(赢单 + 丢单)。不含"未决策即关闭"。

## Y

Expand Down
4 changes: 2 additions & 2 deletions content/docs/reference/glossary.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ description: CRM 與平台術語 —— 按字母排序,讓你在會議中不

**Churn(流失)** —— 客戶流失。Logo 流失(客戶數量)vs 收入流失(金額)。

**Closed won / lost(贏單 / 輸單)** —— 商機的終止階段。
**Closed won / lost(成交 / 失敗)** —— 商機的終止階段。

**Commit(承諾)** —— 用於銷售代表*承諾*成交的商機的預測類別。

Expand Down Expand Up @@ -197,7 +197,7 @@ description: CRM 與平台術語 —— 按字母排序,讓你在會議中不

**Workflow rule(工作流規則)** —— 一種簡單的儲存後自動化:條件 → 欄位更新 / 郵件 / 任務。

**Win rate(贏單率)** —— 贏單 ÷(贏單 + 輸單)。不含「未決策即關閉」。
**Win rate(贏單率)** —— 贏單 ÷(贏單 + 丟單)。不含「未決策即關閉」。

## Y

Expand Down
2 changes: 1 addition & 1 deletion content/docs/sales/accounts.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Acme Corp Global

## 内置规则

- 客户**名称在你所在的组织内必须唯一**。如果你尝试用一个已存在的名称再建一个客户,会收到错误。同一平台上的其他组织可以有自己的 "Acme Corp" —— 这条规则只作用于你自己的数据,而不是整个平台。唯一性校验按原样精确比较名称,因此 `Acme Corp` 与 `ACME Corp` 可以作为两个独立的客户同时存在。线索转换则更宽松:它在寻找可复用的客户时会忽略大小写和多余空格(见[线索](./leads)),因此转换公司名为 `ACME Corp` 的线索时,会挂到你已有的 `Acme Corp` 上,而不是新建一个近似重复的客户。
- 客户**名称在你所在的组织内必须唯一**。如果你尝试用一个已存在的名称再建一个客户,会收到错误。同一平台上的其他组织可以有自己的 "Acme Corp" —— 这条规则只作用于你自己的数据,而不是整个平台。唯一性校验按原样精确比较名称,因此 `Acme Corp` 与 `ACME Corp` 可以作为两个独立的客户同时存在。线索转化则更宽松:它在寻找可复用的客户时会忽略大小写和多余空格(见[线索](./leads)),因此转化公司名为 `ACME Corp` 的线索时,会挂到你已有的 `Acme Corp` 上,而不是新建一个近似重复的客户。
- **年营收必须为零或正数**——不允许负数。
- 你**无法删除**一个有开放商机或活跃合同的客户。改为将其设为*非活跃*(`is_active = false`)。

Expand Down
2 changes: 1 addition & 1 deletion content/docs/sales/accounts.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Acme Corp Global

## 內建規則

- 客戶**名稱在你所屬的組織內必須唯一**。如果你嘗試用一個已存在的名稱再建一個客戶,會收到錯誤。同一平台上的其他組織可以有自己的 "Acme Corp" —— 這條規則只作用於你自己的資料,而不是整個平台。唯一性檢查按原樣精確比較名稱,因此 `Acme Corp` 與 `ACME Corp` 可以作為兩個獨立的客戶同時存在。潛在客戶轉換則更寬鬆:它在尋找可重用的客戶時會忽略大小寫與多餘空格(見[潛在客戶](./leads)),因此轉換公司名為 `ACME Corp` 的潛在客戶時,會掛到你既有的 `Acme Corp` 上,而不是新建一個近似重複的客戶。
- 客戶**名稱在你所屬的組織內必須唯一**。如果你嘗試用一個已存在的名稱再建一個客戶,會收到錯誤。同一平台上的其他組織可以有自己的 "Acme Corp" —— 這條規則只作用於你自己的資料,而不是整個平台。唯一性檢查按原樣精確比較名稱,因此 `Acme Corp` 與 `ACME Corp` 可以作為兩個獨立的客戶同時存在。潛在客戶轉化則更寬鬆:它在尋找可重用的客戶時會忽略大小寫與多餘空格(見[潛在客戶](./leads)),因此轉化公司名為 `ACME Corp` 的潛在客戶時,會掛到你既有的 `Acme Corp` 上,而不是新建一個近似重複的客戶。
- **年營收必須為零或正數**——不允許負數。
- 你**無法刪除**一個有開放商機或活躍合約的客戶。改為將其設為*非活躍*(`is_active = false`)。

Expand Down
4 changes: 2 additions & 2 deletions content/docs/sales/index.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ Lead ──► Account + Contact ──► Opportunity ──► Quote

- **线索评分**——每条新线索都会根据公司规模、行业、职位和互动情况获得 0-100 的评分。
- **热门线索提醒**——评级为 4 星及以上的线索会将下次跟进日期设为今天并通知负责人。
- **概率更新**——当你将商机移动到新阶段时,赢单概率会自动更新(开发期 10% → 赢单 100%)。
- **概率更新**——当你将商机移动到新阶段时,赢单概率会自动更新(寻找客户 10% → 成交 100%)。
- **预期营收**——`amount × probability` 会为你计算好。
- **大单通知**——当一笔超过 $100K 的交易被标记为赢单时,销售管理层会收到邮件通知。
- **大单通知**——当一笔超过 $100K 的交易被标记为成交时,销售管理层会收到邮件通知。
- **报价过期**——超过有效期的报价每晚会被自动标记为已过期。
- **折扣审批**——金额超过 $500K 的商机会自动路由给你的销售经理和总监进行审批。

Expand Down
4 changes: 2 additions & 2 deletions content/docs/sales/index.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ Lead ──► Account + Contact ──► Opportunity ──► Quote

- **潛在客戶評分**——每筆新潛在客戶都會根據公司規模、產業、職位和互動情況獲得 0-100 的評分。
- **熱門潛在客戶提醒**——評級為 4 星及以上的潛在客戶會將下次跟進日期設為今天並通知負責人。
- **機率更新**——當你將商機移動到新階段時,贏單機率會自動更新(開發期 10% → 贏單 100%)。
- **機率更新**——當你將商機移動到新階段時,贏單機率會自動更新(尋找客戶 10% → 成交 100%)。
- **預期營收**——`amount × probability` 會為你計算好。
- **大單通知**——當一筆超過 $100K 的交易被標記為贏單時,銷售管理層會收到郵件通知。
- **大單通知**——當一筆超過 $100K 的交易被標記為成交時,銷售管理層會收到郵件通知。
- **報價到期**——超過有效期的報價每晚會被自動標記為已過期。
- **折扣審批**——金額超過 $500K 的商機會自動路由給你的銷售經理和總監進行審批。

Expand Down
2 changes: 1 addition & 1 deletion content/docs/sales/leads.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ description: 在入站咨询成为真正交易之前对其进行捕获、评分

1. 根据线索的公司信息创建一个**客户**——如果已经有同名客户,则直接复用。匹配时忽略大小写和多余空格,因此公司名为 `ACME Corp` 的线索会落到你已有的 `Acme Corp` 上,而不是再建一个客户。这不是模糊匹配:`Acme Corp` 与 `Acme Corporation` 仍然是两家不同的公司。
2. 根据线索的个人信息创建一个**联系人**,附加到该客户上,并标记为主要联系人。
3. *(可选)* 在*开发期*阶段创建一个**商机**,成交日期设为 90 天后。
3. *(可选)* 在*寻找客户*阶段创建一个**商机**,成交日期设为 90 天后。
4. 将线索标记为**已转化**并锁定它。
5. 向你发送一封确认邮件,总结所创建的内容。

Expand Down
2 changes: 1 addition & 1 deletion content/docs/sales/leads.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ description: 在入站詢問成為真正交易之前對其進行擷取、評分

1. 根據潛在客戶的公司資訊建立一個**客戶**——若已有同名客戶,則直接重用。比對時忽略大小寫與多餘空格,因此公司名為 `ACME Corp` 的潛在客戶會落到你既有的 `Acme Corp` 上,而不是再建一個客戶。這不是模糊比對:`Acme Corp` 與 `Acme Corporation` 仍然是兩家不同的公司。
2. 根據潛在客戶的個人資訊建立一個**聯絡人**,附加到該客戶上,並標記為主要聯絡人。
3. *(可選)* 在*開發期*階段建立一個**商機**,成交日期設為 90 天後。
3. *(可選)* 在*尋找客戶*階段建立一個**商機**,成交日期設為 90 天後。
4. 將潛在客戶標記為**已轉化**並鎖定它。
5. 向你發送一封確認郵件,總結所建立的內容。

Expand Down
Loading
Loading