Mudar idioma a partir tela LOGIN e nao do Application.ini ??? Estou com dificuldades para trocar o idioma do meu sistema !!!! Somente para esclarecer, na minha tela de LOGIN coloquei 2 botoes, um escrito PORTUGUES e outro botao INGLES (conforme imagem em anexo). Eu ja criei uma SESSION com o idioma selecionado (exemplo: apertei botao "Portugues" e Session = pt). Deixei o meu apllication.ini LANGUAGE = en. No init.php existe a constante define('L...
NP
Mudar idioma a partir tela LOGIN e nao do Application.ini ???  
Estou com dificuldades para trocar o idioma do meu sistema !!!!

Somente para esclarecer, na minha tela de LOGIN coloquei 2 botoes, um escrito PORTUGUES e outro botao INGLES (conforme imagem em anexo).

Eu ja criei uma SESSION com o idioma selecionado (exemplo: apertei botao "Portugues" e Session = pt). Deixei o meu apllication.ini LANGUAGE = en.

No init.php existe a constante define('LANG', $ini['general']['language']); E ela esta carregando o conteudo do LANGUAGE do application.ini que esta para en.

Pergunta: Como faço ou onde devo alterar para que todo o sistema não considere a constante LANG ,mas sim a minha SESSION que criei de acordo com o botao clicado ???? Pois qualquer campo que utilizar _t ele nao troca para Portugues, mantem em ingles....

Como funciona o AdiantiCoreTranslator e TApplicationTranslator ??? Quem manda pra eles a variavel contendo o idioma ? Como estas classes identificam qual idioma pegar ????

Alguem pode dar dicas de onde tenho que alterar ou qual os procedimentos que tenho que fazer ???

Obrigado,
Nilton.


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

Basicamento você precisa adaptar o arquivo init.php:
 
  1. <?php
  2. //init. php
  3. Adianti\Core\AdiantiCoreLoader::loadClassMap();
  4. // iniciar sessao após carregamentos das classes
  5. new TSession;
  6. ...
  7. define('APPLICATION_NAME', $ini['general']['application']);
  8. ...
  9. //definicao do idioma (deve ser feito apos a criacao da constante APPLICATION_NAME)
  10. $language = TSession::getValue('language') ? TSession::getValue('language') : $ini['general']['language']; // se linguagem nao definida, busca do application.ini
  11. AdiantiCoreTranslator::setLanguage($language);
  12. ApplicationTranslator::setLanguage($language);
  13. define('LANG', $language);
  14. ?>
DM

Nilton, conseguiu ?