将模块合并到具有不同默认语言的数据库时,合并工具可能需要将语言转换应用到模块以提供最终语言。 有关详细信息,请参阅 多种语言合并模块。
语言转换存储在模块的 .msm 文件中,必须具有名称和格式:MergeModule.Lang####。 #### 表示最终语言的 up-to 四位数 LANGID 。 例如,MergeModule.Lang1033、MergeModule.Lang9 和 MergeModule.Lang0,用于转换为美国英语、世界英语和语言中性。 这些转换与 嵌入转换 相同,你可以将它们添加到 .msm 文件中的子存储中。
语言转换应执行以下操作:
- 将 ModuleSignature 表 的 Language 列中的默认语言更改为模块的新语言。
- 将 ModuleComponents 表 的语言列中的默认语言更改为模块的新语言。 转换可能会在此表中添加或删除行。
- 如有必要,请在 ModuleDependency 表 中更改 RequiredLanguage 列的语言,或添加或删除行。
- 如果有必要,请更改 ExcludedLanguage 列中的语言,或在 ModuleExclusion 表中添加或删除行。
- 转换可以在模块上执行任何有效的转换操作,包括添加或删除组件、文件、注册表项或操作。
请注意,打开模块时应用语言转换不会更改默认语言或模块支持的语言,它只会更改所请求的语言。 因此 ,模板摘要 属性不会更改,它应已列出模块支持的所有语言,并首先列出默认语言。
所有语言转换可能需要的文件通常存储在模块随附的单个CAB文件中。 由于语言转换修改此内阁文件并不实用,因此最好在内阁文件、 文件表和语言转换中使用全局文件序列。 有关详细信息,请参阅 在多语言合并模块的 CAB 中对文件序列进行排序