baoyu-translate

baoyu-translate

熱門

當使用者要求「translate」、「翻譯」、「精翻」、「translate article」、「translate to Chinese」、「translate to English」、「改成中文」、「改成英文」、「convert to Chinese」、「localize」、「本地化」、「refined translation」、「精細翻譯」、「proofread translation」、「快速翻譯」、「快翻」、「這篇文章翻譯一下」,或提供帶有翻譯意圖的 URL/檔案時使用此 Skill。支援三種模式(快速/一般/精修),並支援自訂術語表。

2.2萬星標
2606分支
更新於 2026/6/18
SKILL.md
唯讀
名稱
baoyu-translate
描述

當使用者要求「translate」、「翻譯」、「精翻」、「translate article」、「translate to Chinese」、「translate to English」、「改成中文」、「改成英文」、「convert to Chinese」、「localize」、「本地化」、「refined translation」、「精細翻譯」、「proofread translation」、「快速翻譯」、「快翻」、「這篇文章翻譯一下」,或提供帶有翻譯意圖的 URL/檔案時使用此 Skill。支援三種模式(快速/一般/精修),並支援自訂術語表。

版本
1.117.3

Translator

具備三種模式的翻譯 Skill:quick(快速) 用於直接翻譯,normal(一般) 用於經分析後的翻譯,refined(精修) 用於包含審閱與潤飾的完整出版級工作流程。

使用者輸入工具

當此 Skill 提示使用者時,請遵循以下工具選擇規則(依優先順序):

  1. 優先使用內建的使用者輸入工具(由當前 Agent 執行階段提供)— 例如 AskUserQuestionrequest_user_inputclarifyask_user 或任何同等工具。
  2. 備用機制:若無此類工具,請發出帶有編號的純文字訊息,並要求使用者針對每個問題回覆所選的編號/答案。
  3. 批次處理:若工具支援單次呼叫提出多個問題,請將所有適用問題整合為單一呼叫;若僅支援單一問題,請依優先順序一次詢問一個。

下方具體的 AskUserQuestion 參考僅為範例 — 在其他執行階段中請替換為當地的同等工具。

腳本目錄

腳本位於 scripts/ 子目錄中。{baseDir} = 本 SKILL.md 的目錄路徑。解析 ${BUN_X} 執行階段:若已安裝 bunbun;若有 npx 可用 → npx -y bun;否則建議安裝 bun。請將 {baseDir}${BUN_X} 替換為實際值。

腳本 用途
scripts/main.ts CLI 入口點。預設動作會將 Markdown 拆分為區塊;亦支援明確的 chunk 子命令
scripts/chunk.ts main.ts 所使用的 Markdown 區塊拆分實作,並保持相容性以供直接呼叫

偏好設定 (EXTEND.md)

請依優先順序檢查 EXTEND.md — 以找到的第一個檔案為準:

優先順序 路徑 範圍
1 .baoyu-skills/baoyu-translate/EXTEND.md 專案
2 ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-translate/EXTEND.md XDG
3 $HOME/.baoyu-skills/baoyu-translate/EXTEND.md 使用者家目錄
結果 動作
已找到 讀取、解析並套用。在工作階段中首次使用時,簡短提醒:「正在使用來自 [path] 的偏好設定。你可以編輯 EXTEND.md 來自訂術語表、目標受眾等。」
未找到 必須執行首次設定(見下方)— 切勿靜默使用預設值

EXTEND.md 支援:預設目標語言、預設模式、目標受眾、自訂術語表(內嵌或檔案路徑)、翻譯風格、分塊設定。

Schema:references/config/extend-schema.md

首次設定(阻斷性作業)

關鍵:當未找到 EXTEND.md 時,你必須在進行任何翻譯之前執行首次設定。這是一項阻斷性作業。

完整參考:references/config/first-time-setup.md

使用 AskUserQuestion一次呼叫中提出所有問題(目標語言、模式、受眾、風格、儲存位置)。使用者回答後,在選擇的位置建立 EXTEND.md,確認「偏好設定已儲存至 [path]」,然後繼續。

