Netstamp 以英文作為來源語言,目前支援台灣繁體中文 zh-TW。如果只是協助翻譯,不需要先在本機設定程式碼儲存庫,也不需要 Crowdin API 權杖。
不需寫程式也能參與翻譯
- 開啟 Netstamp Crowdin 專案,登入或建立免費帳號。
- 選擇 Chinese Traditional (
zh-TW),再開啟要翻譯的檔案。你也可以用 Crowdin 的篩選器只顯示未翻譯或尚未核准的字串。 - 選取字串後,先閱讀英文原文、前後文、來源檔案路徑及其他譯者留下的留言。翻譯記憶庫提供的內容只能當作參考,請不要未經確認就直接採用。
- 在譯文欄輸入自然、完整的台灣繁體中文。可先搜尋專案中相同詞彙的既有譯法,讓用語保持一致。
- 儲存前先處理 Crowdin 顯示的品質檢查警告,特別留意變數、標籤、數字、標點與空白是否和原文相符。
- 如果英文原文有歧義,或正確譯法取決於產品實際行為,請在該字串下留言並標記維護者,不要自行猜測。
送出翻譯後,維護者會在 Crowdin 審閱與核准,再將譯文同步回程式碼儲存庫。翻譯貢獻者不需要 CROWDIN_PROJECT_ID、CROWDIN_PERSONAL_TOKEN,也不需要程式碼儲存庫的寫入權限。
哪些內容需要翻譯
請翻譯所有使用者會看到的文字,包括:
- 導覽、標題、說明、按鈕、表單標籤、輸入提示、工具提示、空白狀態、錯誤訊息與無障礙標籤;
- 說明文件標題、frontmatter 中的
description、段落、清單、提示框文字與連結文字; - 在地化後的頁面標題、中繼資料與圖片替代文字。
請使用台灣慣用語,例如「設定」、「檔案」、「連線」、「使用者」、「資訊」、「程式碼」與「伺服器」,不要套用中國大陸用語或逐詞硬翻。
Netstamp 的產品用語也應前後一致。例如 Probe 在一般說明中譯為「探測器」、Controller 譯為「控制器」、check 譯為「檢查」、assignment 譯為「指派」,token 則依情境譯為「權杖」。程式碼中的型別、欄位或元件名稱仍須保留原文。
哪些內容必須原樣保留
除非英文來源明確提供在地化名稱,以下內容都應保持原樣:
Netstamp、API 名稱、通訊協定名稱,以及HTTP、TLS、DNS、ICMP、OpenAPI等技術識別名稱;- 程式碼區塊、行內程式碼、命令、檔案路徑、URL、電子郵件地址、JSON key 與環境變數名稱;
{{name}}這類插值變數、複數後綴、預留位置、MDX import、元件標籤與 frontmatter 結構;- 標題錨點與連結目的地。
Crowdin 翻譯者的工作流程
Crowdin 會從下列路徑上傳英文來源:
web/src/i18n/locales/en/*.json
docs/src/i18n/locales/en/ui.json
docs/src/content/docs/en/**/*.mdx翻譯完成後,Crowdin 會將輸出寫到對應的 zh-TW 路徑。除非同一項修正已經先在 Crowdin 完成,否則不要只修改 Crowdin 管理的 zh-TW 檔案並送出 pull request;下一次下載譯文時,這類本機修改可能會被覆寫。
新的英文文字在等待翻譯期間,可能會因英文備援機制而暫時出現在其他語言的畫面。這是預期行為,不需要因此擋下內容正確的英文來源 pull request。
開發者與維護者:新增來源文字
開發者新增使用者看得到的文字時,應依序完成:
- 在合適的英文命名空間新增語意清楚的 key,不要直接把整句英文當作 key。
- 使用既有的 i18n 輔助函式或
useTranslation("namespace");React 的結構化內容請使用<Trans>。 - 英文說明文件一律放在
docs/src/content/docs/en/下,並保留程式碼、import、元件標籤、標題錨點與檔案路徑。 - 執行本地化驗證與受影響的測試。
- 只把英文來源上傳至 Crowdin;不可把
zh-TW當成來源語言上傳。
pnpm check:i18n
pnpm test:i18n
pnpm test:web
pnpm test:docs:i18n具備 Crowdin 憑證的維護者可使用下列指令同步檔案:
pnpm crowdin:upload
pnpm crowdin:download
pnpm check:i18n憑證應設定在 shell、本機且已被忽略的 .env,或 CI 的機密儲存空間。絕對不要提交 Crowdin API 權杖或任何已填入憑證的檔案。
審閱與疑難排解
翻譯發布前,請確認 Crowdin 的品質檢查沒有尚未處理的變數或標籤不一致問題、在地化路由可以順利建置、內部連結會留在使用者選擇的語言,而且程式碼範例完全沒有改變。因台灣用語造成的標點或大小寫警告,可以在人工確認後略過;缺少預留位置、標籤、數字或程式碼則一定要修正。
語系架構、新增語言、檔案管理權責與 CLI 疑難排解,請參閱程式碼儲存庫中的本地化維護指南。