I would love to fix this but the change process (signing the CLA - getting BitBucket knowledge) is too much work for this simple change. It would be much better if the source code would be hosted on github and now CLA signing would be asked for for small changes like language settings.
Also at this point I do not even find the source for controlsfx_de_DE.properties. Where is this file?
The encoding is handled in the controlsfx/build.gradle file around line 126 (the native2ascii method), and in particular the EscapeUnicode call. I don't know enough about what is required, so I hope someone can propose a patch.
In Transifex, the text for 'Select Font' is 'Sélectionnez une police'. When I disable the filter(EscapeUnicode) call, I get 'SÈlectionnez une police'. When the build script is unchanged, I get 'S\ufffdlectionnez une police'.
The issue I have is I don't know what is expected in the translation files - is it some escaped text, or is it always the text from transifex?
So, I downloaded the French properties file from transifex, and replaced it in controlsfx-8.40.13.jar successfully:
For translations outside of the iso-8859-1 range, it appears that transifex does the escaping automatically (for instance, the Arabic resource straight from transifex looks like: dlg.ok.button = \u0645\u0648\u0627\u0641\u0642).
From that, I think we can safely assume that transifex does the bulk of the escaping and encoding for us.
Yes, I thought about that too, but I really didn't want to fuss about different encodings for different releases! :-) Hopefully the new approach works for all releases / platforms, but I really want more testing.