Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add i18n support to Windows Installer, add de-de #888

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions tools/msvs/msi/WixUI_en-us.wxl

This file was deleted.

40 changes: 40 additions & 0 deletions tools/msvs/msi/i18n/de-de.wxl
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="de-de" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
<String Id="LocaleId">1031</String>

<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>
<String Id="InstallDirDlgDescription">Wählen Sie einen anderen Installationsort oder klicken Sie auf Weiter zum installieren.</String>

<String Id="MajorUpgrade_DowngradeErrorMessage">Eine neuere Version von [ProductName] ist bereits installiert. Der Installationsassistent wird jetzt geschlossen.</String>

<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
<String Id="NodeRuntime_Title">io.js-Laufzeitumgebung</String>
<String Id="NodeRuntime_Description">Installation der [ProductName]-Laufzeitumgebung (iojs.exe).</String>

<String Id="NodeAlias_Title">Verweis von node auf iojs</String>
<String Id="NodeAlias_Description">Erstelle node.exe als Verweis für iojs.exe.</String>

<String Id="NodePerfCtrSupport_Title">Performance Counter</String>
<String Id="NodePerfCtrSupport_Description">Installiert Unterstützung für [ProductName]-spezifische Performance Counter.</String>

<String Id="NodeEtwSupport_Title">Event Tracing (ETW)</String>
<String Id="NodeEtwSupport_Description">Installiert Unterstützung für Event Tracing (ETW)-Events, generiert von [ProductName].</String>

<String Id="npm_Title">npm-Paketmanager</String>
<String Id="npm_Description">Installiert npm, den empfohlenen Paketmanager für [ProductName].</String>

<String Id="DocumentationShortcuts_Title">Link zur Online-Dokumentation</String>
<String Id="DocumentationShortcuts_Description">Fügt Startmenü-Einträge zur Online-Dokumentation von [ProductName] [ProductVersion] und zur [ProductName]-Website hinzu.</String>

<String Id="EnvironmentPath_Title">Hinzufügen zu PATH</String>
<String Id="EnvironmentPath_Description">Fügt [ProductName], npm und globale durch npm installierte Module zur PATH-Umgebungsvariable hinzu.</String>

<String Id="EnvironmentPathNode_Title">io.js und npm</String>
<String Id="EnvironmentPathNode_Description">Fügt [ProductName] und npm (falls installiert) zur PATH-Umgebungsvariable hinzu.</String>

<String Id="EnvironmentPathNpmModules_Title">npm-Module</String>
<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>

<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">[ProductName] wurde erfolgreich installiert.</String>
</WixLocalization>
40 changes: 40 additions & 0 deletions tools/msvs/msi/i18n/en-us.wxl
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
<String Id="LocaleId">1033</String>

<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>
<String Id="InstallDirDlgDescription">Choose a custom location or click Next to install.</String>

<String Id="MajorUpgrade_DowngradeErrorMessage">A later version of [ProductName] is already installed. Setup will now exit.</String>

<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
<String Id="NodeRuntime_Title">io.js runtime</String>
<String Id="NodeRuntime_Description">Install the core [ProductName] runtime (iojs.exe).</String>

<String Id="NodeAlias_Title">Alias node to iojs</String>
<String Id="NodeAlias_Description">Create node.exe as an alias for iojs.exe.</String>

<String Id="NodePerfCtrSupport_Title">Performance counters</String>
<String Id="NodePerfCtrSupport_Description">Installs support for [ProductName]-specific performance counters.</String>

<String Id="NodeEtwSupport_Title">Event tracing (ETW)</String>
<String Id="NodeEtwSupport_Description">Installs support for event tracing (ETW) events generated by [ProductName].</String>

<String Id="npm_Title">npm package manager</String>
<String Id="npm_Description">Install npm, the recommended package manager for [ProductName].</String>

<String Id="DocumentationShortcuts_Title">Online documentation shortcuts</String>
<String Id="DocumentationShortcuts_Description">Add start menu entries that link the the online documentation for [ProductName] [ProductVersion] and the [ProductName] website.</String>

<String Id="EnvironmentPath_Title">Add to PATH</String>
<String Id="EnvironmentPath_Description">Add [ProductName], npm, and modules that were globally installed by npm to the PATH environment variable.</String>

<String Id="EnvironmentPathNode_Title">io.js and npm</String>
<String Id="EnvironmentPathNode_Description">Add [ProductName] and npm (if installed) to the PATH environment variable.</String>

<String Id="EnvironmentPathNpmModules_Title">npm modules</String>
<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>