預設值

所有可設定的值皆集中於一處。EXTEND.md 會覆寫這些值;CLI 旗標 (CLI flags) 則會覆寫 EXTEND.md

設定項目 預設值 EXTEND.md 鍵名 CLI 旗標 說明
目標語言 zh-CN target_language --to 翻譯目標語言
模式 normal default_mode --mode 翻譯模式
受眾 general audience --audience 目標讀者輪廓
風格 storytelling style --style 翻譯風格偏好
分塊門檻 4000 chunk_threshold 觸發分塊翻譯的字數
分塊最大字數 5000 chunk_max_words 每個分塊的最大字數

模式

模式 旗標 步驟 適用時機
Quick --mode quick Translate 短文、非正式內容、快速任務
Normal --mode normal(預設) Analyze → Translate 文章、部落格文章、一般內容
Refined --mode refined Analyze → Translate → Review → Polish 出版品質、重要文件

預設模式:Normal(可在 EXTEND.md default_mode 設定中覆寫)。

風格預設集 — 控制翻譯的語意與風格基調(獨立於受眾):

設定值 說明 效果
storytelling 引人入勝的敘事流暢感(預設) 吸引讀者、轉折平滑、用詞生動
formal 專業、結構化 中立語氣、組織清晰、不使用口語
technical 精確、技術文件風格 簡潔、術語密集、極少修飾
literal 貼近原文結構 結構調整極少、保留原文句型
academic 學術、嚴謹 正式語調、允許複雜子句、注重引用
business 簡潔、結果導向 行動導向、適合高階主管閱讀、重點摘要邏輯
humorous 保留並在地化幽默感 機智、風趣,在目標語言中重現喜劇效果
conversational 輕鬆、口語化 親切、平易近人,如同向朋友解釋
elegant 文雅、精雕細琢的散文 具美感、富節奏感,精挑細選用字

亦接受自訂風格描述,例如 --style "poetic and lyrical"

自動偵測

  • 「快翻」、「quick」、「直接翻譯」→ quick 模式
  • 「精翻」、「refined」、「publication quality」、「proofread」→ refined 模式
  • 其他情況 → 預設模式 (normal)

升級提示:在 normal 模式完成後,顯示:

翻譯已儲存。如需進一步審閱與潤飾,請回覆「繼續潤色」或「refine」。

若使用者回應,對現有輸出繼續執行審閱 → 潤飾步驟(與 refined-workflow.md 中 refined 模式步驟 4-6 相同)。

受眾預設集

設定值 說明 效果
general 一般讀者(預設) 通俗語言,針對專業術語提供更多譯者註解
technical 開發人員/工程師 對常見技術術語減少註解
academic 研究人員/學者 正式語調、精確術語
business 商務專業人士 商業友好語氣、解釋技術概念

亦接受自訂受眾描述,例如 --audience "AI感兴趣的普通读者"

工作流程

步驟 1:載入偏好設定

1.1 檢查 EXTEND.md(參見上方的偏好設定章節)

1.2 若有該語言對的內建術語表,請進行載入:

1.3 合併術語表:EXTEND.md glossary(內嵌)+ EXTEND.md glossary_files(外部檔案,路徑相對於 EXTEND.md 位置)+ 內建術語表 + --glossary 檔案(CLI 旗標覆寫所有項目)

步驟 2:實體化來源並建立輸出目錄

實體化來源(檔案保持原樣,內嵌文字/URL → 儲存至 translate/{slug}.md),然後建立輸出目錄:{source-dir}/{source-basename}-{target-lang}/。若未指定 --from,請偵測來源語言。

完整細節:references/workflow-mechanics.md

輸出目錄內容(所有中間檔案與最終檔案皆存於此):

檔案 模式 說明
translation.md 所有 最終翻譯結果(固定以此命名)
01-analysis.md Normal, Refined 內容分析(領域、語氣、術語)
02-prompt.md Normal, Refined 組合後的翻譯 Prompt
03-draft.md Refined 審閱前的初稿
04-critique.md Refined 批評審閱發現(僅診斷)
05-revision.md Refined 依據審閱意見修訂後的翻譯
chunks/ Chunked 來源分塊 + 翻譯分塊

