添加本地化资源

根据应用程序,本地化可能需要修改或添加资源,例如文件或注册表项。 本地化示例应用程序 MNP2000 需要在包中添加一个附加文件 Fre.txt,以及以下两个现有文件的法语版本:Help.txt 和 Readme.txt。

在这种情况下,最佳做法是将包本地化,以便英语和法语版本可以在计算机上安全共存。 这包括永远不要将文件名相同的两个不同文件安装到同一目录中。 由于 Help.txt 和 Readme.txt 在两种语言版本中的文件名相同,因此法语包应将这些文件安装到与英语包不同的目录中。

法语包将 Help.txt 安装到 RedPark 文件夹的新子目录 French 中。 由于添加 Fre.txt 会在原始 Help 组件中添加一个资源,因此 Help 组件的组件代码在法语包和英语包中必须不同。 请参阅更改组件代码中的组件代码规则。

法语包将 Readme.txt 安装到 French 目录中,以便此文件名不会与英语版冲突。 Readme.txt 文件随 Notepad 组件一起安装,但组件规则不需要更改组件代码。 在此示例中,不应更改 Notepad 的组件代码,因为 Registry 表中指定的注册表值 RedPark.exe 由两个语言版本共享。 请参阅添加注册表信息

从源文件中删除英语版 Help.txt 和 Readme.txt,并添加新的法语版 Help.txt、Readme.txt 和 Fre.txt。 本地化包应将文件安装从源映射到目标,如下所示。

文件 说明 源的路径 目标的路径
Redpark.exe 文本编辑器可执行文件。 C:\Sample\Notepad\Redpark.exe [ProgramFilesFolder]\Red_Park\French\Redpark.exe
Readme.txt 信息性文件。 C:\Sample\Notepad\Readme.txt [ProgramFilesFolder]\Red_Park\French\Readme.txt
Help.txt 帮助手册 C:\Sample\Notepad\Help.txt [ProgramFilesFolder]\Red_Park\French\Help.txt
Fre.txt 通讯录 C:\Sample\Notepad\Fre.txt [ProgramFilesFolder]\Red_Park\French\Fre.txt

 

使用 SDK 随附的数据库编辑器 Orca 或其他编辑器打开 Directory 表,并为新目录 French 的安装添加一条记录。

Directory 表

目录 Directory_Parent DefaultDir
TARGETDIR SourceDir
ProgramFilesFolder TARGETDIR .
ARTSDIR NOTEPADDIR Arts:Events
HOLDIR MONDIR .:Holidays
MENUDIR NOTEPADDIR 菜单
MONDIR NOTEPADDIR
NOTEPADDIR ProgramFilesFolder Red_Park:Notepad
SPORTDIR NOTEPADDIR Sports:Events
FRENCHDIR NOTEPADDIR French:.

 

使用表编辑器将 MNPFren.msi 中 Help 组件的 ComponentId 更改为新的 GUID。

Component 表

组件 ComponentId Directory_ 特性 条件 Keypath
Baseball {F54ABAC0-33F2-11D3-91D7-00C04FD70856} SPORTDIR 2 Baseball.txt
音乐会 {76FA7A80-33F6-11D3-91D8-00C04FD70856} ARTSDIR 2 Concert.txt
Dance {CCF834A1-33F8-11D3-91D8-00C04FD70856} ARTSDIR 2 Dance.txt
Football {CCF834A0-33F8-11D3-91D8-00C04FD70856} SPORTDIR 2 Football.txt
帮助 {9ED21229-FE3C-4FE9-B01D-57E00224FD0B} NOTEPADDIR 2 Help.txt
1 月 {CF0BC690-33C9-11D3-91D6-00C04FD70856} MONDIR 2 January.txt
NewYears {A42D9140-33D8-11D3-91D6-00C04FD70856} HOLDIR 2 NewYears.txt
记事本 {19BED232-30AB-11D3-91D3-00C04FD70856} FRENCHDIR 2 Redpark.exe

 

使用表编辑器将 Fre.txt 添加到 MNPFren.msi 的 File 表。 在本地化文件的 Language 字段中输入法语版的 LANGID。 在所有其他条件相同的情况下,如果正在安装的文件的语言与计算机上的文件不同,则安装程序会优先使用语言与正在安装的产品匹配的文件。 非特定语言文件被视为另一种语言,因此同样首选正在安装的产品。 有关详细信息,请参阅文件版本控制规则

File 表

文件 Component_ FileName FileSize 版本 语言 特性 序列
Baseball.txt Baseball Baseball.txt 1000 0 1
Concert.txt 音乐会 Concert.txt 1000 0 1
Dance.txt Dance Dance.txt 1000 0 1
Football.txt Football Football.txt 1000 0 1
Help.txt 帮助 Help.txt 1000 1036 0 1
January.txt 1 月 January.txt 1000 0 1
NewYears.txt NewYears NewYears.txt 1000 0 1
Redpark.exe 记事本 Redpark.exe 45328 0 1
Readme.txt 记事本 Readme.txt 1000 1036 0 1
Fre.txt 帮助 Fre.txt 1000 1036 0 1

 

示例本地化至此完成。