Traduzindo textos direto no gTalk

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

Google Talkengine
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: , , , , ,

JSTL - Trabalhando com internacionalização

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: , , , , ,

Java - Desenvolvimento web com JSTL

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:

Biblioteca JSTL Tipos de uso
Biblioteca: Core
Prefixo: c
URI: http://java.sun.com/jstl/core />
Exemplo de tag: <c:forEach>
- Acessar e modificar dados em memória
- Comandos condicionais
- Loop
Biblioteca: Processamento de XML
Prefixo: x
URI: http://java.sun.com/jstl/xml />
Exemplo de tag: <x:forEach>
- Parsing (leitura) de documentos
- Impressão de partes de documentos XML
- Tomada de decisão baseada no conteúdo de um documento XML
Biblioteca: Internacionalização e formatação
Prefixo: fmt
URI: http://java.sun.com/jstl/fmt />
Exemplo de tag: <fmt:formatDate>
- Leitura e impressão de números
- Leitura e impressão de datas
- Ajuda a sua aplicação funcionar em mais de um idioma
Biblioteca: Acesso a banco de dados via SQL
Prefixo: sql
URI: http://java.sun.com/jstl/sql />
Exemplo de tag: <sql:query>
- Leitura e escrita em banco de dados

Download

Para utilizar o JSTL você precisa fazer o download dao biblioteca.
Clique aqui para baixar

Categorias: Desenvolvimento web, Java
Tags: , , , , ,

Experiência com desenvolvimento WEB + JAVA

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: , , ,


 

Sobre

Foto Luiz Paulo

Sou desenvolvedor web desde 2000, atuei em grandes projetos web2.0. Atualmente trabalho na Automatos junto à equipe de site desenvolvendo projetos web2.0 e utilizando como server-side a linguagem java.

Para saber mais sobre mim, acesse Meus Links ›


Valid XHTML 1.0 Strict Valid CSS!

Luiz Paulo | tecnologia web