Skip to content

Commit 971de5e

Browse files
fhembergerrvagg
authored andcommitted
build: prepare Windows installer for i18n support
PR-URL: #2247 Reviewed-By: Rod Vagg <[email protected]>
1 parent ba9ccf2 commit 971de5e

File tree

5 files changed

+114
-29
lines changed

5 files changed

+114
-29
lines changed

tools/msvs/msi/WixUI_en-us.wxl

-5
This file was deleted.

tools/msvs/msi/i18n/de-de.wxl

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="de-de" xmlns="http://schemas.microsoft.com/wix/2006/localization">
3+
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
4+
<String Id="LocaleId">1031</String>
5+
6+
<String Id="WelcomeDlgDescription">Dieser Installationsassistent wird [ProductName] auf Ihrem Computer installieren.&#xD;&#xA;&#xD;&#xA;WARNUNG: Wenn Sie von [ProductName] v1.0.0 oder v1.0.1 aus updaten wollen, müssen Sie diese Versionen zuerst manuell deinstallieren.</String>
7+
<String Id="InstallDirDlgDescription">Wählen Sie einen anderen Installationsort oder klicken Sie auf Weiter zum installieren.</String>
8+
9+
<String Id="MajorUpgrade_DowngradeErrorMessage">Eine neuere Version von [ProductName] ist bereits installiert. Der Installationsassistent wird jetzt geschlossen.</String>
10+
11+
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
12+
<String Id="NodeRuntime_Title">io.js-Laufzeitumgebung</String>
13+
<String Id="NodeRuntime_Description">Installation der [ProductName]-Laufzeitumgebung (iojs.exe).</String>
14+
15+
<String Id="NodeAlias_Title">Verweis von node auf iojs</String>
16+
<String Id="NodeAlias_Description">Erstelle node.exe als Verweis für iojs.exe.</String>
17+
18+
<String Id="NodePerfCtrSupport_Title">Performance Counter</String>
19+
<String Id="NodePerfCtrSupport_Description">Installiert Unterstützung für [ProductName]-spezifische Performance Counter.</String>
20+
21+
<String Id="NodeEtwSupport_Title">Event Tracing (ETW)</String>
22+
<String Id="NodeEtwSupport_Description">Installiert Unterstützung für Event Tracing (ETW)-Events, generiert von [ProductName].</String>
23+
24+
<String Id="npm_Title">npm-Paketmanager</String>
25+
<String Id="npm_Description">Installiert npm, den empfohlenen Paketmanager für [ProductName].</String>
26+
27+
<String Id="DocumentationShortcuts_Title">Link zur Online-Dokumentation</String>
28+
<String Id="DocumentationShortcuts_Description">Fügt Startmenü-Einträge zur Online-Dokumentation von [ProductName] [FullVersion] und zur [ProductName]-Website hinzu.</String>
29+
30+
<String Id="EnvironmentPath_Title">Hinzufügen zu PATH</String>
31+
<String Id="EnvironmentPath_Description">Fügt [ProductName], npm und globale durch npm installierte Module zur PATH-Umgebungsvariable hinzu.</String>
32+
33+
<String Id="EnvironmentPathNode_Title">io.js und npm</String>
34+
<String Id="EnvironmentPathNode_Description">Fügt [ProductName] und npm (falls installiert) zur PATH-Umgebungsvariable hinzu.</String>
35+
36+
<String Id="EnvironmentPathNpmModules_Title">npm-Module</String>
37+
<String Id="EnvironmentPathNpmModules_Description">Fügt globale durch npm installierte Module zur PATH-Umgebungsvariable hinzu. Diese Option funktioniert nur für den aktuellen Benutzer, andere Benutzer müssen ihre PATH-Umgebungsvariable selbst manuell aktualisieren.</String>
38+
39+
<!-- References like [ProductName] are not resolved for Property tags -->
40+
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">io.js wurde erfolgreich installiert.</String>
41+
</WixLocalization>

