COSCUP x UbuCon Asia 2026 Logo
  • About
  • Session
  • Transportation
  • Venue
  • Communities
  • Sponsors
    • Participate Guide
    • First Timer
    • Activity
    • Speaker Participation
    • Welcome Party
    • For Overseas Visitors
    • Open Source Communities
    • Sponsorship Partners
    • Invitation Letter Guide
  • Staff
  • Fringe Events / BoF
  • Blog
  • CoC
中文

用社群的力量打造服務所有人的 App:翻譯平台整合撞牆談

Time
2026-08-08 11:10 ~ 11:40
Speaker
Riley, Bradly
Room
TR409-2
Co-write
https://hackmd.io/S11407l8zg
Feedback
https://coscup.org/2026-feedback/?session=WRT7WL
Slide
https://docs.google.com/presentation/d/1u_PPei6s-XAmvk6tYSRh2Atp58ExwKxe-m16p7nLpq4/edit?usp=sharing
Taiwan L10N within FLOSS projects ElementaryMandarin

Abstract

我和北科程式設計研究社的伙伴利用課餘(以及偶爾的上課時間)維護一款 GPLv3 授權的校園軟體 Tattoo,協助北科大學生查課表、看成績、處理校務系統。專案從 zh-TW 與 en-US 雙語起步,英文由社團成員人工翻譯;後來為了服務校內多數來自非英語系國家的外籍生,又逐步擴充到我們自己不熟的語言,採用「LLM 出初稿、再透過翻譯平臺交給該語系學生修正」的流程。半年下來繞了不少遠路,這場分享想把走過的路攤開,給做小型自由軟體本地化的開發者一份參考。

一開始談翻譯協作平臺。為了上述的多語流程,我先後試過 Weblate 和 Crowdin,最後兩個都關掉了。一方面是同步機制本身彆扭:譯者在平臺上的修改會被 bot 一筆筆推回 GitHub,被「New translations zh-tw.i18n.yaml」這類 commit 淹沒主線。另一方面是兩個平臺接 GitHub 的權限模型:為了一個專案的翻譯,卻得授權整個組織的管理權限,這個取捨很難說服自己。最後我們只能暫時關閉同步,並重新思考要怎麼讓非開發者的譯者貢獻。

我們還會介紹 Flutter 上的選擇。Flutter 生態有幾套常見的 i18n 套件,我們最後選了對譯者與審查者格式友善的 slang。框架本身不是這場的重點,只會用幾分鐘帶過技術選型的過程。

接下來我們會討論翻譯檔的儲存格式。從 ARB (JSON-based) 看到 JSON、YAML,討論為什麼落腳在 YAML:人類可讀、可註解、多行字串友善、不被尾逗號搞死。當然 YAML 並非完美方案:行尾多餘空格、長字串折行語意、保留字與特殊字元的 escaping 都會偶爾造成問題,這些經驗一併分享。

最後是漢英對譯實戰陷阱:以漢語為母語的開發者很容易忘了其他語系有單複數、時態等語法分支——當你直覺地把字串寫好後,等到 en-US 要區分 one/other 時,就得回頭重寫整個結構,整個 App 一起改。我會以「密碼將於 N 天後過期」為例,示範從第一天就該怎麼設計翻譯鍵。同場加映 CJK 與英數字之間的空格該不該寫進原始字串、教室名稱與專有名詞的雙語對應策略,以及校務系統回傳混雜中英資料時,如何用一個小小的 localized(zh, en) helper 處理。

希望這 30 分鐘能讓做 Flutter App 或其他軟體的朋友,少踩幾個我們踩過的坑。

Speaker

Riley

Riley

北科電子系延畢生,在程式設計研究社待了幾年,目前負責開發頗受歡迎的校園 App《TAT》。從2023開始參加 COSCUP,隔年加入資訊組,負責了2024-2026的網站開發,現任副組長。最常接觸 Nuxt 等 TypeScript 技術,或是用 Go 寫一些小廢物。

Bradly

Bradly

北科大程式設計研究社前社長、開源專案「Tattoo」核心開發者 剛從國立臺北科技大學資工系畢業,曾於國家高速網路與計算中心擔任網路與資安實習生。目前致力於推動現代化校園開源應用程式「Tattoo」的開發與維護。平時也是名重度 Home lab 玩家,熱衷於鑽研進階網路工程、虛擬化架構以及行動應用開發。

Diamond

Cumulative4 YrsCanonical

Gold

Consecutive2 YrsInformation Management AssociationConsecutive2 YrsCathay Financial HoldingsConsecutive5 YrsE.SUN BankCumulative13 YrsMySQLCumulative6 YrsBerry AINitra

Silver

Cumulative16 YrsGamesofa Inc.Cumulative3 YrsLinux Professional Institute

Bronze

Collaborator2 YrsKKTIXCumulative3 YrsNational Center for High-performance ComputingONLYOFFICECumulative6 YrsQNAP Systems, Inc.Consecutive16 YrsThe Archilife Research FoundationSUN SQUARE Co., LtdPenpeer

Friend

Consecutive3 YrsAndes Technology CorporationCumulative12 YrsAppierCumulative3 YrsGeode Labs & ETHTaipei

Special Thanks

Consecutive2 YrsDepartment of Information Technology, Taipei City GovernmentCollaborator3 YrsSiFive數位發展部Rozeta AIGrafana LabsLive YoungCollaborator5 YrsThree Wheel Nitro CoffeeCollaborator9 YrsHackmdCollaborator4 Yrs天瓏書局Collaborator3 YrsTapPayIndividual-Sponsorship

Co-host

Collaborator9 YrsNTUST - Department of Electronic and Computer Engineering

Co-organizer

Collaborator12 YrsOpen Culture Foundation

COSCUP x UbuCon Asia 2026

Conference for Open Source Coders, Users, and Promoters | Asia's largest open source community conference.

Contact

  • Attendee Services
  • Sponsorship
  • Call for Proposals
  • Marketing

Resources

  • COSCUP Blog
  • Newsletter Subscription
  • Event Photos

Sitemap

  • Home
  • About
  • Transportation
20062007200820092010201120122013201420152016201720182019202020212022202320242025