[SP-pm] Catalyst e Locale::Maketext::Simple

Wallace Reis wallace at reis.me
Sat Feb 4 06:56:20 PST 2012


On Jan 12, 2012, at 6:29 AM, Geovanny Junio :: eutsiv wrote:
> Estou usando o Catalyst com o plugin I18N, que é um plugin para o Locale::Maketext::Simple. Na aplicação em questão estou utilizando um sistema de plugin, conforme sugerido pelo Sr. Eden Cardim ( http://bit.ly/ls3dI8 ), e surgiu a necessidade de carregar arquivos .[pm]o (arquivos que contem as traduções utilizadas pelo Locale::Maketext::Simple) adicionais através dos plugins.
> 
> Já tentei através do plugin, alterar o escopo para MyApp e chamar o método import do Locale::Maketext::Simple novamente, da seguinte forma:

Olá,

Pelo que olhei bem rápido no fonte, você poderia usar o CatalystX::I18N::Model::Maketext do CatalystX::I18N (https://metacpan.org/release/CatalystX-I18N) e implementando o seu método "load_lexicon" que carregaria então os arquivos de tradução para cada locale de qualquer namespace que você desejar. Inclusive isto lhe permitiria depois extender sua solução para armazenar as traduções em qualquer storage (ou combinação deles): FS, DB, memcached, RAM, etc.

Particularmente, eu não sou muito a favor do uso de plugins *a não ser que* para extender alguma funcionalidade do Catalyst - por exemplo, customizar algo relacionado ao método uri_for; ou do ciclo de requisição (agora, este menos ainda com o surgimento do PSGI/Plack) - ou para criar algum método de delegacão para algum model, exemplo, supondo que se tenha Model::I18->localize, dae faria: sub localize { shift->model('I18N')->localize(@_) } e sub loc { shift->localize(@_) }, já que escrever "$ctx->model('I18N')->localize('foo')" é mais custoso do que "$ctx->loc('foo')". Inclusive, o catalyst-dev core team tem evitado a criação de novos plugins na CPAN.

Ab,

P.S.: Desculpe pelo atraso na resposta.

--
Wallace Reis | wreis
wallace em reis.me
http://www.about.me/wallacereis
Senior Software Developer
http://www.123people.com
http://www.123pages.fr



More information about the SaoPaulo-pm mailing list