[Cascavel-pm] Suporte a "internacionaliza??o".
Igor Sutton Lopes
igor em izut.com
Quarta Novembro 16 14:25:36 PST 2005
Se *eu* precisasse escolher entre um ou outro, com certeza ficaria com o
gettext. Imagina se você tem 10 linguagens e precisa modificar o layout
de sua aplicação?
On Wed, 2005-11-16 at 14:13 -0800, Rod Za wrote:
> 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
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
--
Igor Sutton Lopes <igor em izut.com>
Mais detalhes sobre a lista de discussão Cascavel-pm