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, ), ); }