開放原始碼軟體本地化/建議
前言 — 鳴謝 — 介紹 — 亞太地區的本地化工作 — 建議 — 附錄 A:關鍵概念 — 附錄 B:技術方面 — 進一步閱讀 — 資源和工具 — 詞彙表 — 關於作者 — 關於 APDIP — 關於 IOSN
亞洲是開放原始碼軟體本地化的全球戰場。壟斷的專有軟體公司尚未在亞洲建立統治地位。出於國家利益的考慮,許多亞洲國家政府已採取政策鼓勵軟體替代方案,主要是開放原始碼軟體。
在一些國家,迄今為止的本地化工作是由散佈在全球各地的一些敬業的愛好者完成的。很少有人為他們的努力獲得報酬,他們翻譯工作的無組織性無意中產生了歧義。
在大多數情況下,志願者是程式設計師,而不是語言學家。他們需要翻譯人員、技術作家和測試人員的幫助。由於本地化主要處理語言而不是程式設計問題,因此非技術人員的數量應為程式設計師的五倍。即使在採用正式的開放原始碼軟體政策之前,也可以開始直接支援技術詞典和本地化標準。本地語言專家只需要專業的薪酬和辦公室。技術作家和測試人員可以在幾個月內接受培訓。
支援國際本地化計劃(其中共享大量相似性的語言(例如,泰語、寮國語和高棉語)共享程式設計和技術資源)非常具有成本效益。為整個社會創造的價值,以及新的詞典和技術標準使程式設計師和翻譯人員能夠以低廉的價格一致地本地化任何開放原始碼軟體,這是不可否認的。其他亞洲國家應效仿中日韓計劃的例子。
本地化計劃應具有非常明確的目標,以及實現這些目標所需的資源。它們需要資金、專業的管理和技術專業知識。此外,徹底的語言學知識對於成功至關重要。
這些計劃將導致建立本地中心,知識將在這些中心傳播給將執行實際工作的人員。此類中心可以是政府行動或商業夥伴關係的產物,或者作為大學的一部分運營。無論這些中心是如何建立的,都應得到政府政策的全力支援。
現在是時候將亞洲軟體本地化流程專業化,特別是對於發展中國家而言。如果偶然的努力導致不可靠的結果,則可能會失去一個巨大的機會。在個人努力無法實現公共利益的地方,政府有義務提供幫助。一個專業團體可以請求志願者的幫助,但核心協調和基礎工作應由一個專門的付費員工團隊完成。
可能是發展中國家每年為一個部門的商業軟體支付的費用足以支付該國參與開放原始碼軟體運動的費用。
建立本地化中心,作為開放原始碼軟體開發人員共享資訊、發展技能和建立現有成果基礎的中心。在不同國傢俱有語言共性的情況下,區域本地化中心可以分擔開發成本。精通原始碼的專家、語言學家和分析師可以為各種專案提供幫助,並建立一個知識庫以加速未來的開發。
贊助建立技術詞典和標準,以便在所有開放原始碼軟體專案中保持一致性。使用標準術語,計算機使用者不太可能遇到挫折,並且使用標準的技術程式和流程,開放原始碼軟體程式碼可以保持所有 IT 專業人員的易於理解。政府實施的所有軟體採購政策都應強制執行遵守此類標準。
快速行動。正確地完成事情很重要,但快速完成事情也很重要。為低技術語言編寫一個好的計算機詞彙表可能需要一年多的時間,但是一個足以翻譯程式第一個版本的第一個詞彙表可以很快完成(例如,三個月)。程式的未來版本將使用最終詞彙表,但第一個版本可以在幾個月內提供。詳細說明規定的術語和標準的官方“門戶”應是首要任務。
鼓勵分發開放原始碼軟體作業系統、應用程式和平臺。政府可以以極低的成本將本地化的開放原始碼軟體分發到學校、企業和其他組織。這將推動計算機和軟體的採用率,並防止不必要地非法複製專有軟體。由於開放原始碼軟體通常與舊機器一起使用,因此為大眾提供計算訪問的總成本將低於任何其他方法。
不僅要為計算機專業人員提供開放原始碼軟體培訓,還要在中小學提供培訓。在教育預算緊張的發展中國家,使用本地化的開放原始碼軟體在低成本計算機上執行非常適合增加農村社群的教育機會。青少年的自然好奇心將很快導致新一代人能夠用母語使用計算機。那些表現出使用計算機特殊才能的學生可以透過獎學金、競賽和其他適合年齡的活動被鼓勵學習程式設計。
除了建立有利於本地化開放原始碼軟體的政府採購政策外,政府在消除障礙、提供資金和協調標準方面也發揮著重要作用。如果沒有政府的支援,“英語詞”和不一致性將嚴重阻礙開放原始碼軟體的持續本地化,並限制本土軟體產業發展的機會。
當國家已經在使用外語的計算機時,通常會發生本地化。計算機科學家和培訓師習慣於英語或法語的計算機詞彙。因此,本地化需要根據詞彙表中使用的語言建立培訓材料,以便培訓師和新使用者開始使用本地語言。
由於很難聘用語言學家,因此可以先進行準備工作,例如查詢每個術語的不同翻譯選項。
在此之後,工作主要是翻譯人員的工作,他們遵循詞彙表指南和規則。同一個團隊中應有專業的翻譯人員和計算機科學家,以確保所用術語的語言和技術正確性。
一旦完成第一層工作(字型、語言支援等),本地化就可以越來越多地無需太多技術資源即可執行。將來,它將變得更容易,因為幾乎所有開放原始碼軟體專案都正在採用新的工具和技術,使非專家更容易執行此工作。
能夠執行軟體本地化的熟練工人通常已經存在,或者可以在本地或國外接受培訓。區域軟體本地化培訓和協調中心可以作為資訊交換中心和學院,供個人提高技能,從而為未來幾年培養新的員工。幸運的是,只有程式設計師需要具備開放原始碼軟體的專門知識。其他專業人員可以有使用任何型別的軟體的先前經驗。
對於任何工作不分散在世界各地的專案,充足且適合手頭工作的辦公場所都是必須的。對於專業的本地化工作,尤其是對於多語言區域本地化中心,商業空間是最佳選擇。這包括穩定的低成本寬頻網際網路連線、區域網和開發伺服器,每個員工足夠的客戶端計算機以及每個測試人員三到四個終端。
應徵求大學的積極參與和合作,尤其是英語語言學家和翻譯人員。應授予對技術詞典和標準做出重大貢獻的學者的出版權,以及對學生志願者的公開認可。
通常,需要對以下人員進行培訓、組織並提供成功的工具
- 專案經理 - 技術和翻譯。
- 分析師和語言學家。
- 開放原始碼軟體程式設計師。
- 翻譯人員和技術作家。
- 測試人員。
- 培訓師。
本地化專案管理應分為兩項工作:(i)技術經理指導程式碼的實際編輯,以確保正確的語言支援;(ii)翻譯經理協調語言學家、技術作家和培訓師的創意工作。
分析師和語言學家與專案經理、社會學家和專案發起人一起確定需要克服的技術挑戰以及需要滿足的文化語言要求。他們的工作成果是需求規範和專案描述,專案經理使用這些規範和描述來指導專案完成。此路線圖指導程式設計師的工作,並提供軟體將根據其進行測試的基準。分析師還負責收集、組織和傳播程式設計師執行工作所需的技術標準和規範。
由於作業系統使用者介面和各種應用程式使用者介面都應本地化,因此通常需要幾種不同型別的程式設計師。愛好者可以與世界各地的其他人遠端執行此工作,但前提是分析師已對問題進行了詳盡的記錄。在任何可能的情況下,此階段的工作應使用本地程式設計人員。他們學到的經驗教訓以及為以後參考而寫下的經驗教訓可以傳播給其他正在執行本地化的人員。如果不存在,他們還可以建立該語言的技術標準。遵守“G11N、I18N、L10N”(請參閱詞彙表)等開放原始碼軟體標準和其他標準,將確保工作快速進行,並確信後續開發人員可以繼續更新和改進軟體。
翻譯人員和技術作家承擔了大部分工作。所有錯誤訊息、按鈕、選單、命令、幫助檔案和使用者指南都必須翻譯。在與語言學家協商以確保一致性和準確性的同時,翻譯人員和技術作家會編制技術詞典,通常會創造新的技術詞彙和短語,使未來的開發人員能夠更有效地與同事溝通。正如本地化的技術標準對程式設計師至關重要一樣,編寫人員和翻譯人員使用的技術詞典對於專案的成功也至關重要。
測試人員使用需求規格說明來檢查程式設計師和技術作家的完整工作。他們細緻的工作會識別出需要在釋出給軟體使用者之前進行更正和重新檢查的錯誤和不一致之處。額外的學徒測試人員,特別是那些不懂英語且是電腦新手的人,可以為程式設計師和翻譯人員提供極好的反饋。
培訓師向用戶介紹本地化軟體。通常,接受過如何使用該系統培訓的當地教師會舉辦研討會,回答問題並指導電腦愛好者。當地企業和政府也可能聘用培訓師來教育其員工。重要的是要確保這些軟體培訓師是在當地招聘的並且會說當地語言,而不是以高昂的費用聘用英語母語人士。
對於專有軟體和免費軟體,關於軟體如何工作的培訓都是必不可少的。為了教當地使用者如何操作軟體,需要
- 培訓裝置和材料。
- 教室。
- 講師。
大多數情況下,軟體開發人員會“培訓培訓師”,然後由培訓師指導新手,使他們成為高階使用者。培訓可以進一步分為使用者培訓、系統管理員培訓和開發人員培訓。除了使用者培訓應該廣泛開展之外,大多數專門的自由/開源軟體培訓都在教育機構進行。在自由/開源軟體本地化方面取得快速進展的國家都投入了大量資源用於培訓和教育。如果沒有大量人群實際採用該軟體,那麼本地化工作將毫無意義。
自由/開源軟體開發和本地化的工具和裝置比專有軟體本地化所需的工具和裝置便宜。版本控制、專案管理、文件變更管理以及程式設計師的開發工具包都可以免費或低價獲得。經驗表明,在自由/開源軟體方面,最好使用免費/開源工具。
所有其他裝置,包括大多數開發計算機,都應保持最新狀態,並處於安全的環境中。應為特定於要本地化語言的圖書館、參考資料和語言工具單獨設定預算。如果這些材料尚不存在,則必須建立它們。
在任何可能的情況下,應與國際自由/開源軟體開發社群分享有關自由/開源軟體本地化的資訊,以便每個團隊都不必重新建立必要的工具。
從技術上講,自由/開源軟體的本地化成本與商業軟體的本地化成本大致相同。只有程式設計技術存在顯著差異,因為無論要本地化的軟體型別是什麼,語言和操作方面的挑戰都存在。要本地化任何軟體,都需要
- 辦公場所。
- 辦公裝置和工具。
- 技術人員。
- 獲取技術資訊。
- 獲取語言學家和翻譯人員。
最大的成本將是員工薪資。專案的總成本在很大程度上取決於當地技術、翻譯、寫作和測試人員的工資預期以及他們在軟體本地化、語言和文化問題方面的個人經驗水平。
程式設計師和專案經理可能需要高於平均水平的教育和薪資,但大多數其他員工利用的技能並非特定於軟體,並且可以在普通人群中更容易地找到。
當軟體接近完成時,會聘用培訓師,並且據推測,他們會繼續受僱於教新使用者、系統管理員和開發人員如何使用該軟體。
對於尋求擺脫專有英語軟體的國家,一個永久性的本地辦事處,其目的是培訓和傳播有關本地化的技術資訊,可以帶來成倍的節省。該機構可以與公共圖書館或大學合作,感興趣的各方可以在那裡以很少或沒有成本獲取資訊。
自由/開源軟體通常可以在較舊的計算機上執行良好。這對於擁有過剩的二手計算機需要處理的發達國家和可以配置這些計算機以用當地語言執行自由/開源軟體的發展中國家來說都是有利的。
本地化任何特定軟體的總成本差異很大。每個專案都需要對複雜性、經驗和技術人員的可用性以及當地語言的特徵進行單獨分析。
軟體成本和進度估算並非簡單的計算。除了根據要翻譯的訊息字串數量進行粗略估算外,還必須考慮其他因素。
- 經驗
- 程式設計師、翻譯人員和測試人員是否有過此類工作的經驗?如果沒有,則需要額外的時間和精力來培訓他們在本地化的流程和標準方面。但翻譯人員學習速度很快,並且在頭一兩個月後,生產力會大幅提高。擁有一個穩定的團隊,團隊成員會變得非常高效。
- 環境
- 員工是否有進行專業工作的必要工具和裝置?如果沒有現代化的辦公場所、工具和技術,期望員工以最高的效率工作是不現實的。
- 語言因素
- 當地語言與英語的差異有多大?例如,從英語翻譯成瑞典語相當簡單。語法、詞語長度和詞彙非常相似。英語幾乎普及,而且很容易找到翻譯人員。另一方面,從英語翻譯成寮國語非常困難。語法、拼寫約定、詞語長度、排序和其他因素根本不相似。因此,必須更改使用者介面元素的大小和位置。此外,缺乏經驗豐富的翻譯人員甚至基本的技術詞彙表意味著專案將從幾乎一無所有開始,並且需要更多的時間和精力。
- 範圍
- 多少才算足夠?僅僅更改主要使用者介面選單和命令是否可以接受?幫助檔案也應該翻譯嗎?文件和使用者培訓材料呢?英語詞可以接受嗎?將有多少新詞被引入到語言中?為了避免失敗,需要對專案的範圍進行非常明確的定義。
- 指標
- 專業的軟體成本和估算依賴於先前專案的經驗來確定未來的進度。如果幾乎沒有啟發式證據可以依賴於估算,那麼最初的幾個專案估算只能是合理的猜測。在完成幾個專案後,可以將實際完成時間與初始估算進行比較,以改進未來的估算。因此,重要的是要收集人員工時、資源、經驗和其他因素的準確記錄以供將來參考。高效的。
牢記上述要點,請考慮以下公式作為估算本地化專案進度的非常粗略的“經驗法則”。
注意:如果沒有英語/當地語言技術詞典可用,則必須在工作開始前建立它。這是一個單獨的專案。完成技術詞典後,必須將其輸入翻譯記憶資料庫(例如 KBabel)以確保翻譯的一致性。如果沒有這些基本工具,任何軟體實際上都無法本地化。
示例:案例 1
- 要翻譯的 10,000 個訊息字串
- 每個訊息字串 10 分鐘
- 軟體本地化翻譯工具和流程的經驗低於平均水平。
- 10 名員工
示例:案例 1 估算
- 10,000 x 10 分鐘(除以 60)= 1,666 人工時
- 每週 20 個“實際”工時 = 83.33 人周
- 新增 16.66 人周用於測試和編輯 = 99.99 人周
- 新增 16.66 人周用於管理和培訓 = 116.65 人周
- 乘以 1.5 以反映缺乏經驗 = 174.97 人周
- 除以 10 名員工 = 17.4975 周
換句話說,這樣的專案需要 10 人的團隊工作將近五個月。如果這些專業人員的平均工資為每月一千美元,則僅員工成本為 50,000.00 美元。再加 10 臺電腦、辦公場所、網際網路連線、影印機和其他日常開支,就可以對本地化的總成本進行粗略估算。
考慮相同的示例,但進行以下更改:軟體本地化翻譯工具和流程的平均經驗。
- 乘以1.0以反映平均經驗水平 = 116.65 人周
- 除以 10 名員工 = 11.665 周。
一個經驗豐富的團隊的專案需要不到四個月。如果這些專業人員的平均工資為每月一千美元,則僅員工成本為 40,000.00 美元。
考慮相同的示例,但進行以下更改:軟體本地化、翻譯工具和流程經驗更豐富的員工。
- 乘以0.75以反映高於平均水平的經驗 = 81.24 人周
- 除以 10 名員工 = 8.124 周。
一個 10 人的經驗高於平均水平的團隊,無需額外培訓,只需要大約兩個月。如果這些專業人員的平均工資為每月一千美元,則員工成本僅為 20,000.00 美元。與專有產品相比,自由/開源軟體非常適合本地化。完成幾個專案後,成本會迅速下降,因為基本概念和技術保持不變。最初的幾個專案必須開發與語言和技術流程相關的新詞典、工具和專業知識。員工的經驗是提高生產力的關鍵。
一旦這些到位並得到充分理解,完成額外專案所需的時間和金錢就會減少。由於自由/開源軟體開發人員傾向於遵守開放標準,因此本地版本的開發人員不必反向工程程式碼來猜測必須完成哪些工作。本地化過程在各個專案中應該非常相似。對於商業專有封閉軟體,情況正好相反。
正如我們所見,專有軟體的一個主要缺陷是隻有版權所有者才能維護或修改它。使用自由/開源軟體,任何具備相應技能的人都可以完成這項工作。因此,使用者無需與單一外國供應商簽訂昂貴的維護合同,而是可以自由地將軟體的支援和維護外包給各種各樣的本地公司。
程式設計師單獨工作無法本地化軟體。在估算任何本地化所需成本、時間和精力時,僅將大約 10% 的預算用於技術問題。其餘所有內容都用於翻譯、寫作、測試和培訓等耗時的任務。
當一家專有軟體公司進行軟體本地化時,首先會確定這項工作在商業上是否可行。然後,他們會聘請本地化專家,包括語言學家和文化專家,來開發技術詞典。同時,薪酬豐厚的分析師和程式設計師會修改軟體,使其能夠接受和顯示該語言的指令碼。
本地化工作的大部分內容涉及翻譯和替換軟體的標籤、選單項、錯誤訊息和幫助檔案。有時還需要修改軟體的外觀,以適應過長或過短的單詞。在某些情況下,技術詞典是該語言的第一個此類詞典,並且會發明新的術語。
技術編寫團隊嚴格遵循技術詞典和程式設計標準,在英文原文旁邊輸入新的短語。全部完成後,測試人員不僅要確保每條訊息都已翻譯,還要確保術語一致且邏輯合理。
此類工作遵循指數曲線,初始工作進展緩慢,然後在技術詞典和標準建立後迅速加速。在本地化幾個程式之後,一個經驗豐富的團隊可以以大大降低的成本對其他軟體進行本地化。市場營銷和培訓決定他們在讓使用者採用該軟體方面取得的成功程度。他們通常會發布他們的技術詞典和標準,以盈利的方式出售或免費提供給政府、大學和線上社群。
開源軟體 (FOSS) 通常由少數志願者遠端完成本地化,沒有語言學家或技術詞典的幫助進行翻譯。這項工作可能需要很長時間,並且可能存在不一致或錯誤。
開源軟體本地化的速度並不均衡。在語言與英語相似且有許多雙語志願者的國家,開源軟體本地化已經發展得很好。在政府和其他機構介入提供資金支援本地化的地方,取得的成果也令人印象深刻。(中日韓“CJK”合作就是一個例子。)
在技術基礎設施不完善的國家,商業軟體和開源軟體的本地化速度都比較慢。當語言不屬於印歐語系時,速度會更慢。商業公司在這方面看到很少的利潤,而且很少有當地專業人士有時間或技能來本地化開源軟體。即使原始碼可以免費用於本地化工作,但很少有專門的技術標準或技術詞典存在。
一些語言,特別是那些使用拉丁字母的語言,相對容易本地化。其他語言則可能非常困難。例如,寮國語和泰語都使用包含 42 個子音的字母,並帶有母音和語調標記。這些文字遵循複雜的佈局規則,涉及子音、母音、特殊符號、連字和連寫。所有這些書寫系統都具有一些共同特徵:不一定會使用空格來分隔單詞,母音出現在子音之前、之後、下方、上方和之後。
負責開源軟體本地化的泰國和寮國志願者透過在技術問題上進行合作,以及共享資源和工具資訊,節省了大量時間並避免了挫敗感。
在整個亞洲,存在著在政府間層面開展聯合本地化工作的機遇。許多其他亞洲語言具有相似之處,並且在類似語言群體中,程式設計任務通常幾乎相同。如果得到適當的資金和組織,泛亞軟體本地化是一個切實可行的目標。
