我使用WIX V3创建了安装,本地化为法语。 安装工作正常,但后来我们发现了一个奇怪的事情:
安装产品后,我们尝试卸载它。 在卸载期间,我们按取消,然后安装执行回滚(这很好)。问题是在回滚期间,状态显示为英文...
例如:
我用英语搜索字符串&法语wxl但不能罚款。
安装在法语操作系统上进行了测试。
有没有人知道这些字符串可能来自何处?
答案 0 :(得分:2)
默认情况下,ActionText表是而不是。
您必须通过向其中一个wxs文件添加UI元素来自行创建它。此UI元素必须包含ProgressText元素。将每个ProgressText元素的Id属性设置为标准操作的名称。此类元素的内部文本将覆盖为该特定操作显示的字符串。
ProgressText元素还具有Template属性。请查看每个标准操作的文档,以在此处定义相应的模板:Standard Actions Reference。我不知道哪个特定操作正在显示您要查找的字符串。
最好不对每个ProgressText元素的值进行硬编码,而是使用本地化文件。为每个ProgressText元素创建两个本地化字符串。一个用于模板,一个用于实际值。
实施例
wxs文件
<UI>
<ProgressText Action="InstallFiles" Template="!(loc.InstallFilesTemplate)">!(loc.InstallFiles)</ProgressText>
<ProgressText Action="CreateShortcuts" Template="!(loc.CreateShortcutsTemplate)">!(loc.CreateShortcuts)</ProgressText>
<ProgressText Action="WriteRegistryValues" Template="!(loc.WriteRegistryValuesTemplate)">!(loc.WriteRegistryValues)</ProgressText>
<ProgressText Action="RegisterUser" Template="!(loc.RegisterUserTemplate)">!(loc.WriteRegistryValues)</ProgressText>
<ProgressText Action="RegisterProduct" Template="!(loc.RegisterProductTemplate)">!(loc.RegisterProduct)</ProgressText>
<ProgressText Action="PublishFeatures" Template="!(loc.PublishFeaturesTemplate)">!(loc.PublishFeatures)</ProgressText>
<ProgressText Action="PublishProduct" Template="!(loc.PublishProductTemplate)">!(loc.PublishFeatures)</ProgressText>
<ProgressText Action="InstallFinalize" Template="!(loc.InstallFinalizeTemplate)">!(loc.InstallFinalize)</ProgressText>
</UI>
本地化文件
<String Id="InstallFiles">Installazione del archivos</String>
<String Id="InstallFilesTemplate">Archivo: [1], Tamaño de archivo: [6], Directorio: [9]</String>
<String Id="CreateShortcuts">Creacion de los atajos</String>
<String Id="CreateShortcutsTemplate">Atajo [1] creado</String>
<String Id="WriteRegistryValues">Escribir en registro</String>
<String Id="WriteRegistryValuesTemplate">Camino: [1], Nombre: [2], valor: [3]</String>
<String Id="RegisterUser">Registrar a los usuarios</String>
<String Id="RegisterUserTemplate">Usario: [1]</String>
<String Id="RegisterProduct">Registrar producto</String>
<String Id="RegisterProductTemplate">Producto: [1]</String>
<String Id="PublishFeatures">Publicar las características</String>
<String Id="PublishFeaturesTemplate">Caraterística: [1]</String>
<String Id="PublishProduct">Publicar el producto</String>
<String Id="PublishProductTemplate">Producto: [1]</String>
<String Id="InstallFinalize">Finalizar la instalación</String>
<String Id="InstallFinalizeTemplate">Finalizar [ProductName]</String>
注意:我不懂西班牙语,我只是让google翻译它。
以下是您可能需要查看的正确顺序的标准操作列表:
我的知识基于具有以下ISBN的书:978-1782160427
答案 1 :(得分:1)
您是否在设置中引用了进度字符串?
默认情况下,WiX不包含这些内容,因此您需要确保手动引用它们,如下所示:
<UIRef Id="WixUI_ErrorProgressText" />
然后,只要您在设置中包含法语(fr-FR
),就会包含本地化字符串。