Splync 應該支援哪些語言
Splync 剛推出時,只支援英文,儘管這個部落格已用 42 種語言發布。我的母語是日語,甚至有官方資格證明我能教日語,因為我通過了日本教育交流協會的日語教學能力測驗。然而,現今英語似乎是全球最通用的語言,因此我以英語發布了 Splync 的第一個版本作為 MVP(最小可行產品)。我觀察到許多日本人不太習慣使用英語,因此加入日語支援對我來說是非常自然的選擇。此外,我也加入了法語,這是我在日本海外協力隊中參加盧旺達的水資源與衛生工作時用來與當地長者交流的語言。最後,我加入了我能稍微看懂的簡體中文,單純是想看看不同書寫系統下應用程式的樣貌。
從單語到四語
Splync v1.3 支援四種語言:英文、日文、法文和簡體中文。在擴展 Splync 的語言支援時,我希望做到最好而不增加不必要的複雜性。我追求的是每種語言的影響力,而非數量。英文自然涵蓋最廣泛的國際受眾。日文是我的母語,並且在共享預算應用程式仍在興起的日本市場中有著重要地位。法語則能拓展到多個大陸,不僅僅是法國,還有非洲、加拿大和歐洲部分地區。最後,簡體中文讓我們接觸到全球最大線上社群之一。這四種語言為北美、歐洲、亞洲和非洲提供了均衡的全球覆蓋,對於獨立開發者來說也易於維護。從成本效益的角度來看,這是目前效率最高的多語言設置。由於這是我首次進行應用程式本地化,整個過程對我來說是一個珍貴的實驗。
如何透過鍵值進行應用程式本地化
在 Splync 中,我使用 Apple 內建的本地化框架,為每種支援語言創建 .strings 檔案,將所有面向用戶的文字以結構化格式儲存。每段文字都由一個鍵值識別,例如“sign_up_button”,並在每個 .strings 檔中分別給予語言特定的短語。在英文中,這可能是“Sign Up”,而其他檔案則包含相應的翻譯。通過這種方式,每個 .strings 檔就像一個平行語料庫,由共享鍵值統一。這些鍵值根據用戶選擇的語言動態控制應用程式 UI 中顯示的所有文字。雖然這個機制本身相對簡單,但要維持高品質的翻譯是個更複雜的挑戰。當然,我不像 C-3PO 那樣會講那麼多語言!
一起改善翻譯品質吧
在這個版本中,我使用 ChatGPT-4o 來翻譯所有鍵值文字,並儘可能進行手動審核。作為一名獨立開發者,我計畫進一步使用 Python 和 OpenAI API 自動化翻譯工作流程,就像我為這個部落格所做的一樣。本地化既是語言上的也是技術上的挑戰。一個好的翻譯不僅僅是字面上的,還需考慮語氣、措辭和文化細微差異。我之前在一家全球學術翻譯和編輯公司工作,這讓我深知人工審核在把握 AI 可能遺漏的深層背景和意圖上的價值。UI 的限制也是一個因素——有時翻譯後的短語並不適合放在按鈕或標籤上。因此,本地化不僅關乎語言,也關乎版面設計。通過不斷試錯,我會持續改善 Splync 的多語言體驗,使其更自然、穩定且具可擴展性。這趟旅程不僅僅是關於程式碼或提示——我很想加入用戶的反饋,以進一步提升品質。如果你發現任何不自然或尷尬的翻譯,請隨時告訴我。你的意見總是受歡迎的。
Splync 是以社群為基礎的
我曾在全球公司擔任客戶體驗經理,了解到傾聽用戶的重要性。這就是我想支援更多語言的原因之一——讓 Splync 能夠理解並隨著更多聲音成長。同時,優質的服務和產品必須保護用戶社群的共同利益。一個人可能這樣說,另一個人可能那樣說。有些需求可以通過客製化解決,其他則可能需要妥協。最終,我們的前進方向必須與核心願景一致。如我之前所說:Splync 是以願景為導向、以用戶為中心,並以社群為基礎。我希望我們能夠共同成長——讓 Splync 成為最簡單的預算應用程式,讓生活更愉快。