Normally, I write my internationalisation (i18n) files in UTF-8 format. This means that they are human readable.

Java i18n files however must be ISO-8859-1. If you don't process them using something like native2ascii, accented and multibyte characters will return gobbledegook at best.

You can manually convert a single file manually using this command:

native2ascii -encoding utf-8 ./src/main/resources/ ./target/classes/

That's tedious, so why not automate the process during the build?

Using native2ascii-maven-plugin

Luckily, there's a maven plugin called native2ascii-maven-plugin. Its old, but does the job.

For Atlassian SDK p2 add-ons, use something like this:


<!-- For Java 7+ compilation: -->

Your source files will be in sweet UTF-8 format and your target files will be mangled into ISO-8859-1 as Java requires.

How do you do this? Please add a comment below with details.

Update: Maven resource filtering can mess with the working of this plugin, so try with no resource filtering first ;)