I defined a condition to ensure the INSTALL_PATH only contains ASCII characters:
<conditions>
<condition type="contains" id="conditionvalidator.pathValidator">
<variable>INSTALL_PATH</variable>
<value caseInsensitive="true" regex="true">^[\x20-\x7F]+$</value>
</condition>
</conditions>
<panels>
...
<panel classname="TargetPanel">
<validator classname="com.izforge.izpack.installer.validator.ConditionValidator"/>
</panel>
...
</panels>
With the following ressource imports, internationalization doesn't work:
<resources>
<res id="CustomLangPack.xml_eng" src="IzPack/xml/packsLangpack.eng.xml" />
<res id="CustomLangPack.xml_deu" src="IzPack/xml/packsLangpack.deu.xml" />
<res id="packsLang.xml_eng" src="IzPack/xml/packsLangpack.eng.xml" />
<res id="packsLang.xml_deu" src="IzPack/xml/packsLangpack.deu.xml" />
…
If the condition evaluates to false, an error message pops up: "conditionvalidator.pathValidator.error.message". But if I rearrange the imports to:
<resources>
<res id="packsLang.xml_eng" src="IzPack/xml/packsLangpack.eng.xml" />
<res id="packsLang.xml_deu" src="IzPack/xml/packsLangpack.deu.xml" />
<res id="CustomLangPack.xml_eng" src="IzPack/xml/packsLangpack.eng.xml" />
<res id="CustomLangPack.xml_deu" src="IzPack/xml/packsLangpack.deu.xml" />
…
and the condition evaluates to false, the correct message from the imported language pack is shown as expected.
Windows/Linux