Pessoal.
To com uma app swing que deve ter i18n com chinês. Só que estou com alguns problemas em como guardar as informações que virão da china.
O teste que consegui fazer funcionar foi esse:
UIDefaults defaults = UIManager.getDefaults();
defaults.put("Label.font", new Font("Bitstream Cyberbit", Font.PLAIN,12));
JLabel l = new JLabel();
l.setText("Hello world! - \u7535\u8111\u4F60\u597D\uFF01");
JFrame f = new JFrame();
f.setContentPane(l);
f.setBounds(100, 50, 500, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
Ou seja, mudo a fonte default para uma que sabe mostrar chinês e no label eu uso o código dos caracteres. Mas acontece que a chinesada não vai traduzir os resource bundles de .properties colocando os códigos, mas sim o caracteres chinês. Pesquisando vi que os resource bundles não pode ter nada além de ‘Unicode-encoded characters’ como diz aqui http://java.sun.com/javase/6/docs/technotes/tools/windows/native2ascii.html
Ok, então eu envio o .properties com as chave=valor pro chinês, ele traduz os valores e eu uso o native2ascii.
Mas não tá rolando esse native2ascii. Ele está editando a chave tb e não somente o valor, e mesmo separando e deixando um arquivo só com os valores, ele converte, mas na hora de mostrar na tela não mostra direito.
Agora não sei se é a fonte que não tem esses caracteres (pode isso?) ou esse native2ascii que não está convertendo direito (tentei com 2 chinese enconding, big5 e gb2312).
ae pessoal? alguma experiência?

