Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use cyrillic .properties file in eclipse project

I'm developing a small project and I'd like to use internationalization for it. The problem is that when I try to use .properties file with cyrillic symbols inside, the text is displayed as rubbish. When I hard-code the strings it's displayed just fine.

Here is my code:

ResourceBundle labels = ResourceBundle.getBundle("Labels");
btnQuit = new JButton(labels.getString("quit"));

And in my .properties file:

quit = Изход

And I get rubbish. When i try

btnQuit = new JButton("Изход);

It is displayed correctly. As far as I am aware, UTF-8 is the encoding used for the files.

Any ideas?

like image 840
Elena Avatar asked Dec 21 '22 23:12

Elena


1 Answers

AnyEdit is an eclipse-plugin that allows you to easily convert your your properties files from and to unicode notation. (avoiding the use of command-line tools like native2ascii)

If you were using the Properties class alone (without resource bundle), since Java 1.6 you have the option to load the file with a custom encoding, using a Reader (rather than an InputStream)

I'd guess you can also use new PropertyResourceBundle(reader), rather than ResourceBundle.getBundle(..), where reader is:

Reader reader = new BufferedReader(new InputStreamReader(
     getClass().getResourceAsStream("messages.properties"), "utf-8")));
like image 163
Bozho Avatar answered Jan 09 '23 07:01

Bozho