Yepp - that can be...well, let's say "complicated". I have to deal with several languages in my applications, that's always fun:
1. the machine has to be able to display the language
When you're able to change keyboard layout to the specific language, then the machine should be capable to display the language too.
This is important, as the machine is not able to display the fonts correctly when using the false font.
2. you need the specify that the String you're working with is UTF-8: Byte Encodings and Strings - The Java Tutorial
PLease also read the other pages of that tutorial, it's pretty well written and loaded with infos.
3. Properties files can be set in the file-properties to be UTF-8.
Also check out the pretty nice ResourceBundleEditor
] for Eclipse IDE, which helps you to create correct i18n files. A decent application framework would also help you in that.
4. be aware: the same word in different languages can have different sizes.
E.g. A simple word in English like "address" can have a long foreign saying "place where the person is living".
Huge difference in labels, forms and GUI in general! This can really ruin the day. So please try to use floating layouts.
5. mixed Strings need to be handled well.
When you mix English with foreign languages (especially RTL-languages) you can get a mixed up result. You need to be aware of that.
Also tabulator steps in the text are often not working.