首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义WIX UI库中的可本地化文本

自定义WIX UI库中的可本地化文本
EN

Stack Overflow用户
提问于 2016-10-25 15:19:24
回答 1查看 419关注 0票数 0

我有两个项目:

  1. InstallerUILibrary.wixlib -包含一个定制的WIX对话框和UI片段,这样我就可以重用它和对话框使用的可本地化文本。
  2. SomeInstaller.wixproj -一个安装程序项目,它引用在安装程序产品中使用UI的InstallerUILibrary.wixlib

我已经在InstallerUILibrary.wixlib中将文本本地化,条目如下:

代码语言:javascript
复制
<Control Id="DiskCost" Text="!(loc.InstallDirDiskCostDlgDiskCost)">

并在InstallerUILibrary.wixlib中包含了类似于以下内容的InstallerUILibrary.wixlib

代码语言:javascript
复制
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
    <String Id="InstallDirDiskCostDlgDiskCost">Disk Cost...</String>
</WixLocalization>

然而,SomeInstaller未能看到wxl文件,因此当可本地化的文本被破坏时,它不会生成。

这是意料之中吗?我在引用我的项目文件时发出了一些嘘声吗?有没有什么地方的开关能让一切正常运转呢?

我是否必须在每个消费项目中包括en-us.wxl

EN

回答 1

Stack Overflow用户

发布于 2016-10-26 09:08:35

根据经验,我发现您需要向安装程序项目中添加至少一个本地化文件。这不需要包含任何字符串,只需要包含WixLocalization元素。

如果您没有任何.wxl文件,那么“区域性要构建”文本框将被只读。但是,一旦你添加了一个,这似乎会促使它采取一致行动,并应用,一些您要求的本地化。

然后,您可以做的是“建议”它构建一个不变的区域性版本的安装程序回到您所选择的语言。添加以下内容

代码语言:javascript
复制
neutral,en-us;

到项目属性中要生成文本框的区域性,该文本框现在应该是可编辑的。

总之,我的解决方案如下所示:

  • InstallerUILibrary.wixproj - wixlib
代码语言:javascript
复制
- Localization  
    - customDlg\_en-US.wxl - Contains the strings used in CustomDlg.wxs Culture="en-US".

代码语言:javascript
复制
- customDlg.wxs

  • SomeInstaller.wixproj -安装程序-要构建的区域性设置为neutral,en-US;
代码语言:javascript
复制
- Localization  
    - invariantCulture.wxl - Contains a single empty WixLocalisationElement with `Culture = ""` (empty string)

代码语言:javascript
复制
- Product.wxs - references CustomDlg

如果有人有一个更整洁的解决方案,那就太好了。

有些阅读我发现只有轻微的用处:

  • 使用内置WixUI对话框集 -注意-culture参数在light.exe上的添加,即您必须选择一个区域设置才能使其工作。
  • 如何:使安装程序可本地化
  • 指定要构建的区域性
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40243748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档