tools/msvs/msi/i18n/en-us.wxl

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
3+
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
4+
<String Id="LocaleId">1033</String>
5+
6+
<String Id="WelcomeDlgDescription">The Setup Wizard will install [ProductName] on your computer.&#xD;&#xA;&#xD;&#xA;WARNING: if you're upgrading from [ProductName] v1.0.0 or v1.0.1, you must first uninstall these versions manually.</String>
7+
<String Id="InstallDirDlgDescription">Choose a custom location or click Next to install.</String>
8+
9+
<String Id="MajorUpgrade_DowngradeErrorMessage">A later version of [ProductName] is already installed. Setup will now exit.</String>
10+
11+
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
12+
<String Id="NodeRuntime_Title">io.js runtime</String>
13+
<String Id="NodeRuntime_Description">Install the core [ProductName] runtime (iojs.exe).</String>
14+
15+
<String Id="NodeAlias_Title">Alias node to iojs</String>
16+
<String Id="NodeAlias_Description">Create node.exe as an alias for iojs.exe.</String>
17+
18+
<String Id="NodePerfCtrSupport_Title">Performance counters</String>
19+
<String Id="NodePerfCtrSupport_Description">Installs support for [ProductName]-specific performance counters.</String>
20+
21+
<String Id="NodeEtwSupport_Title">Event tracing (ETW)</String>
22+
<String Id="NodeEtwSupport_Description">Installs support for event tracing (ETW) events generated by [ProductName].</String>
23+
24+
<String Id="npm_Title">npm package manager</String>
25+
<String Id="npm_Description">Install npm, the recommended package manager for [ProductName].</String>
26+
27+
<String Id="DocumentationShortcuts_Title">Online documentation shortcuts</String>
28+
<String Id="DocumentationShortcuts_Description">Add start menu entries that link the the online documentation for [ProductName] [FullVersion] and the [ProductName] website.</String>
29+
30+
<String Id="EnvironmentPath_Title">Add to PATH</String>
31+
<String Id="EnvironmentPath_Description">Add [ProductName], npm, and modules that were globally installed by npm to the PATH environment variable.</String>
32+
33+
<String Id="EnvironmentPathNode_Title">io.js and npm</String>
34+
<String Id="EnvironmentPathNode_Description">Add [ProductName] and npm (if installed) to the PATH environment variable.</String>
35+
36+
<String Id="EnvironmentPathNpmModules_Title">npm modules</String>
37+
<String Id="EnvironmentPathNpmModules_Description">Add modules that are installed globally by npm to the PATH environment variable. This option works for the current user only; other users need to update their PATH manually.</String>
38+
39+
<!-- References like [ProductName] are not resolved for Property tags -->
40+
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">io.js has been successfully installed.</String>
41+
</WixLocalization>

tools/msvs/msi/nodemsi.wixproj

+10-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
</WixExtension>
5555
</ItemGroup>
5656
<ItemGroup>
57-
<EmbeddedResource Include="WixUI_en-us.wxl" />
57+
<!-- <EmbeddedResource Include="i18n\de-de.wxl" /> -->
58+
<EmbeddedResource Include="i18n\en-us.wxl" />
5859
</ItemGroup>
5960
<ItemGroup>
6061
<ProjectReference Include="custom_actions.vcxproj">
@@ -73,6 +74,13 @@
7374
</Target>
7475
<PropertyGroup>
7576
<PostBuildEvent>move "!(TargetPath)" "$(TargetDir)\$(TargetFileName)"
76-
move "!(TargetPdbPath)" "$(TargetDir)\$(TargetPdbName)"</PostBuildEvent>
77+
move "!(TargetPdbPath)" "$(TargetDir)\$(TargetPdbName)"</PostBuildEvent>
78+
<!--
79+
<PostBuildEvent>
80+
"$(WixToolPath)\torch.exe" -t language "$(TargetDir)en-US\$(TargetFileName)" "$(TargetDir)de-de\$(TargetFileName)" -out "$(TargetDir)transforms\de-de.mst"
81+
cscript.exe "$(WindowsSDK80Path)bin\$(Platform)\WiSubStg.vbs" "$(TargetDir)en-US\$(TargetFileName)" "$(TargetDir)transforms\de-de.mst" 1031
82+
cscript.exe "$(WindowsSDK80Path)bin\$(Platform)\WiLangId.vbs" "$(TargetDir)en-US\$(TargetFileName)" Package 1033,1031
83+
</PostBuildEvent>
84+
-->
7785
</PropertyGroup>
7886
</Project>

tools/msvs/msi/product.wxs

+22-22
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313

1414
<Product Id="*"
1515
Name="$(var.ProductName)"
16-
Language="1033"
16+
Language="!(loc.LocaleId)"
1717
Version="$(var.ProductVersion)"
1818
Manufacturer="$(var.ProductAuthor)"
1919
UpgradeCode="47c07a3a-42ef-4213-a85d-8f5a59077c28">
2020

21-
<Package InstallerVersion="200" Compressed="yes"/>
21+
<Package Languages="!(loc.LocaleId)" InstallerVersion="200" Compressed="yes"/>
2222

2323
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/>
2424

2525
<MajorUpgrade AllowSameVersionUpgrades="yes"
26-
DowngradeErrorMessage="A later version of io.js is already installed. Setup will now exit."/>
26+
DowngradeErrorMessage="!(loc.MajorUpgrade_DowngradeErrorMessage)"/>
2727

