As a trilingual (English, Japanese, Chinese) engineer, I have to maintain a single program in up to "4" different encodings:
ANSI is the easiest, because it's compatible with anything else. However, Shift-JIS isn't compatible with BIG5, neither is GB with BIG5 or another combination. If I have to use java.util.ResourceBundle for internationalization, then I have to set up three machines: one for Shift-JIS, one for BIG5, and one for GB. Otherwise I have to change the language setting and reboot the computer every time I modify or test a different language.
"But Java properties file supports unicode escape and there is native2ascii, why don't you use it?" -- one might ask.
Let's have an example. If you have this sentence in your original description:
Then you will have this kind of garbage in your properties file (after native2ascii):
If you have to remove the comma, how? You had better type the entire sentence again, which reduce your position from a programmer to a typist. One might be happy to do typist job while getting programmer's salary. But there is another choice if you have j18n.