Overriding Built-in Translations

Overriding Built-in Translations

 

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.

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

    pom.xml

    <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>