2016-04-27 3 views
1

Я хотел бы вручную задать язык в PHP (index.php), прежде чем загрузить страницу зависит от имени домена. Например мне нужно что-то вроде этого:Joomla change language in PHP (index.php) зависит от имени домена

<?php  
$server = filter_var($_SERVER['SERVER_NAME'], FILTER_SANITIZE_STRING); 
if($server == 'domain1') { 
    // How can i set current language to sk-SK? 
} else { 
    // How can i set current language to en-GB? 
} 
+0

http://stackoverflow.com/questions/4784982/how-to-default-to-another-language-based-on-domain try this ... –

ответ

1

Try с:

$lang = JFactory::getLanguage(); 
$lang->setLanguage('sk-SK'); 
$lang->load(); 
+0

Не работает :-(Язык не изменяется .. . – steelbull

+0

я попробовать это - ничего не работает: $ LANG = JFactory :: GetLanguage(); $ lang-> SetDefault ('ан-GB'); $ lang-> SetLanguage ('ан-GB'); $ lang-> нагрузки(); $ л = JLanguage :: деЫпзЬапсе(); $ l-> SetLanguage ('ан-GB'); $ l-> SetDefault ('ан-GB'); $ l-> load(); $ app-> loadLanguage (JLanguage :: getInstance ('en-GB')); – steelbull

0

Я зарубившего languagefilter плагин, теперь он работает, но это не правильно, так как при обновлении Joomla к новой версии файла может быть перезаписать :-(

1

Вы можете создать плагин пользовательских систем, которая работает onAfterInitialize и выполняет поставленную задачу. См https://docs.joomla.org/J3.x:Creating_a_Plugin_for_Joomla для основных инструкций о том, как построить плагин.

Возможно, вы захотите дублировать и переименовать плагин languageFilter, так как вы уже смогли заставить его работать.

Смежные вопросы