[SP-pm] Catalyst e I18N
breno
breno at rio.pm.org
Mon May 3 14:41:16 PDT 2010
2010/5/3 eutsiv :: Geovanny Junio <geovanny em eutsiv.com.br>:
Oi Geovanny,
> Bem, escrevi isso tudo para perguntar: "Tem um tamanho limite para os textos
> nos arquivos .po? Textos muito grandes podem compromenter a performance?"
>
Arquivos .po são arquivos de texto comuns, com uma formatação
específica. Não imagino que haja qualquer tipo de restrição de tamanho
além dos limites nativos do seu sistema operacional e recursos de
hardware.
O mesmo vale para desempenho. Acesso a disco é custoso. Dependendo do
tamanho dos arquivos, do tipo de acesso e da quantidade de acessos,
você pode ter um problema. Vai depender muito do uso da sua aplicação.
Você pode, como alternativa, usar um banco de dados em vez de flat
files:
http://search.cpan.org/perldoc?Catalyst::Plugin::I18N::DBIC
http://search.cpan.org/perldoc?Catalyst::Plugin::I18N::DBI
> Outra coisa, na documentação, não vi nada relativo a interpolação de
> variáveis nos textos dos arquivos .po, é possível?
>
Os sistemas de tradução de strings trabalham com interpolação de
strings. O formato gettext usa strings de formatação tradicionais, que
podem ser interpoladas com um sprintf comum. O seu texto seria (por
exemplo):
msgid "Meu nome eh %s"
msgstr "My name is %s"
e, no código:
sprintf( Wx::gettext('Meu nome eh %s'), $nome );
O maketext, cujo formato é o padrão no plugin de I18n, trabalha com
tags numeradas, que facilita casos em que a tradução precisa trocar a
ordem de determinadas variáveis:
msgid "Meu nome eh [_1]"
msgstr "My name is [_1]"
$c->localize( 'Meu nome eh [_1]', [$nome] );
Para maiores informações, por favor veja a documentação do plugin:
http://search.cpan.org/perldoc?Catalyst::Plugin::I18N
e do sistema Maketext:
http://search.cpan.org/perldoc?Locale::Maketext::Simple
Boa sorte, qq coisa grita ;-)
[]s
-b
More information about the SaoPaulo-pm
mailing list