Internacionalização

1 view
Skip to first unread message

Danillo César

unread,
Dec 12, 2010, 10:55:34 AM12/12/10
to Drumon Framework
Estou pensando em fazer algumas alterações na parte de
internacionalização e queria saber se realmente é melhor.

Atualmente a internacionalização funciona da seguinte forma.

1. Primeiro é setado a lingua da aplicação no config/application.php

define('LANGUAGE','pt-BR');

2. Depois disso a aplicação carrega o arquivo config/locales/pt-BR.php
durante a inicialização que contém uma array chamada locale com os
valores.

include(ROOT.'/config/locales/'.LANGUAGE.'.php');

3. Então você já pode usar a os Helpers para fazer a tradução:

$text->translate('contact'); ou $text->t('contact');


---------------------------------------------------------------------------------------------
O PROBLEMA

O problema que vejo nessa implementação é falta de organização, um
arquivo com todas as traduções da aplicação misturados e também
dependendo do tamanho da aplicação terá uma única variável gigante
contendo todas as traduções mesmo que a maioria não seja usada,
consumindo mais memória da aplicação.

Outro problema é que atualmente ele sempre carrega o arquivo de
tradução mesmo se não usar internacionalização na aplicação.


A POSSÍVEL SOLUÇÃO

Minha sugestão é alterar o sistema de internacionalização pra que
fique com a seguinte estrutura:

config/locales/pt-BR/arquivo_da_tradução.php

ex uma aplicação com algumas traduções:

config/locales/pt-BR/app.php (padrão já vinha esse)
config/locales/pt-BR/validations.php
config/locales/pt-BR/forms.php

Dessa maneira na view seria utilizado assim:

$text->t('contact'); (padrão carregaria do app.php)

$text->t('validations.required'); (carregaria o required do
validations.php)

e assim por diante.

Ai quando ele chamace o método t(), ele carregaria o arquivo com e
guardaria o valor em uma variavel interna, para que se ele chama-se o
mesmo arquivo denovo ele não incluir novamente.


O PROBLEMA DA SOLUÇÃO

Ele iria fazer vários if se tive-se muita chamadas ao método de
tradução na página.


O QUE IRIA MUDAR

Melhor organização nas traduções.
Não iria sobre carregar a memória com traduções desnecessárias.
Só irai chamar o arquivo de tradução quando realmente fosse usa-lo.


é uma mudança válida?
o que vocês acham?

dani...@gmail.com

unread,
Dec 13, 2010, 11:24:33 PM12/13/10
to Drumon Framework
Acabei de fazer as alterações link do commit https://github.com/sook/drumon_framework/commit/53dfac9a335a6d2af5705209358d21f7574cfa93

2010/12/12 Danillo César <dani...@gmail.com>



--
-----------------------------------------
Danillo César de O. Melo - blog
Sook - http://www.sook.com.br

Beto

unread,
Dec 14, 2010, 6:45:07 AM12/14/10
to drumon-fra...@googlegroups.com
Ainda não tive tempo de brincar com o Drumon! Mas breve vou tentar fazer algo com ele :D

[]´s

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Luiz Alberto S. Ribeiro [ Beto ]
http://beto.euqueroserummacaco.com






dani...@gmail.com

unread,
Dec 14, 2010, 7:09:00 AM12/14/10
to drumon-fra...@googlegroups.com
E ae beto tudo blz, depois da um brincada nele e da um feedback.

Criei esse grupo para discutir o desenvolvimento dele.

Ele tem algumas pendências em relação, a formulário, validação e ORM, porém existem ORMs open sources que resolvem esses problemas, no wiki tem informações de como usar algumas.

2010/12/14 Beto <madeinn...@gmail.com>

Beto

unread,
Dec 14, 2010, 7:19:52 AM12/14/10
to drumon-fra...@googlegroups.com
belê!
assim q eu tiver um tempinho vou tentar desenvovler um LHC com o Drumon! huhuahua!
Reply all
Reply to author
Forward
0 new messages