歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> “Linux中文化”,真正該警惕的是什麼?

“Linux中文化”,真正該警惕的是什麼?

日期:2017/2/27 12:21:15   编辑:Linux文化

藍點開發組 李凌 (11/27/1999)     近段時間,Linux漢化的問題備受關注,對此深圳藍點Linux開發組的李凌提出了不同的意見:

  近日為配合美國某Linux開發商的外掛中文linux升級版在中國的市場推廣,國內多家媒體紛紛發表了該公司某專家題為《警惕“LINUX內核漢化”帶來的誤導》的宣傳文章,該文章對國內Linux內核漢化技術的進行了攻擊。

  從技術創新和學術爭鳴的角度上,我們歡迎任何技術交流和評論。但是看完該篇聳人聽聞的文章,我們卻為某些LINUX開發商到悲哀:表面借以“技術評論”手法,實際上卻通過隱瞞或歪曲一些事實、偷梁換柱,玩偷換概念的把戲;甚至引用對手的過時技術參數來做對比,企圖混淆非專業人士的視聽,意圖在輿論上抬高自己,在技術上貶低競爭對手,對受眾進行心理暗示。更讓人遺憾的是該Linux公司自恃在外國剛剛獲得風險投資,擁有一定資金實力,不把主要精力放在linux改進產品、追趕對手技術水平和提高服務質量方面,卻把重點用來打擊中國國內其他Linux公司宣傳和市場炒作上。

  無論為了市場炒作還是學術探討,這種技術上不顧事實、唯我正宗的標榜或是企圖獨霸中國市場的市場炒作都是有違Linux與生俱來的自由精神。

  做為國內首個“內核中文化”技術的開發者之一,我覺得有必要向大家澄清一些技術事實並與大家交換一些看法。

  就藍點而言,目前Linux到底有哪些中文技術?我們自主開發了兩項中文技術。一是內核中文化,另一個是中文Xwindow。

  一,內核(kernel)中文化的實現與國際化兼容

  1999年初我們首創了直接利用內核對幀緩沖(Frame Buffer)支持,對內核部分代碼進行雙字節內碼支持的修改,注意是“修改”,不是所謂的“嵌入”,使之可以支持雙字節,目前我們首先加入了中文簡體和中文繁體內碼的支持,以同樣技術我們以後還可隨時加入韓文和日文等雙字節支持,這便是我們所稱的“內核漢化”。

  那麼“內核漢化”能帶給用戶什麼好處呢?內核漢化直接反映出來的功能就是控制台(命令行)中文,實際上做出來的效果就象UCDOS一樣,這樣的界面用戶普遍反饋是“覺得好熟悉,很舒服”;而在使用方面也照顧多數用戶的使用習慣讓大家使用起來不費太多精神。控制台中文給那些需要在控制台工作又需要中文的用戶一個很大滿足感。更重要的是在內核上做控制台的漢字支持的好處是速度快、占用資源少,並可利用顯卡的硬件加速功能。額外的好處是隨處可得到中文環境而不必啟動外部程序。從用戶實際反饋來看,我們這樣做非常有意義。

  據該Linux公司的宣傳——“內核中文會走向國際不兼容的路”,我看這種說法完全歪曲事實和不負責任。了解Linux的人都知道,目前Linux上的中文應用軟件非常少,如果我們不支持西文,那豈不是自掘墳墓?事實上,我們對西文軟件的支持非常好,在預覽版到測試版發行的數個月時間我們發出拷貝已經近20萬份,從沒有收到任何不兼容西文的反饋報告,我們的目標就是使Linux更兼容和更開放。

  某Linux公司的“專家”稱“如果Linux內核支持Unicode,那才算內核漢化”――這種說法似是而非,且不論龐大的Uni-code轉換表是否有可能進入到標准核心,姑且認為這種假設有成立的可能,那麼這個東西應該被稱為“國際化內核”,而不是他們企圖打擊的所謂內核漢化。

  該“專家”還稱,為攻擊中文平台的解決方案“雙字節操作是中文平台不能解決的”,――不錯,“雙字節操作是中文平台不能解決的”的說法100%是大實話,但這又能說明什麼呢?大家都明白,這些正是應用程序本身的責任,跟平台無關。難道可以在X Server上或者外掛中文平台上“強制”單字節X應用進行雙字節操作?控制台上的道理是一樣的。“中文平台將起到越來越小的作用甚至消失”――請不要把X上的一個預言套用到控制台上來。越來越小?控制台的中文顯示和輸入都消失掉了,如何i18n?

  實際上,藍點的zhcon控制台采用的方案類似於codepage的方式,可以隨時切換內碼。除了兩種內碼的漢字支持外,今後加上日文,韓文支持也不難。事實上,一些系統,比如Windows NT的控制台,用的就是codepage。藍點的這種方案是經過了仔細的分析對比後才做出的設計,這種實現方法是干淨的、高效的、完善的。

  歸根到底,難道只有在控制台應用上走外國人主要為了解決單字節多國語言支持而制定的i18n API―一個應用API,才能算的上“內核國際化”?否則的話,甚至連“內核漢化”都不能叫,叫了就是誤導?如果一定要做“內核國際化的中文支持”,難道控制台中文系統要越俎代庖,替現有控制台應用做雙字節處理?或者改寫所有控制台應用?其實,zhcon也好,cce也好,別的功能類似的東西也好,都應該屬於l10n范疇:顯示和輸入本地語言文字。至於應用的底層,或者核心的底層是否Unicode,則是完全不同的另外一個問題。

  二,何謂中文Xwindow

  我們自主開發了另一項中文技術是中文Xwindow,眾所周知Xwindow不屬於系統內核,所以Xwindow的中文化不是所謂“內核漢化”,該項產品名為CXWIN。

  我們從1998年初就已經開始了中文Xwindow技術的研究,此項技術相當復雜,從原型到成熟,耗費了近兩年時間。中文Xwindow技術實現是直接修改Xserver底層完成的。為了更好的實現中文化,我們還對其進行了擴展。某“專家”居然在描述我們的產品時稱“將外掛中文技術轉到Xserver上,只需幾個小時就可以完成”,且不講這種技術判斷上的錯誤,就其表達方式本身就不應該出自一個有著科學嚴謹態度技術人員之口。

  至於CXWIN的所謂兼容問題,用過藍點中文Xwindow的朋友都知道,我們中文Xwindow整體效果是非常突出的,至今亦未收到任何與“國際”不兼容的報告。

  三,國際化(i18n)和本地化(l10n)的實質是什麼

  在該“專家”宣傳文章中,把“內核中文化”工作與國際化對立起來,事實上是如何呢?

  i18n是“國際化”的簡稱,l10n是“本地化”的簡稱。

  事實上,它們應用范圍上有著非常大的不同:前者著重於在系統庫上提供一種多國語言的支持機制;後者則著重於應用程序支持各國家地區語言習慣上的具體實現。比如,Linux裡的glibc提供了i18n支持,X下的*FontSet支持也屬於i18n的范疇,而應用程序輸出信息的翻譯、文檔翻譯、漢字輸入工具這些都屬於l10n的范疇。

  但是提出il8n,並不意味著可以就可以把現階段的應用通通甩掉,直接走向所謂“國際化”。事實上目前包括某linux公司的外掛中文平台在內的linux版本的所有外掛中文平台乃至我們的中文Xwindow都不是i18n,都是為了解決現有單字節應用程序正確顯示和輸入漢字的臨時方案。

  就此問題,某LINUX公司“專家”在所發表《警惕“Linux內核漢化”對用戶的誤導》宣傳文章中,無視自已已開發外掛平台不是il8n的事實,卻企圖移花接木,假定自己是100%的i18n,甚至在此前提下暗示“內核漢化”的linux不是i18n或者不打算支持i18n的應用。

  為了市場炒作,這種聲稱擁有自己目前未有的技術的“圈地占地盤”做法我們尚可理解,但某Linux公司的“專家”居然以已技術所無攻擊他人目前所無,甚至以算命先生態度曲解對手未來技術發展方向,乃至混淆視聽自立技術權威,把外掛中文平台說成“國際化”的唯一途徑,什麼是對用戶“誤導”?這便是真正的“誤導”!

  i18n是一整套的API,需要改寫應用。使用了i18n API的應用程序就可以直接輸入輸出中文(或其它語種),根本無需外掛中文平台如:ZWinPro(指裡面的處理漢字顯示的部分)和CXWIN。那麼用了ZWinPro或CXWIN的Linux發行是否就不支持i18n了呢?答案是否定的。因為,只要一個發行沒有刻意地拿掉庫裡面的i18n部分,它就是支持i18n應用的。現今幾乎所有的Linux發行,即使非中文版的,也都支持i18n。“提供i18n支持”和“使用i18n”是兩個概念:前者指的是系統庫,後者則說的是應用程序。概念不可混淆,CXWIN、i18n並無沖突。

  以下我們順便談談藍點linux的i18n(國際化)方案。

  藍點是支持i18n應用的。舉個例子,在藍點1.0 RC1裡的gvim 5.4使用了FontSet,在藍點的CXWIN上跑得很好,gvim通過FontSet實現漢字的整字顯示、用自己的代碼(不是i18n API,而是類似DBCS)實現整字處理,這些都很好,很支持,很i18n。因為藍點沒有把glibc裡的i18n砍掉,也沒有把X Lib裡的i18n砍掉。――這年頭,想不提供Linux的i18n支持是很麻煩的一件事,但是有人舉一舉i18n的大虎皮倒是不難。

  另外,目前的藍點(截止到1.0 RC1)沒有XIM Server(一個i18n的多國語言輸入協議的實現)。但CXWIN的輸入可以在使用XIM協議的應用程序正確無誤地輸入中文,沒問題。用戶除了發現速度更快之外,不會察覺到任何差異。當然了,今後的藍點也會帶上一個XIM Server的,提供給有需要的用戶使用。

  至於藍點的l10n(本地化)實現,藍點的優點除了在控制台上,還在桌面的整合性上下了不少工夫。在KDE下便可以方便指定應用的內碼,而不是所謂的“不能對每一個窗口進行控制”。恰恰相反,在窗口標題欄上按鼠標右鍵,可看到“改變內碼”一項。藍點CXWIN的缺省內碼也可在KDE桌面語言設置中自動配置,完全自動,不需用戶額外干預,也不必要額外啟動一個外掛平台,用戶設置到什麼語言,桌面就是什麼語言。

  至於有人說CXWIN的實現不穩定的說法,實際也是莫名其妙,毫無根據,典型的FUD。X Server的穩定性問題,絕大多數是硬件的不匹配所導致,問題主要集中在國內的低價顯卡上。這些卡的用料不夠考究,穩定性不好。(關於這點,藍點已經盡量做了一些測試和調整工作)藍點配不上的,或者運行不穩定的顯卡,其他的發行版,只要它用的是同一版本的XFree86問題一樣或者更糟。藍點甚至把國內低價硬件的兼容性問題也提升到了l10n的高度,來認真對待。至今為止我們沒有收到或發現一例因為中文支持導致Xserver不穩定的情況。

  在某LINUX公司的“專家”宣傳文章中,我們還可以看到大量的對我們技術進行錯誤表述和判斷,然後進行“打擊稻草人”式攻擊,這實在是一個科技人員不該有的科學態度。

  三,藍點Linux的未來發展方向

  i18n是目前Linux國際化的大方向,相信所有的中文Linux公司都不會排斥。從以前到現在到將來,藍點都沒有排斥過i18n。

  目前國內linux業界公認的藍點在l10n上技術領先,在兼容西文單字節X應用上成果突出,以至在首屆中國國際高新技術成果交易會列為重點推薦產品,我們“本地化”技術的領先並不意味著藍點沒有i18n或者反對國際化。

  同時藍點開發組也清醒地認識到i18n亦存在某些不完美的地方。作為雙字節語言地區開發的一個Linux發行,藍點將來會對i18n的實現進行細致優化,以確保Linux系統在國內的相對配置較低的硬件上順暢運行;確保不論是現在還是將來,提供最兼容的多語言應用支撐環境,讓Linux更易使用。當然這一切都有賴於藍點的各類廣大用戶的大力支持。

  我們的希望

  有志於中國Linux應用的團體和個人,都應該在l10n上多下工夫。這一點上,大家的目標其實是一致的。內核漢化也好,外掛平台也好,技術實現上走上不同的道路,性能敦優敦劣廣大用戶自有公論。反復地重談老調,再次發起“嵌入”和外掛的爭論;利用輿論的記憶效應,利用字面上的聯想、暗示,以文字游戲攻擊“內核漢化”,除了浪費時間之外,對Linux在中國的發展和自身發展沒有任何好處。

  Linux在中國的開發工作,真正需要警惕的正是某些開發商不負責任的市場炒作。

  我們幾位來自全國各地的LINUX志願開發人員聚集起來,將開發地點選擇在遠離北京的深圳,目的正是為了繼承深圳人“空談誤國,實業興邦”的實干傳統,避免把精力放在無謂的市場炒作和做“技術SHOW”上,我們真誠希望中文Linux開發者們應該致力研究出更新技術,為用戶提供更多實實在在的優質產品及服務,發布更多實事求是的技術文章。


——摘自:網易


Copyright © Linux教程網 All Rights Reserved