2014年11月23日 星期日

201121

OpenStreetMap 開放街圖:
-2004年建立
-特色:開放授權、開放格式、各種地理資料庫、也可以當作其他地圖的底圖。
-繪圖者:Mapper(圖客)
-非官方,因此可以清楚畫出一些比較少人的地點。
-任何人都可以做更新,因此可能有破壞地圖的問題。
-要使用資料時,必須標明作者為 OpenStreetMap 及其貢獻者。
-應用範例:wheelmap.org。

心得:
經過了這次的課程之後,我有許多的感想。首先,我了解了建立一個地圖,是需要多少的人力以及時間,才能完成如此精細的地圖,再來,我們所在的家鄉至少住了十年,對於附近的景色,商店,我們卻只有模糊的印象。也讓我了解製作地圖不僅耗時,還需要對地方有一定的了解。最後,從製作地圖中,我也體會到地圖對我們的生活是多麼息息相關。舉凡向朋友介紹自己的家,要去某個地方遊玩,無一不需要地圖,因此,經過這堂課後,我對於地圖的製作這,有了更深的體會。


2014年11月21日 星期五

201114

自由軟體:自由軟體的國際化與在地化
1.舉例:遊戲的中文化/英文化遇到之問題:
解析度過低,字元難顯示。
數字表示法 ex:1.000 1,000
年分表示法
日期表示法 ex:mm/dd/yyyy yyyy/mm/dd
金錢表示法
常用度量衡表示法......
=>每個國家的軟體、訊息都要重改一變再重新編譯
=>簡單的機制開始發展

2.簡單的多國語言化
原始程式=>將訊息抽取出來,編索引後存成一個檔================================>原始訊息檔
=>    =>將檔案內容翻譯成不同語言 =>正體/簡體中文
修改訊息機制,參考翻譯後的檔,根據索引顯示相對訊息
ex:if[ $LANG == 'zh_TW.UTF-8'];=>語言索引、訊息
SELECT_ALBUM_TYPE="Kim - 選擇相簿型態"
....

else
SELECT_ALBUM_TYPE="Kim - select album type"
....

========================================================
if(config.lang==LANG_EN)
{
fp=fopen(LANG_EN_FILE,"r");=>索引
}
...

lang_en     lang_ch

name        姓名
age         年紀
...         ...


LINUX中文化使組 - CLE(Chinese Linux Extension-Linux中文延伸套件計畫)
==>修改程式內容。加入中文支援,重新編譯打包+積極與原始程式的開發團隊合作,加入國際化的架構
==>奠定LINUX國際化與在地化的基礎

3.國際化&在地化:
國際化:
將程式中跟語言、文化、區域環境相關部分獨立出來,放在區域環境資料庫(locale)。
在設計程式時不考慮對特定區域環境的支援細節,而是在執行時期才依使用者所選的區域環境找到不同資料庫。
在地化:
根據國際化所定下來的架構,建立專屬於某個地區、文化的資料庫,填入該地去、文化的資料
在地化內容包括:
語言、文字翻譯
特定語言支援(左起,右起)
符號、數字、度量衡
排序方法
自由軟體的國際化-Gettext
利用對訊息的包裝,將訊息抽取出來集中在一個檔。=>取出之原始訊息檔,稱為PO template(*.pot)
=>翻譯者只須拿pot檔,把訊息翻譯成不同語言,每個都存成一個po檔
po檔內容與格式:檔頭
po檔分為:檔頭與條目2部分
檔頭存放的是這個po檔與其相對應pot檔的相關資訊,包括產生時間、最後翻譯者、複數形的定義(最重要)
定義範例:
Plural-forms: nplurals=1;plural=0
Plural-forms: nplurals=2;plural=n !=1
po檔內容與格式:條目
-旗標
-註解:很重要!!!
區分相同訊息但不同意義
翻譯工具介紹:
文字編輯器
軟體:lokalize、poedit...
線上:launchpad、pootle、transifex、tryneeds...




ezgo打包技術:
ezgo:藉由ezgo,了解自由軟體
從推廣面來說:目標客群、特色思考
從技術面來說:
客製化的distribution:有自製品牌,但不是獨立的distribution
過去做法:手動dirty hack!:手動調整選單,再把家目錄設定存起來。找到桌布檔案,做一個新的,再用原來的檔名覆蓋......
問題:
改過的東西太過零散,容易遺忘
版本多不容易管理
不符合Debian規範,無法上傳
每年都要重新設定
目前作法:
盡可能遵循標準機制,並進行自動化
進可能採用外加設定的的方式
做成package
Debian-ezgo
Debian plus Blends
遵循debian規範,將常用重複的檔案與設定等包裝成deb檔

ezgo調校重點一:選單
XDG Menu Spec:Freedesktop.org
遵循規範產生Menu檔
Desktop檔格式
刷新選單:ezgomenu_database.csv
ezgo調校重點二:桌布
每一種桌面系統都有不同的方式抓取桌布
開關機過程動畫
登入選單背景畫面
開機Grub選單背景
ezgo調校重點三:檔案系統
iso檔解開再包回去的技術
ezgo調校重點四:軟體
ezgo調校重點五:使用者體驗

==========================================================================================================================================
心得:
在今天的課程中,我學到了許多在自由軟體的製作及國際化中,遇到的許多困難。例如:每個國家都有不同的文化、文法、環境,而工程師總是能想出最省力的方法完成這些事。也讓我了解我們手上許多經過翻譯的軟體,中間所經過的過程是多麼的艱辛。另外,ezgo的製作過程,也讓我了解如何管理不同版本的軟體,以及如何設計這些不同的介面。這些東西,也讓我了解我們常用的微軟系統,中間是經過多少的巧思,才有辦法做出能運作,且有設計感的軟體。

2014年11月2日 星期日