[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