自由軟體開發與社群發展
講者:FrankLin
Topic 1.自由軟體的國際化與在地化
- 國際化與在地化
而除了訊息,還可能會涉及當地的觀念,像是:
- 數字表示法
- 年份的表示法
- 日期的表示法
- 金錢的表示法
- 度量衡系統
而現在,為了在同款軟體賣給不同國家時不大量修改,軟體公司提出簡單多國語言化概念。
原始程式→將訊息抽取出來,編索引,存成一個檔案→將該檔的內容翻成不同語言
(原始程式在設計時就該有能檢視索引的機制)
因為訊息已經抽出來了,所以只要針對訊息獨立處理,不必修改原始程式。
Linux 上的中文化始祖 - CLE
Chinese Linux Extension - Linux 中文延伸套件
延伸:修改程式內容,重新編譯打包,以加入中文支援
CLE團隊也知道,光是修改打包只治標而不治本,因此積極與原始Linux團隊合作,期望加入國際化軟體的架構。
包刮 Linux , glibc , QT, KDE ,Gnome......都從收過CLE團隊的修改。
所謂國際化,即是將軟體與特定地區及語言脫鉤的過程,當移植時,不必做內部工程上的大量改變或修正。而在地化便是延續國際化的架構,建立某個地區文化的資料庫,填入該地區文化的資料,供程式在執行期呈現。
關於自由軟體的國際化,主要是靠著Gettext這套軟體進行,Gettext只是套工具,他利用對訊息的包裝,可以將訊息抽取出來集中在一個 .pot 檔,翻譯者只需要拿pot翻譯成不同語言,並各別存成po檔即可,而開發者會將po檔編索引成為mo檔。
po檔分為檔頭與條目:
所謂國際化,即是將軟體與特定地區及語言脫鉤的過程,當移植時,不必做內部工程上的大量改變或修正。而在地化便是延續國際化的架構,建立某個地區文化的資料庫,填入該地區文化的資料,供程式在執行期呈現。
Gettext
po檔分為檔頭與條目:
- 檔頭存放的是po檔與其相對的pot檔的相關資訊,包括產生時間、最後翻譯者,還有複數型的定義 (plural - form)。
- 條目則分為旗標與註解(區別相同訊息但不同意義,e.g: left : leave過去式? 左? )
翻譯工具簡介
- 翻譯資料庫
- Lokalize
- Poedit
- Launchpad、pootle、transifex、tryneeds等線上共筆的翻譯平台
Ezgo打包技術初窺探
- What is ezgo
- 能夠讓從未接觸過OSS的人,接觸OSS並使用它 → 推廣
- 推廣
- 目標客群:從未用過OSS的人
- Ezgo該有哪些特色?
- 選單
- 操作設計上貼近Windows思維
- 從技術面而言
- 屬於客製化的distribution
- 有自己的品牌,卻不是一個獨立的distribution
- Dirty hack產生的問題
- 沒有組織,東西太零散
- 版本一多不易管理
- 不符合Debian規範,無法上傳
- 目前的做法
- 儘可能遵循標準機制,並自動化
- 儘可能採用外加設定檔的方式,不覆蓋現有檔案
- Debian - ezgo
- Debian:套件的老祖宗
- 遵循Debian規範,將常用重複的檔案與設定等等包裝成deb檔
沒有留言:
張貼留言