If you want to translate PortableSigner in your own language: Translation of the User Interface: - copy i18n.properties to i18n_xx.properties, where xx is your two letter language code. - edit i18n_xx.properties and translate the strings in the file. - I'm using the build in language detection in Java. So the program should come up with the correct settings. - you can test different languages with: LC_ALL=xx java -jar PortableSigner.jar where xx is your language code. Translation of the signature block: - copy the file Signatureblock.properties to Signatureblock_xx.properties, where xx is your two letter language code. - edit Signatureblock_xx.properties and translate the strings in the file. - in the file SignatureblockLanguages.properties: generate a new entry of the form: xx = myLanguage where xx = your language code like the lines before myLanguage is a string representing your language in your language :-)