Welcome to j18n project

As a trilingual (English, Japanese, Chinese) engineer, I have to maintain a single program in up to "4" different encodings:

  1. ANSI for English
  2. Shift JIS for Japanese
  3. BIG5 for Traditional Chinese
  4. GB for Simplified Chinese

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):

\u7e3a\u6634\uff53\u7e3a\uff6a\u7e3a\uff6b\u9b25\uff6c\u9b96\uff7f\u7e3a\uff6a\u8389\u7a42\uff7a\u4e5d\ufffd\u221a\uff44\u7e67\u221a\u25c6\u7e3a\uff7b\u7e3a\ufffd\u7e3a\u5f8c\uff1e\u7e3a\ufffd

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.

How to use?