<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">[ProductName] has been successfully installed.</String>
</WixLocalization>
31 changes: 17 additions & 14 deletions tools/msvs/msi/nodemsi.wixproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,23 @@
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<OutputPath>..\..\..\$(Configuration)</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<OutputPath>..\..\..\$(Configuration)</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<OutputPath>..\..\..\$(Configuration)</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
<Cultures>en-US</Cultures>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<OutputPath>..\..\..\$(Configuration)</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
</PropertyGroup>
<PropertyGroup>
Expand All @@ -45,16 +44,17 @@
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
<HintPath>$(WixExtDir)WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
<WixExtension Include="WiXUtilExtension">
<HintPath>$(WixExtDir)\WiXUtilExtension.dll</HintPath>
<HintPath>$(WixExtDir)WiXUtilExtension.dll</HintPath>
<Name>WiXUtilExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="WixUI_en-us.wxl" />
<EmbeddedResource Include="i18n\de-de.wxl" />
<EmbeddedResource Include="i18n\en-us.wxl" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="custom_actions.vcxproj">
Expand All @@ -72,7 +72,10 @@
</HeatDirectory>
</Target>
<PropertyGroup>
<PostBuildEvent>move "!(TargetPath)" "$(TargetDir)\$(TargetFileName)"
move "!(TargetPdbPath)" "$(TargetDir)\$(TargetPdbName)"</PostBuildEvent>
<PostBuildEvent>
"$(WixToolPath)\torch.exe" -t language "$(TargetDir)en-US\$(TargetFileName)" "$(TargetDir)de-de\$(TargetFileName)" -out "$(TargetDir)transforms\de-de.mst"
cscript.exe "$(WindowsSDK80Path)bin\$(Platform)\WiSubStg.vbs" "$(TargetDir)en-US\$(TargetFileName)" "$(TargetDir)transforms\de-de.mst" 1031
cscript.exe "$(WindowsSDK80Path)bin\$(Platform)\WiLangId.vbs" "$(TargetDir)en-US\$(TargetFileName)" Package 1033,1031
</PostBuildEvent>
</PropertyGroup>
</Project>
44 changes: 22 additions & 22 deletions tools/msvs/msi/product.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@

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

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

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

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

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

<Feature Id="NodeRuntime"
Level="1"
Title="io.js runtime"
Description="Install the core io.js runtime (iojs.exe)."
Title="!(loc.NodeRuntime_Title)"
Description="!(loc.NodeRuntime_Description)"
Absent="disallow">
<ComponentRef Id="NodeExecutable"/>
<ComponentRef Id="NodeVarsScript"/>
Expand All @@ -51,30 +51,30 @@

<Feature Id="NodeAlias"
Level="1"
Title="Alias node to iojs"
Description="Create node.exe as an alias for iojs.exe.">
Title="!(loc.NodeAlias_Title)"
Description="!(loc.NodeAlias_Description)">
<ComponentRef Id="NodeAlias"/>
</Feature>

<Feature Id="NodePerfCtrSupport"
Level="1"
Title="Performance counters"
Description="Installs support for io.js-specific performance counters.">
Title="!(loc.NodePerfCtrSupport_Title)"
Description="!(loc.NodePerfCtrSupport_Description)">
<ComponentRef Id="NodePerfCtrSupport"/>
</Feature>

<Feature Id="NodeEtwSupport"
Level="1"
Title="Event tracing (ETW)"
Description="Installs support for event tracing (ETW) events generated by io.js.">
Title="!(loc.NodeEtwSupport_Title)"
Description="!(loc.NodeEtwSupport_Description)">
<ComponentRef Id="NodeEtwSupport"/>
</Feature>
</Feature>

<Feature Id="npm"
Level="1"
Title="npm package manager"
Description="Install npm, the recommended package manager for io.js.">
Title="!(loc.npm_Title)"
Description="!(loc.npm_Description)">
<ComponentRef Id="NpmCmdScript"/>
<ComponentRef Id="NpmBashScript"/>
<ComponentRef Id="NpmConfigurationFile"/>
Expand All @@ -84,26 +84,26 @@

<Feature Level="1"
Id="DocumentationShortcuts"
Title="Online documentation shortcuts"
Description="Add start menu entries that link the the online documentation for io.js $(var.ProductVersion) and the io.js website.">
Title="!(loc.DocumentationShortcuts_Title)"
Description="!(loc.DocumentationShortcuts_Description)">
<ComponentRef Id="DocumentationShortcuts"/>
</Feature>

<Feature Id="EnvironmentPath"
Level="1"
Title="Add to PATH"
Description="Add io.js, npm, and modules that were globally installed by npm to the PATH environment variable.">
Title="!(loc.EnvironmentPath_Title)"
Description="!(loc.EnvironmentPath_Description)">
<Feature Id="EnvironmentPathNode"
Level="1"
Title="io.js and npm"
Description="Add io.js and npm (if installed) to the PATH environment variable.">
Title="!(loc.EnvironmentPathNode_Title)"
Description="!(loc.EnvironmentPathNode_Description)">
<ComponentRef Id="EnvironmentPathNode"/>
</Feature>

<Feature Id="EnvironmentPathNpmModules"
Level="1"
Title="npm modules"
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.">
Title="!(loc.EnvironmentPathNpmModules_Title)"
Description="!(loc.EnvironmentPathNpmModules_Description)">
<ComponentRef Id="EnvironmentPathNpmModules"/>
</Feature>
</Feature>
Expand Down Expand Up @@ -329,7 +329,7 @@
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="2">NOT Installed</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>

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

<UIRef Id="WixUI_Common"/>
Expand Down