Converter acentos em caracteres especiais HTML
09/12/2009 00:00
0
Estou utilizando o plugin i18n-templates e dentro do arquivo messages_pt_BR.properties eu rotulei para português as propriedades que o scaffold irá gerar. O problema está nas acentuações, de modo que eu tenho que usar caracteres especiais em HTML pra resolver o problema (o ç é o ç ou ç por exemplo), mas é chato fazer isto, são várias strings que irei traduzir. O tipo de codificação da página HTML é o UTF-8. Não tem um jeito do Grails fazer essa conversão de caracteres em português (c cedilha, acento agúdo...) para caracteres especiais HTML?

Até mesmo copiar o texto normal e jogar num editor de texto que me devolva em caracteres especiais já resolveria o problema, mas não conheço nenhum.
Tags: Ferramentas/Plugins


0
Tem sim.
Use a tag fieldValue <!-- m --><a class="postlink" href="http://grails.org/doc/latest/ref/Tags/fieldValue.html">http://grails.org/doc/latest/ref/Tags/fieldValue.html</a><!-- m -->
Ela faz exatamente o que você está precisando.

Há um método também (fieldValue) que você pode usar.


0
Voltei a mexer com esta parte, tinha deixado de lado pra me focar em outras coisas, mas voltando..

Não é isto que eu preciso, não estou trabalhando com beans e sim com valores do arquivo de propriedades das traduções, o fieldValue só trabalha com beans pelo que eu vi, e além disso eu teria que alterar todas as GSP de todos os domains da aplicação.

Nas minhas GSP tem este tipo de tag:
<g:message code=&quot;processo.dataCriacao&quot; default=&quot;Data Criacao&quot; />

e no arquivo messages_pt_BR.properties:
processo.dataCriacao=Data de Criação

O problema é que sai isto:
Data de Criação

e deveria sair:
Data de Criação
19/01/2010 00:00


0
Sugestão:

nos seus arquivos de propriedades, ao invés de incluir os caracteres especiais como ç, inclua a entidade HTML, como por exemplo &amp;ccedil;
Ai não há como ter erro.


0
Obrigado pela ajuda Kiko. Foi o que eu tinha pensado, mas fazer tudo manualmente ficaria inviável devido ao cuidado de trocar cada letra pela entidade HTML. Uma forma interessante seria eu fazer toda a tradução com os caracteres normais, e usar algum editor que me converta nessas entidades HTML, copiar e colar no properties, já tentei mas não achei nada que fizesse isso.

O ideal seria setar alguma variável (no conf/Config.groovy talvez?) que fizesse essa conversão. Mas não encontrei nada.
19/01/2010 00:00


0
olá,

o notepad++ faz a conversão, voce escreve o texto com acentos normais, ai seleciona o texto e aperta ( ctrl + e ), e ele converte todas as palavras com acento e ( ctrl + shift + e ) ele faz o inverso.

só não sei se precisa de plugin. tenta ai qq coisa me fala eu te passo os plugins q tenho aq.

abraço
26/01/2010 00:00


0
[quote=&quot;carlinbegale&quot;]olá,

o notepad++ faz a conversão, voce escreve o texto com acentos normais, ai seleciona o texto e aperta ( ctrl + e ), e ele converte todas as palavras com acento e ( ctrl + shift + e ) ele faz o inverso.

só não sei se precisa de plugin. tenta ai qq coisa me fala eu te passo os plugins q tenho aq.

abraço[/quote]

Vivendo e aprendendo. Legal isto!


0
eu tinha o mesmo problema, estou usando o i18n e como a app que estamos fazendo tem +/- uns 100 domains não era viável ficar escrevendo tudo com &amp;ccedil, &amp;aacute etc..

o que eu fiz foi escrever normal e mudar o text file encoding do arquivo message_pt_BR.properties para UTF-8,
fiz isso pelo SpringSource Tool Suite, nas propriedades do arquivo,

até agora não tive nenhum problema com a apresentação dos caracteres especiais.

tenta isso, espero que ajude..
27/01/2010 00:00


0
Eu resolvi da seguinte maneira:

Criei um arquivo chamado messages_pt_BR_noUTF8.properties, e nele fiz a tradução normalmente, usando caracteres especiais livremente. Depois de traduzir, usei o editor de texto Geany, copiei o conteúdo da tradução no arquivo messages_pt_BR.properties (que será usado pela aplicação), selecionei todo o texto, fui em Ferramentas > Substituição HTML > Substituição em massa de caracteres especiais. Salvei e Pronto! Os caracteres especiais foram transformados em entidades HTML.
08/02/2010 00:00


0
A minha solução é a melhor. Nela não precisa usar código html nenhum. Basta mudar opções de encode da config da app.

Mais detalhes: http&#58;//www.grailsbrasil.com/viewtopic.php?f=1&amp;t=1261
18/02/2011 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto