CAT 工具/OmegaT/使用者手冊/檔案過濾器
上一頁: 帶標籤(格式化)的檔案文字編輯 - 下一頁: 專案檔案和目錄
從 OmegaT 1.4.5 版本開始,新增了使用者可配置的檔案(轉換)過濾器。
檔案過濾器負責
- 從特定格式的檔案中讀取源文件(例如,存在用於處理純文字和 OpenDocument/OpenOffice 檔案的不同過濾器);
- 從檔案中提取可翻譯的內容;
- 將目標文件寫入檔案(在此過程中用其翻譯替換可翻譯的內容)。
由於過濾器是在此版本中新新增的功能,因此可能仍然存在未知的錯誤、使用者介面怪癖和不清楚的流程——希望這份文件能在這方面澄清一些事情。目前,檔案過濾器的使用者介面文字僅提供英文版本。這是當前版本的限制,將在新版本的 OmegaT 中得到解決。
在配置過濾器時,請使用現實的設定,否則可能會出現意外結果。仔細閱讀說明,如果對操作過濾器的結果不理解,請使用預設設定或使用測試專案,然後再用於正式工作。在 OmegaT 使用者組中提問以獲取更多幫助。
請注意,檔案過濾器只能在沒有開啟專案的情況下配置。要修改特定專案的處理檔案方式,必須在開啟專案之前進行。
每個對話方塊和過濾器使用的詳細資訊如下所示。
透過從“設定”選單中選擇“檔案過濾器...”來訪問此對話方塊。
在對話方塊中,將顯示一個包含可用檔案格式的表格。左側列顯示可用的過濾器型別。右側列顯示每個過濾器型別旁邊的複選框,指示該型別是否已啟用(即帶有複選標記)。
當前可用的過濾器型別有:文字、XHTML、HTML、OpenDocument/OpenOffice.org 和 Java 資源包。
要從可用型別中編輯檔案過濾器,請突出顯示它並選擇“編輯...”按鈕,為其開啟“編輯檔案過濾器”配置對話方塊。
要在更改後重置檔案過濾器,請選擇“預設值”按鈕。選擇“確定”使重置為預設值生效,或選擇“取消”退出重置。在接受更改之前,請確保重置過濾器為預設值是您想要的。
透過“檔案過濾器”對話方塊中的“編輯...”按鈕訪問此對話方塊。
這裡為使用者展示了一個包含四個列的表格,用於所選的檔案過濾器型別。表格包含以下標題:“原始檔名模式”、“原始檔編碼”、“目標檔案編碼”和“目標檔名模式”,用於配置特定過濾器的設定。這些用於以下目的
- 原始檔名模式 - 確定 /source 目錄中的哪些檔案將應用特定過濾器。模式可以根據使用者的偏好進行自定義。
- 原始檔編碼 - 原始檔有效的字元編碼。用於讀取原始檔。有一個下拉列表供您選擇編碼。
- 目標檔案編碼 - 目標檔案有效的字元編碼。用於寫入目標檔案。有一個下拉列表供您選擇編碼。
- 目標檔名模式 - 確定用於為在 /target 中建立的目標文件分配檔名的模式。模式可以根據使用者的偏好進行自定義。
在對話方塊的右側是“新增...”、“編輯...”和“刪除...”按鈕,它們分別用於開啟“新增過濾器”、“編輯過濾器”和“刪除過濾器”對話方塊
此對話方塊中還有另一個“預設值”按鈕。使用此按鈕將把該過濾器型別的過濾器重置為其原始過濾器數量和預設設定。同樣,在使用它之前,請確保這正是您想要的。
透過“編輯檔案過濾器”對話方塊中的“新增...”和“編輯...”按鈕分別訪問這些對話方塊。
這些對話方塊及其說明是相同的,但用法略有不同。使用者定義的過濾器是在“新增過濾器”對話方塊中建立的。透過此對話方塊,新建立的過濾器將新增到特定過濾器型別的可用過濾器列表中。預設過濾器和使用者定義的過濾器在“編輯過濾器”對話方塊中進行編輯。當在此處接受更改時,所選過濾器將被更新。
每個對話方塊都包含一些必須填寫的條目才能正確配置過濾器的設定。這些對應於在“編輯檔案過濾器”對話方塊中看到的設定。選擇“確定”新增新過濾器或接受對現有過濾器的更改,或選擇“取消”退出特定操作。
指定用於確定 /source 目錄中哪些檔案將應用特定過濾器的模式。模式可以根據使用者的偏好進行自定義,並遵守正常的 shell(全域性)模式的限制。
在文字區域中輸入相應的原始檔模式。這裡設定了一個預設模式,該模式取決於所考慮的特定過濾器。使用預設模式或根據要與過濾器一起使用的特定原始檔設定自定義模式。原始檔編碼
指定原始檔的字元編碼。這可以透過外部確定並輸入(例如,提前知道、來自 OpenOffice.org 等)、透過某些預設檔案格式的副檔名(即拉丁-1 中的純文字使用 *.txt1 或,如果適用,可以使用 <auto> 設定。對於某些格式,將停用更改編碼的功能。有關 <auto> 和停用設定的詳細資訊,請參閱此頁面上的“編碼”部分。
從下拉列表中選擇相應的編碼,或使用 <auto> 使過濾器自動選擇讀取原始檔。目標檔案編碼
指定目標檔案字元編碼。目標文件將使用所選編碼建立。提前瞭解特定目標區域所需的編碼可能是一個好主意。如果適用,可以使用 <auto> 設定嘗試自動設定編碼。同樣,對於某些格式,更改編碼的功能將被停用。有關 <auto> 和停用設定的詳細資訊,請參見本頁的編碼部分。目標檔名模式
指定用於將檔名分配給在 /target 中建立的目標文件的模式。可以在正常 shell(glob)模式的限制內,根據使用者的偏好自定義模式。
在文字區域中輸入適當的目標檔案模式。此處設定的預設模式取決於正在考慮的特定過濾器。使用預設模式或設定自定義模式以更改此過濾器的目標檔案的名稱。為此目的,可以使用許多預設的檔名變數。檔名變數
對於目標檔名模式,可以使用一些預設的檔名變數來幫助建立目標文件的檔名。這些變數的語法為 ${VARIABLE},它遵循 shell(命令列)使用中常見的 glob 模式。變數在目標檔名模式文字區域中使用,以插入從專案中的檔案和設定確定的檔名變數的值。
從下拉列表中選擇檔名變數。使用“插入”按鈕將所選變數放在目標檔名模式文字區域中的游標位置。檔名變數 變數說明 ${filename} 原始檔的名稱(名稱和副檔名) ${nameOnly} 僅原始檔名,不含副檔名 ${extension} 僅原始檔副檔名 ${sourceLanguage} 專案的源語言(區域設定)(xx-YY 或 xx_YY) ${targetLocale} 專案的目標區域設定(xx_YY) ${targetLanguage} 專案的目標語言(xx-YY) ${targetLanguageCode} 專案的目標語言程式碼(xx) ${targetCountryCode} 專案的目標國家/地區程式碼(YY)
${filename} 是大多數情況下目標檔名模式的預設配置,這意味著原始檔名和目標(翻譯)檔名將相同。
有關語言(區域設定)和程式碼的資訊,請參見示例專案。刪除過濾器
這只是一個確認對話方塊。選擇“確定”永久刪除過濾器。確認刪除後,使用者定義的過濾器將不可用。特定檔案格式的預設過濾器在刪除後也將不可用,但可以透過在“編輯檔案過濾器”對話方塊中選擇“預設值”來還原這些過濾器。編碼
源和目標的編碼可以在“編輯檔案過濾器”、“新增過濾器”和“編輯過濾器”對話方塊中的下拉列表中選擇。可用的編碼僅限於執行中的 Java 執行時環境中的編碼。此外,可以使用 <auto> 變數嘗試自動檢測所需的原始檔編碼。<auto> 設定
根據所使用的特定過濾器,當遇到 <auto> 設定時,將執行以下三種操作之一
1. OmegaT will attempt to determine the encoding automatically; applies to source files only. 2. the default encoding of the operating system will be used. 3. no action will occur. This happens when the filter only supports a single source and target encoding.
停用(灰色)設定
使用停用變數的特定過濾器不支援多個檔案編碼,或者檔案格式是編碼中立的。在這種情況下,無法指定其他編碼。示例:目標檔名模式
也許將目標檔名更改為反映正在翻譯到的特定目標語言或區域設定會很好。一種可能性是在檔名(副檔名之前)新增字尾。例如,如果目標語言是法語,那麼新增語言程式碼可能是一個好主意。
在這種情況下,模式可以是
${nameOnly}-fr.${extension},
但是已經有一個用於目標語言程式碼的變數,因此插入該變數以給出
${nameOnly}-${targetLanguageCode}.${extension}。
現在,如果原始檔名為 test.txt。(例如,在 *.txt. 文字過濾器下)它的目標檔名將變為 test-fr.txt。
請注意,檔名分隔符 '.'. 不是透過使用 ${extension} 插入的,如果您希望使用它,則必須在模式中手動包含它。
繼續,也許國家/地區程式碼也很好。它可以新增為
${nameOnly}-${targetLanguageCode}-CA.${extension}
適用於法語作為目標語言,加拿大作為國家/地區的情況。在這種情況下,test.txt. 將變為 test-fr-CA.txt。
在這種情況下,已經有一個可用的用於目標國家/地區程式碼的變數,因此插入該變數以給出
${nameOnly}-${targetLanguageCode}-${targetCountryCode}.${extension}
對於手頭的案例,更簡單的方法是將目標語言插入目標語言程式碼和目標國家/地區程式碼檔名變數的位置。
${nameOnly}-${targetLanguage}.${extension}
結果與前面最後兩種情況相同。在此示例中,目標檔名現在在副檔名之前的所有檔名字尾中都包含語言(語言加國家/地區程式碼),副檔名保持不變。問答 如何確定適用於檔案的過濾器?
這是由檔案的模式決定的。每個過濾器都列出了其可以處理的檔案的原始檔模式。這可以透過新增或編輯檔案過濾器來設定。每個過濾器可能具有與之關聯的獨特模式。例如,如果要使用純文字過濾器來處理所有沒有副檔名的檔案,請新增或編輯過濾器以具有 *.. 原始檔名模式。還有一些預設過濾器適用於特定檔案型別,但使用不同的編碼。例如,Latin-1 編碼的純文字檔案可以透過 .txt1 副檔名識別。所有檔案在專案中使用之前都可以使用特定模式進行識別,這樣它們將自動被識別。在示例中,副檔名是將檔案與過濾器關聯的決定性因素。如果檔案編碼似乎不正確怎麼辦?
透過更改相應檔案過濾器的原始檔編碼來設定其他編碼。如果單個編碼不適用於源語言和目標語言,該怎麼辦?
實際上,UTF-8、UTF-16 和 UTF-32 編碼幾乎在所有情況下都能正常工作。可以使用這些編碼之一來共同使用源和目標。要對源和目標使用兩種不同的編碼,請確保為每個字元集選擇了合適的編碼,並且源文件檔案在開啟專案之前以正確的編碼儲存。OmegaT 徽標 之前標記(格式化)檔案 文字編輯 下一步 專案檔案和目錄