[Cascavel-pm] Suporte a "internacionaliza??o".

Alceu Rodrigues de Freitas Jr. glasswalk3r em yahoo.com.br
Terça Novembro 22 05:58:07 PST 2005


Rod Za wrote:
> Cara, toda a tradução dos *nixes utiliza o gettext. Quando vc muda sua linguagem é o gettext
> fazendo o serviço por traz. :)

Hehehe... só se for aí! hehehe
Eu pesquisei sobre o assunto e vou tentar usar o 
Locale::Maketext::Lexicon também. Para traduzir os arquivos eu recomendo 
usar o PoEdit também (hospedado no Sourceforge). Eu usei ele para 
traduzir as mensagens do PVoice em português.

> Eu estive pensando em fazer as páginas HTML (modelos) e manipular as mansagens utilizando as tags
> <TMPL_UNLESS> do HTML::Template. Desta forma todas as mensagens ficariam dentro do próprio
> template, mas em compensação iria ter um "trabalhão danado" para manipular isto.
> 
> Com relação ao uso do gettext, eu teria um pouco menos de trabalho, mas deveria passar muitas
> variáveis para o template e é justamente nessa parte que fiquei na dúvida quanto o desempenho.
> 
> Mas, pelo que estou vendo o melhor será mesmo manter o gettext :)

Isso parece útil se você alterar a página de acordo com a linguagem que 
o browser do cliente acessa o servidor. Mas não vejo muita utilidade 
nisso, dependendo da sua aplicação. Por exemplo, se ela vai ser acessada 
via intranet, dificilmente uma empresa vai ter funcionários querendo 
fazer acesso com browser em francês, português e inglês, por exemplo.

O Apache mesmo possui uma facilidade dessas (redirecionar para páginas 
com a língua utilizada pelo browser). Você poderia criar os diversos 
templates e deixar o Apache cuidar do resto.

Eu ainda acho que não estamos pensando da mesma forma com relação ao 
templates. Me diga depois se estamos alinhados!

Você tem um arquivo de mensagens em várias línguas, por exemplo:

-- inglês --
title = Uma página de teste
hello = Oi
general_msg = Você está acessando uma página de teste
goodbye = Adeus!

-- português --
title = A test page
hello = Hello
general_msg = You are accessing a test page
goodbye = See you!

Agora o template

-- template.tmp --

<html>
<head>
<title><TMPL_VAR NAME="title"></title>
</head>
<body>
<h1><TMPL_VAR NAME="hello"></h1>
<p><TMPL_VAR NAME="general_msg"></p>
<p><TMPL_VAR NAME="goodbye"></p>
</body>
</html>

Agora o que seu sistema tem que fazer é preencher o template com o 
arquivo de texto que quiser usar. Você vai ter um template só e as 
mensagens estão separadas do template num arquivo próprio.
Como isso fica mais lento, você deve usar cache para minimizar a demora. 
Isso deve reduzir o tempo de espera depois da primeira chamada ao template.

[]'s
Alceu


	

	
		
_______________________________________________________ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.com/



Mais detalhes sobre a lista de discussão Cascavel-pm