5. 偽在地化 (Pseudo Localization)

偽在地化是一種快速又方便的檢視軟體多種語言本地化的“壓力模擬”,可以提早發現軟體國際化和在地化的方式。

為什麼不直接選一個真正的語言來當偽翻譯?

  • 哪一個語言才是最佳的試點語言?選擇長字串的德文,那就無法事先發現亞洲語言的問題。選擇亞洲語言,那從右到左的阿拉伯文呢?沒有一種語言可以完全的囊括其他語言裡可能發現的問題。
  • 使用真正的語言表示一切照真正的翻譯來做,整個翻譯團隊在軟體研發時就必須要嚴正以待,增加經費。
  • 軟體研發常常是改來改去的,原始字串的來回更改,等待翻譯的字串,浪費時間和金錢。
  • 翻譯和研發團隊測試時,可能會重複測試並發現同樣的問題。

偽在地化的概念和模式:

  • 利用偽本地化來練習和增強未來真正開始翻譯的過程,和工具的使用
  • 利用工具產生偽字串,讓本地化執行檔可以和原始軟體執行檔並行。加入偽字串後本地化執行檔可以用來測試,提早發現問題
  • 提早發現軟體國際化的錯誤,減少本地化測試的時間
  • 由於不是真正的翻譯,不需要有完整的翻譯團隊
  • 翻譯後的軟體測試不是測試軟體國際化和本地化的問題,而是只有軟體本身的翻譯
  • 只有當原始軟體執行檔,和加入偽字串後本地化執行檔通過測試時,軟體才可以發行。

偽本地化就是在字串內塞入擴展字符或亞洲文字,還有功能上語言的設定和格式顯示等等。由於一些語言的字串都比英文或華文來得長,因此在字串後加入些多餘的文字增加測試的相似性。

偽在地化可以發現什麼問題?

  • 國際化:
    • 無法輸入和顯示非英文的字型
    • 無法支援非英文字型的檔案和資料夾
    • 功能性上的錯誤,比如記憶體的大小,字元的轉換
    • 等。。。
  • 本地化的問題:
    • 寫死的字串 (hard-coded text),軟體對話框的佈局
    • 圖片檔內的字串,或不適合使用的圖片檔
    • 不正確的檔案格式,重複使用的資源 IDs (resource IDs)
    • 字串執行時重組的問題
    • 等。。。

4. 網站翻譯概述

一般網站的製作是以 HTML,SGML,XML,ASP / PHP,手稿語言 (Java, VB 等) 方式而顯示在網站時,則使用 ISO 字元編碼,ANSI 代碼頁,萬國碼 UTF8 或 UTF16,字元實體 (Number Entities) 等形式。

比如 ISO 字元編碼:

  • HTML / DHTML: 在 <head> 的檔案區 <META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=<value>”>
  • XML: <?xml version=“1.0” encoding=<value>?>
  • ASP:   o 每個階段:<%Session.CodePage=<charset>%>   o 每個網頁:<%@CODEPAGE=<charset>%>

字元實體 (Number Entities):

  • &#x4E2D;&#x6587; -> 中文
  • 用於插入不在頁面主要編碼中的字元,比如使用 &#x27; 代替單引號,或 &#x22 代替雙引號
  • 網頁內隱藏東亞語言文字的方式之一
  • 不適用於大量文字的網站

一般來說,網站內容的更換速度比軟體來得快,因此網站的翻譯的過程要比軟體翻譯來得迅速才行。 語言地方化工程師 (Localizer) 一般具有當地語言背景、市場知識和基本電腦方面的技術。而地方化工具則允許語言地方化工程師專注於目標市場的內容:

  • 解析程式碼(HTML、DHTML、Javascript、Vbscript)和內容
  • 程式鎖定,使語言地方化工程師無法更改網站頁面的原始程式碼和功能
  • 提供更新管理、當地語言內容回收、自動建議、模糊匹配(詞彙和翻譯支援)等等

