Hi all,
I have a multilingual site (two languages). Recently I decided to include the catchAllRequest for maintenance purposes. I am experiencing a translation issue when I turn the maintenance mode on the website remains translated into my defined ‘language’ rather than the ‘sourceLanguage’
I have declared the following configuration:
'sourceLanguage'=>'en',
'language' => 'bg',
I imagine that by default sourceLanguage would be used on all occasions, which seems to be the case so far. However, when I turn on the maintenance mode the application renders in ‘bg’ language, which is undesirable effect no matter what I do. Am I misunderstanding anything or doing something wrong?
I have:
'catchAllRequest'=>array(
'site/maintenance',
'lang'=>'en',
),
…and I am also using the LangUrlManager extension:
public $languages=array('en','bg');
public $langParam='lang';
public function parseUrl($request){
$ret=parent::parseUrl($request);
$userLang=Yii::app()->getRequest()->getPreferredLanguage();
//if language pass via url use it
if(isset($_GET[$this->langParam])&&in_array($_GET[$this->langParam],$this->languages)){
Yii::app()->language=$_GET[$this->langParam];
//else if preffered language is allowed
}elseif(in_array($userLang,$this->languages)) {
Yii::app()->language=$userLang;
//else use the first language from the list
}else Yii::app()->language=$this->languages[0];
return $ret;
}
My browser prefered language is ‘en’.
Thanks in advance for your help.
Regards,
bettor