不知道該不該 po 在這 ...
這是我想辦法要弄出 debian reference 的中文過程,
雖然中文翻譯本身還在進行,是算是一個研究的經驗,分享一下。也算是我的備忘吧
其文件的是用 DebianDoc-sgml 來寫的
過程參考
http://qref.sourceforge.net/
http://www.wctang.idv.tw/~wctang/wiki.p ... nReference
首先,用 cvs 拿到目前最新的版本。
cvs -d :pserver:anonymous@cvs.qref.sourceforge.net:/cvsroot/qref login
cvs -z3 -d :pserver:anonymous@cvs.qref.sourceforge.net:/cvsroot/qref co qref
然後,如果用
cd qref; make html
的話,就可以做出所有語言的 html 檔。目前有 en fr it es de pt-br pl
如果要加入 zh 的部分,直覺先把 en 的 copy 一份下來。
copy -R en zh
然後,在 Makefile 中加入 zh 的語言. 我是去掉其他的,只留下 zh
LANGS1 := zh
再 make html,發現有問題,不能進行。仔細找找他的 error 所指,發現是他在處理
各國時間的不同的時候,自已寫的一個可以輸出各國時間的程式,真是不好,只好改一下…
bin/getdocdate 加上 zh 的部分。
然後,再 make,又有問題。現在出在 debianDoc 不知道 zh 是啥(也就是不知道 zh 的 charset 是啥)
所以,把國碼換成 zh_TW,把上面再做一次,又有問題,現在是 DebianDoc 知道 zh_TW ,但是在
其中途輸出的中間檔時,會有一段不允許使用底線的(因為 xml 的規定的問題)。
好,兩難了,國碼要用什麼,我也不知道。先看看為什麼 debiandoc 為什麼不認識 zh(為什麼它認識
其他的?),找到了在 /usr/share/perl5/DebianDoc_SGML/Locale 中有個 Alias.pm,其中有
各種國碼和 charset 的轉換。有 zh_CN,zh_CN.GB2312, zh_HK, zh_HK.Big5, zh_TW, zh_TW.Big5
,就是沒有 zh,好吧,看來最簡單的方法就是加上 zh的規則了。
'zh'=> 'zh_TW.Big5'
再 make html,成功了。可以開始翻譯了。
感想:
為什麼要寫這個,首先是,DebianDoc 其中居然要用到 perl,而不是純粹用 SGML 來轉換。
這我覺得不是很好的行為。可見想要簡化寫作要是有代價的(像這種的東西很難在 windows 下做的,雖
然不是不可能,可是大概在 windows 沒人會特地寫個 debiandoc parser)。
再來, zh 代表的是誰(哪個 charset),這個又是個大問題,(可能是無法解決的問題)。
所以 debiandoc 不轉換也不怪他,因為沒人可以決定。其他的國家就算有不同的地區,至少也有個
預設的一個編碼,也就是說,雖然有 ja, ja_JP, ko, ko_KR,可是編碼是相同的,不像我們,國碼
是 zh,可是編碼還是不知道,因為兩邊的碼相差很大,要分只好 zh_TW, zh_CN, zh_HK...
可是很多地方,外國人只用兩個字的國碼,問題就出現了。
這個問題,我看過有出現 tw 國碼的,不過是非標準就是了,不過算是一種解法。
另一個解法,使用 utf-8,不過寫 debian reference 雖然是個日本人,可是居然不淮別人用 utf-8,他
好像把 utf-8 當內碼了,又是一個問題。
一點經驗分享,加上一點牢騷,謝謝收看…:)