SIS包和本地化资源文件
概况:
当使用本地化资源文件为程序添加了多语言支持后,下面一个步骤就是将他们加入.pkg文件,并生成SIS包。
有两个方法来完成这个任务:
将资源打包在.pkg文件时,可选择语言相关方式也可以选择语言无关方式。
语言无关文件:
下列文件都别拷贝到目标机器上,而不管其语言设置或用户选择。
"MyApp.r01" - "!:/system/apps/MyApp/MyApp.r01" ; 01=English
"MyApp.r02" - "!:/system/apps/MyApp/MyApp.r02" ; 02=French
"MyApp.r03" - "!:/system/apps/MyApp/MyApp.r03" ; 03=German
; etc (see TLanguage in e32std.h for all lang. enumerations)
由程序框架根据当前语言设置决定,在程序运行时载入哪种语言。将所有资源文件都拷贝在设备将增长内存消耗,但另一个方面,程序也能支持设备当前语言(可能需要重启后才能更改语言设置)
语言相关文件:
设计一个文件列表,只能根据用户在安装时选的语言来安装一个。文件的顺序和个数必须和.pkg文件中语言行指定的一致:
{ "MyApp.r01",
"MyApp.r02",
"MyApp.r03" } - "!:/system/apps/MyApp/MyApp.rsc"
因为只有一个本地化资源文件能被拷贝,程序将不支持设备上的语言设置,改变程序的语言将需要重新安装一次。
总结:
我们在选择何种方法时应该着重考虑所有本地化资源文件加在一起的大小,以及程序是否要去支持设备上的语言设置更改。
当使用本地化资源文件为程序添加了多语言支持后,下面一个步骤就是将他们加入.pkg文件,并生成SIS包。
有两个方法来完成这个任务:
将资源打包在.pkg文件时,可选择语言相关方式也可以选择语言无关方式。
语言无关文件:
下列文件都别拷贝到目标机器上,而不管其语言设置或用户选择。
"MyApp.r01" - "!:/system/apps/MyApp/MyApp.r01" ; 01=English
"MyApp.r02" - "!:/system/apps/MyApp/MyApp.r02" ; 02=French
"MyApp.r03" - "!:/system/apps/MyApp/MyApp.r03" ; 03=German
; etc (see TLanguage in e32std.h for all lang. enumerations)
由程序框架根据当前语言设置决定,在程序运行时载入哪种语言。将所有资源文件都拷贝在设备将增长内存消耗,但另一个方面,程序也能支持设备当前语言(可能需要重启后才能更改语言设置)
语言相关文件:
设计一个文件列表,只能根据用户在安装时选的语言来安装一个。文件的顺序和个数必须和.pkg文件中语言行指定的一致:
{ "MyApp.r01",
"MyApp.r02",
"MyApp.r03" } - "!:/system/apps/MyApp/MyApp.rsc"
因为只有一个本地化资源文件能被拷贝,程序将不支持设备上的语言设置,改变程序的语言将需要重新安装一次。
总结:
我们在选择何种方法时应该着重考虑所有本地化资源文件加在一起的大小,以及程序是否要去支持设备上的语言设置更改。