語言地方化工程師的工作是和軟體翻譯工程師(Software Translation Engineer)是不一樣的。軟體翻譯工程師必須要提供一個可以適用於任何市場的軟體,而語言地方化工程師只專注於一個市場的內容提供。當軟體翻譯工程師能提供以下工具給語言地方化工程師時,語言地方化工程師才能有效地執行工作。

  • 提供檔案的結構
  • 提供如何安裝工具和使用的詳細說明
  • 提供的工具必須能夠方便的使用和正確的顯示
  • 測試並再次確認,語言地方化工程師可以正確的了解和使用

機器翻譯:利用電腦的計算和分析,把一種語言翻譯到另一種,比如常用的 Google Translate 和 Bing Translate。目前這類的翻譯只能猜到字面上的意思,而無法準確的翻譯。

電腦輔助翻譯(Computer-assisted translation)工具:根據維基百科,透過人工智慧搜尋,比對技術以及運用資料庫和翻譯記憶程式,紀錄翻譯人員所完成之譯文,當遇到相同與重複的句型、片語或專業術語時,能提供翻譯人員建議和解決方案,以節省翻譯時間及成本,同時確保翻譯品質與風格的一致性。至於哪一種電腦輔助翻譯工具的使用,一般則取決於客戶的要求,輔助工具所能支援的語言,檔案格式,價錢和客製化的程度等。

語言翻譯的過程:

  • 檔案評估   
    • 內容是靜態還是有多少動態字串,比如一個蘋果,兩個蘋果
    • 多少圖片有需要翻譯的文字和字數
    • 螢幕攫取還是需要另外客製
    • 一次性還是需要頻繁更換的內容
    • 文字分析
      • 總共有多少字
      • 有多少字串是百分之百完全重複的
      • 有多少字串是模糊匹配的,一般設定工具識別約八成相似的字串
  • 準備參考工具,比如詞彙
  • 建立或更新翻譯記憶庫(Translation Memory)
    翻譯記憶庫儲存以前翻譯過的句子,建立一個原始和翻譯語言之間的資料庫。翻譯記憶庫會隨著專案的進展越來越大。
  • 編寫使用說明
  • 翻譯和校對
  • 測試翻譯後的語言,並與原始語言進行比較

目前電腦輔助翻譯工具:Comparison of computer-assisted translation tools,一些大公司有自己內部使用的翻譯工具。

3. 軟體翻譯的概述

過去一條龍式的做法:

從主要語言把軟體翻譯成第一個語言,發表後再從主要語言把軟體翻譯成第二個語言,以此類推。

好處:

  • 彼此間沒有關連,時間靈活的應用
  • 任何軟體本地化可以獨立的研發和應用

缺點:

  • 產品從研發到發表的時間拖得很長
  • 時間限制了能夠本地化軟體的數量

現在一個產品一個軟體:

軟體在設計,研發和測試時,就把主要語言當作是將要翻譯的語言之一。當開始翻譯時,其他的語言就只是替換主要語言。

好處:

  • 一個軟體支援所有的語言
  • 包含由右到左的語言 (阿拉伯語或希伯來語)
  • 其他語言的軟體可以迅速地完成並發表

缺點:

  • 所有環節緊密相連,時間上的配合會有難度
  • 地方化的功能都將包含在所有語言的軟體裡
  • 需要外部軟體的支援 有哪些支援軟體翻譯的工具?   § 主要語言的字串抽取 (String Extraction)   § 翻譯字句的回收利用 (Translation Recycle)   § 翻譯記憶資料庫 (Translation Memory)   § 新舊字串間的翻譯 (Delta Translation)   § 使用介面調整 (Layout Adjustment)   § 本地化軟體的產生 (Binary Generation)

軟體翻譯工程師需要知道和做哪些事?

  • 知道電腦科技和基本的程式運用
  • 了解本地化軟體的知識,比如 Unicode,ANSI,格式和套件等
  • 抽取,更新和回收字串
  • 準備給翻譯公司的本地化套件 (Localization Kit),並配合翻譯公司的翻譯工作
  • 更換新語言的字串,編寫和修正本地化軟體的程式