Caching no Yii e Internacionalização (I18n)

otavio publicou em 04/10, 02:48 hs , e editou pela última vez há mais de 4 anos atrás.

Um recurso importante em seu projeto pode ser a Internacionalização (ou, abreviando, I18n). Em casos como esse, o caching de páginas deixa de ser simples. Ele tem que suportar as diferentes línguas do seu sistema.

Para que seu usuário americano não enxergue a página em português, uma dica é usar o varyByExpression comparando o atributo de linguagem da sessão do usuário. Como no exemplo abaixo:

public function filters()
{
 return array(
  'accessControl',
  array(
   'COutputCache + index, search',
   'duration' => 3600,
   varyByExpression => Yii::app()->language,
  ),
 );
}
if(typeof jQuery == 'undefined'){ document.write("