2828
<Icon Id="NodeIcon" SourceFile="$(var.RepoDir)\src\res\iojs.ico"/>
2929
<Property Id="ARPPRODUCTICON" Value="NodeIcon"/>
@@ -40,8 +40,8 @@
4040

4141
<Feature Id="NodeRuntime"
4242
Level="1"
43-
Title="io.js runtime"
44-
Description="Install the core io.js runtime (iojs.exe)."
43+
Title="!(loc.NodeRuntime_Title)"
44+
Description="!(loc.NodeRuntime_Description)"
4545
Absent="disallow">
4646
<ComponentRef Id="NodeExecutable"/>
4747
<ComponentRef Id="NodeVarsScript"/>
@@ -51,30 +51,30 @@
5151

5252
<Feature Id="NodeAlias"
5353
Level="1"
54-
Title="Alias node to iojs"
55-
Description="Create node.exe as an alias for iojs.exe.">
54+
Title="!(loc.NodeAlias_Title)"
55+
Description="!(loc.NodeAlias_Description)">
5656
<ComponentRef Id="NodeAlias"/>
5757
</Feature>
5858

5959
<Feature Id="NodePerfCtrSupport"
6060
Level="1"
61-
Title="Performance counters"
62-
Description="Installs support for io.js-specific performance counters.">
61+
Title="!(loc.NodePerfCtrSupport_Title)"
62+
Description="!(loc.NodePerfCtrSupport_Description)">
6363
<ComponentRef Id="NodePerfCtrSupport"/>
6464
</Feature>
6565

6666
<Feature Id="NodeEtwSupport"
6767
Level="1"
68-
Title="Event tracing (ETW)"
69-
Description="Installs support for event tracing (ETW) events generated by io.js.">
68+
Title="!(loc.NodeEtwSupport_Title)"
69+
Description="!(loc.NodeEtwSupport_Description)">
7070
<ComponentRef Id="NodeEtwSupport"/>
7171
</Feature>
7272
</Feature>
7373

7474
<Feature Id="npm"
7575
Level="1"
76-
Title="npm package manager"
77-
Description="Install npm, the recommended package manager for io.js.">
76+
Title="!(loc.npm_Title)"
77+
Description="!(loc.npm_Description)">
7878
<ComponentRef Id="NpmCmdScript"/>
7979
<ComponentRef Id="NpmBashScript"/>
8080
<ComponentRef Id="NpmConfigurationFile"/>
@@ -84,26 +84,26 @@
8484

8585
<Feature Level="1"
8686
Id="DocumentationShortcuts"
87-
Title="Online documentation shortcuts"
88-
Description="Add start menu entries that link the the online documentation for io.js v$(var.FullVersion) and the io.js website.">
87+
Title="!(loc.DocumentationShortcuts_Title)"
88+
Description="!(loc.DocumentationShortcuts_Description)">
8989
<ComponentRef Id="DocumentationShortcuts"/>
9090
</Feature>
9191

9292
<Feature Id="EnvironmentPath"
9393
Level="1"
94-
Title="Add to PATH"
95-
Description="Add io.js, npm, and modules that were globally installed by npm to the PATH environment variable.">
94+
Title="!(loc.EnvironmentPath_Title)"
95+
Description="!(loc.EnvironmentPath_Description)">
9696
<Feature Id="EnvironmentPathNode"
9797
Level="1"
98-
Title="io.js and npm"
99-
Description="Add io.js and npm (if installed) to the PATH environment variable.">
98+
Title="!(loc.EnvironmentPathNode_Title)"
99+
Description="!(loc.EnvironmentPathNode_Description)">
100100
<ComponentRef Id="EnvironmentPathNode"/>
101101
</Feature>
102102

103103
<Feature Id="EnvironmentPathNpmModules"
104104
Level="1"
105-
Title="npm modules"
106-
Description="Add modules that are installed globally by npm to the PATH environment variable. This option works for the current user only; other users need to update their PATH manually.">
105+
Title="!(loc.EnvironmentPathNpmModules_Title)"
106+
Description="!(loc.EnvironmentPathNpmModules_Description)">
107107
<ComponentRef Id="EnvironmentPathNpmModules"/>
108108
</Feature>
109109
</Feature>
@@ -329,7 +329,7 @@
329329
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="2">NOT Installed</Publish>
330330
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
331331

332-
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="io.js has been successfully installed."/>
332+
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="!(loc.WIXUI_EXITDIALOGOPTIONALTEXT)"/>
333333
</UI>
334334

335335
<UIRef Id="WixUI_Common"/>

0 commit comments

Comments
 (0)