by Luiz Paulo
| outubro 9, 2008
| 4 Comments »

Um recurso muito útil para quem precisa traduzir textos constantemente é a tradução de textos diretamente no Google Talk.
Já utilizo esse software há algum tempo como alternativa ao MSN além de muito (muito, muito...) mais leve e estável, as mensagens chegam quase que instantâneas, enquanto o MSN, dependendo do dia, você pode mandar uma mensagem e demorar horas. O serviço de voz também é muito bom.
Para utilizar esse recurso, basta adicionar um contato a seu Google Talk, e enviar as mensagens (Simples assim! )
Por exemplo, para traduzir de inglês para português:
Adicione como contato: en2pt@bot.talk.google.com
Envie mensagens em inglês e ele te responderá a tradução em português.
Legal, não!?
Testei esse recurso em en2pt e pt2en e funcionou perfeitamente. Não pesquisei se traduz de qualquer linguagem para qualquer linguagem, mas fica a dica!
Categorias: Artigo, Ferramentas, Java, Linguagens
Tags: , google, ingles, portugues, talk, tradutor
by Luiz Paulo
| setembro 26, 2008
| 3 Comments »
A internacionalização é um diferencial para qualquer projeto, independente da linguagem que você utilize. É importante que você saiba alguma técnica para essa funcionalidade.
Desenvolver sistemas web com JAVA se torna bem simples se bem feito, mais simples ainda quando utilizamos bibliotecas como o JSTL. Vamos ver como é simples criar um sistema web com internacionalização em JAVA.
Nesse tutorial veremos como trabalhar com internacionalização em sistemas web utilizando JSP e a biblioteca JSTL.
Vamos direto para a prática!
Utilizaremos o Eclipse como API para desenvolvimento JAVA, partindo de um projeto web já criado.
Primeiro passo
Antes de começar a escrever código, você precisa baixar a biblioteca JSTL. Utilizaremos os pacotes standard.jar e jstl.jar.
Copie as duas bibliotecas para o diretório /WebContent/WEB-INF/lib/ ou para o diretório de libs do JAKARTA, para que sejam enxergadas pelo seu projeto.
Segundo passo
Vamos criar os arquivos de tokens.
Devemos definir o pacote para os arquivos. No nosso caso vamos colocar em:
com.lppjunior.blog.controller.messages
Criaremos 2 arquivos de tokens dentro desse pacote:
messages_pt.properties
My_first_test=Meu primeiro teste
Hello_World=<h1>Olá Mundo</h1>
messages_en.properties
My_first_test=My first test
Hello_World=<h1>Hello World</h1>
O arquivo de token é formado por TOKEN_NAME=VALUE sempre!
Não utilize espaço, acento ou qualquer caractere no TOKEN_NAME, e não utilize quebra de linha no VALUE, quando precisar desse tipo de recurso, utilize \n ou a tag br no caso de HTML.
Perceba no exemplo acima que coloquei tags HTML no Hello_World para ilustrar a possibilidade, mas o ideal é utilizarmos as tags no próprio código HTML.
Terceiro passo
Vamos criar um HTML bem simples já com as tags e as chamadas para as tokens.
Veja o exemplo:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<fmt:setLocale value="pt" />
<fmt:setBundle basename="com.lppjunior.blog.controller.messages.messages" />
<html>
<head>
<title><fmt:message key="Internacionalization_test" /></title>
</head>
<body>
<fmt:message key="My_first_test" />
<fmt:message key="Hello_World" />
<hr />
<fmt:message key="Test_undefined_token" />
</body>
</html>
Definições:
- Primeiro importamos a tagLib "fmt" para utilização do recurso de internacionalização;
- Configuramos a linguagem que desejamos utilizar (nesse caso "pt" Português);
- Configuramos a localização dos arquivos de tokens (repare quem além do pacote, precisamos colocar o início do nome do arquivo "messages" - O JSTL concatena [bundle + "_" + locale] para achar o arquivo);
- Utilizamos a tag "fmt:message" para retornar o conteúdo das tokens.
Resultado final:
<html>
<head>
<title>Meu primeiro teste</title>
</head>
<body>
<h1>Olá Mundo</h1>
<hr />
???Test_undefined_token???
</body>
</html>
Repare que deu um erro na token "???Test_undefined_token??? ". Isso aconteceu, pois a token "Test_undefined_token" não foi definida em nosso arquivo "messages_pt.properties", para resolver o problema basta defini-la.
Baixe aqui o projeto
É importante dizer que essa é uma das formas mais simples de criar a internacionalização. Em um projeto real, você pode isolar e definir as configurações dinamicamente, para que sejam reaproveitadas por todo o projeto.
Existe uma outra forma para configurar o JSTL para internacionalização, utilizando o web.xml, mas não achei necessário citar nesse tutorial.
Categorias: Desenvolvimento web, Java, Linguagens
Tags: , exemplo, internacionalização, java, jstl, tutorial
by Luiz Paulo
| setembro 16, 2008
| 3 Comments »
JSTL é uma biblioteca utilizada para substituir código JAVA nos JSPs. Todo o código JAVA é substituido por TAGs específicas equivalentes a cada funcionalidade.
Uma poderosa solução da JSTL são as TagLibs onde podemos criar nossas próprias tags com funcionalidades personalizadas.
Veja um exemplo de página JSTL:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="agora" class="java.util.Date" />
<html>
<body bgcolor="#FFFFFF">
<p><strong>Versão Curta: </strong><fmt:formatDate value="${agora}" /></p>
<p><strong>Versão Longa: </strong><fmt:formatDate value="${agora}" dateStyle="full" /></p>
</body>
</html>
O resultado desse código seria:
Versão Curta: 15/09/2008
Versão Longa: Segunda-feira, 15 de Setembro de 2008
A propriedade prefix define o prefixo "ftm" que interpretará a biblioteca de formatação e interação do JSTL.
Bibliotecas padrão
O JSTL fornece algumas bibliotecas padrão com foco bem específico, veja as bibliotecas:
Download
Para utilizar o JSTL você precisa fazer o download dao biblioteca.
Clique aqui para baixar
Categorias: Desenvolvimento web, Java
Tags: , internacionalização, java, jstl, taglib, web
by Luiz Paulo
| setembro 14, 2008
| 3 Comments »
Desde que resolvi me dedicar à programação sempre me identifiquei com desenvolvimento web. Web sempre foi o meu principal foco!
Passei por várias fases no desenvolvimento web. Já desenvolvi projetos em HTML puro, utilizei muito gif animado, frame, tabela. Trabalhei com dreamweaver, fireworks até no FrontPage (argh!).
Na época minha vida mudou completamente quando comecei a utilizar PHP / MySql, era tudo lindo e maravilhoso as coisas se tornaram mais simples com reaproveitamento e criação de componentes dinâmicos. Mesmo satisfeito com os resultados percebia que faltava alguma coisa, o PHP (até então PHP4) apesar de simples e fácil era muito feio. Mesmo com todo cuidado na escrita dos códigos, sempre ficava alguma gambiarra.
Até que pintou uma oportunidade de conhecer outro mundo... Desenvolvimento web com JAVA. O JAVA é bem mais complexo mais burocrático e os projetos ficam consideravelmente maiores. Todos conhecem a fama do JAVA e muitos pontos negativos, mas tem muitos pontos positivos também. Um projeto bem feito em JAVA é lindo! Adicionar recursos ou fazer manutenção no código se torna bem mais simples.
O mais interessante do JAVA não é a linguagem em si, mas o conceito envolvido. A modularização de componentes, utilização de partners (mvc, command, dao, factory, etc), a documentação. Enfim, cada vez mais cuidado para fazer códigos limpos.
Para desenvolver em JAVA é essencial a utilização de uma IDE (atualmente utilizo o Eclipse), sem ela posso dizer que seria quase impossível. Além de tudo ser interligado no projeto, o JAVA é bem grandinho, seria complicado escrever um projeto ou dar manutenção em códigos em um editor de textos padrão.
Estou nessa vida há um tempo e não me arrependo.
Como dizia um amigo “JAVA é o que há!” rsrsrs
Categorias: Desenvolvimento web, Java, Linguagens
Tags: , desenvolvimento, java, web