I18N Chinese  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

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:



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?
[WWW] [MSN] [ICQ]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Encontrei esse link:
http://www.coderanch.com/t/462173/Java-General/java/Please-help-with-Chinese-encoding#2063332

Ou seja, essa história de native2ascii e properties só com 'Unicode-encoded characters' é só pra versões antigas.
Testei com o java6 e basta carregar o .properties com UTF-8. Funcionou, estou persistindo em chinês no .properties.

A questão em aberto agora é se preciso carregar fontes chinesas como defaults nos componentes swing, como fiz no exemplo, ou se num SO com fontes chinesas habilitadas, o java é esperto o suficiente para usar um font chinese.
[WWW] [MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Não é por nada não, mas seria interessante você arranjar uma cópia do Windows (ou do SO que o chinês estiver usando) em chinês para você testar.
Não sei se o fonte "Dialog", que é aquele padrão horrível do Java, em um SO em chinês use automaticamente o fonte default do seu SO.


[WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Pois é, conseguirei um, mas só amanhã!
[WWW] [MSN] [ICQ]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Pois bem, testei numa máquina com chinese habilitado e descobri que o java resolve sim a fonte numa máquina com fontes chinese, mas isso depende do Look and Feel.
Os laf do jdk funcionam, como o metal por exemplo, já o substance e o jgoodies looks (esse q usamos) não! Para esses é preciso escolher, para cada font, uma chinese font.
Segue uma figura.

[Thumb - chinese-java.PNG]
 Nome do arquivo chinese-java.PNG [Disk] Download
 Descrição
 Tamanho 15 Kbytes
 Baixado:  44 vez(es)

[WWW] [MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hum... é porque o LAF Metal usa por default a pseudo-fonte Dialog (que deve ser mapeada para alguma fonte chinesa), enquanto no caso do Substance e JGoodies Looks provavelmente você vai ter de checar que fonte eles acham melhor. Por exemplo, não sei se eles usam a SimHei, SimSun ou PMingLiu.

http://www.pinyinjoe.com/pinyin/pinyin_XPfonts.htm


[WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Acho que é a PMingLiU, segundo o fontconfig.properties.
Instalei numa máquina essa fonte (e tb todas as fontes que o .properties referencia) e testei numa máquina com chinese e nesses laf não rolou.

Vou fazer um extensão no laf mesmo e definir essas fontes, dai funciona.
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team