為多語言合併模組撰寫語言轉換程式
當模組合併到具有不同預設語言的資料庫時,合併工具可能需要將語言轉換套用至模組,以提供最終語言。 如需詳細資訊,請參閱 多個語言合併模組。
語言轉換會儲存在模組的 .msm 檔案中,而且必須具有名稱和格式:MergeModule.Lang### 。 #### 代表最終語言的四位數 up-to LANGID。 例如,MergeModule.Lang1033、MergeModule.Lang9 和 MergeModule.Lang0 會轉換成美國英文、世界英文和語言中性。 這些與 內嵌轉換 相同,您可以將它們新增至 .msm 檔案中的子記憶體。
語言轉換應該執行下列動作:
- 將 ModuleSignature 數據表之 Language 資料行中的預設語言變更為模組的新語言。
- 將 ModuleComponents 數據表之 Language 數據行中的預設語言變更為模組的新語言。 轉換可能會新增或移除此資料表中的數據列。
- 如有必要,請將 RequiredLanguage 欄中的語言更改,或在 ModuleDependency 表中新增或刪除列。
- 如有必要,請在 ExcludedLanguage 欄中更改語言,或在 ModuleExclusion 表中新增或刪除數據列。
- 轉換可能會在模組上執行任何有效的轉換作業,包括新增或移除元件、檔案、登錄專案或動作。
請注意,開啟模組時套用語言轉換並不會變更默認語言或模組支援的語言,只會變更所要求的語言。 因此,範本摘要 屬性不會變更,它應該已經列出模組所支援的所有語言,並先列出默認語言。
所有可能語言轉換所需的所有檔案通常會儲存在模組隨附的單一封包檔案中。 由於語言轉換修改此封包檔案並不實用,因此最好在封包檔案中使用全域檔案序列,檔案數據表,以及語言轉換。 如需詳細資訊,請參閱多語言合併模組的 CAB 中檔案順序排序