步驟 3:評估內容長度

Quick 模式不進行分塊 — 無論長度如何皆直接翻譯。翻譯前先預估字數。若內容超出分塊門檻(預設 4000 字),主動警告:「這篇文章約為 ~{N} 字。Quick 模式會單次全篇翻譯而不分塊 — 對於長篇內容,使用 --mode normal 能在術語一致性上獲得更好的效果。」若使用者未切換模式,則繼續執行。

對於 normal 與 refined 模式:

內容 動作
< 分塊門檻 作為單一單元進行翻譯
>= 分塊門檻 進行分塊翻譯(參見步驟 3.1)

3.1 長篇內容準備作業(僅限 normal/refined 模式且 >= 分塊門檻)

在翻譯分塊之前:

  1. 擷取術語:掃描整份文件以找出專有名詞、技術術語與重複出現的短語
  2. 建立工作階段術語表:將擷取的術語與已載入的術語表合併,建立一致的翻譯標準
  3. 拆分為區塊:使用 ${BUN_X} {baseDir}/scripts/main.ts <file> [--max-words <chunk_max_words>] [--output-dir <output-dir>]
    • 解析 Markdown 區塊(標題、段落、清單、程式碼區塊、表格等)
    • 在 Markdown 區塊邊界處切分以保留結構
    • 若單一區塊超出門檻,退回至按行切分,再按字切分
  4. 組合翻譯 Prompt
    • 主 Agent 讀取 01-analysis.md(若存在),並使用 references/subagent-prompt-template.md 的第 1 部分組合共享上下文 — 內嵌:目標風格、內容背景、合併後的術語表以及翻譯難點
    • 在輸出目錄中儲存為 02-prompt.md(僅含共享上下文,不含任務指示)
  5. 透過子 Agent 撰寫初稿(若 Agent 工具可用):
    • 每個分塊衍生 (spawn) 一個子 Agent,全部平行處理(範本第 2 部分)
    • 每個子 Agent 讀取 02-prompt.md 以取得共享上下文,接收分塊位置資訊(第 N/M 個分塊 + 其在論述中所處位置的簡短上下文),翻譯其分塊,並儲存至 chunks/chunk-NN-draft.md
    • 一致性由共享的 02-prompt.md 擔保(包含術語表、比喻對映、理解難點、原文語調以及來自分析的翻譯難點)
    • 若無分塊(內容低於門檻):為整個來源檔案衍生一個子 Agent
    • 若 Agent 工具不可用,請在行內使用 02-prompt.md 依序翻譯各個分塊
  6. 合併:所有子 Agent 完成後,依序合併已翻譯的分塊。若 chunks/frontmatter.md 存在,請置於開頭。儲存為 03-draft.md(refined 模式)或 translation.md(normal 模式)
  7. 所有中間檔案(來源分塊 + 翻譯分塊)皆保留於 chunks/

分塊初稿合併後,將控制權交回主 Agent 進行批判性審閱、修訂與潤飾(步驟 4)。

步驟 4:翻譯與精修

翻譯原則(適用於所有模式):

  • 重寫而非直譯:將內容重寫為自然、吸引人的目標語言,宛如由精通目標語言的母語作者從頭創作。品質檢驗標準:「讀起來是否像是原本就用目標語言寫成的?」
  • 準確第一:事實、資料與邏輯必須與原文完全吻合
  • 自然流暢:使用地道的目標語言語序。將原文長句拆分為較短、自然的句子。依據背後涵義解讀隱喻與成語,而非逐字硬翻譯
  • 術語一致:一致地使用標準譯名。專有名詞首次出現時:在括號內附註原文
  • 保留格式:保留所有 Markdown 格式(標題、粗體、斜體、圖片、連結、程式碼區塊)
  • 主動解讀:對於目標受眾可能缺乏背景知識的術語或概念,在粗體括號中新增簡明解釋 `(**