Skip to content

Commit b9fce33

Browse files
committed
U customize setup language
1 parent b45df72 commit b9fce33

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

src/main/java/io/github/fvarrui/javapackager/model/WindowsConfig.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.apache.commons.lang3.StringUtils.defaultIfBlank;
44

55
import java.io.File;
6+
import java.util.LinkedHashMap;
67
import java.util.UUID;
78

89
import io.github.fvarrui.javapackager.packagers.Packager;
@@ -31,6 +32,7 @@ public class WindowsConfig {
3132
private boolean generateMsi = true;
3233
private String msiUpgradeCode;
3334
private boolean wrapJar = true;
35+
private LinkedHashMap<String, String> setupLanguages = new LinkedHashMap<>();
3436

3537
public File getIcoFile() {
3638
return icoFile;
@@ -208,6 +210,14 @@ public void setWrapJar(boolean wrapJar) {
208210
this.wrapJar = wrapJar;
209211
}
210212

213+
public LinkedHashMap<String, String> getSetupLanguages() {
214+
return setupLanguages;
215+
}
216+
217+
public void setSetupLanguages(LinkedHashMap<String, String> setupLanguages) {
218+
this.setupLanguages = setupLanguages;
219+
}
220+
211221
@Override
212222
public String toString() {
213223
return "WindowsConfig [icoFile=" + icoFile + ", headerType=" + headerType + ", companyName=" + companyName
@@ -218,7 +228,7 @@ public String toString() {
218228
+ ", disableDirPage=" + disableDirPage + ", disableProgramGroupPage=" + disableProgramGroupPage
219229
+ ", disableFinishedPage=" + disableFinishedPage + ", createDesktopIconTask=" + createDesktopIconTask
220230
+ ", generateSetup=" + generateSetup + ", generateMsi=" + generateMsi + ", msiUpgradeCode="
221-
+ msiUpgradeCode + ", wrapJar=" + wrapJar + "]";
231+
+ msiUpgradeCode + ", wrapJar=" + wrapJar + ", setupLanguages=" + setupLanguages + "]";
222232
}
223233

224234
/**

src/main/java/io/github/fvarrui/javapackager/packagers/Packager.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ private void init() throws Exception {
142142
throw new Exception("Invalid name specified: " + name, e);
143143
}
144144

145+
// init setup languages
146+
if (platform.equals(Platform.windows) && (winConfig.getSetupLanguages() == null || winConfig.getSetupLanguages().isEmpty())) {
147+
winConfig.getSetupLanguages().put("english", "compiler:Default.isl");
148+
winConfig.getSetupLanguages().put("spanish", "compiler:Languages\\Spanish.isl");
149+
}
150+
145151
doInit();
146152

147153
// removes not necessary platform specific configs

src/main/resources/windows/iss.vtl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
\#define MyAppExeName "${info.name}.exe"
66
\#define MyAppFolder "${info.name}"
77
\#define MyAppLicense "$!{info.licenseFile.absolutePath}"
8-
\#define MyAppIcon "${info.name}.ico"
8+
\#define MyAppIcon "${info.iconFile.absolutePath}"
99

1010
[Setup]
1111
AppId={{{#MyAppName}}}
@@ -42,8 +42,9 @@ SolidCompression=yes
4242
ArchitecturesInstallIn64BitMode=x64
4343

4444
[Languages]
45-
Name: "english"; MessagesFile: "compiler:Default.isl"
46-
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
45+
#foreach ($language in $info.winConfig.setupLanguages.entrySet())
46+
Name: "${language.key}"; MessagesFile: "${language.value}"
47+
#end
4748

4849
[Tasks]
4950
#if ($info.winConfig.createDesktopIconTask)

0 commit comments

Comments
 (0)