[課堂演講]ezgo之開發、中文化及社群參與
日期:2014/11/14
講者:Franklin
Outline
- 自由軟體的國際化和在地化
- 要推廣需要中文化
- Ezgo打包技術初窺探
About Frank
- 大一開始玩Linux
- 研究所意頭栽入Linux與自由軟體
- 曾經是上市公司RD(Research & Development)
國際化與在地化
- 過去的軟體遊戲程式要能顯示中文必須處理很多事情
- 訊息的修改
- 字型的處理
- 編碼的問題
- 除了訊息之外,還可能有什麼問題?
- 數字的表示法: 1.000 or 1,000?
- 德國(1000/1)
- 台灣(1/1000)
- 年份的表示法: 西元年,民國年、泰曆、日本曆
- 日期的表示法: mm/dd/yy yyyy/mm/dd
- 金錢的表示法
- 度量衡系統:公制、英制
- 如果要賣一套軟體給不同國家,非得這麼麻煩?
- 每個國家適用的軟體,訊息都要改一遍再重新編譯
- 字形怎麼顯示?
- 數字呢?日期呢?
- 簡單的多國語言化概念
Linux 上的中文化始祖 - CLE
- Chinese Linux Extwnsion -Linux中文延伸套件計畫
- 「延伸」→ 修改程式內容,加入中文支援,重新編譯打包
- 類似十幾年前的ezgo
- CLE的開發團隊知道,不能光是修改打包 → 因此積極與原始程式的開發團隊合作,加入國際化的架構
- 包括Linux、glibc、Qt 、GTK+、 KDE、 Gnome等大型計劃都曾收過CLE開發團隊的修改
國際化:Internationalization
簡單的說:將程式中跟語言、文化、區域環境相關的部分獨立出來,放在「區域環境資料庫」(locale)。在執行時期才依使用者所選擇的區域環境選取
在地化:Localization, l10n
根據國際化所定下來的架構,建立專屬於某個地區、文化的資料庫,填入該地區、文化的資料工程是在執行期呈現- 在地化的內容:
- 語言、文字翻譯
- 特定語言支援(左至右、右至左)
- 符號、數字、度量衡系統
- 排序方法
自由軟體的國際化-Gettext
- Sun Microsystems所開發,後來GNU project 在1995年釋出了GNU Gettext
- 利用對訊息的包裝,將訊息抽取出來集中在一個檔
- 取出來的原始訊息檔稱為 pot(template)檔
- 拿pot檔把裡面的訊息翻譯成不同的語言,每個語言存成一個po檔
- po檔需要再編譯一次,開發者將po檔案編索引成mo檔
PO檔裡面分為:檔頭與條目兩部分
- 檔頭
存放的是這個PO檔與其相對應的POT檔的相關資訊,包括產生時間、最後翻譯者等等,還有一個很重要的資訊"複數形的定義"(plural-forms)
- 條目
- 旗標Flag
- 註解comment(重要!!)
- 區分相同訊息但不同意義
- Ex: (left: 左邊/剩下)
- 旗標Flag
- 註解comment(重要!!)
- 區分相同訊息但不同意義
- Ex: (left: 左邊/剩下)
自由軟體中文化需要哪些工具?
- 文字編輯器
- 簡單的英翻中概念
- 耐心、恆心、熱忱
翻譯工具介紹
- 任何文字編譯器
- Poedit、Lokalize軟體
- 翻譯資料庫
- Launchpad、pootle、transifex、tryneeds等線上共筆翻譯平台
- 提交上游的問題
Ezgo打包技術初窺探
從推廣面來說
- 目標客群:沒有用過自由軟體的人
- 特色思考
從技術面來說
- 客製化的distribution
- 有自己的品牌,但不是一個獨立的distribution
- 過去的做法,手動Dirty hack!
- 手動調整選單,再把家目錄裡的設定存起來
- 找到桌布檔案,做一個新的,再用原來的檔名覆蓋
- Dirty hack的問題?
- 改過的東西太過零散,容易忘東忘西
- 版本一多不易管理
- 不符合Debian規範,無法上傳
- 每年都要重新來過
- 目前的做法
- 盡可能遵循標準機制,並進行自動化:例如選單
- 盡可能採用外加設定檔的方式,不覆蓋現有的檔案
- 做成package:deb, rpm...
Debian-ezgo
- Debian Pure Blends
- 遵循Debian規範,將常用重複的檔案與設定等等包裝成deb檔
- 目前包括
- ezgo-artwork, ezgo,-kde, ezgo-xfce. ...etc
- ezgo-menu
- ezgo-education,...etc
Ezgo調校重點
- 選單
- 桌布
- 每一種桌面系統都有不同的方式抓取桌布
- 除了桌布之外還有哪些?
- 開機Grub選單背景
- 開關機過程動畫
- 登入選單背景畫面
- 檔案系統
- iso檔解開在包回去的技術
- 軟體
- 使用者體驗
- 軟體的預設設定/etc/skel
- 快捷鍵設定:依據不同的桌面系統
- 每一種桌面系統都有不同的方式抓取桌布
- 除了桌布之外還有哪些?
- 開機Grub選單背景
- 開關機過程動畫
- 登入選單背景畫面
- iso檔解開在包回去的技術
- 軟體的預設設定/etc/skel
- 快捷鍵設定:依據不同的桌面系統
Ezgo調校過程
(Lab) 12/5 歡迎參與測試 Ezgo
圖片來源:將演講內容以小畫家簡易描繪
沒有留言:
張貼留言