Apple 已提供 Xcode 27.2 Beta 的發布說明,但 Beta 不代表所有穩定版都已有相同功能或選單位置。查看 Xcode 27.2 發布說明
症狀: SwiftUI 頁面文字寫在程式碼裡,切換語言時不知從何下手。
最快解法: 優先用 Xcode 的 String Catalog 管理介面文字,不要手動拼接兩種語言的句子;完成後切換語言,檢查長短文字與動態內容。實際建置與驗收要有可用的 Mac 和 Xcode,沒有本地設備時再評估遠端 Mac。
這篇適合你:剛開始用 SwiftUI 寫課程作品,想加入中文與英文介面。
已有文字散落在程式碼裡,想集中整理翻譯。
正準備交作業或小組作品,需要確認切換和交接流程。
最後更新於 2026-09-26;資料核對自 Apple 的 String Catalog 本地化文件、多語言支援文件及 Xcode 發布說明。版本功能與選單會變動,開始操作前請以你安裝版本的文件和介面為準。
iOS 27 App 中英雙語:先分清楚哪些文字要翻譯
String Catalog 可以集中管理 App 的可本地化文字,讓不同語言的內容對應到程式中的介面字串。Apple 的本地化與 String Catalog 說明介紹了相關工作方式;你不必先把專案所有圖片、資料和頁面翻完,先做好課程作品中一個完整頁面即可。
可以本地化的通常是使用者看得到的內容,例如頁面標題、按鈕名稱、表單提示和錯誤訊息。以下內容要分開處理:
- 介面文案:「開始練習」、「尚無紀錄」等,通常應提供對應語言。
- 使用者或產品資料:姓名、商品名稱等,是否翻譯取決於資料本身的需求,不能因為它是字串就自動改寫。
- 變數與除錯訊息:內部識別值、開發用紀錄通常不是介面文案,不應直接當成翻譯項目。
如果你正在建立第一個頁面,先列出畫面上每段固定文字,再檢查它是否真的要讓使用者看到。這樣比把程式裡每個字串都塞進翻譯目錄更容易驗收。
已有 SwiftUI 頁面的文字整理
假設你的課程頁面有標題、說明文字和按鈕,先逐項確認它們的用途。把使用者看得到的固定文案改成可本地化的寫法,再依 Apple 文件說明,透過 Xcode 的本地化流程整理文字。不同版本的編輯器和選單可能不同;不要把某個版本的選單路徑當成所有 Xcode 版本通用的規則。
Xcode 沒有把某段文字加入 String Catalog 時,依序檢查:
- 它是不是直接出現在介面上的文字,而不是變數、除錯資訊或外部資料?
- 目前寫法是否符合 Xcode 可擷取的本地化字串形式?
- 專案的本地化設定和目錄是否已更新,並在修改後重新建置或檢查?
- 這段文字是否來自動態組合、第三方內容或其他不會自動擷取的位置?
Apple 的應用程式文字翻譯準備文件可用來核對字串準備方式。自動擷取是整理工作的輔助,不是保證:目錄裡找不到的項目要追查來源,不能只靠重開編輯器判斷完成。
動態句子與數量內容
「歡迎,名字」這類畫面含有動態值;列表數量、剩餘項目或帶數字的提示,也會隨資料改變。若把一句話拆成多個翻譯片段,再於程式中手動串接,不同語言需要的語序可能不同,標點和空格也容易不自然。
比較穩妥的做法,是把整句當成一個有上下文的本地化內容,使用系統支援的格式呈現動態值或數量變化。Apple 的多語言 App 支援說明可協助你確認資源安排與語言支援的原則。不要自行假設每種語言都用相同的數量句型;翻譯完成後,要以實際資料測試完整句子。
小組翻譯與語言交接
小組作業常見的問題不是缺少翻譯,而是翻譯者不知道文字出現在哪個畫面、對誰說,或收到的檔案沒有正確匯回專案。交接前先整理每個待翻譯項目的畫面位置、使用情境和必要限制,例如按鈕字數不宜過長、錯誤訊息要說明下一步。
Apple 提供本地化資料的匯出流程,方便交由翻譯者處理;可參考匯出本地化內容的官方說明。匯出或匯入完成後,仍要在專案中確認語言與內容有正確對應。機器翻譯可以協助起草,但不等於人工檢查:尤其是課程專有名詞、操作指示和語氣,最好由熟悉內容的人校對。
沒有本地 Mac 時的練習分流
SwiftUI 本地化有一部分可以先在任何可用電腦上規劃:列介面文字、補翻譯上下文、確認兩種語言的內容是否一致。但要用 Xcode 建置並執行 App、查看實際排版,就需要符合要求的 Mac 環境。Apple 的 Xcode 系統需求會隨版本調整,安裝前應核對你打算使用的 Xcode 版本。
按課程要求選路線:
- 若作業只要提交文案清單或翻譯規劃,先完成非平台專屬部分,並詢問老師是否需要實際執行畫面。
- 若要求提交可執行的 SwiftUI 專案或切換語言的截圖,借用符合課程要求的 Mac,再按作業期限安排測試。
- 若校園設備無法安裝或使用 Xcode,但課程必須建置,評估遠端 Mac;先確認連線方式、檔案交接和課程政策。
- 若沒有明確的 iOS 專案需求,不必為了練習一般程式概念立即租用 Mac;可先完成跨平台的文字設計與資料整理。
Windows 可以用來整理翻譯表與課程筆記,但不能取代 Xcode 的 iOS 建置及實際介面驗收。你也可以先看沒有 Mac 學 iOS 開發的可行路線,依課程要求分辨哪些工作可先做、哪些必須在 Mac 上完成。若要比較雲端 Mac 的使用方式,可參考遠端 Mac 環境選擇。
中段常見問題
SwiftUI 本地化是否等於整個 App 都要翻譯?
不必。先選一個課程頁面,整理使用者可見的固定文字,再驗收語言切換。未使用的畫面、外部資料和圖片資源可按專案需求分批處理。
String Catalog 有翻譯內容,是否就代表完成?
不是。目錄只能說明資源已整理,不能證明執行結果沒有截斷、文字語序自然或動態內容正確。要切換語言並查看實際畫面。
翻譯檔交接後,還需要在 Xcode 檢查嗎?
需要。匯入後確認翻譯對應到正確語言與字串,並執行 App 檢查畫面。檔案成功交接不等於功能驗收通過。
提交前的語言與畫面驗收
依 Apple 的執行時本地化測試說明,在執行 App 時檢查本地化結果。以下清單適合用於課程頁面,不應只憑 String Catalog 檔案存在就打勾:
- 確認預設語言下,頁面標題、按鈕和提示都顯示預期文字。
- 切換到另一種語言,逐一查看同一組介面內容。
- 檢查較長的翻譯是否擠壓按鈕、超出容器或遮住其他內容。
- 讓動態值實際出現在句子中,確認前後文、標點與語序自然。
- 比對翻譯內容與畫面用途,確認沒有把內部資料或除錯訊息當成介面文字。
- 若由小組交接,確認匯入的內容在專案中可見,並保存實際執行畫面作為驗收紀錄。
兩條實作路線比較
| 路線 | 適合情況 | 優點 | 需要留意 |
|---|---|---|---|
| 先整理文案,再於 Mac 上建置 | 作業尚未要求即時執行,或目前只能使用非 Mac 電腦 | 可先完成字串盤點、翻譯上下文和小組分工 | 不能取代 Xcode 執行;提交前仍要安排 Mac 驗收 |
| 使用本地或遠端 Mac 完成 | 課程要求建置、切換語言或提交實際畫面 | 可在 Xcode 中整理目錄並檢查執行結果 | 先核對課程對 Xcode 環境、檔案保存和交接的要求 |
提交時的驗收項目
| 檢查項目 | 通過條件 | 未通過時先查 |
|---|---|---|
| 預設語言 | 主要畫面文字完整且語意正確 | 字串來源、目錄對應和專案語言設定 |
| 另一種語言 | 文字有翻譯,介面沒有明顯擠壓 | 翻譯內容長度與實際畫面 |
| 動態內容 | 值帶入後句子讀起來自然 | 是否把完整語意拆成多段拼接 |
| 小組交接 | 匯入後項目仍對應到正確語言 | 匯出、匯入流程與上下文說明 |
| 執行驗收 | 已查看 App 實際結果 | 不要只以資源檔存在當作完成證明 |
若你現在以 Windows 為主,直接用它完成 iOS 建置會遇到缺少 Xcode 與 macOS 執行環境的限制;學校電腦也可能不允許安裝所需工具,而自行維護另一套環境會增加交接與排錯工作。若課程確實要求你建置和切換語言,短期使用遠端 Mac 可以讓你在 Mac 與 Xcode 環境中完成驗收;你可先查看 MACCOME 遠端 Mac 方案,再按作業周期決定是否需要。若你需要長期、固定且高負載使用,或必須連接本地實體設備,則應先比較自有 Mac 與其他合適環境,不必為單次練習直接租用。