IzPack supports many languages out of the box.

If a country or language is not supported, the following instructions can be used to add a new one.

NOTE: This assumes IzPack 5.0.0-rc1 is being used with the izpack-maven-plugin.

Background

In IzPack, language packs are identified by a 3 character ISO country or language code. Country codes are converted to lowercase.

Country codes are used in preference to language codes. This is to handle the case where a language variation is spoken for which there is no ISO language code.

E.g. Portuguese and Brazilian Portuguese - these must be specified using "prt" and "bra" respectively.

Each language pack must have a corresponding resource file located at:

com/izforge/izpack/bin/langpacks/installer/<ISO code>.xml

There must also be a flag resource located at:

com/izforge/izpack/bin/langpacks/flags/<ISO code>.gif

 

E..g The English language pack is used for all English speaking countries, and uses the eng ISO language code..

It has the following resources:

com/izforge/izpack/bin/langpacks/installer/eng.xml

com/izforge/izpack/bin/langpacks/flags/eng.gif

Adding a language pack

 

To add a country specific variant of the English language pack, e,g. for Australia

1. Create the langpack resource in:

com/izforge/izpack/bin/langpacks/installer/aus.xml

This can be derived from the English language pack here:
https://github.com/izpack/izpack/blob/master/izpack-core/src/main/resources/com/izforge/izpack/bin/langpacks/installer/eng.xml

2. Create a flag resource in:

com/izforge/izpack/bin/langpacks/flags/aus.gif

3. Create a jar (call it myjar) containing these resources

4. The izpack-maven-plugin needs to reference the jar in order for it to locate the resources

     <plugin>
     <groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<version>5.0.0-rc1-SNAPSHOT</version>
<configuration>
<installFile>${staging.dir}/install.xml</installFile>
<baseDir>${staging.dir}</baseDir>
</configuration>
<executions>
<execution>
<id>installer</id>
<phase>package</phase>
<goals>
<goal>izpack</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.mystuff</groupId>
<artifactId>myjar</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>