[Wix 3.9]如何创建针对多种语言本地化的单个 exe(引导程序)
[Wix 3.9]How to create a single exe(bootstrapper) localized for multiple languages
我创建了一个 wix 引导程序应用程序,它包含两个 msi 包。我想本地化我的 boostrapper 应用程序。我的目标是本地化我的引导程序应用程序,它应该启动符合系统语言的应用程序。这意味着,它应该是一个适用于所有语言的 exe。我想支持以下语言,
- 美国英语
- BZL 端口
- 国际。西班牙语
- FR
- GR
- 俄语
- 简体中文
- 日本,
- 韩国,
- 泰国语
- 阿拉伯语,
- 繁体中文
我的第一级学习,我知道需要有效负载文件来在引导程序中应用本地化,以便自动为 UI 翻译的字符串应用本地化。我为英语、法语和俄语等 3 种语言添加了 3 个有效负载文件。构建完成后我得到了一个exe。在这里,我尝试在 bal:WixStandardBootstrapperApplication 标签中手动 selected LocalizationFile 文件。所以我得到了一个 .exe,它应该只适用于该语言。如果我需要其他语言的另一个 exe,需要更改 LocalizationFile 值并重新构建它。我想要一个根据系统语言调用的exe。
这里我有以下问题,
- 当我使用负载文件时,如何根据
到系统语言,即如果系统语言是Fr,那么
运行 安装文件,安装 UI 字符串应该被翻译成
法语?可能吗?如果可以,怎么做?
- 如何根据系统语言翻译引导程序中的 Bundle 名称?
- 如何根据系统语言翻译 msi 包中的 DisplayName 名称?
- 这里我的msi包里也有几个字符串,需要加吗
每种语言的翻译字符串..我添加了翻译字符串
每种语言。构建后,每个
都会看到不同的 .msi 文件
语。然后我手动select编辑了
的msi包的SourceFile
boostrapper 链中的每种语言。太难了。有什么
动态 select msi 系统语言的其他选项
包,如果有,如何?
请指导我。
此致,
乔治
使用有效载荷文件,我们可以本地化捆绑项目。
查看代码片段,
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile=""
LocalizationFile="Theme.wxl"
ThemeFile="theme.xml"
LogoFile="Images\xxx.png"
SuppressRepair="yes"
SuppressOptionsUI="yes"/>
<Payload Id="thm-fr-FR" Compressed="yes" Name="1036\thm.wxl" SourceFile="theme36\RtfTheme.wxl" />
<Payload Id="lic-fr-FR" Compressed="yes" Name="1036\license.rtf" SourceFile="theme36\EULA.rtf" />
<Payload Id="thm-ja-JP" Compressed="yes" Name="1041\thm.wxl" SourceFile="theme41\RtfTheme.wxl" />
<Payload Id="lic-ja-JP" Compressed="yes" Name="1041\license.rtf" SourceFile="theme41\EULA.rtf" />
<Payload Id="thm-es-ES" Compressed="yes" Name="3082\thm.wxl" SourceFile="theme82\RtfTheme.wxl" />
<Payload Id="lic-es-ES" Compressed="yes" Name="3082\license.rtf" SourceFile="theme82\EULA.rtf" />
</BootstrapperApplicationRef>
payload 的名称属性是important.Naming 应该是LCID,因为bundle 识别LCID code.Place "theme36\RtfTheme.wxl" 目录中的本地化文件。
完成此操作后,从控制面板更改系统语言并查看差异。
谢谢,
乔治
我创建了一个 wix 引导程序应用程序,它包含两个 msi 包。我想本地化我的 boostrapper 应用程序。我的目标是本地化我的引导程序应用程序,它应该启动符合系统语言的应用程序。这意味着,它应该是一个适用于所有语言的 exe。我想支持以下语言,
- 美国英语
- BZL 端口
- 国际。西班牙语
- FR
- GR
- 俄语
- 简体中文
- 日本,
- 韩国,
- 泰国语
- 阿拉伯语,
- 繁体中文
我的第一级学习,我知道需要有效负载文件来在引导程序中应用本地化,以便自动为 UI 翻译的字符串应用本地化。我为英语、法语和俄语等 3 种语言添加了 3 个有效负载文件。构建完成后我得到了一个exe。在这里,我尝试在 bal:WixStandardBootstrapperApplication 标签中手动 selected LocalizationFile 文件。所以我得到了一个 .exe,它应该只适用于该语言。如果我需要其他语言的另一个 exe,需要更改 LocalizationFile 值并重新构建它。我想要一个根据系统语言调用的exe。
这里我有以下问题,
- 当我使用负载文件时,如何根据 到系统语言,即如果系统语言是Fr,那么 运行 安装文件,安装 UI 字符串应该被翻译成 法语?可能吗?如果可以,怎么做?
- 如何根据系统语言翻译引导程序中的 Bundle 名称?
- 如何根据系统语言翻译 msi 包中的 DisplayName 名称?
- 这里我的msi包里也有几个字符串,需要加吗
每种语言的翻译字符串..我添加了翻译字符串 每种语言。构建后,每个
都会看到不同的 .msi 文件 语。然后我手动select编辑了
的msi包的SourceFile boostrapper 链中的每种语言。太难了。有什么 动态 select msi 系统语言的其他选项 包,如果有,如何?
请指导我。
此致,
乔治
使用有效载荷文件,我们可以本地化捆绑项目。
查看代码片段,
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile=""
LocalizationFile="Theme.wxl"
ThemeFile="theme.xml"
LogoFile="Images\xxx.png"
SuppressRepair="yes"
SuppressOptionsUI="yes"/>
<Payload Id="thm-fr-FR" Compressed="yes" Name="1036\thm.wxl" SourceFile="theme36\RtfTheme.wxl" />
<Payload Id="lic-fr-FR" Compressed="yes" Name="1036\license.rtf" SourceFile="theme36\EULA.rtf" />
<Payload Id="thm-ja-JP" Compressed="yes" Name="1041\thm.wxl" SourceFile="theme41\RtfTheme.wxl" />
<Payload Id="lic-ja-JP" Compressed="yes" Name="1041\license.rtf" SourceFile="theme41\EULA.rtf" />
<Payload Id="thm-es-ES" Compressed="yes" Name="3082\thm.wxl" SourceFile="theme82\RtfTheme.wxl" />
<Payload Id="lic-es-ES" Compressed="yes" Name="3082\license.rtf" SourceFile="theme82\EULA.rtf" />
</BootstrapperApplicationRef>
payload 的名称属性是important.Naming 应该是LCID,因为bundle 识别LCID code.Place "theme36\RtfTheme.wxl" 目录中的本地化文件。 完成此操作后,从控制面板更改系统语言并查看差异。
谢谢,
乔治