Skip to content

Navigation Menu

Sign in
Sign up

feat: ip-governance-ai 英文版(整頁翻譯) - #286

Merged
matt-ye merged 1 commit into
main from
feat/ip-governance-ai-en
Sep 7, 2026
Merged

feat: ip-governance-ai 英文版(整頁翻譯) #286
matt-ye merged 1 commit into
main from
feat/ip-governance-ai-en

Conversation

@matt-ye

@matt-ye matt-ye commented Sep 7, 2026

Copy link
Copy Markdown
Owner

做了什麼

/projects/one-more-step/ip-governance-ai/ 是 one-more-step 底下最後一個沒有英文版的頁。和先前那 12 篇不同 —— 它一個英文字都沒有,約 4,600 個中文字全部需要翻譯。

新增 /en/projects/one-more-step/ip-governance-ai/

怎麼做的

遷移方式沿用 symbolic-reminder.astro:檔案移到 [...lang]/ 下,用 t(zh, en) 依網址決定語言,兩個網址各自渲染單一語言。

HTML 結構一字未動,只把文字換成 t()。這頁自帶 240 行 CSS 變數與斷點,把內容抽成資料結構再重排版的風險遠大於收益;保留結構也讓 diff 逐行看得出中英對照。scriptstyle 區塊(原第 647 行之後)原樣保留。

翻譯上的三個決定

  1. 術語走通用英文:trade secret、work-for-hire assignment、freedom to operate、background/foreground IP...;縮寫原樣保留(TIPS、DTSA、PCT、WIPO、CHIPS Act、EU AI Act)。
  2. 人名、刊名、公司中文名保留原文並標 lang="zh-TW" —— 《全國律師》與「安卓樂資本」查不到官方英文名,音譯過去等於自己發明一個譯名,引用來源寫錯比留著原文糟。這與 hello-world 英文版保留人名的處理一致。
  3. 測驗題的 onclick 屬性沒有動 —— 頁內 script 靠 getAttribute('onclick') 比對 ,true) 找出正解,改了會讓答錯時不再標示正確選項。

驗證

build 出 dist 再掃,不是看原始碼推論:

檢查 結果
英文頁 <main> 可見中文 7 處,全部是刻意保留的專有名詞,且都包在 <span lang="zh-TW"> 裡(中文頁對照 358 處)
<html> lang="en"
canonical 指自己
hreflang 三向互指(zh-TW / en / x-default→中文)
JSON-LD inLanguage: en、headline 換成英文
返回連結 /en/projects/one-more-step/
樞紐頁 中英各自連到同語言的版本
verify-i18n-hreflang i18n verified: 66 localized page pair(s), hreflang reciprocal
verify-i18n-meta i18n meta verified: 66 page(s), no Chinese fallthrough
135 page(s) built

沒有動 data/page-manifest.json —— 那由 workflow 自己維護。

這個 PR 與 #285(marketing-foundations)都改到 src/lib/i18n.tsMIGRATED_PATHS,但加在不同區塊、不同行,先 merge 哪個都不會衝突。

🤖 Generated with Claude Code

這頁是 one-more-step 底下最後一個沒有英文版的,而且和先前那 12 篇不同——
它是真的一個英文字都沒有,約 4,600 個中文字全部需要翻譯。
遷移方式沿用 symbolic-reminder.astro:檔案移到 [...lang]/ 下,用
t(zh, en) 依網址決定語言,兩個網址各自渲染單一語言。
**HTML 結構一字未動**,只把文字換成 t()。這頁自帶 240 行 CSS 變數與斷點,
把內容抽成資料結構再重排版的風險遠大於收益;保留結構也讓 diff 逐行看得出
中英對照,好審。script 與 style 區塊(第 647 行之後)原樣保留。
翻譯處理:
- 法律與 IP 術語走通用英文(trade secret、work-for-hire assignment、
 freedom to operate、background/foreground IP...),縮寫原樣保留
 (TIPS、DTSA、PCT、WIPO、CHIPS Act、EU AI Act)
- ⚠ 人名、刊名與公司中文名保留原文並標 lang="zh-TW":《全國律師》與
 「安卓樂資本」查不到官方英文名,音譯過去等於自己發明一個譯名——
 引用來源寫錯比留著原文糟。這與 hello-world 英文版保留人名的處理一致
- 測驗題的 onclick 屬性沒有動:頁內 script 靠 getAttribute('onclick')
 比對 ',true)' 找出正解,改了會讓答錯時不再標示正確選項
驗證(build 出 dist 再掃,不是看原始碼推論):
- 英文頁 <main> 內可見中文 7 處,全部是上述刻意保留的專有名詞,
 且都包在 <span lang="zh-TW"> 裡(中文頁對照為 358 處)
- <html lang="en">、canonical 指自己、hreflang 三向互指、
 JSON-LD inLanguage 為 en、headline 換成英文
- 返回連結指向 /en/projects/one-more-step/,樞紐頁中英各自連到同語言的版本
- verify-i18n-hreflang 65 → 66 對且互指成立,verify-i18n-meta 66 頁無中文洩漏
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor

Deploying personal-website with Cloudflare Pages Cloudflare Pages

Latest commit: 6ac50a5
Status: ✅ Deploy successful!

View logs

matt-ye merged commit 6571df0 into main Sep 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /