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

Rod Za rodzadra em yahoo.com
Quarta Novembro 16 14:13:53 PST 2005


Alceu,

--- "Alceu Rodrigues de Freitas Jr." <glasswalk3r em yahoo.com.br> wrote:
> Você já pensou em usar Unicode? Estou tendo dificuldades com isso agora, 
> mas seria um método razoavelmente portável de fazer isso.

Sim, as mensagens/textos serão escritos provavelmente utilizando unicode - que é o método de
"codificar" os caracteres.

> Um modo performático de fazer isso? Coloque num arquivo de configuração 
> ao invés de fazer seu sistema adivinhar que língua exibir as mensagens. 
> Me parece ser bem razoável fazer isso numa aplicação que roda no servidor.

Pois então, o gettext faz justamente isto. Ele utiliza um arquivo (em formato binário)  para cada
linguagem traduzida. 

Este arquivo binário é indexado para se ter um acesso mais rápido. 

Então o gettext faz uma comparação da string q vc quer traduzir e retorna seu correspondente na
língua especificada. 

Um exemplo tosco:

<code>
use POSIX qw(setlocale LC_MESSAGES);
use Locale::gettext;
use strict;

#especifica em qual linguagem se quer as mensagens
setlocale( LC_MESSAGES,"en_US" );

#especifica qual o programa a ser traduzido
my $traducao = Locale::gettext->domain( 'MEU_PROGRAMA' );

print $traducao->("Bom dia")."\n";

#muda a linguagem das mensagens
setlocale( LC_MESSAGES,"fr_FR" );

print $traducao->("Bom dia")."\n";

return;
</code>

<saida>
Good morning
Bon Jour
</saida>

> O HTML::Template pode ser otimizado se você usar mod_perl ou fastcgi no 
> Apache. Se não puder, ainda resta usar IPC::Shareable (compartilhamento 
> de memória via IPC) ou ainda usar o módulo Storable. Veja a documentação 
> do HTML::Template.

A respeito da otimização eu me referia ao modo de gerar as mensagens para o usuário em outras
línguas em conjunto com o HTML::Template.

Eu tenho 2 opções: a primeira seria gerar uma cópia de cada página html em diversas língua e
através da opção tmpl_path modifica o path de onde se encontram essas páginas e a outra é essa que
eu venho utilizando.

Realmente estou na dúvida. 



		
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com


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