#22 wix multilanguage

open
nobody
None
5
12 hours ago
2010-10-19
fabio tosato
No
.
.
.
.

<Dialog Id="WelcomeDlg" Width="440" Height="175" Title="[ProductName] [Setup]" NoMinimize="yes">
    <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="440" Height="175" TabSkip="no" Text="[DialogBitmap]" />
    <Control Id="Description" Type="Text" X="160" Y="110" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
    </Control>   
    <Control Id="LanguageChooseComboBox" Type="ComboBox" X="160" Y="90" Width="156" Height="10" ComboList="yes" Property="SETUPLANGLIST" Sorted="no" RightToLeft="yes">
    </Control>   
    <Control Id="Next" Type="PushButton" X="276" Y="158" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
      <Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
    </Control>
    <Control Id="Cancel" Type="PushButton" X="334" Y="158" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
      <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
    </Control>
    <Control Id="Title" Type="Text" X="160" Y="65" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
      <Text>Select language.</Text>
    </Control>
</Dialog>

.
.
.
.

<Dialog Id="LicenseAgreementDlg" Width="370" Height="270" Title="[ProductName] License Agreement" NoMinimize="yes">
    <Control Id="Buttons" Type="RadioButtonGroup" X="20" Y="187" Width="330" Height="40" Property="IAgree" />
    <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
      <Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>
    </Control>
    <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
      <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
      <Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[IAgree = "Yes"]]></Publish>
      <Condition Action="disable"><![CDATA[IAgree <> "Yes"]]></Condition>
      <Condition Action="enable">IAgree = "Yes"</Condition>
    </Control>
    <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
      <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
    </Control>
    <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
    <Control Id="AgreementText" Type="ScrollableText" X="20" Y="60" Width="330" Height="120" Sunken="yes" TabSkip="no">
      <Text SourceFile="..\License.rtf" />
    </Control>
    <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
      <Text>[string[SETUPLANGLIST]]</Text>
    </Control>
</Dialog>

<ComboBox Property="SETUPLANGLIST">
        <ListItem Text="English" Value="eng" />
        <ListItem Text="Italian" Value="ita" />
</ComboBox>

. 
. 
. 
.

<Property Id="SETUPLANGLIST">eng</Property>

<Property Id="stringeng">English translate</Property>
<Property Id="stringita">Traduzione italiana</Property>

In this way, the first dialog, choose the languages and the [SETUPLANGLIST] variable will be "eng" or "ita", if we write [string[SETUPLANGLIST]] in second dialog, the output will like [stringeng] or [stringita]... how a variables.

I have tested with wix 3.5.2201.0 and wix 3.6... This code have an error in light compile: "ICE03: Invalid format string; etc.." but it WORKS!

Could i have problem in future for this error...!?

Discussion